@duckdb/duckdb-wasm 1.13.1-dev161.0 → 1.13.1-dev166.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/duckdb-browser-blocking.cjs +2 -2
- package/dist/duckdb-browser-blocking.cjs.map +1 -1
- package/dist/duckdb-browser-blocking.mjs +2 -2
- package/dist/duckdb-browser-blocking.mjs.map +1 -1
- package/dist/duckdb-browser-coi.pthread.worker.js +1 -1
- package/dist/duckdb-browser-coi.pthread.worker.js.map +2 -2
- package/dist/duckdb-browser-coi.worker.js +1 -1
- package/dist/duckdb-browser-coi.worker.js.map +2 -2
- package/dist/duckdb-browser-mvp.worker.js +1 -1
- package/dist/duckdb-browser-mvp.worker.js.map +1 -1
- package/dist/duckdb-browser.cjs +1 -1
- package/dist/duckdb-browser.mjs +1 -1
- package/dist/duckdb-coi.wasm +0 -0
- package/dist/duckdb-eh.wasm +0 -0
- package/dist/duckdb-mvp.wasm +0 -0
- package/dist/duckdb-node-blocking.cjs +2 -2
- package/dist/duckdb-node-blocking.cjs.map +1 -1
- package/dist/duckdb-node-eh.worker.cjs +1 -1
- package/dist/duckdb-node-eh.worker.cjs.map +1 -1
- package/dist/duckdb-node-mvp.worker.cjs +1 -1
- package/dist/duckdb-node-mvp.worker.cjs.map +1 -1
- package/dist/duckdb-node.cjs +1 -1
- package/dist/tests-browser.js +1 -1
- package/dist/tests-browser.js.map +1 -1
- package/dist/tests-node.cjs +25 -1
- package/dist/tests-node.cjs.map +3 -3
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../node_modules/tslib/tslib.js", "../../../node_modules/flatbuffers/js/flatbuffers.js", "../../../node_modules/apache-arrow/util/util/utf8.ts", "../../../node_modules/apache-arrow/io/io/interfaces.ts", "../../../node_modules/apache-arrow/util/util/compat.ts", "../../../node_modules/apache-arrow/util/util/buffer.ts", "../../../node_modules/apache-arrow/io/io/adapters.ts", "../../../node_modules/apache-arrow/vector.ts", "../../../node_modules/apache-arrow/fb/fb/Schema.ts", "../../../node_modules/apache-arrow/fb/fb/Message.ts", "../../../node_modules/apache-arrow/enum.ts", "../../../node_modules/apache-arrow/util/util/bit.ts", "../../../node_modules/apache-arrow/type.ts", "../../../node_modules/apache-arrow/data.ts", "../../../node_modules/apache-arrow/util/util/pretty.ts", "../../../node_modules/apache-arrow/builder/builder/valid.ts", "../../../node_modules/apache-arrow/builder/builder/buffer.ts", "../../../node_modules/apache-arrow/builder.ts", "../../../node_modules/apache-arrow/builder/builder/bool.ts", "../../../node_modules/apache-arrow/builder/builder/null.ts", "../../../node_modules/apache-arrow/builder/builder/date.ts", "../../../node_modules/apache-arrow/builder/builder/decimal.ts", "../../../node_modules/apache-arrow/builder/builder/dictionary.ts", "../../../node_modules/apache-arrow/builder/builder/fixedsizebinary.ts", "../../../node_modules/apache-arrow/util/util/math.ts", "../../../node_modules/apache-arrow/builder/builder/float.ts", "../../../node_modules/apache-arrow/util/util/bn.ts", "../../../node_modules/apache-arrow/builder/builder/int.ts", "../../../node_modules/apache-arrow/builder/builder/time.ts", "../../../node_modules/apache-arrow/builder/builder/timestamp.ts", "../../../node_modules/apache-arrow/builder/builder/interval.ts", "../../../node_modules/apache-arrow/builder/builder/binary.ts", "../../../node_modules/apache-arrow/builder/builder/utf8.ts", "../../../node_modules/apache-arrow/builder/builder/run.ts", "../../../node_modules/apache-arrow/schema.ts", "../../../node_modules/apache-arrow/builder/builder/list.ts", "../../../node_modules/apache-arrow/builder/builder/fixedsizelist.ts", "../../../node_modules/apache-arrow/builder/builder/map.ts", "../../../node_modules/apache-arrow/builder/builder/struct.ts", "../../../node_modules/apache-arrow/builder/builder/union.ts", "../../../node_modules/apache-arrow/visitor.ts", "../../../node_modules/apache-arrow/visitor/visitor/set.ts", "../../../node_modules/apache-arrow/visitor/visitor/builderctor.ts", "../../../node_modules/apache-arrow/builder/builder/index.ts", "../../../node_modules/apache-arrow/fb/fb/File.ts", "../../../node_modules/apache-arrow/ipc/metadata/ipc/metadata/file.ts", "../../../node_modules/apache-arrow/io/io/stream.ts", "../../../node_modules/apache-arrow/io/io/file.ts", "../../../node_modules/apache-arrow/util/util/int.ts", "../../../node_modules/apache-arrow/visitor/visitor/vectorloader.ts", "../../../node_modules/apache-arrow/vector/vector/row.ts", "../../../node_modules/apache-arrow/util/util/vector.ts", "../../../node_modules/apache-arrow/util/util/args.ts", "../../../node_modules/apache-arrow/vector/vector/chunked.ts", "../../../node_modules/apache-arrow/column.ts", "../../../node_modules/apache-arrow/visitor/visitor/typeassembler.ts", "../../../node_modules/apache-arrow/ipc/metadata/ipc/metadata/json.ts", "../../../node_modules/apache-arrow/ipc/metadata/ipc/metadata/message.ts", "../../../node_modules/apache-arrow/ipc/ipc/message.ts", "../../../node_modules/apache-arrow/visitor/visitor/typecomparator.ts", "../../../node_modules/apache-arrow/visitor/visitor/vectorassembler.ts", "../../../node_modules/apache-arrow/visitor/visitor/jsontypeassembler.ts", "../../../node_modules/apache-arrow/visitor/visitor/jsonvectorassembler.ts", "../../../node_modules/apache-arrow/ipc/ipc/writer.ts", "../../../node_modules/apache-arrow/util/util/recordbatch.ts", "../../../node_modules/apache-arrow/vector/vector/base.ts", "../../../node_modules/apache-arrow/vector/vector/binary.ts", "../../../node_modules/apache-arrow/vector/vector/bool.ts", "../../../node_modules/apache-arrow/vector/vector/date.ts", "../../../node_modules/apache-arrow/vector/vector/decimal.ts", "../../../node_modules/apache-arrow/vector/vector/dictionary.ts", "../../../node_modules/apache-arrow/vector/vector/fixedsizebinary.ts", "../../../node_modules/apache-arrow/vector/vector/fixedsizelist.ts", "../../../node_modules/apache-arrow/vector/vector/float.ts", "../../../node_modules/apache-arrow/vector/vector/interval.ts", "../../../node_modules/apache-arrow/vector/vector/int.ts", "../../../node_modules/apache-arrow/vector/vector/list.ts", "../../../node_modules/apache-arrow/vector/vector/map.ts", "../../../node_modules/apache-arrow/vector/vector/null.ts", "../../../node_modules/apache-arrow/vector/vector/struct.ts", "../../../node_modules/apache-arrow/vector/vector/timestamp.ts", "../../../node_modules/apache-arrow/vector/vector/time.ts", "../../../node_modules/apache-arrow/vector/vector/union.ts", "../../../node_modules/apache-arrow/vector/vector/utf8.ts", "../../../node_modules/apache-arrow/util/util/fn.ts", "../../../node_modules/apache-arrow/visitor/visitor/get.ts", "../../../node_modules/apache-arrow/visitor/visitor/indexof.ts", "../../../node_modules/apache-arrow/visitor/visitor/iterator.ts", "../../../node_modules/apache-arrow/visitor/visitor/toarray.ts", "../../../node_modules/apache-arrow/visitor/visitor/bytewidth.ts", "../../../node_modules/apache-arrow/visitor/visitor/vectorctor.ts", "../../../node_modules/apache-arrow/vector/vector/index.ts", "../../../node_modules/apache-arrow/table.ts", "../../../node_modules/apache-arrow/recordbatch.ts", "../../../node_modules/apache-arrow/ipc/ipc/reader.ts", "../../../node_modules/apache-arrow/io/whatwg/io/whatwg/iterable.ts", "../../../node_modules/apache-arrow/io/whatwg/io/whatwg/builder.ts", "../../../node_modules/apache-arrow/io/whatwg/io/whatwg/reader.ts", "../../../node_modules/apache-arrow/io/whatwg/io/whatwg/writer.ts", "../../../node_modules/apache-arrow/compute/compute/predicate.ts", "../../../node_modules/apache-arrow/compute/compute/dataframe.ts", "../../../node_modules/apache-arrow/Arrow.ts", "../../../node_modules/js-sha256/src/sha256.js", "(disabled):path", "(disabled):fs", "../../../node_modules/web-worker/cjs/browser.js", "../../../node_modules/apache-arrow/Arrow.dom.ts", "../src/bindings/connection.ts", "../src/bindings/udf_runtime.ts", "../src/bindings/runtime.ts", "../src/bindings/file_stats.ts", "../src/flat_arrow.ts", "../src/bindings/bindings_base.ts", "../src/log.ts", "../../../node_modules/wasm-feature-detect/dist/esm/index.js", "../src/platform.ts", "../src/utils/s3_helper.ts", "../src/bindings/runtime_browser.ts", "../src/bindings/duckdb-mvp.js", "../src/bindings/bindings_browser_base.ts", "../src/bindings/bindings_browser_mvp.ts", "../src/bindings/duckdb-eh.js", "../src/bindings/bindings_browser_eh.ts", "../src/targets/duckdb-browser-blocking.ts", "../src/parallel/async_connection.ts", "../src/parallel/worker_request.ts", "../src/parallel/async_bindings.ts", "../src/worker.ts", "../test/all_types.test.ts", "../test/httpfs_test.ts", "../test/bindings.test.ts", "../test/batch_stream.test.ts", "../test/batch_stream_async.test.ts", "../test/filesystem.test.ts", "../test/table_test.ts", "../test/insert_arrow.test.ts", "../test/insert_json.test.ts", "../test/insert_csv.test.ts", "../test/tokenizer.test.ts", "../test/tablenames.test.ts", "../test/regression/github_332.test.ts", "../test/regression/github_334.test.ts", "../test/regression/github_393.test.ts", "../test/regression/github_448.test.ts", "../test/regression/github_470.test.ts", "../test/regression/github_477.test.ts", "../test/regression/index.ts", "../test/udf.test.ts", "../test/index_browser.ts"],
|
|
4
|
-
"sourcesContent": ["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __spreadArray = function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__spreadArray\", __spreadArray);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n", "/// @file\n/// @addtogroup flatbuffers_javascript_api\n/// @{\n/// @cond FLATBUFFERS_INTERNAL\n\n/**\n * @fileoverview\n *\n * Need to suppress 'global this' error so the Node.js export line doesn't cause\n * closure compile to error out.\n * @suppress {globalThis}\n */\n\n/**\n * @const\n * @namespace\n */\nvar flatbuffers = {};\n\n/**\n * @typedef {number}\n */\nflatbuffers.Offset;\n\n/**\n * @typedef {{\n * bb: flatbuffers.ByteBuffer,\n * bb_pos: number\n * }}\n */\nflatbuffers.Table;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_SHORT = 2;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_INT = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.FILE_IDENTIFIER_LENGTH = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZE_PREFIX_LENGTH = 4;\n\n/**\n * @enum {number}\n */\nflatbuffers.Encoding = {\n UTF8_BYTES: 1,\n UTF16_STRING: 2\n};\n\n/**\n * @type {Int32Array}\n * @const\n */\nflatbuffers.int32 = new Int32Array(2);\n\n/**\n * @type {Float32Array}\n * @const\n */\nflatbuffers.float32 = new Float32Array(flatbuffers.int32.buffer);\n\n/**\n * @type {Float64Array}\n * @const\n */\nflatbuffers.float64 = new Float64Array(flatbuffers.int32.buffer);\n\n/**\n * @type {boolean}\n * @const\n */\nflatbuffers.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @constructor\n * @param {number} low\n * @param {number} high\n */\nflatbuffers.Long = function(low, high) {\n /**\n * @type {number}\n * @const\n */\n this.low = low | 0;\n\n /**\n * @type {number}\n * @const\n */\n this.high = high | 0;\n};\n\n/**\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.Long.create = function(low, high) {\n // Special-case zero to avoid GC overhead for default values\n return low == 0 && high == 0 ? flatbuffers.Long.ZERO : new flatbuffers.Long(low, high);\n};\n\n/**\n * @returns {number}\n */\nflatbuffers.Long.prototype.toFloat64 = function() {\n return (this.low >>> 0) + this.high * 0x100000000;\n};\n\n/**\n * @param {flatbuffers.Long} other\n * @returns {boolean}\n */\nflatbuffers.Long.prototype.equals = function(other) {\n return this.low == other.low && this.high == other.high;\n};\n\n/**\n * @type {!flatbuffers.Long}\n * @const\n */\nflatbuffers.Long.ZERO = new flatbuffers.Long(0, 0);\n\n/// @endcond\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a FlatBufferBuilder.\n *\n * @constructor\n * @param {number=} opt_initial_size\n */\nflatbuffers.Builder = function(opt_initial_size) {\n if (!opt_initial_size) {\n var initial_size = 1024;\n } else {\n var initial_size = opt_initial_size;\n }\n\n /**\n * @type {flatbuffers.ByteBuffer}\n * @private\n */\n this.bb = flatbuffers.ByteBuffer.allocate(initial_size);\n\n /**\n * Remaining space in the ByteBuffer.\n *\n * @type {number}\n * @private\n */\n this.space = initial_size;\n\n /**\n * Minimum alignment encountered so far.\n *\n * @type {number}\n * @private\n */\n this.minalign = 1;\n\n /**\n * The vtable for the current table.\n *\n * @type {Array.<number>}\n * @private\n */\n this.vtable = null;\n\n /**\n * The amount of fields we're actually using.\n *\n * @type {number}\n * @private\n */\n this.vtable_in_use = 0;\n\n /**\n * Whether we are currently serializing a table.\n *\n * @type {boolean}\n * @private\n */\n this.isNested = false;\n\n /**\n * Starting offset of the current struct/table.\n *\n * @type {number}\n * @private\n */\n this.object_start = 0;\n\n /**\n * List of offsets of all vtables.\n *\n * @type {Array.<number>}\n * @private\n */\n this.vtables = [];\n\n /**\n * For the current vector being built.\n *\n * @type {number}\n * @private\n */\n this.vector_num_elems = 0;\n\n /**\n * False omits default values from the serialized data\n *\n * @type {boolean}\n * @private\n */\n this.force_defaults = false;\n};\n\nflatbuffers.Builder.prototype.clear = function() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n};\n\n/**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param {boolean} forceDefaults true always serializes default values\n */\nflatbuffers.Builder.prototype.forceDefaults = function(forceDefaults) {\n this.force_defaults = forceDefaults;\n};\n\n/**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n *\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.Builder.prototype.dataBuffer = function() {\n return this.bb;\n};\n\n/**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n *\n * @returns {!Uint8Array}\n */\nflatbuffers.Builder.prototype.asUint8Array = function() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param {number} size This is the of the new element to write\n * @param {number} additional_bytes The padding size\n */\nflatbuffers.Builder.prototype.prep = function(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n var align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n var old_buf_size = this.bb.capacity();\n this.bb = flatbuffers.Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n\n this.pad(align_size);\n};\n\n/**\n * @param {number} byte_size\n */\nflatbuffers.Builder.prototype.pad = function(byte_size) {\n for (var i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt8 = function(value) {\n this.bb.writeInt8(this.space -= 1, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt16 = function(value) {\n this.bb.writeInt16(this.space -= 2, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt32 = function(value) {\n this.bb.writeInt32(this.space -= 4, value);\n};\n\n/**\n * @param {flatbuffers.Long} value\n */\nflatbuffers.Builder.prototype.writeInt64 = function(value) {\n this.bb.writeInt64(this.space -= 8, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat32 = function(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat64 = function(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n};\n/// @endcond\n\n/**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int8` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt8 = function(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n};\n\n/**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int16` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt16 = function(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n};\n\n/**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt32 = function(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n};\n\n/**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {flatbuffers.Long} value The `int64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt64 = function(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n};\n\n/**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat32 = function(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n};\n\n/**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat64 = function(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt8 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt16 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Long} value\n * @param {flatbuffers.Long} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || !value.equals(defaultValue)) {\n this.addInt64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldOffset = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n *\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldStruct = function(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n *\n * @param {flatbuffers.Offset} obj The offset of the created object\n */\nflatbuffers.Builder.prototype.nested = function(obj) {\n if (obj != this.offset()) {\n throw new Error('FlatBuffers: struct must be serialized inline.');\n }\n};\n\n/**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\nflatbuffers.Builder.prototype.notNested = function() {\n if (this.isNested) {\n throw new Error('FlatBuffers: object serialization must not be nested.');\n }\n};\n\n/**\n * Set the current vtable at `voffset` to the current location in the buffer.\n *\n * @param {number} voffset\n */\nflatbuffers.Builder.prototype.slot = function(voffset) {\n this.vtable[voffset] = this.offset();\n};\n\n/**\n * @returns {flatbuffers.Offset} Offset relative to the end of the buffer.\n */\nflatbuffers.Builder.prototype.offset = function() {\n return this.bb.capacity() - this.space;\n};\n\n/**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param {flatbuffers.ByteBuffer} bb The current buffer with the existing data\n * @returns {!flatbuffers.ByteBuffer} A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\nflatbuffers.Builder.growByteBuffer = function(bb) {\n var old_buf_size = bb.capacity();\n\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n\n var new_buf_size = old_buf_size << 1;\n var nbb = flatbuffers.ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n};\n/// @endcond\n\n/**\n * Adds on offset, relative to where it will be written.\n *\n * @param {flatbuffers.Offset} offset The offset to add.\n */\nflatbuffers.Builder.prototype.addOffset = function(offset) {\n this.prep(flatbuffers.SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n *\n * @param {number} numfields\n */\nflatbuffers.Builder.prototype.startObject = function(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (var i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n};\n\n/**\n * Finish off writing the object that is under construction.\n *\n * @returns {flatbuffers.Offset} The offset to the object inside `dataBuffer`\n */\nflatbuffers.Builder.prototype.endObject = function() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n\n this.addInt32(0);\n var vtableloc = this.offset();\n\n // Trim trailing zeroes.\n var i = this.vtable_in_use - 1;\n for (; i >= 0 && this.vtable[i] == 0; i--) {}\n var trimmed_size = i + 1;\n\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n\n var standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n var len = (trimmed_size + standard_fields) * flatbuffers.SIZEOF_SHORT;\n this.addInt16(len);\n\n // Search for an existing vtable that matches the current one.\n var existing_vtable = 0;\n var vt1 = this.space;\nouter_loop:\n for (i = 0; i < this.vtables.length; i++) {\n var vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (var j = flatbuffers.SIZEOF_SHORT; j < len; j += flatbuffers.SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n } else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n\n this.isNested = false;\n return vtableloc;\n};\n/// @endcond\n\n/**\n * Finalize a buffer, poiting to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n * @param {boolean=} opt_size_prefix\n */\nflatbuffers.Builder.prototype.finish = function(root_table, opt_file_identifier, opt_size_prefix) {\n var size_prefix = opt_size_prefix ? flatbuffers.SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n var file_identifier = opt_file_identifier;\n this.prep(this.minalign, flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, flatbuffers.SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n};\n\n/**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n */\nflatbuffers.Builder.prototype.finishSizePrefixed = function (root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n *\n * @param {flatbuffers.Offset} table\n * @param {number} field\n */\nflatbuffers.Builder.prototype.requiredField = function(table, field) {\n var table_start = this.bb.capacity() - table;\n var vtable_start = table_start - this.bb.readInt32(table_start);\n var ok = this.bb.readInt16(vtable_start + field) != 0;\n\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new Error('FlatBuffers: field ' + field + ' must be set');\n }\n};\n\n/**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param {number} elem_size The size of each element in the array\n * @param {number} num_elems The number of elements in the array\n * @param {number} alignment The alignment of the array\n */\nflatbuffers.Builder.prototype.startVector = function(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(flatbuffers.SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n};\n\n/**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns {flatbuffers.Offset} The offset at which the newly created array\n * starts.\n */\nflatbuffers.Builder.prototype.endVector = function() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n};\n/// @endcond\n\n/**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param {string|Uint8Array} s The string to encode\n * @return {flatbuffers.Offset} The offset in the buffer where the encoded string starts\n */\nflatbuffers.Builder.prototype.createString = function(s) {\n if (s instanceof Uint8Array) {\n var utf8 = s;\n } else {\n var utf8 = [];\n var i = 0;\n\n while (i < s.length) {\n var codePoint;\n\n // Decode UTF-16\n var a = s.charCodeAt(i++);\n if (a < 0xD800 || a >= 0xDC00) {\n codePoint = a;\n } else {\n var b = s.charCodeAt(i++);\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\n }\n\n // Encode UTF-8\n if (codePoint < 0x80) {\n utf8.push(codePoint);\n } else {\n if (codePoint < 0x800) {\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\n } else {\n if (codePoint < 0x10000) {\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\n } else {\n utf8.push(\n ((codePoint >> 18) & 0x07) | 0xF0,\n ((codePoint >> 12) & 0x3F) | 0x80);\n }\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\n }\n utf8.push((codePoint & 0x3F) | 0x80);\n }\n }\n }\n\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (var i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.Builder.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n////////////////////////////////////////////////////////////////////////////////\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`).\n *\n * @constructor\n * @param {Uint8Array} bytes\n */\nflatbuffers.ByteBuffer = function(bytes) {\n /**\n * @type {Uint8Array}\n * @private\n */\n this.bytes_ = bytes;\n\n /**\n * @type {number}\n * @private\n */\n this.position_ = 0;\n};\n\n/**\n * Create and allocate a new ByteBuffer with a given size.\n *\n * @param {number} byte_size\n * @returns {!flatbuffers.ByteBuffer}\n */\nflatbuffers.ByteBuffer.allocate = function(byte_size) {\n return new flatbuffers.ByteBuffer(new Uint8Array(byte_size));\n};\n\nflatbuffers.ByteBuffer.prototype.clear = function() {\n this.position_ = 0;\n};\n\n/**\n * Get the underlying `Uint8Array`.\n *\n * @returns {Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.bytes = function() {\n return this.bytes_;\n};\n\n/**\n * Get the buffer's position.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.position = function() {\n return this.position_;\n};\n\n/**\n * Set the buffer's position.\n *\n * @param {number} position\n */\nflatbuffers.ByteBuffer.prototype.setPosition = function(position) {\n this.position_ = position;\n};\n\n/**\n * Get the buffer's capacity.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.capacity = function() {\n return this.bytes_.length;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt8 = function(offset) {\n return this.readUint8(offset) << 24 >> 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint8 = function(offset) {\n return this.bytes_[offset];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt16 = function(offset) {\n return this.readUint16(offset) << 16 >> 16;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint16 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt32 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint32 = function(offset) {\n return this.readInt32(offset) >>> 0;\n};\n\n/**\n * @param {number} offset\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readInt64 = function(offset) {\n return new flatbuffers.Long(this.readInt32(offset), this.readInt32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readUint64 = function(offset) {\n return new flatbuffers.Long(this.readUint32(offset), this.readUint32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat32 = function(offset) {\n flatbuffers.int32[0] = this.readInt32(offset);\n return flatbuffers.float32[0];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat64 = function(offset) {\n flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1] = this.readInt32(offset);\n flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return flatbuffers.float64[0];\n};\n\n/**\n * @param {number} offset\n * @param {number|boolean} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt8 = function(offset, value) {\n this.bytes_[offset] = /** @type {number} */(value);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint8 = function(offset, value) {\n this.bytes_[offset] = value;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt64 = function(offset, value) {\n this.writeInt32(offset, value.low);\n this.writeInt32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint64 = function(offset, value) {\n this.writeUint32(offset, value.low);\n this.writeUint32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat32 = function(offset, value) {\n flatbuffers.float32[0] = value;\n this.writeInt32(offset, flatbuffers.int32[0]);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat64 = function(offset, value) {\n flatbuffers.float64[0] = value;\n this.writeInt32(offset, flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0]);\n};\n\n/**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n * @returns {string}\n */\nflatbuffers.ByteBuffer.prototype.getBufferIdentifier = function() {\n if (this.bytes_.length < this.position_ + flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error(\n 'FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n var result = \"\";\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(\n this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i));\n }\n return result;\n};\n\n/**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n *\n * @param {number} bb_pos\n * @param {number} vtable_offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__offset = function(bb_pos, vtable_offset) {\n var vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n};\n\n/**\n * Initialize any Table-derived type to point to the union at the given offset.\n *\n * @param {flatbuffers.Table} t\n * @param {number} offset\n * @returns {flatbuffers.Table}\n */\nflatbuffers.ByteBuffer.prototype.__union = function(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n};\n\n/**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to UTF-16, pass flatbuffers.Encoding.UTF8_BYTES as\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\n * and from UTF-16 when the data will just be packaged back up in another\n * FlatBuffer later on.\n *\n * @param {number} offset\n * @param {flatbuffers.Encoding=} opt_encoding Defaults to UTF16_STRING\n * @returns {string|!Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.__string = function(offset, opt_encoding) {\n offset += this.readInt32(offset);\n\n var length = this.readInt32(offset);\n var result = '';\n var i = 0;\n\n offset += flatbuffers.SIZEOF_INT;\n\n if (opt_encoding === flatbuffers.Encoding.UTF8_BYTES) {\n return this.bytes_.subarray(offset, offset + length);\n }\n\n while (i < length) {\n var codePoint;\n\n // Decode UTF-8\n var a = this.readUint8(offset + i++);\n if (a < 0xC0) {\n codePoint = a;\n } else {\n var b = this.readUint8(offset + i++);\n if (a < 0xE0) {\n codePoint =\n ((a & 0x1F) << 6) |\n (b & 0x3F);\n } else {\n var c = this.readUint8(offset + i++);\n if (a < 0xF0) {\n codePoint =\n ((a & 0x0F) << 12) |\n ((b & 0x3F) << 6) |\n (c & 0x3F);\n } else {\n var d = this.readUint8(offset + i++);\n codePoint =\n ((a & 0x07) << 18) |\n ((b & 0x3F) << 12) |\n ((c & 0x3F) << 6) |\n (d & 0x3F);\n }\n }\n }\n\n // Encode UTF-16\n if (codePoint < 0x10000) {\n result += String.fromCharCode(codePoint);\n } else {\n codePoint -= 0x10000;\n result += String.fromCharCode(\n (codePoint >> 10) + 0xD800,\n (codePoint & ((1 << 10) - 1)) + 0xDC00);\n }\n }\n\n return result;\n};\n\n/**\n * Retrieve the relative offset stored at \"offset\"\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__indirect = function(offset) {\n return offset + this.readInt32(offset);\n};\n\n/**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector = function(offset) {\n return offset + this.readInt32(offset) + flatbuffers.SIZEOF_INT; // data starts after the length\n};\n\n/**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector_len = function(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n};\n\n/**\n * @param {string} ident\n * @returns {boolean}\n */\nflatbuffers.ByteBuffer.prototype.__has_identifier = function(ident) {\n if (ident.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n\n// Exports for Node.js and RequireJS\nthis.flatbuffers = flatbuffers;\n\n/// @endcond\n/// @}\n", 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, 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, 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, null, "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +\n HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +\n HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +\n HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +\n HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +\n HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +\n HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +\n HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +\n HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +\n HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,\n (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,\n (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "", "", "/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nmodule.exports = Worker;", null, "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader);\n }\n\n /** Send a query */\n public send<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.RecordBatchStreamReader<T> {\n const header = this._bindings.sendQuery(this._conn, text);\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n const buffer = table.serialize('binary', true);\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n const bufferI8 = this.bindings.fetchQueryResults(this.conn);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction type_size(ptype: string) {\n switch(ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptr_to_arr(mod: DuckDBModule, ptr: number, ptype: string, n:number) {\n const in_buf = mod.HEAPU8.subarray(ptr, ptr + n * type_size(ptype));\n\n switch(ptype) {\n case 'UINT8': {\n return new Uint8Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'INT8': {\n return new Int8Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'INT32': {\n return new Int32Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'FLOAT': {\n return new Float32Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'DOUBLE': {\n return new Float64Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'VARCHAR': {\n return new Float64Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n default:\n return new Array<string>(0); // cough\n }\n}\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n\n // schema description as json\n const desc_str = new TextDecoder().decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(desc_str);\n //console.log(desc);\n\n // array of buffer pointers referred to from schema\n const ptrs = ptr_to_arr(mod, ptrsPtr, 'DOUBLE', ptrsSize/8);\n\n const validity_arr = [];\n const data_arr = [];\n\n // create argument arrays\n for (const idx in desc.args) {\n const arg = desc.args[idx];\n const arg_arr = ptr_to_arr(mod, ptrs[arg.data_buffer] as number, arg.physical_type, desc.rows);\n const validity = ptr_to_arr(mod, ptrs[arg.validity_buffer] as number, 'UINT8', desc.rows);\n\n if (arg_arr.length == 0 || validity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for argument \" + arg.physical_type);\n return;\n }\n validity_arr.push(validity);\n\n // some special handling for more involved types\n if (arg.physical_type == 'VARCHAR') {\n const length_arr = ptr_to_arr(mod, ptrs[arg.length_buffer] as number, 'DOUBLE', desc.rows);\n\n const string_data_arr = [];\n const decoder = new TextDecoder();\n for (let i = 0; i < desc.rows; ++i) {\n if (!validity[i]) {\n string_data_arr.push(undefined);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(arg_arr[i] as number, (arg_arr[i] as number) + (length_arr[i] as number));\n const str = decoder.decode(subarray);\n string_data_arr.push(str);\n }\n data_arr.push(string_data_arr);\n\n } else {\n data_arr.push(arg_arr);\n }\n }\n\n // create output array\n // TODO we probably do not want to recreate those every time\n const out_data_len = desc.rows * type_size(desc.ret.physical_type);\n const out_data_ptr = mod._malloc(out_data_len);\n let out_data = ptr_to_arr(mod, out_data_ptr, desc.ret.physical_type, desc.rows);\n\n const out_validity_ptr = mod._malloc(desc.rows);\n const out_validity = ptr_to_arr(mod, out_validity_ptr, 'UINT8', desc.rows);\n\n // actually call the function\n if (out_data.length == 0 || out_validity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n\n const out_data_org = out_data;\n if (desc.ret.physical_type == 'VARCHAR') {\n out_data = new Array<string>(desc.rows);\n }\n // TODO can we do something with .apply() here?\n switch (desc.args.length) {\n case 0:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func();\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n case 1:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func(validity_arr[0][i] ? data_arr[0][i] : undefined);\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n case 2:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func(validity_arr[0][i] ? data_arr[0][i] : undefined, validity_arr[1][i] ? data_arr[1][i] : undefined);\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n default:\n storeError(mod, response, \"Can't deal with argument count: \" + desc.args.length);\n return;\n }\n\n // return value encoding. Most fun for strings so far.\n let out_len_ptr = 0;\n if (desc.ret.physical_type == 'VARCHAR') {\n const enc = new TextEncoder();\n const utf_arrs = new Array<Uint8Array>(0); // cough\n let total_len = 0;\n out_len_ptr = mod._malloc(desc.rows * type_size('DOUBLE'));\n const out_len = ptr_to_arr(mod, out_len_ptr, 'DOUBLE', desc.rows);\n\n // TODO we need two loops to figure out the total length but maybe we can avoid the double allocation\n for (let row_idx = 0; row_idx < desc.rows; ++row_idx) {\n utf_arrs[row_idx] = enc.encode(out_data[row_idx] as unknown as string);\n total_len += utf_arrs[row_idx].length;\n out_len[row_idx] = utf_arrs[row_idx].length;\n }\n\n // we malloc a buffer for the strings to live in for now\n const out_string_ptr = mod._malloc(total_len);\n const out_string_buf = mod.HEAPU8.subarray(out_string_ptr, out_string_ptr + total_len);\n // now copy all the strings to the new buffer back to back and fill the out_data and out_length arrays\n let out_offset = 0;\n out_data = out_data_org;\n\n for (let row_idx = 0; row_idx < desc.rows; ++row_idx) {\n out_data[row_idx] = out_string_ptr + out_offset;\n for (let char_idx = 0; char_idx < utf_arrs[row_idx].length; char_idx++) {\n out_string_buf[out_offset + char_idx] = utf_arrs[row_idx][char_idx];\n }\n out_offset += utf_arrs[row_idx].length;\n }\n }\n\n const out_len = 3*8; // need to store three pointers, data, validity and length\n // TODO maybe we can re-use this buffer, too\n const out_ptr = mod._malloc(out_len);\n const out_arr = ptr_to_arr(mod, out_ptr, 'DOUBLE', 3);\n\n out_arr[0] = out_data_ptr;\n out_arr[1] = out_validity_ptr;\n out_arr[2] = out_len_ptr;\n\n mod.HEAPF64[(response >> 3) + 0] = 0; // status\n mod.HEAPF64[(response >> 3) + 1] = out_ptr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = mod.HEAPU8.subarray(begin, begin + length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(mod.HEAPU8.subarray(begin, begin + length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NATIVE = 1,\n HTTP = 3,\n S3 = 4,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n dataNativeFd: number | null;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(mod: DuckDBModule, response: number, funcId: number, descPtr: number, descSize: number, ptrsPtr: number, ptrsSize: number): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import * as arrow from 'apache-arrow';\n\nexport interface FlatArrowType {\n /// The type\n type: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Fields\n children?: FlatArrowField[];\n}\n\nexport function flattenArrowType(type: arrow.DataType): FlatArrowType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { type: 'binary' };\n case arrow.Type.Bool:\n return { type: 'bool' };\n case arrow.Type.Date:\n return { type: 'date' };\n case arrow.Type.DateDay:\n return { type: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { type: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { type: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { type: 'float' };\n case arrow.Type.Float16:\n return { type: 'float16' };\n case arrow.Type.Float32:\n return { type: 'float32' };\n case arrow.Type.Float64:\n return { type: 'float64' };\n case arrow.Type.Int:\n return { type: 'int32' };\n case arrow.Type.Int16:\n return { type: 'int16' };\n case arrow.Type.Int32:\n return { type: 'int32' };\n case arrow.Type.Int64:\n return { type: 'int64' };\n case arrow.Type.Uint16:\n return { type: 'uint16' };\n case arrow.Type.Uint32:\n return { type: 'uint32' };\n case arrow.Type.Uint64:\n return { type: 'uint64' };\n case arrow.Type.Uint8:\n return { type: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { type: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { type: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n type: 'list',\n children: [flattenArrowField(list.valueField.name, list.valueField.type)],\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { type: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { type: 'null' };\n case arrow.Type.Utf8:\n return { type: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n type: 'struct',\n children: struct_.children.map(c => flattenArrowField(c.name, c.type)),\n };\n }\n case arrow.Type.Time:\n return { type: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { type: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { type: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { type: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { type: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { type: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { type: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { type: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { type: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { type: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type FlatArrowField = FlatArrowType & { name: string };\n\nexport function flattenArrowField(name: string, type: arrow.DataType): FlatArrowField {\n const t = flattenArrowType(type) as FlatArrowField;\n t.name = name;\n return t;\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { flattenArrowField, flattenArrowType } from '../flat_arrow';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n return this;\n }\n /** Open a database at a path */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Send a query asynchronously. Results have to be fetched with `fetchQueryResults` */\n public sendQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_send', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: flattenArrowType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(flattenArrowField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(flattenArrowField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url?: string): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number'],\n [name, url, -1],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length);\n const dst = this.mod.HEAPU8.subarray(ptr, ptr + buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(name: string, handle: HandleType): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number'],\n [name, name, -1],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\n", "export enum LogLevel {\n NONE = 0,\n DEBUG = 1,\n INFO = 2,\n WARNING = 3,\n ERROR = 4,\n}\n\nexport enum LogTopic {\n NONE = 0,\n CONNECT = 1,\n DISCONNECT = 2,\n OPEN = 3,\n QUERY = 4,\n INSTANTIATE = 5,\n}\n\nexport enum LogEvent {\n NONE = 0,\n OK = 1,\n ERROR = 2,\n START = 3,\n RUN = 4,\n CAPTURE = 5,\n}\n\nexport enum LogOrigin {\n NONE = 0,\n WEB_WORKER = 1,\n NODE_WORKER = 2,\n BINDINGS = 3,\n ASYNC_DUCKDB = 4,\n}\n\nexport type LogEntry<O, T, E, V> = {\n readonly timestamp: Date;\n readonly level: LogLevel;\n readonly origin: O;\n readonly topic: T;\n readonly event: E;\n readonly value: V;\n};\n\nexport type LogEntryVariant =\n | LogEntry<LogOrigin.BINDINGS, LogTopic.INSTANTIATE, LogEvent.ERROR, string>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.START, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.START, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.ASYNC_DUCKDB, LogTopic.QUERY, LogEvent.RUN, string>;\n\nexport interface Logger {\n log(entry: LogEntryVariant): void;\n}\n\nexport class VoidLogger implements Logger {\n public log(_entry: LogEntryVariant): void {}\n}\n\nexport class ConsoleLogger implements Logger {\n public log(entry: LogEntryVariant): void {\n console.log(entry);\n }\n}\n\nexport function getLogLevelLabel(level: LogLevel): string {\n switch (level) {\n case LogLevel.NONE:\n return 'NONE';\n case LogLevel.DEBUG:\n return 'DEBUG';\n case LogLevel.INFO:\n return 'INFO';\n case LogLevel.WARNING:\n return 'WARNING';\n case LogLevel.ERROR:\n return 'ERROR';\n default:\n return '?';\n }\n}\n\nexport function getLogEventLabel(event: LogEvent): string {\n switch (event) {\n case LogEvent.NONE:\n return 'NONE';\n case LogEvent.OK:\n return 'OK';\n case LogEvent.ERROR:\n return 'ERROR';\n case LogEvent.START:\n return 'START';\n case LogEvent.RUN:\n return 'RUN';\n case LogEvent.CAPTURE:\n return 'CAPTURE';\n default:\n return '?';\n }\n}\n\nexport function getLogTopicLabel(topic: LogTopic): string {\n switch (topic) {\n case LogTopic.CONNECT:\n return 'CONNECT';\n case LogTopic.DISCONNECT:\n return 'DISCONNECT';\n case LogTopic.INSTANTIATE:\n return 'INSTANTIATE';\n case LogTopic.OPEN:\n return 'OPEN';\n case LogTopic.QUERY:\n return 'QUERY';\n default:\n return '?';\n }\n}\n\nexport function getLogOriginLabel(origin: LogOrigin): string {\n switch (origin) {\n case LogOrigin.NONE:\n return 'NONE';\n case LogOrigin.WEB_WORKER:\n return 'WEB WORKER';\n case LogOrigin.NODE_WORKER:\n return 'NODE WORKER';\n case LogOrigin.BINDINGS:\n return 'DUCKDB BINDINGS';\n case LogOrigin.ASYNC_DUCKDB:\n return 'DUCKDB';\n default:\n return '?';\n }\n}\n", "export const bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));\n", "import * as check from 'wasm-feature-detect';\nimport { PACKAGE_NAME, PACKAGE_VERSION } from './version';\n\nexport interface DuckDBBundles {\n mvp: {\n mainModule: string;\n mainWorker: string;\n };\n eh?: {\n mainModule: string;\n mainWorker: string;\n };\n coi?: {\n mainModule: string;\n mainWorker: string;\n pthreadWorker: string;\n };\n}\n\nexport function getJsDelivrBundles(): DuckDBBundles {\n const jsdelivr_dist_url = `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/`;\n return {\n mvp: {\n mainModule: `${jsdelivr_dist_url}duckdb-mvp.wasm`,\n mainWorker: `${jsdelivr_dist_url}duckdb-browser-mvp.worker.js`,\n },\n eh: {\n mainModule: `${jsdelivr_dist_url}duckdb-eh.wasm`,\n mainWorker: `${jsdelivr_dist_url}duckdb-browser-eh.worker.js`,\n },\n // COI is still experimental, let the user opt in explicitly\n };\n}\n\nexport interface DuckDBBundle {\n mainModule: string;\n mainWorker: string | null;\n pthreadWorker: string | null;\n}\n\nexport interface PlatformFeatures {\n bigInt64Array: boolean;\n crossOriginIsolated: boolean;\n wasmExceptions: boolean;\n wasmSIMD: boolean;\n wasmBulkMemory: boolean;\n wasmThreads: boolean;\n}\n\nlet bigInt64Array: boolean | null = null;\nlet wasmExceptions: boolean | null = null;\nlet wasmThreads: boolean | null = null;\nlet wasmSIMD: boolean | null = null;\nlet wasmBulkMemory: boolean | null = null;\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace globalThis {\n let crossOriginIsolated: boolean;\n}\n\nfunction isNode(): boolean {\n return typeof process !== 'undefined' && process.release.name === 'node';\n}\n\nexport async function getPlatformFeatures(): Promise<PlatformFeatures> {\n if (bigInt64Array == null) {\n bigInt64Array = typeof BigInt64Array != 'undefined';\n }\n if (wasmExceptions == null) {\n wasmExceptions = await check.exceptions();\n }\n if (wasmThreads == null) {\n wasmThreads = await check.threads();\n }\n if (wasmSIMD == null) {\n wasmSIMD = await check.simd();\n }\n if (wasmBulkMemory == null) {\n wasmBulkMemory = await check.bulkMemory();\n }\n return {\n bigInt64Array: bigInt64Array!,\n crossOriginIsolated: isNode() || globalThis.crossOriginIsolated || false,\n wasmExceptions: wasmExceptions!,\n wasmSIMD: wasmSIMD!,\n wasmThreads: wasmThreads!,\n wasmBulkMemory: wasmBulkMemory!,\n };\n}\n\nexport async function selectBundle(bundles: DuckDBBundles): Promise<DuckDBBundle> {\n const platform = await getPlatformFeatures();\n if (platform.wasmExceptions) {\n if (platform.wasmSIMD && platform.wasmThreads && platform.crossOriginIsolated && bundles.coi) {\n return {\n mainModule: bundles.coi.mainModule,\n mainWorker: bundles.coi.mainWorker,\n pthreadWorker: bundles.coi.pthreadWorker,\n };\n }\n if (bundles.eh) {\n return {\n mainModule: bundles.eh.mainModule,\n mainWorker: bundles.eh.mainWorker,\n pthreadWorker: null,\n };\n }\n }\n return {\n mainModule: bundles.mvp.mainModule,\n mainWorker: bundles.mvp.mainWorker,\n pthreadWorker: null,\n };\n}\n", "import {S3Config} from \"../bindings\";\nimport {sha256} from \"js-sha256\";\n\nexport interface S3Params {\n url: string,\n query: string,\n host: string,\n region: string,\n service: string,\n method: string,\n accessKeyId: string,\n secretAccessKey: string,\n sessionToken: string,\n dateNow: string,\n datetimeNow: string\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null,\n contentType: string | null\n}\n\nconst getHTTPHost = function (config : S3Config | undefined, url : string, bucket : string) : string {\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n}\n\nexport function getS3Params (config : S3Config | undefined, url: string, method : string) : S3Params {\n const parsedS3Url = parseS3Url(url);\n return {\n url: parsedS3Url.path,\n query: \"\",\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: (config?.region) ?? \"\",\n service: \"s3\",\n method: method,\n accessKeyId: (config?.accessKeyId) ?? \"\",\n secretAccessKey: (config?.secretAccessKey) ?? \"\",\n sessionToken: (config?.sessionToken) ?? \"\",\n dateNow: new Date().toISOString().replace(/-/g,'').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g,'').replace(/:/g,'').split('.')[0]+ 'Z',\n };\n}\n\nexport function uriEncode(input : string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = \"0123456789ABCDEF\";\n let result = \"\";\n\n for (let i = 0; i < input.length; i++) {\n const ch : string = input[i];\n\n if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += \"%2F\";\n } else {\n result += ch;\n }\n } else {\n result += \"%\";\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams : S3PayloadParams | null = null) : Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash = (payloadParams?.contentHash) ?? \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set(\"x-amz-date\", params.datetimeNow);\n res.set(\"x-amz-content-sha256\", payloadHash);\n\n if (params.sessionToken) {\n res.set(\"x-amz-security-token\", params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = \"\";\n if (payloadParams?.contentType) {\n signedHeaders += \"content-type;\";\n }\n signedHeaders += \"host;x-amz-content-sha256;x-amz-date\";\n if (params.sessionToken) {\n signedHeaders += \";x-amz-security-token\";\n }\n\n let canonicalRequest = params.method + \"\\n\" + uriEncode(params.url) + \"\\n\" + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += \"\\ncontent-type:\" + payloadParams?.contentType;\n }\n canonicalRequest += \"\\nhost:\" + params.host +\n \"\\nx-amz-content-sha256:\" + payloadHash + \"\\nx-amz-date:\" + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += \"\\nx-amz-security-token:\" + params.sessionToken;\n }\n\n canonicalRequest += \"\\n\\n\" + signedHeaders + \"\\n\" + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n}\n\nexport function addS3Headers(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader(\"content-type\", contentType);\n }\n }\n}\n\nexport function parseS3Url (url: string) : {bucket : string, path : string} {\n if (url.indexOf(\"s3://\") != 0) {\n throw new Error(\"URL needs to start with s3://\");\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error(\"URL needs to contain a bucket name\");\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error(\"URL needs to contain key\");\n }\n\n return {bucket: bucket, path: path}\n}\n\nexport function getHTTPUrl(config : S3Config | undefined, url : string) : string {\n const parsedUrl = parseS3Url(url);\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n } else {\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n }\n}", "import {StatusCode} from '../status';\nimport {addS3Headers, getHTTPUrl} from '../utils'\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString\n} from './runtime';\nimport {DuckDBModule} from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(mod, 'duckdb_web_fs_get_file_info_by_id', ['number', 'number'], [fileId, cached?.cacheEpoch || 0]);\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n return file;\n } catch (e: any) {\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(mod, 'duckdb_web_get_global_file_info', ['number'], [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0]);\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n return null;\n }\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(`Opening file ${file.fileName} failed: cannot open file with both read and write flags set`);\n } else if (flags & FileFlags.FILE_FLAGS_APPEND){\n throw new Error(`Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`);\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(`Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`);\n } else if (xhr.status == 404 &&!(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)) {\n throw new Error(`Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`);\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let error: any | null = null;\n try {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n const contentLength = xhr.getResponseHeader('Content-Length');\n if (xhr.status == 206 && contentLength !== null) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n\n // Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // Native File\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(2 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n failWith(mod, `HEAD request failed: ${path}`);\n return;\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n }\n } catch (e: any) {\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n let supportsRanges = false;\n if (xhr.status == 206) {\n supportsRanges = true;\n } else if (xhr.status == 200) {\n const header = xhr.getResponseHeader('Accept-Ranges');\n supportsRanges = header === 'bytes';\n } else {\n return false;\n }\n if (!supportsRanges) {\n return false;\n }\n\n // HTTP file exists and supports range requests\n return true;\n }\n } catch (e: any) {\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NATIVE:\n // XXX Remove from registry\n return;\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.NATIVE:\n failWith(mod, `truncateFile not implemented`);\n return;\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n throw new Error(\n `Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`,\n );\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No handle available for file: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n }\n return 0;\n } catch (e: any) {\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n return bytes;\n }\n case DuckDBDataProtocol.NATIVE:\n failWith(mod, 'writefile not implemented');\n return 0;\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n return new Date().getTime();\n }\n return 0;\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number) => {},\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n", "\nvar DuckDB = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(DuckDB) {\n DuckDB = DuckDB || {};\n\nvar Module=typeof DuckDB!==\"undefined\"?DuckDB:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err(\"exiting due to exception: \"+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}requireNodeFS=function(){if(!nodePath){fs=require(\"fs\");nodePath=require(\"path\")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath[\"normalize\"](filename);return fs.readFileSync(filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath[\"normalize\"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process[\"exitCode\"]=status;throw toThrow}logExceptionOnExit(toThrow);process[\"exit\"](status)});Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module[\"_\"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -s ASSERTIONS=1 for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;if(Module[\"locateFile\"]){wasmBinaryFile=\"./duckdb-mvp.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL(\"./duckdb-mvp.wasm\",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"Re\"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"Ue\"];addOnInit(Module[\"asm\"][\"Se\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+UTF8ToString(condition)+\", at: \"+[filename?UTF8ToString(filename):\"unknown filename\",line,func?UTF8ToString(func):\"unknown function\"])}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){return HEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){HEAP32[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return HEAP32[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_3(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_4(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_5(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_rethrow(){var catchInfo=exceptionCaught.pop();if(!catchInfo){abort(\"no exception to throw\")}var info=catchInfo.get_exception_info();var ptr=catchInfo.get_base_ptr();if(!info.get_rethrown()){exceptionCaught.push(catchInfo);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}else{catchInfo.free()}exceptionLast=ptr;throw ptr}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function ___cxa_uncaught_exceptions(){return uncaughtExceptionCount}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){}function ___syscall_access(path,amode){path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}function SOCKFS(){err(\"missing function: $SOCKFS\");abort(-1)}function FS(){err(\"missing function: $FS\");abort(-1)}function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255)}function inetNtop6(ints){var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str}function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]===\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_bind(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){}function ___syscall_fstatat64(dirfd,path,buf,flags){}function ___syscall_ftruncate64(fd,low,high){}function ___syscall_getdents64(fd,dirp,count){}function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getpeername(fd,addr,addrlen){var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen){var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){}function ___syscall_mkdir(path,mode){path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}function ___syscall_rename(old_path,new_path){}function ___syscall_rmdir(path){}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){}function ___syscall_socket(domain,type,protocol){}function ___syscall_stat64(path,buf){}function ___syscall_unlink(path){}function __dlopen_js(filename,flag){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function __dlsym_js(handle,symbol){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function _abort(){abort(\"\")}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator===\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_sync(fd){var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov>>2];var len=HEAP32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function getRandomDevice(){if(typeof crypto===\"object\"&&typeof crypto[\"getRandomValues\"]===\"function\"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");return function(){return crypto_module[\"randomBytes\"](1)[0]}}catch(e){}}return function(){abort(\"randomDevice\")}}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i<size;i++){HEAP8[buffer+i>>0]=_getentropy.randomDevice()}return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}else{return\"PM\"}},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"},\"%V\":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?\"01\":\"00\"},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={\"p\":___assert_fail,\"j\":___cxa_allocate_exception,\"A\":___cxa_begin_catch,\"F\":___cxa_end_catch,\"b\":___cxa_find_matching_catch_2,\"n\":___cxa_find_matching_catch_3,\"H\":___cxa_find_matching_catch_4,\"W\":___cxa_find_matching_catch_5,\"i\":___cxa_free_exception,\"da\":___cxa_rethrow,\"v\":___cxa_throw,\"E\":___cxa_uncaught_exceptions,\"e\":___resumeException,\"Ca\":___syscall__newselect,\"Qe\":___syscall_access,\"Ea\":___syscall_bind,\"Da\":___syscall_connect,\"Q\":___syscall_fcntl64,\"Sa\":___syscall_fstat64,\"Qa\":___syscall_fstatat64,\"Na\":___syscall_ftruncate64,\"Oa\":___syscall_getdents64,\"ya\":___syscall_getpeername,\"Ba\":___syscall_getsockopt,\"Ua\":___syscall_ioctl,\"Pa\":___syscall_lstat64,\"Ta\":___syscall_mkdir,\"oa\":___syscall_open,\"za\":___syscall_recvfrom,\"Oe\":___syscall_rename,\"ma\":___syscall_rmdir,\"Aa\":___syscall_sendto,\"ga\":___syscall_socket,\"Ra\":___syscall_stat64,\"na\":___syscall_unlink,\"ha\":__dlopen_js,\"Ga\":__dlsym_js,\"_\":_abort,\"la\":_clock_gettime,\"Ge\":_duckdb_web_fs_directory_create,\"He\":_duckdb_web_fs_directory_exists,\"Ee\":_duckdb_web_fs_directory_list_files,\"Fe\":_duckdb_web_fs_directory_remove,\"ta\":_duckdb_web_fs_file_close,\"Ce\":_duckdb_web_fs_file_exists,\"Je\":_duckdb_web_fs_file_get_last_modified_time,\"De\":_duckdb_web_fs_file_move,\"Ke\":_duckdb_web_fs_file_open,\"fa\":_duckdb_web_fs_file_read,\"Ie\":_duckdb_web_fs_file_truncate,\"ua\":_duckdb_web_fs_file_write,\"Be\":_duckdb_web_fs_glob,\"sa\":_duckdb_web_test_platform_feature,\"Le\":_duckdb_web_udf_scalar_call,\"Va\":_emscripten_get_heap_max,\"kb\":_emscripten_memcpy_big,\"ed\":_emscripten_resize_heap,\"Xa\":_environ_get,\"Ya\":_environ_sizes_get,\"U\":_fd_close,\"pe\":_fd_pread,\"qb\":_fd_pwrite,\"qa\":_fd_read,\"ye\":_fd_seek,\"Pe\":_fd_sync,\"ea\":_fd_write,\"a\":_getTempRet0,\"Fa\":_getaddrinfo,\"Ma\":_getentropy,\"xa\":_getnameinfo,\"ia\":invoke_d,\"N\":invoke_di,\"Ja\":invoke_dii,\"T\":invoke_diii,\"yc\":invoke_diijii,\"ja\":invoke_f,\"X\":invoke_fi,\"ra\":invoke_fiii,\"zc\":invoke_fiijii,\"u\":invoke_i,\"Ha\":invoke_id,\"Ka\":invoke_idd,\"Z\":invoke_idiii,\"Ia\":invoke_if,\"La\":invoke_iff,\"d\":invoke_ii,\"aa\":invoke_iid,\"D\":invoke_iidii,\"Ib\":invoke_iidj,\"c\":invoke_iii,\"Y\":invoke_iiid,\"va\":invoke_iiif,\"h\":invoke_iiii,\"Gb\":invoke_iiiidjj,\"m\":invoke_iiiii,\"pa\":invoke_iiiiid,\"o\":invoke_iiiiii,\"w\":invoke_iiiiiii,\"z\":invoke_iiiiiiii,\"S\":invoke_iiiiiiiii,\"y\":invoke_iiiiiiiiiii,\"x\":invoke_iiiiiiiiiiii,\"q\":invoke_iiiiiiiiiiiiiii,\"O\":invoke_iiiiiiiiiiiiiiiiiiii,\"J\":invoke_iiiiiiiiiiiiiiiiiiiii,\"cc\":invoke_iiiiiiiiiiiij,\"fc\":invoke_iiiiiiiiiiji,\"ic\":invoke_iiiiiiiij,\"oc\":invoke_iiiiiiiiji,\"dc\":invoke_iiiiiiij,\"Hb\":invoke_iiiiiiiji,\"xc\":invoke_iiiiiiijii,\"gc\":invoke_iiiiiij,\"pc\":invoke_iiiiiiji,\"Pb\":invoke_iiiiiijji,\"ue\":invoke_iiiiij,\"Qd\":invoke_iiiiiji,\"Jd\":invoke_iiiiijii,\"te\":invoke_iiiiijj,\"Ub\":invoke_iiiiijji,\"jd\":invoke_iiiiijjiijj,\"Lb\":invoke_iiiiijjj,\"Kb\":invoke_iiiiijjji,\"Xd\":invoke_iiiij,\"Pd\":invoke_iiiiji,\"yb\":invoke_iiiijii,\"Xc\":invoke_iiiijiii,\"Wd\":invoke_iiiijj,\"Ec\":invoke_iiiijji,\"Vb\":invoke_iiiijjii,\"Jb\":invoke_iiiijjj,\"ke\":invoke_iiij,\"Td\":invoke_iiiji,\"Ac\":invoke_iiijii,\"Kd\":invoke_iiijiii,\"vd\":invoke_iiijiiii,\"Hd\":invoke_iiijiij,\"mb\":invoke_iiijiijj,\"Ud\":invoke_iiijij,\"me\":invoke_iiijj,\"Rd\":invoke_iiijji,\"id\":invoke_iiijjii,\"gb\":invoke_iiijjji,\"Ob\":invoke_iiijjjii,\"se\":invoke_iij,\"Yd\":invoke_iiji,\"xd\":invoke_iijii,\"wb\":invoke_iijiii,\"Ld\":invoke_iijiiii,\"hb\":invoke_iijiijj,\"Fb\":invoke_iijiji,\"Sd\":invoke_iijj,\"Dd\":invoke_iijji,\"Gd\":invoke_iijjii,\"Fd\":invoke_iijjiii,\"Ed\":invoke_iijjiiii,\"Ad\":invoke_iijjijj,\"mc\":invoke_iijjj,\"$b\":invoke_ij,\"ee\":invoke_iji,\"qc\":invoke_ijji,\"ae\":invoke_ijjiii,\"qe\":invoke_j,\"tc\":invoke_jd,\"sc\":invoke_jf,\"xe\":invoke_ji,\"we\":invoke_jii,\"Od\":invoke_jiii,\"Ae\":invoke_jiiii,\"qd\":invoke_jiiiii,\"rc\":invoke_jiiiiii,\"ec\":invoke_jiiiiiii,\"Fc\":invoke_jiiiiiijii,\"vc\":invoke_jiiiiijiiii,\"Uc\":invoke_jiiiij,\"vb\":invoke_jiiiiji,\"Cc\":invoke_jiiiijii,\"sd\":invoke_jiiij,\"md\":invoke_jiiiji,\"Mc\":invoke_jiiijii,\"wc\":invoke_jiiijiii,\"zb\":invoke_jiiijj,\"ac\":invoke_jiij,\"od\":invoke_jiiji,\"dd\":invoke_jiijii,\"Pc\":invoke_jiijiiiii,\"Oc\":invoke_jiijiijiii,\"Lc\":invoke_jiijijii,\"Nc\":invoke_jiijjiii,\"td\":invoke_jij,\"ad\":invoke_jijiii,\"Mb\":invoke_jijiiii,\"kc\":invoke_jijijjij,\"ob\":invoke_jijj,\"_c\":invoke_jijjij,\"uc\":invoke_jj,\"Cb\":invoke_jji,\"Yb\":invoke_jjj,\"Db\":invoke_jjjii,\"Wb\":invoke_jjjjjjd,\"t\":invoke_v,\"k\":invoke_vi,\"C\":invoke_vid,\"ba\":invoke_vidi,\"sb\":invoke_vidiijj,\"K\":invoke_vif,\"ca\":invoke_vifi,\"tb\":invoke_vifiijj,\"f\":invoke_vii,\"V\":invoke_viid,\"R\":invoke_viidii,\"Bc\":invoke_viif,\"g\":invoke_viii,\"l\":invoke_viiii,\"Ne\":invoke_viiiidiiii,\"r\":invoke_viiiii,\"s\":invoke_viiiiii,\"wa\":invoke_viiiiiidiii,\"B\":invoke_viiiiiii,\"L\":invoke_viiiiiiii,\"P\":invoke_viiiiiiiii,\"M\":invoke_viiiiiiiiii,\"Me\":invoke_viiiiiiiiiii,\"ka\":invoke_viiiiiiiiiiiii,\"$\":invoke_viiiiiiiiiiiiiii,\"Cd\":invoke_viiiiiij,\"rb\":invoke_viiiiij,\"kd\":invoke_viiiiiji,\"bc\":invoke_viiiiijiii,\"Dc\":invoke_viiiiijiiii,\"nc\":invoke_viiiiijj,\"Qb\":invoke_viiiiijji,\"Za\":invoke_viiiiijjj,\"jb\":invoke_viiiiijjji,\"ie\":invoke_viiiij,\"Vd\":invoke_viiiiji,\"xb\":invoke_viiiijii,\"eb\":invoke_viiiijiii,\"yd\":invoke_viiiijiiii,\"zd\":invoke_viiiijiiiii,\"Zb\":invoke_viiiijiiiiiiii,\"Yc\":invoke_viiiijj,\"Sb\":invoke_viiiijji,\"Rb\":invoke_viiiijjii,\"_a\":invoke_viiiijjj,\"Qc\":invoke_viiiijjjj,\"he\":invoke_viiij,\"_d\":invoke_viiiji,\"Bd\":invoke_viiijii,\"Wc\":invoke_viiijiii,\"Ic\":invoke_viiijiiiijjj,\"Ab\":invoke_viiijij,\"Nb\":invoke_viiijiji,\"Bb\":invoke_viiijijiji,\"ib\":invoke_viiijijjj,\"ce\":invoke_viiijj,\"ud\":invoke_viiijji,\"Tb\":invoke_viiijjii,\"Gc\":invoke_viiijjiij,\"Tc\":invoke_viiijjij,\"ge\":invoke_viiijjj,\"fb\":invoke_viiijjjji,\"oe\":invoke_viij,\"re\":invoke_viiji,\"ve\":invoke_viijii,\"Id\":invoke_viijiii,\"db\":invoke_viijiiii,\"cd\":invoke_viijiiiii,\"Kc\":invoke_viijiiiiij,\"Jc\":invoke_viijiiiijj,\"bd\":invoke_viijiiij,\"Zc\":invoke_viijiij,\"nd\":invoke_viijiiji,\"lb\":invoke_viijiijj,\"hd\":invoke_viijij,\"cb\":invoke_viijiji,\"Hc\":invoke_viijijiiiijjj,\"nb\":invoke_viijijj,\"ze\":invoke_viijj,\"le\":invoke_viijji,\"fd\":invoke_viijjii,\"Rc\":invoke_viijjij,\"be\":invoke_viijjj,\"hc\":invoke_viijjji,\"je\":invoke_vij,\"de\":invoke_viji,\"gd\":invoke_vijii,\"Nd\":invoke_vijiii,\"Md\":invoke_vijiiii,\"$c\":invoke_vijiiiji,\"ub\":invoke_vijiijj,\"ld\":invoke_vijij,\"lc\":invoke_vijijiiiijjj,\"fe\":invoke_vijijj,\"bb\":invoke_vijijjiiiii,\"Sc\":invoke_vijijjiij,\"pb\":invoke_vijijjji,\"$d\":invoke_vijj,\"Vc\":invoke_vijji,\"$a\":invoke_vijjiiii,\"ab\":invoke_vijjiiiii,\"jc\":invoke_vijjij,\"ne\":invoke_vijjj,\"rd\":invoke_vijjji,\"Zd\":invoke_vj,\"Xb\":invoke_vjii,\"_b\":invoke_vjiiii,\"Eb\":invoke_vjiiiji,\"wd\":invoke_vjjii,\"pd\":invoke_vjjijij,\"G\":_llvm_eh_typeid_for,\"I\":_setTempRet0,\"Wa\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"Se\"]).apply(null,arguments)};var _main=Module[\"_main\"]=function(){return(_main=Module[\"_main\"]=Module[\"asm\"][\"Te\"]).apply(null,arguments)};var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=function(){return(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=Module[\"asm\"][\"Ve\"]).apply(null,arguments)};var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=function(){return(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=Module[\"asm\"][\"We\"]).apply(null,arguments)};var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=function(){return(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=Module[\"asm\"][\"Xe\"]).apply(null,arguments)};var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=function(){return(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=Module[\"asm\"][\"Ye\"]).apply(null,arguments)};var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=function(){return(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=Module[\"asm\"][\"Ze\"]).apply(null,arguments)};var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=function(){return(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=Module[\"asm\"][\"_e\"]).apply(null,arguments)};var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=function(){return(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=Module[\"asm\"][\"$e\"]).apply(null,arguments)};var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=function(){return(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=Module[\"asm\"][\"af\"]).apply(null,arguments)};var _duckdb_web_open=Module[\"_duckdb_web_open\"]=function(){return(_duckdb_web_open=Module[\"_duckdb_web_open\"]=Module[\"asm\"][\"bf\"]).apply(null,arguments)};var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=function(){return(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=Module[\"asm\"][\"cf\"]).apply(null,arguments)};var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=function(){return(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=Module[\"asm\"][\"df\"]).apply(null,arguments)};var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=function(){return(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=Module[\"asm\"][\"ef\"]).apply(null,arguments)};var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=function(){return(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=Module[\"asm\"][\"ff\"]).apply(null,arguments)};var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=function(){return(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=Module[\"asm\"][\"gf\"]).apply(null,arguments)};var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=function(){return(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=Module[\"asm\"][\"hf\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=function(){return(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=Module[\"asm\"][\"jf\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=function(){return(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=Module[\"asm\"][\"kf\"]).apply(null,arguments)};var _duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=function(){return(_duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=Module[\"asm\"][\"lf\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=function(){return(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=Module[\"asm\"][\"mf\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=function(){return(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=Module[\"asm\"][\"nf\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=function(){return(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=Module[\"asm\"][\"of\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=function(){return(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=Module[\"asm\"][\"pf\"]).apply(null,arguments)};var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=function(){return(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=Module[\"asm\"][\"qf\"]).apply(null,arguments)};var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=function(){return(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=Module[\"asm\"][\"rf\"]).apply(null,arguments)};var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=function(){return(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=Module[\"asm\"][\"sf\"]).apply(null,arguments)};var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=function(){return(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=Module[\"asm\"][\"tf\"]).apply(null,arguments)};var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=function(){return(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=Module[\"asm\"][\"uf\"]).apply(null,arguments)};var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=function(){return(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=Module[\"asm\"][\"vf\"]).apply(null,arguments)};var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=function(){return(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=Module[\"asm\"][\"wf\"]).apply(null,arguments)};var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=function(){return(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=Module[\"asm\"][\"xf\"]).apply(null,arguments)};var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=function(){return(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=Module[\"asm\"][\"yf\"]).apply(null,arguments)};var _duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=function(){return(_duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=Module[\"asm\"][\"zf\"]).apply(null,arguments)};var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=function(){return(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=Module[\"asm\"][\"Af\"]).apply(null,arguments)};var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=function(){return(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=Module[\"asm\"][\"Bf\"]).apply(null,arguments)};var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=function(){return(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=Module[\"asm\"][\"Cf\"]).apply(null,arguments)};var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=function(){return(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=Module[\"asm\"][\"Df\"]).apply(null,arguments)};var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=function(){return(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=Module[\"asm\"][\"Ef\"]).apply(null,arguments)};var ___errno_location=Module[\"___errno_location\"]=function(){return(___errno_location=Module[\"___errno_location\"]=Module[\"asm\"][\"Ff\"]).apply(null,arguments)};var _htonl=Module[\"_htonl\"]=function(){return(_htonl=Module[\"_htonl\"]=Module[\"asm\"][\"Gf\"]).apply(null,arguments)};var _htons=Module[\"_htons\"]=function(){return(_htons=Module[\"_htons\"]=Module[\"asm\"][\"Hf\"]).apply(null,arguments)};var _ntohs=Module[\"_ntohs\"]=function(){return(_ntohs=Module[\"_ntohs\"]=Module[\"asm\"][\"If\"]).apply(null,arguments)};var _setThrew=Module[\"_setThrew\"]=function(){return(_setThrew=Module[\"_setThrew\"]=Module[\"asm\"][\"Jf\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"Kf\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"Lf\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"Mf\"]).apply(null,arguments)};var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=function(){return(___cxa_can_catch=Module[\"___cxa_can_catch\"]=Module[\"asm\"][\"Nf\"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=function(){return(___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=Module[\"asm\"][\"Of\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"Pf\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"Qf\"]).apply(null,arguments)};var dynCall_jiiii=Module[\"dynCall_jiiii\"]=function(){return(dynCall_jiiii=Module[\"dynCall_jiiii\"]=Module[\"asm\"][\"Rf\"]).apply(null,arguments)};var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=function(){return(dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=Module[\"asm\"][\"Sf\"]).apply(null,arguments)};var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=function(){return(dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=Module[\"asm\"][\"Tf\"]).apply(null,arguments)};var dynCall_viijii=Module[\"dynCall_viijii\"]=function(){return(dynCall_viijii=Module[\"dynCall_viijii\"]=Module[\"asm\"][\"Uf\"]).apply(null,arguments)};var dynCall_j=Module[\"dynCall_j\"]=function(){return(dynCall_j=Module[\"dynCall_j\"]=Module[\"asm\"][\"Vf\"]).apply(null,arguments)};var dynCall_ji=Module[\"dynCall_ji\"]=function(){return(dynCall_ji=Module[\"dynCall_ji\"]=Module[\"asm\"][\"Wf\"]).apply(null,arguments)};var dynCall_iij=Module[\"dynCall_iij\"]=function(){return(dynCall_iij=Module[\"dynCall_iij\"]=Module[\"asm\"][\"Xf\"]).apply(null,arguments)};var dynCall_viij=Module[\"dynCall_viij\"]=function(){return(dynCall_viij=Module[\"dynCall_viij\"]=Module[\"asm\"][\"Yf\"]).apply(null,arguments)};var dynCall_viijji=Module[\"dynCall_viijji\"]=function(){return(dynCall_viijji=Module[\"dynCall_viijji\"]=Module[\"asm\"][\"Zf\"]).apply(null,arguments)};var dynCall_viijj=Module[\"dynCall_viijj\"]=function(){return(dynCall_viijj=Module[\"dynCall_viijj\"]=Module[\"asm\"][\"_f\"]).apply(null,arguments)};var dynCall_viiijj=Module[\"dynCall_viiijj\"]=function(){return(dynCall_viiijj=Module[\"dynCall_viiijj\"]=Module[\"asm\"][\"$f\"]).apply(null,arguments)};var dynCall_viiji=Module[\"dynCall_viiji\"]=function(){return(dynCall_viiji=Module[\"dynCall_viiji\"]=Module[\"asm\"][\"ag\"]).apply(null,arguments)};var dynCall_vijjj=Module[\"dynCall_vijjj\"]=function(){return(dynCall_vijjj=Module[\"dynCall_vijjj\"]=Module[\"asm\"][\"bg\"]).apply(null,arguments)};var dynCall_iiijj=Module[\"dynCall_iiijj\"]=function(){return(dynCall_iiijj=Module[\"dynCall_iiijj\"]=Module[\"asm\"][\"cg\"]).apply(null,arguments)};var dynCall_viiij=Module[\"dynCall_viiij\"]=function(){return(dynCall_viiij=Module[\"dynCall_viiij\"]=Module[\"asm\"][\"dg\"]).apply(null,arguments)};var dynCall_viijij=Module[\"dynCall_viijij\"]=function(){return(dynCall_viijij=Module[\"dynCall_viijij\"]=Module[\"asm\"][\"eg\"]).apply(null,arguments)};var dynCall_viiijjj=Module[\"dynCall_viiijjj\"]=function(){return(dynCall_viiijjj=Module[\"dynCall_viiijjj\"]=Module[\"asm\"][\"fg\"]).apply(null,arguments)};var dynCall_iiij=Module[\"dynCall_iiij\"]=function(){return(dynCall_iiij=Module[\"dynCall_iiij\"]=Module[\"asm\"][\"gg\"]).apply(null,arguments)};var dynCall_vijijj=Module[\"dynCall_vijijj\"]=function(){return(dynCall_vijijj=Module[\"dynCall_vijijj\"]=Module[\"asm\"][\"hg\"]).apply(null,arguments)};var dynCall_iji=Module[\"dynCall_iji\"]=function(){return(dynCall_iji=Module[\"dynCall_iji\"]=Module[\"asm\"][\"ig\"]).apply(null,arguments)};var dynCall_viji=Module[\"dynCall_viji\"]=function(){return(dynCall_viji=Module[\"dynCall_viji\"]=Module[\"asm\"][\"jg\"]).apply(null,arguments)};var dynCall_vij=Module[\"dynCall_vij\"]=function(){return(dynCall_vij=Module[\"dynCall_vij\"]=Module[\"asm\"][\"kg\"]).apply(null,arguments)};var dynCall_viiiij=Module[\"dynCall_viiiij\"]=function(){return(dynCall_viiiij=Module[\"dynCall_viiiij\"]=Module[\"asm\"][\"lg\"]).apply(null,arguments)};var dynCall_jii=Module[\"dynCall_jii\"]=function(){return(dynCall_jii=Module[\"dynCall_jii\"]=Module[\"asm\"][\"mg\"]).apply(null,arguments)};var dynCall_viiiji=Module[\"dynCall_viiiji\"]=function(){return(dynCall_viiiji=Module[\"dynCall_viiiji\"]=Module[\"asm\"][\"ng\"]).apply(null,arguments)};var dynCall_vijj=Module[\"dynCall_vijj\"]=function(){return(dynCall_vijj=Module[\"dynCall_vijj\"]=Module[\"asm\"][\"og\"]).apply(null,arguments)};var dynCall_vj=Module[\"dynCall_vj\"]=function(){return(dynCall_vj=Module[\"dynCall_vj\"]=Module[\"asm\"][\"pg\"]).apply(null,arguments)};var dynCall_iiji=Module[\"dynCall_iiji\"]=function(){return(dynCall_iiji=Module[\"dynCall_iiji\"]=Module[\"asm\"][\"qg\"]).apply(null,arguments)};var dynCall_iiiij=Module[\"dynCall_iiiij\"]=function(){return(dynCall_iiiij=Module[\"dynCall_iiiij\"]=Module[\"asm\"][\"rg\"]).apply(null,arguments)};var dynCall_iiiiiji=Module[\"dynCall_iiiiiji\"]=function(){return(dynCall_iiiiiji=Module[\"dynCall_iiiiiji\"]=Module[\"asm\"][\"sg\"]).apply(null,arguments)};var dynCall_iiiji=Module[\"dynCall_iiiji\"]=function(){return(dynCall_iiiji=Module[\"dynCall_iiiji\"]=Module[\"asm\"][\"tg\"]).apply(null,arguments)};var dynCall_iiiiji=Module[\"dynCall_iiiiji\"]=function(){return(dynCall_iiiiji=Module[\"dynCall_iiiiji\"]=Module[\"asm\"][\"ug\"]).apply(null,arguments)};var dynCall_jiii=Module[\"dynCall_jiii\"]=function(){return(dynCall_jiii=Module[\"dynCall_jiii\"]=Module[\"asm\"][\"vg\"]).apply(null,arguments)};var dynCall_jij=Module[\"dynCall_jij\"]=function(){return(dynCall_jij=Module[\"dynCall_jij\"]=Module[\"asm\"][\"wg\"]).apply(null,arguments)};var dynCall_iijjijj=Module[\"dynCall_iijjijj\"]=function(){return(dynCall_iijjijj=Module[\"dynCall_iijjijj\"]=Module[\"asm\"][\"xg\"]).apply(null,arguments)};var dynCall_viiiijiiiii=Module[\"dynCall_viiiijiiiii\"]=function(){return(dynCall_viiiijiiiii=Module[\"dynCall_viiiijiiiii\"]=Module[\"asm\"][\"yg\"]).apply(null,arguments)};var dynCall_viiiijiiii=Module[\"dynCall_viiiijiiii\"]=function(){return(dynCall_viiiijiiii=Module[\"dynCall_viiiijiiii\"]=Module[\"asm\"][\"zg\"]).apply(null,arguments)};var dynCall_viiijii=Module[\"dynCall_viiijii\"]=function(){return(dynCall_viiijii=Module[\"dynCall_viiijii\"]=Module[\"asm\"][\"Ag\"]).apply(null,arguments)};var dynCall_viiiiiij=Module[\"dynCall_viiiiiij\"]=function(){return(dynCall_viiiiiij=Module[\"dynCall_viiiiiij\"]=Module[\"asm\"][\"Bg\"]).apply(null,arguments)};var dynCall_iiijiii=Module[\"dynCall_iiijiii\"]=function(){return(dynCall_iiijiii=Module[\"dynCall_iiijiii\"]=Module[\"asm\"][\"Cg\"]).apply(null,arguments)};var dynCall_iiiiijii=Module[\"dynCall_iiiiijii\"]=function(){return(dynCall_iiiiijii=Module[\"dynCall_iiiiijii\"]=Module[\"asm\"][\"Dg\"]).apply(null,arguments)};var dynCall_viijiii=Module[\"dynCall_viijiii\"]=function(){return(dynCall_viijiii=Module[\"dynCall_viijiii\"]=Module[\"asm\"][\"Eg\"]).apply(null,arguments)};var dynCall_iiijiij=Module[\"dynCall_iiijiij\"]=function(){return(dynCall_iiijiij=Module[\"dynCall_iiijiij\"]=Module[\"asm\"][\"Fg\"]).apply(null,arguments)};var dynCall_vijiii=Module[\"dynCall_vijiii\"]=function(){return(dynCall_vijiii=Module[\"dynCall_vijiii\"]=Module[\"asm\"][\"Gg\"]).apply(null,arguments)};var dynCall_iijjii=Module[\"dynCall_iijjii\"]=function(){return(dynCall_iijjii=Module[\"dynCall_iijjii\"]=Module[\"asm\"][\"Hg\"]).apply(null,arguments)};var dynCall_iijjiii=Module[\"dynCall_iijjiii\"]=function(){return(dynCall_iijjiii=Module[\"dynCall_iijjiii\"]=Module[\"asm\"][\"Ig\"]).apply(null,arguments)};var dynCall_iijjiiii=Module[\"dynCall_iijjiiii\"]=function(){return(dynCall_iijjiiii=Module[\"dynCall_iijjiiii\"]=Module[\"asm\"][\"Jg\"]).apply(null,arguments)};var dynCall_iijji=Module[\"dynCall_iijji\"]=function(){return(dynCall_iijji=Module[\"dynCall_iijji\"]=Module[\"asm\"][\"Kg\"]).apply(null,arguments)};var dynCall_vijiiii=Module[\"dynCall_vijiiii\"]=function(){return(dynCall_vijiiii=Module[\"dynCall_vijiiii\"]=Module[\"asm\"][\"Lg\"]).apply(null,arguments)};var dynCall_iijiiii=Module[\"dynCall_iijiiii\"]=function(){return(dynCall_iijiiii=Module[\"dynCall_iijiiii\"]=Module[\"asm\"][\"Mg\"]).apply(null,arguments)};var dynCall_iijii=Module[\"dynCall_iijii\"]=function(){return(dynCall_iijii=Module[\"dynCall_iijii\"]=Module[\"asm\"][\"Ng\"]).apply(null,arguments)};var dynCall_vijij=Module[\"dynCall_vijij\"]=function(){return(dynCall_vijij=Module[\"dynCall_vijij\"]=Module[\"asm\"][\"Og\"]).apply(null,arguments)};var dynCall_iiijiiii=Module[\"dynCall_iiijiiii\"]=function(){return(dynCall_iiijiiii=Module[\"dynCall_iiijiiii\"]=Module[\"asm\"][\"Pg\"]).apply(null,arguments)};var dynCall_jiiij=Module[\"dynCall_jiiij\"]=function(){return(dynCall_jiiij=Module[\"dynCall_jiiij\"]=Module[\"asm\"][\"Qg\"]).apply(null,arguments)};var dynCall_jiiiii=Module[\"dynCall_jiiiii\"]=function(){return(dynCall_jiiiii=Module[\"dynCall_jiiiii\"]=Module[\"asm\"][\"Rg\"]).apply(null,arguments)};var dynCall_iiiiijjiijj=Module[\"dynCall_iiiiijjiijj\"]=function(){return(dynCall_iiiiijjiijj=Module[\"dynCall_iiiiijjiijj\"]=Module[\"asm\"][\"Sg\"]).apply(null,arguments)};var dynCall_viijiiji=Module[\"dynCall_viijiiji\"]=function(){return(dynCall_viijiiji=Module[\"dynCall_viijiiji\"]=Module[\"asm\"][\"Tg\"]).apply(null,arguments)};var dynCall_vjjijij=Module[\"dynCall_vjjijij\"]=function(){return(dynCall_vjjijij=Module[\"dynCall_vjjijij\"]=Module[\"asm\"][\"Ug\"]).apply(null,arguments)};var dynCall_vijjji=Module[\"dynCall_vijjji\"]=function(){return(dynCall_vijjji=Module[\"dynCall_vijjji\"]=Module[\"asm\"][\"Vg\"]).apply(null,arguments)};var dynCall_vjjii=Module[\"dynCall_vjjii\"]=function(){return(dynCall_vjjii=Module[\"dynCall_vjjii\"]=Module[\"asm\"][\"Wg\"]).apply(null,arguments)};var dynCall_viiiiiji=Module[\"dynCall_viiiiiji\"]=function(){return(dynCall_viiiiiji=Module[\"dynCall_viiiiiji\"]=Module[\"asm\"][\"Xg\"]).apply(null,arguments)};var dynCall_jiiiji=Module[\"dynCall_jiiiji\"]=function(){return(dynCall_jiiiji=Module[\"dynCall_jiiiji\"]=Module[\"asm\"][\"Yg\"]).apply(null,arguments)};var dynCall_iijj=Module[\"dynCall_iijj\"]=function(){return(dynCall_iijj=Module[\"dynCall_iijj\"]=Module[\"asm\"][\"Zg\"]).apply(null,arguments)};var dynCall_iiijjii=Module[\"dynCall_iiijjii\"]=function(){return(dynCall_iiijjii=Module[\"dynCall_iiijjii\"]=Module[\"asm\"][\"_g\"]).apply(null,arguments)};var dynCall_vijii=Module[\"dynCall_vijii\"]=function(){return(dynCall_vijii=Module[\"dynCall_vijii\"]=Module[\"asm\"][\"$g\"]).apply(null,arguments)};var dynCall_viijjii=Module[\"dynCall_viijjii\"]=function(){return(dynCall_viijjii=Module[\"dynCall_viijjii\"]=Module[\"asm\"][\"ah\"]).apply(null,arguments)};var dynCall_viiiijj=Module[\"dynCall_viiiijj\"]=function(){return(dynCall_viiiijj=Module[\"dynCall_viiiijj\"]=Module[\"asm\"][\"bh\"]).apply(null,arguments)};var dynCall_jijjij=Module[\"dynCall_jijjij\"]=function(){return(dynCall_jijjij=Module[\"dynCall_jijjij\"]=Module[\"asm\"][\"ch\"]).apply(null,arguments)};var dynCall_jiijii=Module[\"dynCall_jiijii\"]=function(){return(dynCall_jiijii=Module[\"dynCall_jiijii\"]=Module[\"asm\"][\"dh\"]).apply(null,arguments)};var dynCall_jijiii=Module[\"dynCall_jijiii\"]=function(){return(dynCall_jijiii=Module[\"dynCall_jijiii\"]=Module[\"asm\"][\"eh\"]).apply(null,arguments)};var dynCall_viijiiiii=Module[\"dynCall_viijiiiii\"]=function(){return(dynCall_viijiiiii=Module[\"dynCall_viijiiiii\"]=Module[\"asm\"][\"fh\"]).apply(null,arguments)};var dynCall_viijiiij=Module[\"dynCall_viijiiij\"]=function(){return(dynCall_viijiiij=Module[\"dynCall_viijiiij\"]=Module[\"asm\"][\"gh\"]).apply(null,arguments)};var dynCall_vijiiiji=Module[\"dynCall_vijiiiji\"]=function(){return(dynCall_vijiiiji=Module[\"dynCall_vijiiiji\"]=Module[\"asm\"][\"hh\"]).apply(null,arguments)};var dynCall_jiiji=Module[\"dynCall_jiiji\"]=function(){return(dynCall_jiiji=Module[\"dynCall_jiiji\"]=Module[\"asm\"][\"ih\"]).apply(null,arguments)};var dynCall_viiijij=Module[\"dynCall_viiijij\"]=function(){return(dynCall_viiijij=Module[\"dynCall_viiijij\"]=Module[\"asm\"][\"jh\"]).apply(null,arguments)};var dynCall_viijiij=Module[\"dynCall_viijiij\"]=function(){return(dynCall_viijiij=Module[\"dynCall_viijiij\"]=Module[\"asm\"][\"kh\"]).apply(null,arguments)};var dynCall_viiiiijj=Module[\"dynCall_viiiiijj\"]=function(){return(dynCall_viiiiijj=Module[\"dynCall_viiiiijj\"]=Module[\"asm\"][\"lh\"]).apply(null,arguments)};var dynCall_viiijji=Module[\"dynCall_viiijji\"]=function(){return(dynCall_viiijji=Module[\"dynCall_viiijji\"]=Module[\"asm\"][\"mh\"]).apply(null,arguments)};var dynCall_iiiijiii=Module[\"dynCall_iiiijiii\"]=function(){return(dynCall_iiiijiii=Module[\"dynCall_iiiijiii\"]=Module[\"asm\"][\"nh\"]).apply(null,arguments)};var dynCall_iiijij=Module[\"dynCall_iiijij\"]=function(){return(dynCall_iiijij=Module[\"dynCall_iiijij\"]=Module[\"asm\"][\"oh\"]).apply(null,arguments)};var dynCall_iiijji=Module[\"dynCall_iiijji\"]=function(){return(dynCall_iiijji=Module[\"dynCall_iiijji\"]=Module[\"asm\"][\"ph\"]).apply(null,arguments)};var dynCall_iiiijj=Module[\"dynCall_iiiijj\"]=function(){return(dynCall_iiiijj=Module[\"dynCall_iiiijj\"]=Module[\"asm\"][\"qh\"]).apply(null,arguments)};var dynCall_viiijiii=Module[\"dynCall_viiijiii\"]=function(){return(dynCall_viiijiii=Module[\"dynCall_viiijiii\"]=Module[\"asm\"][\"rh\"]).apply(null,arguments)};var dynCall_vijji=Module[\"dynCall_vijji\"]=function(){return(dynCall_vijji=Module[\"dynCall_vijji\"]=Module[\"asm\"][\"sh\"]).apply(null,arguments)};var dynCall_jiiiij=Module[\"dynCall_jiiiij\"]=function(){return(dynCall_jiiiij=Module[\"dynCall_jiiiij\"]=Module[\"asm\"][\"th\"]).apply(null,arguments)};var dynCall_jiijiiiii=Module[\"dynCall_jiijiiiii\"]=function(){return(dynCall_jiijiiiii=Module[\"dynCall_jiijiiiii\"]=Module[\"asm\"][\"uh\"]).apply(null,arguments)};var dynCall_jiijiijiii=Module[\"dynCall_jiijiijiii\"]=function(){return(dynCall_jiijiijiii=Module[\"dynCall_jiijiijiii\"]=Module[\"asm\"][\"vh\"]).apply(null,arguments)};var dynCall_jiijjiii=Module[\"dynCall_jiijjiii\"]=function(){return(dynCall_jiijjiii=Module[\"dynCall_jiijjiii\"]=Module[\"asm\"][\"wh\"]).apply(null,arguments)};var dynCall_jiiijii=Module[\"dynCall_jiiijii\"]=function(){return(dynCall_jiiijii=Module[\"dynCall_jiiijii\"]=Module[\"asm\"][\"xh\"]).apply(null,arguments)};var dynCall_jiijijii=Module[\"dynCall_jiijijii\"]=function(){return(dynCall_jiijijii=Module[\"dynCall_jiijijii\"]=Module[\"asm\"][\"yh\"]).apply(null,arguments)};var dynCall_viiijjij=Module[\"dynCall_viiijjij\"]=function(){return(dynCall_viiijjij=Module[\"dynCall_viiijjij\"]=Module[\"asm\"][\"zh\"]).apply(null,arguments)};var dynCall_vijijjiij=Module[\"dynCall_vijijjiij\"]=function(){return(dynCall_vijijjiij=Module[\"dynCall_vijijjiij\"]=Module[\"asm\"][\"Ah\"]).apply(null,arguments)};var dynCall_viijjij=Module[\"dynCall_viijjij\"]=function(){return(dynCall_viijjij=Module[\"dynCall_viijjij\"]=Module[\"asm\"][\"Bh\"]).apply(null,arguments)};var dynCall_viiijjiij=Module[\"dynCall_viiijjiij\"]=function(){return(dynCall_viiijjiij=Module[\"dynCall_viiijjiij\"]=Module[\"asm\"][\"Ch\"]).apply(null,arguments)};var dynCall_viiiijjjj=Module[\"dynCall_viiiijjjj\"]=function(){return(dynCall_viiiijjjj=Module[\"dynCall_viiiijjjj\"]=Module[\"asm\"][\"Dh\"]).apply(null,arguments)};var dynCall_viijiiiiij=Module[\"dynCall_viijiiiiij\"]=function(){return(dynCall_viijiiiiij=Module[\"dynCall_viijiiiiij\"]=Module[\"asm\"][\"Eh\"]).apply(null,arguments)};var dynCall_viijiiiijj=Module[\"dynCall_viijiiiijj\"]=function(){return(dynCall_viijiiiijj=Module[\"dynCall_viijiiiijj\"]=Module[\"asm\"][\"Fh\"]).apply(null,arguments)};var dynCall_viiijiiiijjj=Module[\"dynCall_viiijiiiijjj\"]=function(){return(dynCall_viiijiiiijjj=Module[\"dynCall_viiijiiiijjj\"]=Module[\"asm\"][\"Gh\"]).apply(null,arguments)};var dynCall_viijijiiiijjj=Module[\"dynCall_viijijiiiijjj\"]=function(){return(dynCall_viijijiiiijjj=Module[\"dynCall_viijijiiiijjj\"]=Module[\"asm\"][\"Hh\"]).apply(null,arguments)};var dynCall_viiiiijiiii=Module[\"dynCall_viiiiijiiii\"]=function(){return(dynCall_viiiiijiiii=Module[\"dynCall_viiiiijiiii\"]=Module[\"asm\"][\"Ih\"]).apply(null,arguments)};var dynCall_iiijii=Module[\"dynCall_iiijii\"]=function(){return(dynCall_iiijii=Module[\"dynCall_iiijii\"]=Module[\"asm\"][\"Jh\"]).apply(null,arguments)};var dynCall_fiijii=Module[\"dynCall_fiijii\"]=function(){return(dynCall_fiijii=Module[\"dynCall_fiijii\"]=Module[\"asm\"][\"Kh\"]).apply(null,arguments)};var dynCall_diijii=Module[\"dynCall_diijii\"]=function(){return(dynCall_diijii=Module[\"dynCall_diijii\"]=Module[\"asm\"][\"Lh\"]).apply(null,arguments)};var dynCall_iiiiiiijii=Module[\"dynCall_iiiiiiijii\"]=function(){return(dynCall_iiiiiiijii=Module[\"dynCall_iiiiiiijii\"]=Module[\"asm\"][\"Mh\"]).apply(null,arguments)};var dynCall_viiiiji=Module[\"dynCall_viiiiji\"]=function(){return(dynCall_viiiiji=Module[\"dynCall_viiiiji\"]=Module[\"asm\"][\"Nh\"]).apply(null,arguments)};var dynCall_jiiiijii=Module[\"dynCall_jiiiijii\"]=function(){return(dynCall_jiiiijii=Module[\"dynCall_jiiiijii\"]=Module[\"asm\"][\"Oh\"]).apply(null,arguments)};var dynCall_jiiijiii=Module[\"dynCall_jiiijiii\"]=function(){return(dynCall_jiiijiii=Module[\"dynCall_jiiijiii\"]=Module[\"asm\"][\"Ph\"]).apply(null,arguments)};var dynCall_jiiiiijiiii=Module[\"dynCall_jiiiiijiiii\"]=function(){return(dynCall_jiiiiijiiii=Module[\"dynCall_jiiiiijiiii\"]=Module[\"asm\"][\"Qh\"]).apply(null,arguments)};var dynCall_jj=Module[\"dynCall_jj\"]=function(){return(dynCall_jj=Module[\"dynCall_jj\"]=Module[\"asm\"][\"Rh\"]).apply(null,arguments)};var dynCall_jd=Module[\"dynCall_jd\"]=function(){return(dynCall_jd=Module[\"dynCall_jd\"]=Module[\"asm\"][\"Sh\"]).apply(null,arguments)};var dynCall_jf=Module[\"dynCall_jf\"]=function(){return(dynCall_jf=Module[\"dynCall_jf\"]=Module[\"asm\"][\"Th\"]).apply(null,arguments)};var dynCall_iijjj=Module[\"dynCall_iijjj\"]=function(){return(dynCall_iijjj=Module[\"dynCall_iijjj\"]=Module[\"asm\"][\"Uh\"]).apply(null,arguments)};var dynCall_vijijiiiijjj=Module[\"dynCall_vijijiiiijjj\"]=function(){return(dynCall_vijijiiiijjj=Module[\"dynCall_vijijiiiijjj\"]=Module[\"asm\"][\"Vh\"]).apply(null,arguments)};var dynCall_iiiiiiji=Module[\"dynCall_iiiiiiji\"]=function(){return(dynCall_iiiiiiji=Module[\"dynCall_iiiiiiji\"]=Module[\"asm\"][\"Wh\"]).apply(null,arguments)};var dynCall_iiiiiiiiji=Module[\"dynCall_iiiiiiiiji\"]=function(){return(dynCall_iiiiiiiiji=Module[\"dynCall_iiiiiiiiji\"]=Module[\"asm\"][\"Xh\"]).apply(null,arguments)};var dynCall_jijijjij=Module[\"dynCall_jijijjij\"]=function(){return(dynCall_jijijjij=Module[\"dynCall_jijijjij\"]=Module[\"asm\"][\"Yh\"]).apply(null,arguments)};var dynCall_viijjj=Module[\"dynCall_viijjj\"]=function(){return(dynCall_viijjj=Module[\"dynCall_viijjj\"]=Module[\"asm\"][\"Zh\"]).apply(null,arguments)};var dynCall_vijjij=Module[\"dynCall_vijjij\"]=function(){return(dynCall_vijjij=Module[\"dynCall_vijjij\"]=Module[\"asm\"][\"_h\"]).apply(null,arguments)};var dynCall_viijjji=Module[\"dynCall_viijjji\"]=function(){return(dynCall_viijjji=Module[\"dynCall_viijjji\"]=Module[\"asm\"][\"$h\"]).apply(null,arguments)};var dynCall_iiiiiij=Module[\"dynCall_iiiiiij\"]=function(){return(dynCall_iiiiiij=Module[\"dynCall_iiiiiij\"]=Module[\"asm\"][\"ai\"]).apply(null,arguments)};var dynCall_iiiiiiiiiiji=Module[\"dynCall_iiiiiiiiiiji\"]=function(){return(dynCall_iiiiiiiiiiji=Module[\"dynCall_iiiiiiiiiiji\"]=Module[\"asm\"][\"bi\"]).apply(null,arguments)};var dynCall_jiiiiiii=Module[\"dynCall_jiiiiiii\"]=function(){return(dynCall_jiiiiiii=Module[\"dynCall_jiiiiiii\"]=Module[\"asm\"][\"ci\"]).apply(null,arguments)};var dynCall_jijj=Module[\"dynCall_jijj\"]=function(){return(dynCall_jijj=Module[\"dynCall_jijj\"]=Module[\"asm\"][\"di\"]).apply(null,arguments)};var dynCall_viiiijiiiiiiii=Module[\"dynCall_viiiijiiiiiiii\"]=function(){return(dynCall_viiiijiiiiiiii=Module[\"dynCall_viiiijiiiiiiii\"]=Module[\"asm\"][\"ei\"]).apply(null,arguments)};var dynCall_ij=Module[\"dynCall_ij\"]=function(){return(dynCall_ij=Module[\"dynCall_ij\"]=Module[\"asm\"][\"fi\"]).apply(null,arguments)};var dynCall_jjj=Module[\"dynCall_jjj\"]=function(){return(dynCall_jjj=Module[\"dynCall_jjj\"]=Module[\"asm\"][\"gi\"]).apply(null,arguments)};var dynCall_vjii=Module[\"dynCall_vjii\"]=function(){return(dynCall_vjii=Module[\"dynCall_vjii\"]=Module[\"asm\"][\"hi\"]).apply(null,arguments)};var dynCall_jjjjjjd=Module[\"dynCall_jjjjjjd\"]=function(){return(dynCall_jjjjjjd=Module[\"dynCall_jjjjjjd\"]=Module[\"asm\"][\"ii\"]).apply(null,arguments)};var dynCall_vjiiii=Module[\"dynCall_vjiiii\"]=function(){return(dynCall_vjiiii=Module[\"dynCall_vjiiii\"]=Module[\"asm\"][\"ji\"]).apply(null,arguments)};var dynCall_viiiiijiii=Module[\"dynCall_viiiiijiii\"]=function(){return(dynCall_viiiiijiii=Module[\"dynCall_viiiiijiii\"]=Module[\"asm\"][\"ki\"]).apply(null,arguments)};var dynCall_jiij=Module[\"dynCall_jiij\"]=function(){return(dynCall_jiij=Module[\"dynCall_jiij\"]=Module[\"asm\"][\"li\"]).apply(null,arguments)};var dynCall_iiiijjii=Module[\"dynCall_iiiijjii\"]=function(){return(dynCall_iiiijjii=Module[\"dynCall_iiiijjii\"]=Module[\"asm\"][\"mi\"]).apply(null,arguments)};var dynCall_iiiiijji=Module[\"dynCall_iiiiijji\"]=function(){return(dynCall_iiiiijji=Module[\"dynCall_iiiiijji\"]=Module[\"asm\"][\"ni\"]).apply(null,arguments)};var dynCall_viiijjii=Module[\"dynCall_viiijjii\"]=function(){return(dynCall_viiijjii=Module[\"dynCall_viiijjii\"]=Module[\"asm\"][\"oi\"]).apply(null,arguments)};var dynCall_viiiijji=Module[\"dynCall_viiiijji\"]=function(){return(dynCall_viiiijji=Module[\"dynCall_viiiijji\"]=Module[\"asm\"][\"pi\"]).apply(null,arguments)};var dynCall_viiiijjii=Module[\"dynCall_viiiijjii\"]=function(){return(dynCall_viiiijjii=Module[\"dynCall_viiiijjii\"]=Module[\"asm\"][\"qi\"]).apply(null,arguments)};var dynCall_viiiiijji=Module[\"dynCall_viiiiijji\"]=function(){return(dynCall_viiiiijji=Module[\"dynCall_viiiiijji\"]=Module[\"asm\"][\"ri\"]).apply(null,arguments)};var dynCall_iiiiiijji=Module[\"dynCall_iiiiiijji\"]=function(){return(dynCall_iiiiiijji=Module[\"dynCall_iiiiiijji\"]=Module[\"asm\"][\"si\"]).apply(null,arguments)};var dynCall_iiiiijjj=Module[\"dynCall_iiiiijjj\"]=function(){return(dynCall_iiiiijjj=Module[\"dynCall_iiiiijjj\"]=Module[\"asm\"][\"ti\"]).apply(null,arguments)};var dynCall_jijiiii=Module[\"dynCall_jijiiii\"]=function(){return(dynCall_jijiiii=Module[\"dynCall_jijiiii\"]=Module[\"asm\"][\"ui\"]).apply(null,arguments)};var dynCall_viiijiji=Module[\"dynCall_viiijiji\"]=function(){return(dynCall_viiijiji=Module[\"dynCall_viiijiji\"]=Module[\"asm\"][\"vi\"]).apply(null,arguments)};var dynCall_iiijjjii=Module[\"dynCall_iiijjjii\"]=function(){return(dynCall_iiijjjii=Module[\"dynCall_iiijjjii\"]=Module[\"asm\"][\"wi\"]).apply(null,arguments)};var dynCall_iiiiijjji=Module[\"dynCall_iiiiijjji\"]=function(){return(dynCall_iiiiijjji=Module[\"dynCall_iiiiijjji\"]=Module[\"asm\"][\"xi\"]).apply(null,arguments)};var dynCall_iiiijjj=Module[\"dynCall_iiiijjj\"]=function(){return(dynCall_iiiijjj=Module[\"dynCall_iiiijjj\"]=Module[\"asm\"][\"yi\"]).apply(null,arguments)};var dynCall_iidj=Module[\"dynCall_iidj\"]=function(){return(dynCall_iidj=Module[\"dynCall_iidj\"]=Module[\"asm\"][\"zi\"]).apply(null,arguments)};var dynCall_ijji=Module[\"dynCall_ijji\"]=function(){return(dynCall_ijji=Module[\"dynCall_ijji\"]=Module[\"asm\"][\"Ai\"]).apply(null,arguments)};var dynCall_iiiiiiiij=Module[\"dynCall_iiiiiiiij\"]=function(){return(dynCall_iiiiiiiij=Module[\"dynCall_iiiiiiiij\"]=Module[\"asm\"][\"Bi\"]).apply(null,arguments)};var dynCall_iiiiiiij=Module[\"dynCall_iiiiiiij\"]=function(){return(dynCall_iiiiiiij=Module[\"dynCall_iiiiiiij\"]=Module[\"asm\"][\"Ci\"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiij=Module[\"dynCall_iiiiiiiiiiiij\"]=function(){return(dynCall_iiiiiiiiiiiij=Module[\"dynCall_iiiiiiiiiiiij\"]=Module[\"asm\"][\"Di\"]).apply(null,arguments)};var dynCall_iiiiiiiji=Module[\"dynCall_iiiiiiiji\"]=function(){return(dynCall_iiiiiiiji=Module[\"dynCall_iiiiiiiji\"]=Module[\"asm\"][\"Ei\"]).apply(null,arguments)};var dynCall_iiiidjj=Module[\"dynCall_iiiidjj\"]=function(){return(dynCall_iiiidjj=Module[\"dynCall_iiiidjj\"]=Module[\"asm\"][\"Fi\"]).apply(null,arguments)};var dynCall_jiiiiiijii=Module[\"dynCall_jiiiiiijii\"]=function(){return(dynCall_jiiiiiijii=Module[\"dynCall_jiiiiiijii\"]=Module[\"asm\"][\"Gi\"]).apply(null,arguments)};var dynCall_iiiijji=Module[\"dynCall_iiiijji\"]=function(){return(dynCall_iiiijji=Module[\"dynCall_iiiijji\"]=Module[\"asm\"][\"Hi\"]).apply(null,arguments)};var dynCall_jiiiiii=Module[\"dynCall_jiiiiii\"]=function(){return(dynCall_jiiiiii=Module[\"dynCall_jiiiiii\"]=Module[\"asm\"][\"Ii\"]).apply(null,arguments)};var dynCall_iijiji=Module[\"dynCall_iijiji\"]=function(){return(dynCall_iijiji=Module[\"dynCall_iijiji\"]=Module[\"asm\"][\"Ji\"]).apply(null,arguments)};var dynCall_vjiiiji=Module[\"dynCall_vjiiiji\"]=function(){return(dynCall_vjiiiji=Module[\"dynCall_vjiiiji\"]=Module[\"asm\"][\"Ki\"]).apply(null,arguments)};var dynCall_jjjii=Module[\"dynCall_jjjii\"]=function(){return(dynCall_jjjii=Module[\"dynCall_jjjii\"]=Module[\"asm\"][\"Li\"]).apply(null,arguments)};var dynCall_jji=Module[\"dynCall_jji\"]=function(){return(dynCall_jji=Module[\"dynCall_jji\"]=Module[\"asm\"][\"Mi\"]).apply(null,arguments)};var dynCall_viiijijiji=Module[\"dynCall_viiijijiji\"]=function(){return(dynCall_viiijijiji=Module[\"dynCall_viiijijiji\"]=Module[\"asm\"][\"Ni\"]).apply(null,arguments)};var dynCall_jiiijj=Module[\"dynCall_jiiijj\"]=function(){return(dynCall_jiiijj=Module[\"dynCall_jiiijj\"]=Module[\"asm\"][\"Oi\"]).apply(null,arguments)};var dynCall_iiiijii=Module[\"dynCall_iiiijii\"]=function(){return(dynCall_iiiijii=Module[\"dynCall_iiiijii\"]=Module[\"asm\"][\"Pi\"]).apply(null,arguments)};var dynCall_viiiijii=Module[\"dynCall_viiiijii\"]=function(){return(dynCall_viiiijii=Module[\"dynCall_viiiijii\"]=Module[\"asm\"][\"Qi\"]).apply(null,arguments)};var dynCall_iijiii=Module[\"dynCall_iijiii\"]=function(){return(dynCall_iijiii=Module[\"dynCall_iijiii\"]=Module[\"asm\"][\"Ri\"]).apply(null,arguments)};var dynCall_jiiiiji=Module[\"dynCall_jiiiiji\"]=function(){return(dynCall_jiiiiji=Module[\"dynCall_jiiiiji\"]=Module[\"asm\"][\"Si\"]).apply(null,arguments)};var dynCall_vijiijj=Module[\"dynCall_vijiijj\"]=function(){return(dynCall_vijiijj=Module[\"dynCall_vijiijj\"]=Module[\"asm\"][\"Ti\"]).apply(null,arguments)};var dynCall_vifiijj=Module[\"dynCall_vifiijj\"]=function(){return(dynCall_vifiijj=Module[\"dynCall_vifiijj\"]=Module[\"asm\"][\"Ui\"]).apply(null,arguments)};var dynCall_vidiijj=Module[\"dynCall_vidiijj\"]=function(){return(dynCall_vidiijj=Module[\"dynCall_vidiijj\"]=Module[\"asm\"][\"Vi\"]).apply(null,arguments)};var dynCall_viiiiij=Module[\"dynCall_viiiiij\"]=function(){return(dynCall_viiiiij=Module[\"dynCall_viiiiij\"]=Module[\"asm\"][\"Wi\"]).apply(null,arguments)};var dynCall_ijjiii=Module[\"dynCall_ijjiii\"]=function(){return(dynCall_ijjiii=Module[\"dynCall_ijjiii\"]=Module[\"asm\"][\"Xi\"]).apply(null,arguments)};var dynCall_vijijjji=Module[\"dynCall_vijijjji\"]=function(){return(dynCall_vijijjji=Module[\"dynCall_vijijjji\"]=Module[\"asm\"][\"Yi\"]).apply(null,arguments)};var dynCall_viijiijj=Module[\"dynCall_viijiijj\"]=function(){return(dynCall_viijiijj=Module[\"dynCall_viijiijj\"]=Module[\"asm\"][\"Zi\"]).apply(null,arguments)};var dynCall_viijijj=Module[\"dynCall_viijijj\"]=function(){return(dynCall_viijijj=Module[\"dynCall_viijijj\"]=Module[\"asm\"][\"_i\"]).apply(null,arguments)};var dynCall_viiiiijjji=Module[\"dynCall_viiiiijjji\"]=function(){return(dynCall_viiiiijjji=Module[\"dynCall_viiiiijjji\"]=Module[\"asm\"][\"$i\"]).apply(null,arguments)};var dynCall_iiijiijj=Module[\"dynCall_iiijiijj\"]=function(){return(dynCall_iiijiijj=Module[\"dynCall_iiijiijj\"]=Module[\"asm\"][\"aj\"]).apply(null,arguments)};var dynCall_viiijijjj=Module[\"dynCall_viiijijjj\"]=function(){return(dynCall_viiijijjj=Module[\"dynCall_viiijijjj\"]=Module[\"asm\"][\"bj\"]).apply(null,arguments)};var dynCall_iijiijj=Module[\"dynCall_iijiijj\"]=function(){return(dynCall_iijiijj=Module[\"dynCall_iijiijj\"]=Module[\"asm\"][\"cj\"]).apply(null,arguments)};var dynCall_viiijjjji=Module[\"dynCall_viiijjjji\"]=function(){return(dynCall_viiijjjji=Module[\"dynCall_viiijjjji\"]=Module[\"asm\"][\"dj\"]).apply(null,arguments)};var dynCall_viiiijiii=Module[\"dynCall_viiiijiii\"]=function(){return(dynCall_viiiijiii=Module[\"dynCall_viiiijiii\"]=Module[\"asm\"][\"ej\"]).apply(null,arguments)};var dynCall_viijiiii=Module[\"dynCall_viijiiii\"]=function(){return(dynCall_viijiiii=Module[\"dynCall_viijiiii\"]=Module[\"asm\"][\"fj\"]).apply(null,arguments)};var dynCall_vijjiiii=Module[\"dynCall_vijjiiii\"]=function(){return(dynCall_vijjiiii=Module[\"dynCall_vijjiiii\"]=Module[\"asm\"][\"gj\"]).apply(null,arguments)};var dynCall_vijijjiiiii=Module[\"dynCall_vijijjiiiii\"]=function(){return(dynCall_vijijjiiiii=Module[\"dynCall_vijijjiiiii\"]=Module[\"asm\"][\"hj\"]).apply(null,arguments)};var dynCall_vijjiiiii=Module[\"dynCall_vijjiiiii\"]=function(){return(dynCall_vijjiiiii=Module[\"dynCall_vijjiiiii\"]=Module[\"asm\"][\"ij\"]).apply(null,arguments)};var dynCall_iiijjji=Module[\"dynCall_iiijjji\"]=function(){return(dynCall_iiijjji=Module[\"dynCall_iiijjji\"]=Module[\"asm\"][\"jj\"]).apply(null,arguments)};var dynCall_viiiijjj=Module[\"dynCall_viiiijjj\"]=function(){return(dynCall_viiiijjj=Module[\"dynCall_viiiijjj\"]=Module[\"asm\"][\"kj\"]).apply(null,arguments)};var dynCall_viiiiijjj=Module[\"dynCall_viiiiijjj\"]=function(){return(dynCall_viiiiijjj=Module[\"dynCall_viiiiijjj\"]=Module[\"asm\"][\"lj\"]).apply(null,arguments)};var dynCall_viijiji=Module[\"dynCall_viijiji\"]=function(){return(dynCall_viijiji=Module[\"dynCall_viijiji\"]=Module[\"asm\"][\"mj\"]).apply(null,arguments)};function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viif(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iff(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_idd(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_idiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iidii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viidii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vif(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vifi(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vidi(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_f(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_d(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_if(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_id(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiif(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vijjj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ijjiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_ijjiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vj(index,a1,a2){var sp=stackSave();try{dynCall_vj(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijjii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iijjijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjjii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjjii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjjijij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vjjijij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{return dynCall_iiiiijjiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijjij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jijjij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_vijijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiiijjjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jiijiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viijiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viijiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17){var sp=stackSave();try{dynCall_viijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_jiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_fiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_diijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_diijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jiiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jj(index,a1,a2){var sp=stackSave();try{return dynCall_jj(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jd(index,a1){var sp=stackSave();try{return dynCall_jd(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jf(index,a1){var sp=stackSave();try{return dynCall_jf(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ijji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_ijji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijjj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16){var sp=stackSave();try{dynCall_vijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jijijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijjij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return dynCall_iiiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{return dynCall_iiiiiiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ij(index,a1,a2){var sp=stackSave();try{return dynCall_ij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{dynCall_viiiijiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjj(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjjjjjd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jjjjjjd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiijjjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iidj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iidj(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiidjj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiidjj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vjiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjjii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jjjii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vifiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vifiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vidiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vidiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_vijijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijjjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_vijijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}Module[\"ccall\"]=ccall;var calledRun;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"_main\"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return DuckDB.ready\n}\n);\n})();\nexport default DuckDB;", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support transform streams?\n if (\n typeof TransformStream === 'function' &&\n ReadableStream.prototype.pipeThrough &&\n WebAssembly.instantiateStreaming\n ) {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import DuckDBWasm from './duckdb-mvp.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n", "\nvar DuckDB = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(DuckDB) {\n DuckDB = DuckDB || {};\n\nvar Module=typeof DuckDB!==\"undefined\"?DuckDB:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err(\"exiting due to exception: \"+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}requireNodeFS=function(){if(!nodePath){fs=require(\"fs\");nodePath=require(\"path\")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath[\"normalize\"](filename);return fs.readFileSync(filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath[\"normalize\"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process[\"exitCode\"]=status;throw toThrow}logExceptionOnExit(toThrow);process[\"exit\"](status)});Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module[\"_\"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -s ASSERTIONS=1 for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;if(Module[\"locateFile\"]){wasmBinaryFile=\"./duckdb-eh.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL(\"./duckdb-eh.wasm\",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"ea\"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"ha\"];addOnInit(Module[\"asm\"][\"fa\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+UTF8ToString(condition)+\", at: \"+[filename?UTF8ToString(filename):\"unknown filename\",line,func?UTF8ToString(func):\"unknown function\"])}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){}function ___syscall_access(path,amode){path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}function SOCKFS(){err(\"missing function: $SOCKFS\");abort(-1)}function FS(){err(\"missing function: $FS\");abort(-1)}function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255)}function inetNtop6(ints){var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str}function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]===\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_bind(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){}function ___syscall_fstatat64(dirfd,path,buf,flags){}function ___syscall_ftruncate64(fd,low,high){}function ___syscall_getdents64(fd,dirp,count){}function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getpeername(fd,addr,addrlen){var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen){var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){}function ___syscall_mkdir(path,mode){path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}function ___syscall_rename(old_path,new_path){}function ___syscall_rmdir(path){}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){}function ___syscall_socket(domain,type,protocol){}function ___syscall_stat64(path,buf){}function ___syscall_unlink(path){}function __dlopen_js(filename,flag){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function __dlsym_js(handle,symbol){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function _abort(){abort(\"\")}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator===\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_sync(fd){var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov>>2];var len=HEAP32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function getRandomDevice(){if(typeof crypto===\"object\"&&typeof crypto[\"getRandomValues\"]===\"function\"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");return function(){return crypto_module[\"randomBytes\"](1)[0]}}catch(e){}}return function(){abort(\"randomDevice\")}}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i<size;i++){HEAP8[buffer+i>>0]=_getentropy.randomDevice()}return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}else{return\"PM\"}},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"},\"%V\":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?\"01\":\"00\"},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={\"a\":___assert_fail,\"R\":___syscall__newselect,\"L\":___syscall_access,\"T\":___syscall_bind,\"S\":___syscall_connect,\"b\":___syscall_fcntl64,\"$\":___syscall_fstat64,\"Z\":___syscall_fstatat64,\"W\":___syscall_ftruncate64,\"X\":___syscall_getdents64,\"N\":___syscall_getpeername,\"Q\":___syscall_getsockopt,\"ba\":___syscall_ioctl,\"Y\":___syscall_lstat64,\"aa\":___syscall_mkdir,\"q\":___syscall_open,\"O\":___syscall_recvfrom,\"J\":___syscall_rename,\"o\":___syscall_rmdir,\"P\":___syscall_sendto,\"k\":___syscall_socket,\"_\":___syscall_stat64,\"p\":___syscall_unlink,\"m\":__dlopen_js,\"U\":__dlsym_js,\"d\":_abort,\"n\":_clock_gettime,\"D\":_duckdb_web_fs_directory_create,\"E\":_duckdb_web_fs_directory_exists,\"B\":_duckdb_web_fs_directory_list_files,\"C\":_duckdb_web_fs_directory_remove,\"h\":_duckdb_web_fs_file_close,\"z\":_duckdb_web_fs_file_exists,\"G\":_duckdb_web_fs_file_get_last_modified_time,\"A\":_duckdb_web_fs_file_move,\"H\":_duckdb_web_fs_file_open,\"f\":_duckdb_web_fs_file_read,\"F\":_duckdb_web_fs_file_truncate,\"i\":_duckdb_web_fs_file_write,\"y\":_duckdb_web_fs_glob,\"g\":_duckdb_web_test_platform_feature,\"I\":_duckdb_web_udf_scalar_call,\"r\":_emscripten_get_heap_max,\"ca\":_emscripten_memcpy_big,\"da\":_emscripten_resize_heap,\"t\":_environ_get,\"u\":_environ_sizes_get,\"c\":_fd_close,\"w\":_fd_pread,\"v\":_fd_pwrite,\"j\":_fd_read,\"x\":_fd_seek,\"K\":_fd_sync,\"e\":_fd_write,\"l\":_getaddrinfo,\"V\":_getentropy,\"M\":_getnameinfo,\"s\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"fa\"]).apply(null,arguments)};var _main=Module[\"_main\"]=function(){return(_main=Module[\"_main\"]=Module[\"asm\"][\"ga\"]).apply(null,arguments)};var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=function(){return(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=Module[\"asm\"][\"ia\"]).apply(null,arguments)};var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=function(){return(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=Module[\"asm\"][\"ja\"]).apply(null,arguments)};var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=function(){return(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=Module[\"asm\"][\"ka\"]).apply(null,arguments)};var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=function(){return(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=Module[\"asm\"][\"la\"]).apply(null,arguments)};var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=function(){return(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=Module[\"asm\"][\"ma\"]).apply(null,arguments)};var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=function(){return(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=Module[\"asm\"][\"na\"]).apply(null,arguments)};var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=function(){return(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=Module[\"asm\"][\"oa\"]).apply(null,arguments)};var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=function(){return(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=Module[\"asm\"][\"pa\"]).apply(null,arguments)};var _duckdb_web_open=Module[\"_duckdb_web_open\"]=function(){return(_duckdb_web_open=Module[\"_duckdb_web_open\"]=Module[\"asm\"][\"qa\"]).apply(null,arguments)};var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=function(){return(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=Module[\"asm\"][\"ra\"]).apply(null,arguments)};var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=function(){return(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=Module[\"asm\"][\"sa\"]).apply(null,arguments)};var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=function(){return(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=Module[\"asm\"][\"ta\"]).apply(null,arguments)};var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=function(){return(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=Module[\"asm\"][\"ua\"]).apply(null,arguments)};var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=function(){return(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=Module[\"asm\"][\"va\"]).apply(null,arguments)};var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=function(){return(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=Module[\"asm\"][\"wa\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=function(){return(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=Module[\"asm\"][\"xa\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=function(){return(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=Module[\"asm\"][\"ya\"]).apply(null,arguments)};var _duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=function(){return(_duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=Module[\"asm\"][\"za\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=function(){return(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=Module[\"asm\"][\"Aa\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=function(){return(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=Module[\"asm\"][\"Ba\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=function(){return(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=Module[\"asm\"][\"Ca\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=function(){return(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=Module[\"asm\"][\"Da\"]).apply(null,arguments)};var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=function(){return(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=Module[\"asm\"][\"Ea\"]).apply(null,arguments)};var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=function(){return(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=Module[\"asm\"][\"Fa\"]).apply(null,arguments)};var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=function(){return(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=Module[\"asm\"][\"Ga\"]).apply(null,arguments)};var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=function(){return(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=Module[\"asm\"][\"Ha\"]).apply(null,arguments)};var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=function(){return(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=Module[\"asm\"][\"Ia\"]).apply(null,arguments)};var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=function(){return(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=Module[\"asm\"][\"Ja\"]).apply(null,arguments)};var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=function(){return(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=Module[\"asm\"][\"Ka\"]).apply(null,arguments)};var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=function(){return(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=Module[\"asm\"][\"La\"]).apply(null,arguments)};var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=function(){return(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=Module[\"asm\"][\"Ma\"]).apply(null,arguments)};var _duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=function(){return(_duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=Module[\"asm\"][\"Na\"]).apply(null,arguments)};var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=function(){return(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=Module[\"asm\"][\"Oa\"]).apply(null,arguments)};var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=function(){return(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=Module[\"asm\"][\"Pa\"]).apply(null,arguments)};var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=function(){return(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=Module[\"asm\"][\"Qa\"]).apply(null,arguments)};var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=function(){return(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=Module[\"asm\"][\"Ra\"]).apply(null,arguments)};var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=function(){return(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=Module[\"asm\"][\"Sa\"]).apply(null,arguments)};var ___errno_location=Module[\"___errno_location\"]=function(){return(___errno_location=Module[\"___errno_location\"]=Module[\"asm\"][\"Ta\"]).apply(null,arguments)};var _htonl=Module[\"_htonl\"]=function(){return(_htonl=Module[\"_htonl\"]=Module[\"asm\"][\"Ua\"]).apply(null,arguments)};var _htons=Module[\"_htons\"]=function(){return(_htons=Module[\"_htons\"]=Module[\"asm\"][\"Va\"]).apply(null,arguments)};var _ntohs=Module[\"_ntohs\"]=function(){return(_ntohs=Module[\"_ntohs\"]=Module[\"asm\"][\"Wa\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"Xa\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"Ya\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"Za\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"_a\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"$a\"]).apply(null,arguments)};Module[\"ccall\"]=ccall;var calledRun;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"_main\"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return DuckDB.ready\n}\n);\n})();\nexport default DuckDB;", "import DuckDBWasm from './duckdb-eh.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\n", "export * from '../bindings';\nexport * from '../log';\nexport * from '../platform';\nexport * from '../status';\nexport * from '../version';\nexport { DEFAULT_RUNTIME } from '../bindings/runtime';\nexport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\n\nimport { Logger } from '../log';\nimport { DuckDBRuntime, DuckDBBindings } from '../bindings';\nimport { DuckDBBundles, getPlatformFeatures } from '../platform';\nimport { DuckDB as DuckDBMVP } from '../bindings/bindings_browser_mvp';\nimport { DuckDB as DuckDBNext } from '../bindings/bindings_browser_eh';\n\nexport async function createDuckDB(\n bundles: DuckDBBundles,\n logger: Logger,\n runtime: DuckDBRuntime,\n): Promise<DuckDBBindings> {\n const platform = await getPlatformFeatures();\n if (platform.wasmExceptions) {\n if (bundles.eh) {\n return new DuckDBNext(logger, runtime, bundles.eh!.mainModule);\n }\n }\n return new DuckDBMVP(logger, runtime, bundles.mvp.mainModule);\n}\n", "import * as arrow from 'apache-arrow';\nimport { AsyncDuckDB } from './async_bindings';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { ArrowInsertOptions, CSVInsertOptions, JSONInsertOptions } from '../bindings/insert_options';\n\n/** A thin helper to memoize the connection id */\nexport class AsyncDuckDBConnection {\n /** The async duckdb */\n protected readonly _bindings: AsyncDuckDB;\n /** The conn handle */\n protected readonly _conn: number;\n\n constructor(bindings: AsyncDuckDB, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Access the database bindings */\n public get bindings(): AsyncDuckDB {\n return this._bindings;\n }\n\n /** Disconnect from the database */\n public async close(): Promise<void> {\n return this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: AsyncDuckDB, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public async query<T extends { [key: string]: arrow.DataType } = any>(text: string): Promise<arrow.Table<T>> {\n this._bindings.logger.log({\n timestamp: new Date(),\n level: LogLevel.INFO,\n origin: LogOrigin.ASYNC_DUCKDB,\n topic: LogTopic.QUERY,\n event: LogEvent.RUN,\n value: text,\n });\n const buffer = await this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<arrow.AsyncRecordBatchStreamReader<T>> {\n this._bindings.logger.log({\n timestamp: new Date(),\n level: LogLevel.INFO,\n origin: LogOrigin.ASYNC_DUCKDB,\n topic: LogTopic.QUERY,\n event: LogEvent.RUN,\n value: text,\n });\n const header = await this._bindings.sendQuery(this._conn, text);\n const iter = new AsyncResultStreamIterator(this._bindings, this._conn, header);\n const reader = await arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isAsync());\n console.assert(reader.isStream());\n return reader as unknown as arrow.AsyncRecordBatchStreamReader<T>; // XXX\n }\n\n /** Get table names */\n public async getTableNames(query: string): Promise<string[]> {\n return await this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public async prepare<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<AsyncPreparedStatement> {\n const stmt = await this._bindings.createPrepared(this._conn, text);\n return new AsyncPreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Insert an arrow table */\n public async insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): Promise<void> {\n const buffer = table.serialize('binary', true);\n await this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public async insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): Promise<void> {\n await this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n /** Insert csv file from path */\n public async insertCSVFromPath(text: string, options: CSVInsertOptions): Promise<void> {\n await this._bindings.insertCSVFromPath(this._conn, text, options);\n }\n /** Insert json file from path */\n public async insertJSONFromPath(text: string, options: JSONInsertOptions): Promise<void> {\n await this._bindings.insertJSONFromPath(this._conn, text, options);\n }\n}\n\n/** An async result stream iterator */\nexport class AsyncResultStreamIterator implements AsyncIterable<Uint8Array> {\n /** First chunk? */\n protected _first: boolean;\n /** Reached end of stream? */\n protected _depleted: boolean;\n /** In-flight */\n protected _inFlight: Promise<Uint8Array> | null;\n\n constructor(\n protected readonly db: AsyncDuckDB,\n protected readonly conn: number,\n protected readonly header: Uint8Array,\n ) {\n this._first = true;\n this._depleted = false;\n this._inFlight = null;\n }\n\n async next(): Promise<IteratorResult<Uint8Array>> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n let buffer: Uint8Array;\n if (this._inFlight != null) {\n buffer = await this._inFlight;\n this._inFlight = null;\n } else {\n buffer = await this.db.fetchQueryResults(this.conn);\n }\n this._depleted = buffer.length == 0;\n if (!this._depleted) {\n this._inFlight = this.db.fetchQueryResults(this.conn);\n }\n return {\n done: this._depleted,\n value: buffer,\n };\n }\n\n [Symbol.asyncIterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id */\nexport class AsyncPreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: AsyncDuckDB;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: AsyncDuckDB, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public async close() {\n await this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public async query(...params: any[]): Promise<arrow.Table<T>> {\n const buffer = await this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public async send(...params: any[]): Promise<arrow.AsyncRecordBatchStreamReader<T>> {\n const header = await this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new AsyncResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = await arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isAsync());\n console.assert(reader.isStream());\n return reader as unknown as arrow.AsyncRecordBatchStreamReader<T>; // XXX\n }\n}\n", "import { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';\nimport { LogEntryVariant } from '../log';\nimport { ScriptTokens } from '../bindings/tokens';\nimport { FileStatistics } from '../bindings/file_stats';\nimport { DuckDBConfig } from '../bindings/config';\nimport { WebFile } from '../bindings/web_file';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport type ConnectionID = number;\nexport type StatementID = number;\n\nexport enum WorkerRequestType {\n CLOSE_PREPARED = 'CLOSE_PREPARED',\n COLLECT_FILE_STATISTICS = 'COLLECT_FILE_STATISTICS',\n CONNECT = 'CONNECT',\n COPY_FILE_TO_BUFFER = 'COPY_FILE_TO_BUFFER',\n COPY_FILE_TO_PATH = 'COPY_FILE_TO_PATH',\n CREATE_PREPARED = 'CREATE_PREPARED',\n DISCONNECT = 'DISCONNECT',\n DROP_FILE = 'DROP_FILE',\n DROP_FILES = 'DROP_FILES',\n EXPORT_FILE_STATISTICS = 'EXPORT_FILE_STATISTICS',\n FETCH_QUERY_RESULTS = 'FETCH_QUERY_RESULTS',\n FLUSH_FILES = 'FLUSH_FILES',\n GET_FEATURE_FLAGS = 'GET_FEATURE_FLAGS',\n GET_TABLE_NAMES = 'GET_TABLE_NAMES',\n GET_VERSION = 'GET_VERSION',\n GLOB_FILE_INFOS = 'GLOB_FILE_INFOS',\n INSERT_ARROW_FROM_IPC_STREAM = 'INSERT_ARROW_FROM_IPC_STREAM',\n INSERT_CSV_FROM_PATH = 'IMPORT_CSV_FROM_PATH',\n INSERT_JSON_FROM_PATH = 'IMPORT_JSON_FROM_PATH',\n INSTANTIATE = 'INSTANTIATE',\n OPEN = 'OPEN',\n PING = 'PING',\n REGISTER_FILE_BUFFER = 'REGISTER_FILE_BUFFER',\n REGISTER_FILE_HANDLE = 'REGISTER_FILE_HANDLE',\n REGISTER_FILE_URL = 'REGISTER_FILE_URL',\n RESET = 'RESET',\n RUN_PREPARED = 'RUN_PREPARED',\n RUN_QUERY = 'RUN_QUERY',\n SEND_PREPARED = 'SEND_PREPARED',\n SEND_QUERY = 'SEND_QUERY',\n TOKENIZE = 'TOKENIZE',\n}\n\nexport enum WorkerResponseType {\n CONNECTION_INFO = 'CONNECTION_INFO',\n ERROR = 'ERROR',\n FEATURE_FLAGS = 'FEATURE_FLAGS',\n FILE_BUFFER = 'FILE_BUFFER',\n FILE_INFOS = 'FILE_INFOS',\n FILE_SIZE = 'FILE_SIZE',\n FILE_STATISTICS = 'FILE_STATISTICS',\n INSTANTIATE_PROGRESS = 'INSTANTIATE_PROGRESS',\n LOG = 'LOG',\n OK = 'OK',\n PREPARED_STATEMENT_ID = 'PREPARED_STATEMENT_ID',\n QUERY_PLAN = 'QUERY_PLAN',\n QUERY_RESULT = 'QUERY_RESULT',\n QUERY_RESULT_CHUNK = 'QUERY_RESULT_CHUNK',\n QUERY_START = 'QUERY_START',\n REGISTERED_FILE = 'REGISTERED_FILE',\n SCRIPT_TOKENS = 'SCRIPT_TOKENS',\n SUCCESS = 'SUCCESS',\n TABLE_NAMES = 'TABLE_NAMES',\n VERSION_STRING = 'VERSION_STRING',\n}\n\nexport type WorkerRequest<T, P> = {\n readonly messageId: number;\n readonly type: T;\n readonly data: P;\n};\n\nexport type WorkerResponse<T, P> = {\n readonly messageId: number;\n readonly requestId: number;\n readonly type: T;\n readonly data: P;\n};\n\nexport type WorkerTaskReturnType<T extends WorkerTaskVariant> = T extends WorkerTask<any, any, infer P> ? P : never;\n\nexport class WorkerTask<T, D, P> {\n readonly type: T;\n readonly data: D;\n promise: Promise<P>;\n promiseResolver: (value: P | PromiseLike<P>) => void = () => {};\n promiseRejecter: (value: any) => void = () => {};\n\n constructor(type: T, data: D) {\n this.type = type;\n this.data = data;\n this.promise = new Promise<P>(\n (resolve: (value: P | PromiseLike<P>) => void, reject: (reason?: void) => void) => {\n this.promiseResolver = resolve;\n this.promiseRejecter = reject;\n },\n );\n }\n}\n\nexport type WorkerRequestVariant =\n | WorkerRequest<WorkerRequestType.CLOSE_PREPARED, [ConnectionID, StatementID]>\n | WorkerRequest<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean]>\n | WorkerRequest<WorkerRequestType.CONNECT, null>\n | WorkerRequest<WorkerRequestType.COPY_FILE_TO_BUFFER, string>\n | WorkerRequest<WorkerRequestType.COPY_FILE_TO_PATH, [string, string]>\n | WorkerRequest<WorkerRequestType.CREATE_PREPARED, [ConnectionID, string]>\n | WorkerRequest<WorkerRequestType.DISCONNECT, number>\n | WorkerRequest<WorkerRequestType.DROP_FILE, string>\n | WorkerRequest<WorkerRequestType.DROP_FILES, null>\n | WorkerRequest<WorkerRequestType.EXPORT_FILE_STATISTICS, string>\n | WorkerRequest<WorkerRequestType.FETCH_QUERY_RESULTS, number>\n | WorkerRequest<WorkerRequestType.FLUSH_FILES, null>\n | WorkerRequest<WorkerRequestType.GET_FEATURE_FLAGS, null>\n | WorkerRequest<WorkerRequestType.GET_TABLE_NAMES, [number, string]>\n | WorkerRequest<WorkerRequestType.GET_VERSION, null>\n | WorkerRequest<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined]\n >\n | WorkerRequest<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions]>\n | WorkerRequest<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions]>\n | WorkerRequest<WorkerRequestType.INSTANTIATE, [string, string | null]>\n | WorkerRequest<WorkerRequestType.OPEN, DuckDBConfig>\n | WorkerRequest<WorkerRequestType.PING, null>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array]>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any]>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_URL, [string, string]>\n | WorkerRequest<WorkerRequestType.GLOB_FILE_INFOS, string>\n | WorkerRequest<WorkerRequestType.RESET, null>\n | WorkerRequest<WorkerRequestType.RUN_PREPARED, [number, number, any[]]>\n | WorkerRequest<WorkerRequestType.RUN_QUERY, [number, string]>\n | WorkerRequest<WorkerRequestType.SEND_PREPARED, [number, number, any[]]>\n | WorkerRequest<WorkerRequestType.SEND_QUERY, [number, string]>\n | WorkerRequest<WorkerRequestType.TOKENIZE, string>;\n\nexport type WorkerResponseVariant =\n | WorkerResponse<WorkerResponseType.CONNECTION_INFO, number>\n | WorkerResponse<WorkerResponseType.ERROR, any>\n | WorkerResponse<WorkerResponseType.FEATURE_FLAGS, number>\n | WorkerResponse<WorkerResponseType.FILE_BUFFER, Uint8Array>\n | WorkerResponse<WorkerResponseType.FILE_INFOS, WebFile[]>\n | WorkerResponse<WorkerResponseType.FILE_SIZE, number>\n | WorkerResponse<WorkerResponseType.FILE_STATISTICS, FileStatistics>\n | WorkerResponse<WorkerResponseType.INSTANTIATE_PROGRESS, InstantiationProgress>\n | WorkerResponse<WorkerResponseType.LOG, LogEntryVariant>\n | WorkerResponse<WorkerResponseType.OK, null>\n | WorkerResponse<WorkerResponseType.PREPARED_STATEMENT_ID, number>\n | WorkerResponse<WorkerResponseType.QUERY_PLAN, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_RESULT, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_RESULT_CHUNK, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_START, Uint8Array>\n | WorkerResponse<WorkerResponseType.SCRIPT_TOKENS, ScriptTokens>\n | WorkerResponse<WorkerResponseType.SUCCESS, boolean>\n | WorkerResponse<WorkerResponseType.TABLE_NAMES, string[]>\n | WorkerResponse<WorkerResponseType.VERSION_STRING, string>;\n\nexport type WorkerTaskVariant =\n | WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null>\n | WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null>\n | WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID>\n | WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array>\n | WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null>\n | WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number>\n | WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null>\n | WorkerTask<WorkerRequestType.DROP_FILE, string, null>\n | WorkerTask<WorkerRequestType.DROP_FILES, null, null>\n | WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics>\n | WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array>\n | WorkerTask<WorkerRequestType.FLUSH_FILES, null, null>\n | WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number>\n | WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]>\n | WorkerTask<WorkerRequestType.GET_VERSION, null, string>\n | WorkerTask<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined],\n null\n >\n | WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null>\n | WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null>\n | WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null>\n | WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null>\n | WorkerTask<WorkerRequestType.PING, null, null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any], null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string], null>\n | WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]>\n | WorkerTask<WorkerRequestType.RESET, null, null>\n | WorkerTask<WorkerRequestType.RUN_PREPARED, [number, number, any[]], Uint8Array>\n | WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array>\n | WorkerTask<WorkerRequestType.SEND_PREPARED, [number, number, any[]], Uint8Array>\n | WorkerTask<WorkerRequestType.SEND_QUERY, [ConnectionID, string], Uint8Array>\n | WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>;\n", "import {\n WorkerRequestType,\n WorkerResponseType,\n WorkerResponseVariant,\n WorkerTaskVariant,\n WorkerTask,\n ConnectionID,\n WorkerTaskReturnType,\n} from './worker_request';\nimport { AsyncDuckDBBindings } from './async_bindings_interface';\nimport { Logger } from '../log';\nimport { AsyncDuckDBConnection } from './async_connection';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';\nimport { ScriptTokens } from '../bindings/tokens';\nimport { FileStatistics } from '../bindings/file_stats';\nimport { DuckDBConfig } from '../bindings/config';\nimport { InstantiationProgress } from '../bindings/progress';\nimport { flattenArrowField } from '../flat_arrow';\nimport { WebFile } from '../bindings/web_file';\n\nconst TEXT_ENCODER = new TextEncoder();\n\nexport class AsyncDuckDB implements AsyncDuckDBBindings {\n /** The message handler */\n protected readonly _onMessageHandler: (event: MessageEvent) => void;\n /** The error handler */\n protected readonly _onErrorHandler: (event: ErrorEvent) => void;\n /** The close handler */\n protected readonly _onCloseHandler: () => void;\n\n /** Instantiate the module */\n protected _onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n\n /** The logger */\n protected readonly _logger: Logger;\n /** The worker */\n protected _worker: Worker | null = null;\n /** The promise for the worker shutdown */\n protected _workerShutdownPromise: Promise<null> | null = null;\n /** Make the worker as terminated */\n protected _workerShutdownResolver: (value: PromiseLike<null> | null) => void = () => {};\n\n /** The next message id */\n protected _nextMessageId = 0;\n /** The pending requests */\n protected _pendingRequests: Map<number, WorkerTaskVariant> = new Map();\n\n constructor(logger: Logger, worker: Worker | null = null) {\n this._logger = logger;\n this._onMessageHandler = this.onMessage.bind(this);\n this._onErrorHandler = this.onError.bind(this);\n this._onCloseHandler = this.onClose.bind(this);\n if (worker != null) this.attach(worker);\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n\n /** Attach to worker */\n protected attach(worker: Worker): void {\n this._worker = worker;\n this._worker.addEventListener('message', this._onMessageHandler);\n this._worker.addEventListener('error', this._onErrorHandler);\n this._worker.addEventListener('close', this._onCloseHandler);\n this._workerShutdownPromise = new Promise<null>(\n (resolve: (value: PromiseLike<null> | null) => void, _reject: (reason?: void) => void) => {\n this._workerShutdownResolver = resolve;\n },\n );\n }\n\n /** Detach from worker */\n public detach(): void {\n if (!this._worker) return;\n this._worker.removeEventListener('message', this._onMessageHandler);\n this._worker.removeEventListener('error', this._onErrorHandler);\n this._worker.removeEventListener('close', this._onCloseHandler);\n this._worker = null;\n this._workerShutdownResolver(null);\n this._workerShutdownPromise = null;\n this._workerShutdownResolver = () => {};\n }\n\n /** Kill the worker */\n public async terminate(): Promise<void> {\n if (!this._worker) return;\n this._worker.terminate();\n //await this._workerShutdownPromise; TODO deadlocking in karma?\n this._worker = null;\n this._workerShutdownPromise = null;\n this._workerShutdownResolver = () => {};\n }\n\n /** Post a task */\n protected async postTask<W extends WorkerTaskVariant>(\n task: W,\n transfer: ArrayBuffer[] = [],\n ): Promise<WorkerTaskReturnType<W>> {\n if (!this._worker) {\n console.error('cannot send a message since the worker is not set!');\n return undefined as any;\n }\n const mid = this._nextMessageId++;\n this._pendingRequests.set(mid, task);\n this._worker.postMessage(\n {\n messageId: mid,\n type: task.type,\n data: task.data,\n },\n transfer,\n );\n return (await task.promise) as WorkerTaskReturnType<W>;\n }\n\n /** Received a message */\n protected onMessage(event: MessageEvent): void {\n // Unassociated responses?\n const response = event.data as WorkerResponseVariant;\n switch (response.type) {\n // Request failed?\n case WorkerResponseType.LOG: {\n this._logger.log(response.data);\n return;\n }\n // Call progress callback\n case WorkerResponseType.INSTANTIATE_PROGRESS: {\n for (const p of this._onInstantiationProgress) {\n p(response.data);\n }\n return;\n }\n }\n\n // Get associated task\n const task = this._pendingRequests.get(response.requestId);\n if (!task) {\n console.warn(`unassociated response: [${response.requestId}, ${response.type.toString()}]`);\n return;\n }\n this._pendingRequests.delete(response.requestId);\n\n // Request failed?\n if (response.type == WorkerResponseType.ERROR) {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const e = new Error(response.data.message);\n e.name = response.data.name;\n e.stack = response.data.stack;\n task.promiseRejecter(e);\n return;\n }\n\n // Otherwise differentiate between the tasks first\n switch (task.type) {\n case WorkerRequestType.CLOSE_PREPARED:\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n case WorkerRequestType.COPY_FILE_TO_PATH:\n case WorkerRequestType.DISCONNECT:\n case WorkerRequestType.DROP_FILE:\n case WorkerRequestType.DROP_FILES:\n case WorkerRequestType.FLUSH_FILES:\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM:\n case WorkerRequestType.INSERT_CSV_FROM_PATH:\n case WorkerRequestType.INSERT_JSON_FROM_PATH:\n case WorkerRequestType.OPEN:\n case WorkerRequestType.PING:\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n case WorkerRequestType.REGISTER_FILE_URL:\n case WorkerRequestType.RESET:\n if (response.type == WorkerResponseType.OK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.INSTANTIATE:\n this._onInstantiationProgress = [];\n if (response.type == WorkerResponseType.OK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GLOB_FILE_INFOS:\n if (response.type == WorkerResponseType.FILE_INFOS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_VERSION:\n if (response.type == WorkerResponseType.VERSION_STRING) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n if (response.type == WorkerResponseType.FEATURE_FLAGS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_TABLE_NAMES:\n if (response.type == WorkerResponseType.TABLE_NAMES) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.TOKENIZE:\n if (response.type == WorkerResponseType.SCRIPT_TOKENS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.COPY_FILE_TO_BUFFER:\n if (response.type == WorkerResponseType.FILE_BUFFER) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.EXPORT_FILE_STATISTICS:\n if (response.type == WorkerResponseType.FILE_STATISTICS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.CONNECT:\n if (response.type == WorkerResponseType.CONNECTION_INFO) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.RUN_PREPARED:\n case WorkerRequestType.RUN_QUERY:\n if (response.type == WorkerResponseType.QUERY_RESULT) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.SEND_PREPARED:\n case WorkerRequestType.SEND_QUERY:\n if (response.type == WorkerResponseType.QUERY_START) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.FETCH_QUERY_RESULTS:\n if (response.type == WorkerResponseType.QUERY_RESULT_CHUNK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.CREATE_PREPARED:\n if (response.type == WorkerResponseType.PREPARED_STATEMENT_ID) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n }\n task.promiseRejecter(new Error(`unexpected response type: ${response.type.toString()}`));\n }\n\n /** Received an error */\n protected onError(event: ErrorEvent): void {\n console.error(event);\n console.error(`error in duckdb worker: ${event.message}`);\n this._pendingRequests.clear();\n }\n\n /** The worker was closed */\n protected onClose(): void {\n this._workerShutdownResolver(null);\n if (this._pendingRequests.size != 0) {\n console.warn(`worker terminated with ${this._pendingRequests.size} pending requests`);\n return;\n }\n this._pendingRequests.clear();\n }\n\n /** Reset the duckdb */\n public async reset(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.RESET, null, null>(WorkerRequestType.RESET, null);\n return await this.postTask(task);\n }\n\n /** Ping the worker thread */\n public async ping(): Promise<any> {\n const task = new WorkerTask<WorkerRequestType.PING, null, null>(WorkerRequestType.PING, null);\n await this.postTask(task);\n }\n /** Try to drop a file */\n public async dropFile(name: string): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.DROP_FILE, string, null>(WorkerRequestType.DROP_FILE, name);\n return await this.postTask(task);\n }\n /** Try to drop files */\n public async dropFiles(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.DROP_FILES, null, null>(WorkerRequestType.DROP_FILES, null);\n return await this.postTask(task);\n }\n /** Flush all files */\n public async flushFiles(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.FLUSH_FILES, null, null>(WorkerRequestType.FLUSH_FILES, null);\n return await this.postTask(task);\n }\n\n /** Open the database */\n public async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n progress: (progress: InstantiationProgress) => void = _p => {},\n ): Promise<null> {\n this._onInstantiationProgress.push(progress);\n const task = new WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null>(\n WorkerRequestType.INSTANTIATE,\n [mainModuleURL, pthreadWorkerURL],\n );\n return await this.postTask(task);\n }\n\n /** Get the version */\n public async getVersion(): Promise<string> {\n const task = new WorkerTask<WorkerRequestType.GET_VERSION, null, string>(WorkerRequestType.GET_VERSION, null);\n const version = await this.postTask(task);\n return version;\n }\n\n /** Get the feature flags */\n public async getFeatureFlags(): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number>(\n WorkerRequestType.GET_FEATURE_FLAGS,\n null,\n );\n const feature = await this.postTask(task);\n return feature;\n }\n\n /** Open a new database */\n public async open(config: DuckDBConfig): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null>(WorkerRequestType.OPEN, config);\n await this.postTask(task);\n }\n\n /** Tokenize a script text */\n public async tokenize(text: string): Promise<ScriptTokens> {\n const task = new WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>(WorkerRequestType.TOKENIZE, text);\n const tokens = await this.postTask(task);\n return tokens;\n }\n\n /** Connect to the database */\n public async connectInternal(): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID>(WorkerRequestType.CONNECT, null);\n return await this.postTask(task);\n }\n\n /** Connect to the database */\n public async connect(): Promise<AsyncDuckDBConnection> {\n const cid = await this.connectInternal();\n return new AsyncDuckDBConnection(this, cid);\n }\n\n /** Disconnect from the database */\n public async disconnect(conn: ConnectionID): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null>(\n WorkerRequestType.DISCONNECT,\n conn,\n );\n await this.postTask(task);\n }\n\n /** Run a query */\n public async runQuery(conn: ConnectionID, text: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array>(\n WorkerRequestType.RUN_QUERY,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Send a query */\n public async sendQuery(conn: ConnectionID, text: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.SEND_QUERY, [ConnectionID, string], Uint8Array>(\n WorkerRequestType.SEND_QUERY,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Fetch query results */\n public async fetchQueryResults(conn: ConnectionID): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array>(\n WorkerRequestType.FETCH_QUERY_RESULTS,\n conn,\n );\n return await this.postTask(task);\n }\n\n /** Get table names */\n public async getTableNames(conn: number, text: string): Promise<string[]> {\n const task = new WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]>(\n WorkerRequestType.GET_TABLE_NAMES,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Prepare a statement and return its identifier */\n public async createPrepared(conn: number, text: string): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number>(\n WorkerRequestType.CREATE_PREPARED,\n [conn, text],\n );\n return await this.postTask(task);\n }\n /** Close a prepared statement */\n public async closePrepared(conn: number, statement: number): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null>(\n WorkerRequestType.CLOSE_PREPARED,\n [conn, statement],\n );\n await this.postTask(task);\n }\n /** Execute a prepared statement and return the full result */\n public async runPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.RUN_PREPARED, [ConnectionID, number, any[]], Uint8Array>(\n WorkerRequestType.RUN_PREPARED,\n [conn, statement, params],\n );\n return await this.postTask(task);\n }\n /** Execute a prepared statement and stream the result */\n public async sendPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.SEND_PREPARED, [ConnectionID, number, any[]], Uint8Array>(\n WorkerRequestType.SEND_PREPARED,\n [conn, statement, params],\n );\n return await this.postTask(task);\n }\n /** Glob file infos */\n public async globFiles(path: string): Promise<WebFile[]> {\n const task = new WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]>(\n WorkerRequestType.GLOB_FILE_INFOS,\n path,\n );\n return await this.postTask(task);\n }\n /** Register file text */\n public async registerFileText(name: string, text: string): Promise<void> {\n const buffer = TEXT_ENCODER.encode(text);\n await this.registerFileBuffer(name, buffer);\n }\n /** Register a file path. */\n public async registerFileURL(name: string, url: string): Promise<void> {\n if (url === undefined) {\n url = name;\n }\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string], null>(\n WorkerRequestType.REGISTER_FILE_URL,\n [name, url],\n );\n await this.postTask(task);\n }\n\n /** Register an empty file buffer. */\n public async registerEmptyFileBuffer(name: string): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>(\n WorkerRequestType.REGISTER_FILE_BUFFER,\n [name, new Uint8Array()],\n );\n await this.postTask(task);\n }\n\n /** Register a file buffer. */\n public async registerFileBuffer(name: string, buffer: Uint8Array): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>(\n WorkerRequestType.REGISTER_FILE_BUFFER,\n [name, buffer],\n );\n await this.postTask(task, [buffer.buffer]);\n }\n\n /** Register a file handle. */\n public async registerFileHandle<HandleType>(name: string, handle: HandleType): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any], null>(\n WorkerRequestType.REGISTER_FILE_HANDLE,\n [name, handle],\n );\n await this.postTask(task, []);\n }\n\n /** Enable file statistics */\n public async collectFileStatistics(name: string, enable: boolean): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null>(\n WorkerRequestType.COLLECT_FILE_STATISTICS,\n [name, enable],\n );\n await this.postTask(task, []);\n }\n\n /** Export file statistics */\n public async exportFileStatistics(name: string): Promise<FileStatistics> {\n const task = new WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics>(\n WorkerRequestType.EXPORT_FILE_STATISTICS,\n name,\n );\n return await this.postTask(task, []);\n }\n\n /** Copy a file to a buffer. */\n public async copyFileToBuffer(name: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array>(\n WorkerRequestType.COPY_FILE_TO_BUFFER,\n name,\n );\n return await this.postTask(task);\n }\n\n /** Copy a file to a path. */\n public async copyFileToPath(name: string, path: string): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null>(\n WorkerRequestType.COPY_FILE_TO_PATH,\n [name, path],\n );\n await this.postTask(task);\n }\n\n /** Insert arrow from an ipc stream */\n public async insertArrowFromIPCStream(\n conn: ConnectionID,\n buffer: Uint8Array,\n options?: ArrowInsertOptions,\n ): Promise<void> {\n if (buffer.length == 0) return;\n // Pass to the worker\n const task = new WorkerTask<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined],\n null\n >(WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [conn, buffer, options]);\n await this.postTask(task, [buffer.buffer]);\n }\n /** Insert a csv file */\n public async insertCSVFromPath(conn: ConnectionID, path: string, options: CSVInsertOptions): Promise<void> {\n // Flatten the table options\n if (options.columns !== undefined) {\n const out = [];\n for (const k in options.columns) {\n const type = options.columns[k];\n out.push(flattenArrowField(k, type));\n }\n options.columnsFlat = out;\n delete options.columns;\n }\n\n // Pass to the worker\n const task = new WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null>(\n WorkerRequestType.INSERT_CSV_FROM_PATH,\n [conn, path, options],\n );\n await this.postTask(task);\n }\n /** Insert a json file */\n public async insertJSONFromPath(conn: ConnectionID, path: string, options: JSONInsertOptions): Promise<void> {\n // Flatten the table options\n if (options.columns !== undefined) {\n const out = [];\n for (const k in options.columns) {\n const type = options.columns[k];\n out.push(flattenArrowField(k, type));\n }\n options.columnsFlat = out;\n delete options.columns;\n }\n\n // Pass to the worker\n const task = new WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null>(\n WorkerRequestType.INSERT_JSON_FROM_PATH,\n [conn, path, options],\n );\n await this.postTask(task);\n }\n}\n", "import Worker from 'web-worker';\n\nexport async function createWorker(url: string) {\n const request = new Request(url);\n const workerScript = await fetch(request);\n const workerURL = URL.createObjectURL(await workerScript.blob());\n return new Worker(workerURL);\n}\n", "import * as duckdb from '../src/';\nimport { Column, Vector } from 'apache-arrow';\nimport { DuckDBQueryConfig } from '../src/';\n\n// The max interval in microsec from DuckDB is 83 years 3 months 999 days 00:16:39.999999, with months as 30 days.\n// Note that due to Arrow JS not supporting the duration type, the castDurationToInterval option is used for intervals.\n// This has a side-effect that while the value is in microseconds, it only has millisecond accuracy. This is\n// because DuckDB emits intervals in milliseconds and the Arrow Time64 type does not support milliseconds as unit.\nconst MAX_INTERVAL_US = (((83 * (12 * 30) + 3 * 30 + 999) * 24 * 60 + 16) * 60 + 39) * 1000000 + 999000;\n\n// JS Date at +/-8640000000000000ms\nconst MINIMUM_DATE_STR = '-271821-04-20';\nconst MINIMUM_DATE = new Date(Date.UTC(-271821, 3, 20));\nconst MAXIMUM_DATE_STR = '275760-09-13';\nconst MAXIMUM_DATE = new Date(Date.UTC(275760, 8, 13));\n\n// All columns contain 3 values: [min_value, max_value, null]\ntype AnswerObjectType = {\n [key: string]: any[];\n};\n\ninterface AllTypesTest {\n name: string;\n query: string;\n skip: string[];\n answerMap: AnswerObjectType;\n answerCount: number;\n queryConfig: DuckDBQueryConfig | null;\n}\n\n// These types currently do not work in DuckDB-WASM\n// timestamp_xx and date_tz types will soon be fully supported by duckdb and should be added then.\n// hugeint, dec_18_3, dec38_10 and uuid require JS BigInts for full support, which is currently not supported by ArrowJS\nconst NOT_IMPLEMENTED_TYPES = [\n 'timestamp_s',\n 'timestamp_ms',\n 'timestamp_ns',\n 'timestamp_tz',\n 'hugeint',\n 'dec_18_6',\n 'dec38_10',\n 'uuid',\n 'map',\n];\n\n// These types are supported, but not the full range returned from the test_all_types() table function, here we define\n// the limits we do expect to be supported.\nconst PARTIALLY_IMPLEMENTED_TYPES = ['ubigint', 'bigint', 'date', 'timestamp'];\nconst PARTIALLY_IMPLEMENTED_ANSWER_MAP: AnswerObjectType = {\n ubigint: [0, Number.MAX_SAFE_INTEGER, null],\n bigint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, null],\n date: [MINIMUM_DATE.valueOf(), MAXIMUM_DATE.valueOf(), null],\n timestamp: [MINIMUM_DATE.valueOf(), MAXIMUM_DATE.valueOf(), null],\n};\n\n// Subqueries that return the limits of the subset of the full range that is implemented\nconst PARTIALLY_IMPLEMENTED_TYPES_SUBSTITUTIONS = [\n `(SELECT array_extract([0::UINT64,${Number.MAX_SAFE_INTEGER}::UINT64,null::UINT64],i)) as ubigint`,\n `(SELECT array_extract([${Number.MIN_SAFE_INTEGER}::INT64,${Number.MAX_SAFE_INTEGER}::INT64,null],i)) as bigint`,\n `(SELECT array_extract(['${MINIMUM_DATE_STR}'::Date,'${MAXIMUM_DATE_STR}'::Date,null],i)) as date`,\n `(SELECT array_extract(['${MINIMUM_DATE_STR}'::Timestamp,'${MAXIMUM_DATE_STR}'::Timestamp,null],i)) as timestamp`,\n];\n\n// These types do not work with default configuration, but have\nconst TYPES_REQUIRING_CUSTOM_CONFIG = ['dec_4_1', 'dec_9_4'];\n\n// Types that are fully supported.\nconst FULLY_IMPLEMENTED_ANSWER_MAP: AnswerObjectType = {\n bool: [false, true, null],\n tinyint: [-128, 127, null],\n smallint: [-32768, 32767, null],\n int: [-2147483648, 2147483647, null],\n utinyint: [0, 255, null],\n usmallint: [0, 65535, null],\n uint: [0, 4294967295, null],\n\n // Note that we multiply by thousand (and add 999 for the max) because the value returned by DuckDB is in microseconds,\n // whereas the Date object is in milliseconds.\n time: [0, new Date('1970-01-01T23:59:59.999+00:00').valueOf() * 1000 + 999, null],\n time_tz: [0, new Date('1970-01-01T23:59:59.999+00:00').valueOf() * 1000 + 999, null],\n interval: [0, MAX_INTERVAL_US, null],\n\n float: [-3.4028234663852886e38, 3.4028234663852886e38, null],\n double: [-1.7976931348623157e308, 1.7976931348623157e308, null],\n varchar: ['\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86', 'goose', null],\n small_enum: ['DUCK_DUCK_ENUM', 'GOOSE', null],\n medium_enum: ['enum_0', 'enum_299', null],\n large_enum: ['enum_0', 'enum_69999', null],\n\n int_array: [[], [42, 999, null, null, -42], null],\n varchar_array: [[], ['\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86', 'goose', null, ''], null],\n nested_int_array: [[], [[], [42, 999, null, null, -42], null, [], [42, 999, null, null, -42]], null],\n\n struct: ['{\"a\":null,\"b\":null}', '{\"a\":42,\"b\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\"}', null],\n struct_of_arrays: [\n '{\"a\":null,\"b\":null}',\n '{\"a\":[42,999,null,null,-42],\"b\":[\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\",\"goose\",null,\"\"]}',\n null,\n ],\n array_of_structs: [[], ['{\"a\":null,\"b\":null}', '{\"a\":42,\"b\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\"}', null], null],\n\n // XXX sometimes throws\n // map: ['{}', '{\"key1\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\",\"key2\":\"goose\"}', null],\n blob: [\n Uint8Array.from([\n 116, 104, 105, 115, 105, 115, 97, 108, 111, 110, 103, 98, 108, 111, 98, 0, 119, 105, 116, 104, 110, 117,\n 108, 108, 98, 121, 116, 101, 115,\n ]),\n Uint8Array.from([92, 120, 48, 48, 92, 120, 48, 48, 92, 120, 48, 48, 97]),\n null,\n ],\n};\n\n// Replacements for the values we knowingly don't support from the test_all_types query\nconst REPLACE_COLUMNS = PARTIALLY_IMPLEMENTED_TYPES.concat(NOT_IMPLEMENTED_TYPES).concat(TYPES_REQUIRING_CUSTOM_CONFIG);\n\nfunction unpack(v: any): any {\n if (v === null) return null;\n\n if (v instanceof Vector) {\n const ret = Array.from(v.toArray());\n for (let i = 0; i < ret.length; i++) {\n if (!v.isValid(i)) {\n ret[i] = null;\n }\n }\n return unpack(ret);\n } else if (v instanceof Array) {\n const ret: any = [];\n for (let i = 0; i < v.length; i++) {\n ret[i] = unpack(v[i]);\n }\n return ret;\n } else if (v instanceof Uint8Array) {\n return v;\n } else if (v instanceof Object) {\n return JSON.stringify(v.toJSON());\n }\n\n return v;\n}\n\nfunction getValue(x: any): any {\n if (typeof x?.valueOf === 'function') {\n return x.valueOf();\n } else {\n return x;\n }\n}\n\nconst ALL_TYPES_TEST: AllTypesTest[] = [\n {\n name: 'fully supported types',\n query: `SELECT * REPLACE('not_implemented' as map) FROM test_all_types()`,\n skip: REPLACE_COLUMNS,\n answerMap: FULLY_IMPLEMENTED_ANSWER_MAP,\n answerCount: REPLACE_COLUMNS.length + Object.keys(FULLY_IMPLEMENTED_ANSWER_MAP).length,\n queryConfig: null,\n },\n {\n name: 'partially supported types',\n query: `SELECT ${PARTIALLY_IMPLEMENTED_TYPES_SUBSTITUTIONS.join(', ')}\n FROM range(0, 3) tbl(i)`,\n skip: [],\n answerMap: PARTIALLY_IMPLEMENTED_ANSWER_MAP,\n answerCount: PARTIALLY_IMPLEMENTED_TYPES.length,\n queryConfig: null,\n },\n {\n name: 'types with custom config',\n query: `SELECT ${TYPES_REQUIRING_CUSTOM_CONFIG.join(',')} FROM test_all_types()`,\n skip: [],\n answerMap: {\n dec_4_1: [-999.9000000000001, 999.9000000000001, null],\n dec_9_4: [-99999.99990000001, 99999.99990000001, null],\n },\n answerCount: TYPES_REQUIRING_CUSTOM_CONFIG.length,\n queryConfig: {\n castDecimalToDouble: true,\n },\n },\n];\n\nexport function testAllTypes(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection | null;\n\n beforeEach(() => {\n db().flushFiles();\n });\n\n afterEach(() => {\n if (conn) {\n conn.close();\n conn = null;\n }\n db().flushFiles();\n db().dropFiles();\n });\n describe('Test All Types', () => {\n for (const test of ALL_TYPES_TEST) {\n it(test.name, () => {\n if (test.queryConfig) db().open({ query: test.queryConfig });\n\n conn = db().connect();\n\n const results = conn.query(test.query);\n expect(results.numCols).toEqual(test.answerCount);\n\n const skip = new Map();\n for (const s of test.skip) {\n skip.set(s, true);\n }\n for (let i = 0; i < results.numCols; i++) {\n const col = results.getColumnAt(i) as Column;\n if (skip.get(col.name)) continue;\n\n expect(unpack(getValue(col.get(0)))).toEqual(test.answerMap[col.name][0]); // Min\n expect(unpack(getValue(col.get(1)))).toEqual(test.answerMap[col.name][1]); // Max\n expect(col.get(2)).toEqual(test.answerMap[col.name][2]); // Null\n }\n });\n }\n });\n}\n\nexport function testAllTypesAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('Test All Types Async', () => {\n for (const test of ALL_TYPES_TEST) {\n it(test.name, async () => {\n if (test.queryConfig) db().open({ query: test.queryConfig });\n\n conn = await db().connect();\n const results = await conn.query(test.query);\n expect(results.numCols).toEqual(test.answerCount);\n\n const skip = new Map();\n for (const s of test.skip) {\n skip.set(s, true);\n }\n for (let i = 0; i < results.numCols; i++) {\n const col = results.getColumnAt(i) as Column;\n if (skip.get(col.name)) continue;\n\n expect(Object.keys(test.answerMap)).toContain(col.name);\n expect(unpack(getValue(col.get(0)))).toEqual(test.answerMap[col.name][0]); // Min\n expect(unpack(getValue(col.get(1)))).toEqual(test.answerMap[col.name][1]); // Max\n expect(col.get(2)).toEqual(test.answerMap[col.name][2]); // Null\n }\n });\n }\n });\n}\n", "import * as duckdb from '../src/';\nimport { getS3Params, S3Params, S3PayloadParams, createS3Headers, uriEncode, getHTTPUrl } from '../src/utils';\nimport { AsyncDuckDBConnection, DuckDBBindings, DuckDBBindingsBase, DuckDBModule } from '../src/';\nimport BROWSER_RUNTIME from '../src/bindings/runtime_browser';\n\n// S3 config for tests\nconst BUCKET_NAME = 'test-bucket';\nconst ACCESS_KEY_ID = 'S3RVER';\nconst ACCESS_KEY_SECRET = 'S3RVER';\nconst S3_ENDPOINT = 'http://localhost:4923';\nconst S3_REGION = 'eu-west-1';\n\nenum AWSConfigType {\n EMPTY,\n VALID,\n INVALID,\n}\nconst setAwsConfig = async function (conn: AsyncDuckDBConnection, type: AWSConfigType = AWSConfigType.VALID) {\n switch (type) {\n case AWSConfigType.EMPTY:\n await conn.query(\"SET s3_region='';\");\n await conn.query(\"SET s3_access_key_id='';\");\n await conn.query(\"SET s3_secret_access_key='';\");\n await conn.query(\"SET s3_session_token='';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n case AWSConfigType.VALID:\n await conn.query(`SET s3_region='${S3_REGION}';`);\n await conn.query(`SET s3_access_key_id='${ACCESS_KEY_ID}';`);\n await conn.query(`SET s3_secret_access_key='${ACCESS_KEY_SECRET}';`);\n await conn.query(\"SET s3_session_token='';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n case AWSConfigType.INVALID:\n await conn.query(\"SET s3_region='a-very-remote-and-non-existent-s3-region';\");\n await conn.query(\"SET s3_access_key_id='THISACCESSKEYIDISNOTVALID';\");\n await conn.query(\"SET s3_secret_access_key='THISSECRETACCESSKEYISNOTVALID';\");\n await conn.query(\"SET s3_session_token='INVALIDSESSIONTOKEN';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n }\n};\n\nexport function testHTTPFS(sdb: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection | null;\n\n const getModule = function () {\n let module: DuckDBModule | null = null;\n conn!.useUnsafe((bindings: DuckDBBindings, con_number: number) => {\n module = (bindings as DuckDBBindingsBase).mod;\n });\n expect(module).toBeDefined();\n return module;\n };\n const reset = async () => {\n sdb().reset();\n conn = sdb().connect();\n };\n beforeEach(async () => await reset());\n afterEach(async () => await reset());\n\n describe('HTTPFS', () => {\n it('s3 config is set correctly', async () => {\n const module = getModule();\n\n // Default values are empty\n const globalFileInfo = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const cacheEpoch = globalFileInfo!.cacheEpoch;\n expect(globalFileInfo?.s3Config).toBeDefined();\n expect(globalFileInfo?.s3Config?.region).toEqual('');\n expect(globalFileInfo?.s3Config?.accessKeyId).toEqual('');\n expect(globalFileInfo?.s3Config?.secretAccessKey).toEqual('');\n expect(globalFileInfo?.s3Config?.sessionToken).toEqual('');\n expect(globalFileInfo?.s3Config?.endpoint).toEqual('');\n\n // Confirm settings are correctly set\n conn!.query(\"SET s3_region='a-very-remote-and-non-existent-s3-region';\");\n conn!.query(\"SET s3_access_key_id='THISACCESSKEYIDISNOTVALID';\");\n conn!.query(\"SET s3_secret_access_key='THISSECRETACCESSKEYISNOTVALID';\");\n conn!.query(\"SET s3_session_token='ANICESESSIONTOKEN';\");\n conn!.query(\"SET s3_endpoint='s3.some.sort.of.cloud';\");\n const globalFileInfoUpdated = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoUpdated?.s3Config).toBeDefined();\n expect(globalFileInfoUpdated?.cacheEpoch).toEqual(cacheEpoch + 5);\n const params = getS3Params(globalFileInfoUpdated?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(params.url).toEqual(\"/testfile.txt\");\n expect(params.query).toEqual(\"\");\n expect(params.host).toEqual(\"test-bucket.s3.some.sort.of.cloud\");\n expect(params.region).toEqual(\"a-very-remote-and-non-existent-s3-region\");\n expect(params.service).toEqual(\"s3\");\n expect(params.method).toEqual(\"GET\");\n expect(params.accessKeyId).toEqual(\"THISACCESSKEYIDISNOTVALID\");\n expect(params.secretAccessKey).toEqual(\"THISSECRETACCESSKEYISNOTVALID\");\n expect(params.sessionToken).toEqual(\"ANICESESSIONTOKEN\");\n\n // Cover full http endpoint config\n conn!.query(\"SET s3_endpoint='http://localhost:1337';\");\n const globalFileInfoFullHttpEndpoint = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const paramsFullHttpEndpoint = getS3Params(globalFileInfoFullHttpEndpoint?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(paramsFullHttpEndpoint.host).toEqual(\"localhost:1337\");\n\n // Reset should clear config\n await reset();\n const globalFileInfoCleared = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const paramsCleared = getS3Params(globalFileInfoCleared?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(paramsCleared.url).toEqual(\"/testfile.txt\");\n expect(paramsCleared.query).toEqual(\"\");\n expect(paramsCleared.host).toEqual(\"test-bucket.s3.amazonaws.com\");\n expect(paramsCleared.region).toEqual(\"\");\n expect(paramsCleared.service).toEqual(\"s3\");\n expect(paramsCleared.method).toEqual(\"GET\");\n expect(paramsCleared.accessKeyId).toEqual(\"\");\n expect(paramsCleared.secretAccessKey).toEqual(\"\");\n expect(paramsCleared.sessionToken).toEqual(\"\");\n });\n\n it('url parsing is correct', () => {\n const module = getModule();\n\n conn!.query(\"SET s3_endpoint='';\");\n const globalFileInfoDefault = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoDefault?.s3Config).toBeDefined();\n const defaultUrl = getHTTPUrl(globalFileInfoDefault?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(defaultUrl).toEqual(`https://${BUCKET_NAME}.s3.amazonaws.com/test-file.csv`);\n\n conn!.query(\"SET s3_endpoint='https://duckdblabs.com';\");\n const globalFileInfoFullUrl = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoFullUrl?.s3Config).toBeDefined();\n const fullUrl = getHTTPUrl(globalFileInfoFullUrl?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(fullUrl).toEqual(`https://duckdblabs.com/${BUCKET_NAME}/test-file.csv`);\n\n conn!.query(\"SET s3_endpoint='duckdblabs.com';\");\n const globalFileInfoDomain = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoDomain?.s3Config).toBeDefined();\n const domainOnlyUrl = getHTTPUrl(globalFileInfoDomain?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(domainOnlyUrl).toEqual(`https://${BUCKET_NAME}.duckdblabs.com/test-file.csv`);\n });\n\n // validate authorization headers for known requests, based on: https://czak.pl/2015/09/15/s3-rest-api-with-curl.html\n it('s3 helper passes validation', () => {\n const testParams1: S3Params = {\n url: '/',\n query: '',\n host: 'my-precious-bucket.s3.amazonaws.com',\n region: 'us-east-1',\n service: 's3',\n method: 'GET',\n accessKeyId: 'AKIAIOSFODNN7EXAMPLE',\n secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',\n sessionToken: '',\n dateNow: '20150915',\n datetimeNow: '20150915T124500Z',\n };\n const result = createS3Headers(testParams1).get('Authorization');\n expect(result).toEqual(\n 'AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20150915/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=182072eb53d85c36b2d791a1fa46a12d23454ec1e921b02075c23aee40166d5a',\n );\n\n const canonical_query_string = 'delimiter=%2F&encoding-type=url&list-type=2&prefix='; // aws s3 ls <bucket>\n const testParams2: S3Params = {\n url: '/',\n query: canonical_query_string,\n host: 'my-precious-bucket.s3.eu-west-1.amazonaws.com',\n region: 'eu-west-1',\n service: 's3',\n method: 'GET',\n accessKeyId: 'ASIAYSPIOYDTHTBIITVC',\n secretAccessKey: 'vs1BZPxSL2qVARBSg5vCMKJsavCoEPlo/HSHRaVe',\n sessionToken:\n 'IQoJb3JpZ2luX2VjENX//////////wEaCWV1LXdlc3QtMSJHMEUCIQDfjzs9BYHrEXDMU/NR+PHV1uSTr7CSVSQdjKSfiPRLdgIgCCztF0VMbi9+uHHAfBVKhV4t9MlUrQg3VAOIsLxrWyoqlAIIHRAAGgw1ODk0MzQ4OTY2MTQiDOGl2DsYxENcKCbh+irxARe91faI+hwUhT60sMGRFg0GWefKnPclH4uRFzczrDOcJlAAaQRJ7KOsT8BrJlrY1jSgjkO7PkVjPp92vi6lJX77bg99MkUTJActiOKmd84XvAE5bFc/jFbqechtBjXzopAPkKsGuaqAhCenXnFt6cwq+LZikv/NJGVw7TRphLV+Aq9PSL9XwdzIgsW2qXwe1c3rxDNj53yStRZHVggdxJ0OgHx5v040c98gFphzSULHyg0OY6wmCMTYcswpb4kO2IIi6AiD9cY25TlwPKRKPi5CdBsTPnyTeW62u7PvwK0fTSy4ZuJUuGKQnH2cKmCXquEwoOHEiQY6nQH9fzY/EDGHMRxWWhxu0HiqIfsuFqC7GS0p0ToKQE+pzNsvVwMjZc+KILIDDQpdCWRIwu53I5PZy2Cvk+3y4XLvdZKQCsAKqeOc4c94UAS4NmUT7mCDOuRV0cLBVM8F0JYBGrUxyI+YoIvHhQWmnRLuKgTb5PkF7ZWrXBHFWG5/tZDOvBbbaCWTlRCL9b0Vpg5+BM/81xd8jChP4w83',\n dateNow: '20210904',\n datetimeNow: '20210904T121746Z',\n };\n const result2 = createS3Headers(testParams2).get('Authorization');\n expect(result2).toEqual(\n 'AWS4-HMAC-SHA256 Credential=ASIAYSPIOYDTHTBIITVC/20210904/eu-west-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=4d9d6b59d7836b6485f6ad822de97be40287da30347d83042ea7fbed530dc4c0',\n );\n\n const testParams3: S3Params = {\n url: '/correct_auth_test.csv',\n query: '',\n host: 'test-bucket-ceiveran.s3.amazonaws.com',\n region: 'eu-west-1',\n service: 's3',\n method: 'PUT',\n accessKeyId: 'S3RVER',\n secretAccessKey: 'S3RVER',\n sessionToken: '',\n dateNow: '20220121',\n datetimeNow: '20220121T141452Z',\n };\n const test3PayloadParams: S3PayloadParams = {\n contentHash: '28a0cf6ac5c4cb73793091fe6ecc6a68bf90855ac9186158748158f50241bb0c',\n contentType: 'text/data;charset=utf-8',\n };\n const result3 = createS3Headers(testParams3, test3PayloadParams).get('Authorization');\n expect(result3).toEqual(\n 'AWS4-HMAC-SHA256 Credential=S3RVER/20220121/eu-west-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=5d9a6cbfaa78a6d0f2ab7df0445e2f1cc9c80cd3655ac7de9e7219c036f23f02',\n );\n\n expect(uriEncode('/category=Books/')).toEqual('/category%3DBooks/');\n expect(uriEncode('/?category=Books&title=Ducks Retreat/')).toEqual(\n '/%3Fcategory%3DBooks%26title%3DDucks%20Retreat/',\n );\n expect(uriEncode('/?category=Books&title=Ducks Retreat/', true)).toEqual(\n '%2F%3Fcategory%3DBooks%26title%3DDucks%20Retreat%2F',\n );\n });\n });\n}\n\nexport function testHTTPFSAsync(\n adb: () => duckdb.AsyncDuckDB,\n resolveData: (url: string) => Promise<Uint8Array | null>,\n baseDir: string,\n): void {\n let conn: duckdb.AsyncDuckDBConnection | null;\n\n // PUTs an S3 file to the S3 test server\n const putTestFileToS3 = async function (fileName: string, format: string, test_data: Uint8Array | null) {\n await adb().registerFileBuffer('test_file.parquet', test_data!);\n if (!conn) {\n conn = await adb().connect();\n }\n await setAwsConfig(conn, AWSConfigType.VALID);\n await conn.send(`CREATE TABLE test_table AS (SELECT * FROM parquet_scan('test_file.parquet'));`);\n await conn.query(`COPY test_table TO 's3://${BUCKET_NAME}/${fileName}.${format}' (FORMAT '${format}');`);\n await adb().flushFiles();\n await adb().dropFiles();\n };\n\n // Requires an open conn\n const assertTestFileResultCorrect = async function (result: any, test_data: Uint8Array | null) {\n await adb().registerFileBuffer('test_file_baseline.parquet', test_data!);\n const result_baseline = await conn!.query(`SELECT * FROM parquet_scan('test_file_baseline.parquet');`);\n expect(result.getColumnAt(0).toArray()).toEqual(result_baseline.getColumnAt(0)?.toArray());\n };\n\n // Reset databases between tests\n const reset = async () => {\n await adb().reset();\n conn = await adb().connect();\n };\n beforeEach(async () => await reset());\n afterEach(async () => await reset());\n\n describe('HTTPFS Async', () => {\n it('can fetch https file', async () => {\n const results = await conn!.query(\n `select * from \"https://raw.githubusercontent.com/duckdb/duckdb-wasm/master/data/test.csv\";`,\n );\n expect(results.getColumnAt(2)?.get(2)).toEqual(9);\n });\n\n it('can read and write csv file from S3 with correct auth credentials', async () => {\n let data = await resolveData('/uni/studenten.parquet');\n await setAwsConfig(conn!);\n await putTestFileToS3('correct_auth_test', 'csv', data);\n const results_with_auth = await conn!.query(`select * from \"s3://${BUCKET_NAME}/correct_auth_test.csv\";`);\n data = await resolveData('/uni/studenten.parquet');\n assertTestFileResultCorrect(results_with_auth, data);\n });\n\n it('can read and write parquet file from S3 with correct auth credentials', async () => {\n let data = await resolveData('/uni/studenten.parquet');\n await putTestFileToS3('correct_auth_test', 'parquet', data);\n await setAwsConfig(conn!);\n const results_with_auth = await conn!.query(\n `select * from \"s3://${BUCKET_NAME}/correct_auth_test.parquet\";`,\n );\n data = await resolveData('/uni/studenten.parquet');\n assertTestFileResultCorrect(results_with_auth, data);\n });\n\n it('can not read a file with incorrect credentials', async () => {\n const data = await resolveData('/uni/studenten.parquet');\n await putTestFileToS3('incorrect_auth_test', 'parquet', data);\n await setAwsConfig(conn!, AWSConfigType.INVALID);\n await expectAsync(\n conn!.query(`select * from \"s3://${BUCKET_NAME}/incorrect_auth_test.csv\";`),\n ).toBeRejected();\n });\n\n it('properly invalidates file caches on settings update.', async () => {\n const data = await resolveData('/tpch/0_01/parquet/lineitem.parquet');\n await putTestFileToS3('file_cache_invalidation_test', 'parquet', data);\n await setAwsConfig(conn!);\n const results_correct = await conn!.query(\n `select l_partkey from \"s3://${BUCKET_NAME}/file_cache_invalidation_test.parquet\" limit 1;`,\n );\n expect(results_correct.getColumnAt(0)?.get(0)).toEqual(1552);\n await setAwsConfig(conn!, AWSConfigType.INVALID);\n await expectAsync(\n conn!.query(`select avg(l_partkey) from \"s3://${BUCKET_NAME}/lineitem.parquet\";`),\n ).toBeRejected();\n });\n\n it('write after read throws incorrect flag error without dropping files', async () => {\n await setAwsConfig(conn!);\n await conn!.query(\n `COPY (SELECT * FROM range(1000,1010) tbl(i)) TO 's3://${BUCKET_NAME}/test_written.csv' (FORMAT 'csv');`,\n );\n const result = await conn!.query(`SELECT * FROM \"s3://${BUCKET_NAME}/test_written.csv\";`);\n expect(result.getColumnAt(0)?.get(6)).toEqual(1006);\n await expectAsync(\n conn!.query(\n `COPY (SELECT * FROM range(2000,2010) tbl(i)) TO 's3://${BUCKET_NAME}/test_written.csv' (FORMAT 'csv');`,\n ),\n ).toBeRejectedWithError('File is not opened in write mode');\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\n\nexport function testBindings(db: () => duckdb.DuckDBBindings, baseURL: string): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('DuckDBBindings', () => {\n describe('error handling', () => {\n it('INVALID SQL', async () => {\n let error: Error | null = null;\n try {\n conn.send('INVALID');\n } catch (e: any) {\n error = e;\n }\n expect(error).not.toBe(null);\n });\n });\n\n //describe('Open', () => {\n // XXX apparently synchronous XHR on the main thread does not allow for arraybuffer response type?\n // it('Remote TPCH 0_01', async () => {\n // await db().registerFileURL('tpch_0_01.db', `${baseURL}/tpch/0_01/duckdb/db`);\n // db().open('tpch_0_01.db');\n // });\n //});\n\n describe('Reset', () => {\n it('table must disappear', async () => {\n await db().reset();\n conn = db().connect();\n conn.query('CREATE TABLE foo (a int)');\n let table = conn.query<{ name: arrow.Utf8 }>('PRAGMA show_tables;');\n let rows = table.toArray();\n expect(rows.length).toEqual(1);\n expect(rows[0].name).toEqual('foo');\n await db().reset();\n conn = db().connect();\n table = conn.query<{ name: arrow.Utf8 }>('PRAGMA show_tables;');\n rows = table.toArray();\n expect(rows.length).toEqual(0);\n });\n });\n\n describe('Prepared Statement', () => {\n it('Materialized', async () => {\n const stmt = conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const result = stmt.query(234);\n expect(result.length).toBe(10001);\n stmt.close();\n });\n\n it('Streaming', async () => {\n const stmt = conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const stream = stmt.send(234);\n let size = 0;\n for (const batch of stream) {\n size += batch.length;\n }\n expect(size).toBe(10001);\n conn.close();\n });\n it('Typecheck', async () => {\n conn.query(`CREATE TABLE typecheck (\n a BOOLEAN DEFAULT NULL,\n b TINYINT DEFAULT NULL,\n c SMALLINT DEFAULT NULL,\n d INTEGER DEFAULT NULL,\n e BIGINT DEFAULT NULL,\n f FLOAT DEFAULT NULL,\n g DOUBLE DEFAULT NULL,\n h CHAR(11) DEFAULT NULL,\n i VARCHAR(11) DEFAULT NULL\n )`);\n\n const stmt = conn.prepare('INSERT INTO typecheck VALUES(?,?,?,?,?,?,?,?,?)');\n expect(() =>\n stmt.query(true, 100, 10_000, 1_000_000, 5_000_000_000, 0.5, Math.PI, 'hello world', 'hi'),\n ).not.toThrow();\n expect(() =>\n stmt.query(\n 'test', // varchar for bool\n 100,\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 10_000, // smallint for tinyint\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 100,\n 1_000_000, // int for smallint\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 100,\n 10_000,\n 5_000_000_000, // bigint for int\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n conn.close();\n });\n });\n });\n}\n\nexport function testAsyncBindings(adb: () => duckdb.AsyncDuckDB, baseURL: string): void {\n beforeEach(async () => {});\n\n afterEach(async () => {\n await adb().flushFiles();\n await adb().dropFiles();\n await adb().open({\n path: ':memory:',\n });\n });\n\n describe('Bindings', () => {\n describe('Open', () => {\n it('Remote TPCH 0_01', async () => {\n await adb().registerFileURL('tpch_0_01.db', `${baseURL}/tpch/0_01/duckdb/db`);\n await adb().open({\n path: 'tpch_0_01.db',\n });\n const conn = await adb().connect();\n const table = await conn.query<{\n a: arrow.Int;\n }>('select count(*)::INTEGER as a from lineitem');\n const rows = table.toArray();\n expect(rows.length).toEqual(1);\n expect(rows[0].a).toEqual(60175);\n });\n });\n\n describe('Patching', () => {\n it('Count(*) Default', async () => {\n await adb().open({\n path: ':memory:',\n query: {\n castBigIntToDouble: false,\n },\n });\n const conn = await adb().connect();\n const table = await conn.query('select 1::BIGINT');\n expect(table.schema.fields.length).toEqual(1);\n expect(table.schema.fields[0].typeId).toEqual(arrow.Type.Int);\n });\n\n it('Count(*) No BigInt', async () => {\n await adb().open({\n path: ':memory:',\n query: {\n castBigIntToDouble: true,\n },\n });\n const conn = await adb().connect();\n const table = await conn.query('select 1::BIGINT');\n expect(table.schema.fields.length).toEqual(1);\n expect(table.schema.fields[0].typeId).toEqual(arrow.Type.Float);\n });\n });\n\n describe('Prepared Statement', () => {\n it('Materialized', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare('SELECT v + ? FROM generate_series(0, 10000) as t(v);');\n const result = await stmt.query(234);\n expect(result.length).toBe(10001);\n await stmt.close();\n });\n\n it('Streaming', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const stream = await stmt.send(234);\n let size = 0;\n for await (const batch of stream) {\n size += batch.length;\n }\n expect(size).toBe(10001);\n await conn.close();\n });\n it('Typecheck', async () => {\n const conn = await adb().connect();\n await conn.query(`CREATE TABLE typecheck (\n a BOOLEAN DEFAULT NULL,\n b TINYINT DEFAULT NULL,\n c SMALLINT DEFAULT NULL,\n d INTEGER DEFAULT NULL,\n e BIGINT DEFAULT NULL,\n f FLOAT DEFAULT NULL,\n g DOUBLE DEFAULT NULL,\n h CHAR(11) DEFAULT NULL,\n i VARCHAR(11) DEFAULT NULL\n )`);\n\n const stmt = await conn.prepare('INSERT INTO typecheck VALUES(?,?,?,?,?,?,?,?,?)');\n\n const expectToThrow = async (fn: () => Promise<void>) => {\n let throwed = false;\n try {\n await fn();\n } catch (e) {\n throwed = true;\n }\n expect(throwed).toBe(true);\n };\n expectToThrow(async () => {\n await stmt.query(\n 'test', // varchar for bool\n 100,\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 10_000, // smallint for tinyint\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 100,\n 1_000_000, // int for smallint\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 100,\n 10_000,\n 5_000_000_000, // bigint for int\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n await conn.close();\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst testRows = 10000;\n\nexport function testBatchStream(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('Arrow Record-Batches Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Record-Batches Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst testRows = 10000;\n\nexport function testAsyncBatchStream(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n conn = await db().connect();\n });\n\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('AsyncDuckDB', () => {\n it('ping', async () => {\n await db().ping();\n });\n });\n\n describe('Arrow Record-Batches Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n\n describe('scripts', () => {\n it('test1', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS x, (sin(v) * 100 + 100)::INTEGER AS y FROM generate_series(0, ${testRows}) as t(v)\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(2);\n for (const row of batch) {\n expect(row!.x).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Record-Batches Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst decoder = new TextDecoder();\n\nexport function testFilesystem(\n db: () => duckdb.AsyncDuckDB,\n resolveData: (url: string) => Promise<Uint8Array | null>,\n baseDir: string,\n): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n conn = await db().connect();\n });\n\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('File buffer registration', () => {\n const test = async () => {\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n };\n it('File buffer used once', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await test();\n });\n it('File buffer registered twice', async () => {\n const students0 = await resolveData('/uni/studenten.parquet');\n const students1 = await resolveData('/uni/studenten.parquet');\n expect(students0).not.toBeNull();\n expect(students1).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students0!);\n await test();\n await db().registerFileBuffer('studenten.parquet', students1!);\n await test();\n });\n it('File buffer used twice', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await test();\n await test();\n });\n });\n\n describe('Parquet Scans', () => {\n it('single table from buffer', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n\n it('simple join', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n const hoeren = await resolveData('/uni/hoeren.parquet');\n const vorlesungen = await resolveData('/uni/vorlesungen.parquet');\n expect(students).not.toBeNull();\n expect(hoeren).not.toBeNull();\n expect(vorlesungen).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerFileBuffer('hoeren.parquet', hoeren!);\n await db().registerFileBuffer('vorlesungen.parquet', vorlesungen!);\n\n const result = await conn.send(`\n SELECT students.matrnr, vorlesungen.titel\n FROM parquet_scan('studenten.parquet') students\n INNER JOIN parquet_scan('hoeren.parquet') hoeren ON (students.matrnr = hoeren.matrnr)\n INNER JOIN parquet_scan('vorlesungen.parquet') vorlesungen ON (vorlesungen.vorlnr = hoeren.vorlnr);\n `);\n const table = await arrow.Table.from<{ matrnr: arrow.Int; titel: arrow.Utf8 }>(result);\n expect(table.numCols).toBe(2);\n const flat = [];\n for (const row of table) {\n flat.push({\n matrnr: row.matrnr,\n titel: row.titel?.toString(),\n });\n }\n expect(flat).toEqual([\n { matrnr: 26120, titel: 'Grundz\u00FCge' },\n { matrnr: 27550, titel: 'Grundz\u00FCge' },\n { matrnr: 27550, titel: 'Logik' },\n { matrnr: 28106, titel: 'Ethik' },\n { matrnr: 28106, titel: 'Wissenschaftstheorie' },\n { matrnr: 28106, titel: 'Bioethik' },\n { matrnr: 28106, titel: 'Der Wiener Kreis' },\n { matrnr: 29120, titel: 'Grundz\u00FCge' },\n { matrnr: 29120, titel: 'Ethik' },\n { matrnr: 29120, titel: 'M\u00E4eutik' },\n { matrnr: 29555, titel: 'Glaube und Wissen' },\n { matrnr: 25403, titel: 'Glaube und Wissen' },\n ]);\n });\n });\n\n describe('Writing', () => {\n it('Copy To CSV Buffer', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students.csv');\n await conn.query(`CREATE TABLE students AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students TO 'students.csv' WITH (HEADER 1, DELIMITER ';', FORMAT CSV);`);\n await conn.query(`DROP TABLE IF EXISTS students`);\n const outBuffer = await db().copyFileToBuffer('students.csv');\n expect(outBuffer).not.toBeNull();\n const text = decoder.decode(outBuffer!);\n expect(text).toBe(`matrnr;name;semester\n24002;Xenokrates;18\n25403;Jonas;12\n26120;Fichte;10\n26830;Aristoxenos;8\n27550;Schopenhauer;6\n28106;Carnap;3\n29120;Theophrastos;2\n29555;Feuerbach;2\n`);\n });\n\n it('Copy To Parquet', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students2.parquet');\n await conn.query(`CREATE TABLE students2 AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students2 TO 'students2.parquet' (FORMAT PARQUET);`);\n const url = await db().copyFileToBuffer('students2.parquet');\n expect(url).not.toBeNull();\n });\n\n it('Copy To Parquet And Load Again', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students3.parquet');\n await conn.query(`CREATE TABLE students3 AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students3 TO 'students3.parquet' (FORMAT PARQUET);`);\n const url = await db().copyFileToBuffer('students3.parquet');\n expect(url).not.toBeNull();\n await conn.query(`CREATE TABLE students4 AS SELECT * FROM parquet_scan('students3.parquet');`);\n const result = await conn.send(`SELECT matrnr FROM students4;`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n });\n\n describe('File access', () => {\n it('Small Parquet file', async () => {\n await db().registerFileURL('studenten.parquet', `${baseDir}/uni/studenten.parquet`);\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n\n it('Large Parquet file', async () => {\n await db().registerFileURL('lineitem.parquet', `${baseDir}/tpch/0_01/parquet/lineitem.parquet`);\n const result = await conn.send(`SELECT count(*)::INTEGER as cnt FROM parquet_scan('lineitem.parquet');`);\n const table = await arrow.Table.from<{ cnt: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.get(0)).toBeGreaterThan(60_000);\n });\n });\n\n describe('Export', () => {\n it('Generate Series as CSV', async () => {\n await conn.query('CREATE TABLE foo AS SELECT * FROM generate_series(1, 5) t(v)');\n await conn.query(`EXPORT DATABASE '/tmp/duckdbexportcsv'`);\n\n const results = await db().globFiles('/tmp/duckdbexportcsv/*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(3);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual([\n '/tmp/duckdbexportcsv/0_foo.csv',\n '/tmp/duckdbexportcsv/load.sql',\n '/tmp/duckdbexportcsv/schema.sql',\n ]);\n\n const csv_buffer_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/0_foo.csv');\n const load_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/load.sql');\n const schema_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/schema.sql');\n expect(load_script_utf8.length).not.toEqual(0);\n expect(schema_script_utf8.length).not.toEqual(0);\n expect(csv_buffer_utf8.length).not.toEqual(0);\n\n const load_script = decoder.decode(load_script_utf8);\n const schema_script = decoder.decode(schema_script_utf8);\n const csv_buffer = decoder.decode(csv_buffer_utf8);\n expect(load_script.trim()).toEqual(\n `COPY foo FROM '/tmp/duckdbexportcsv/0_foo.csv' (FORMAT 'csv', quote '\"', delimiter ',', header 0);`,\n );\n expect(schema_script.trim()).toEqual(`CREATE TABLE foo(v BIGINT);`);\n expect(csv_buffer.trim()).toEqual(`1\\n2\\n3\\n4\\n5`);\n });\n\n it('Generate Series as Parquet', async () => {\n await conn.query('CREATE TABLE foo AS SELECT * FROM generate_series(1, 5) t(v)');\n await conn.query(`EXPORT DATABASE '/tmp/duckdbexportparquet' (FORMAT PARQUET)`);\n\n const results = await db().globFiles('/tmp/duckdbexportparquet/*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(3);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual([\n '/tmp/duckdbexportparquet/0_foo.parquet',\n '/tmp/duckdbexportparquet/load.sql',\n '/tmp/duckdbexportparquet/schema.sql',\n ]);\n\n const parquet_buffer = await db().copyFileToBuffer('/tmp/duckdbexportparquet/0_foo.parquet');\n const load_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportparquet/load.sql');\n const schema_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportparquet/schema.sql');\n expect(load_script_utf8.length).not.toEqual(0);\n expect(schema_script_utf8.length).not.toEqual(0);\n expect(parquet_buffer.length).not.toEqual(0);\n\n const content = await conn.query(\n `SELECT v::integer FROM parquet_scan('/tmp/duckdbexportparquet/0_foo.parquet')`,\n );\n expect(content.nullCount).toEqual(0);\n expect(content.length).toEqual(5);\n expect(content.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 3, 4, 5]));\n });\n });\n\n describe('Copy', () => {\n it('Generate Series as Parquet', async () => {\n await conn.query(\n `COPY (SELECT * FROM generate_series(1, 5) t(v)) TO '/tmp/duckdbcopytest.parquet' (FORMAT 'parquet')`,\n );\n const results = await db().globFiles('/tmp/duckdbcopytest*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(1);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual(['/tmp/duckdbcopytest.parquet']);\n const parquet_buffer = await db().copyFileToBuffer('/tmp/duckdbcopytest.parquet');\n expect(parquet_buffer.length).not.toEqual(0);\n const content = await conn.query(`SELECT v::integer FROM parquet_scan('/tmp/duckdbcopytest.parquet')`);\n expect(content.length).toEqual(5);\n expect(content.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 3, 4, 5]));\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\n\nexport interface Column {\n name: string;\n values: any[];\n}\n\nexport function compareTable(table: arrow.Table, expected: Column[]): void {\n // Check column count\n const colCount = expected.length;\n expect(table.numCols).toEqual(colCount);\n if (colCount == 0) return;\n\n // Check columns\n const rowCount = expected[0].values.length;\n for (let i = 0; i < colCount; ++i) {\n expect(expected[i].values.length).toEqual(rowCount);\n expect(table.getColumnAt(i)?.length).toEqual(rowCount);\n expect(table.getColumnAt(i)?.name).toEqual(expected[i].name);\n }\n\n // Compare the actual values\n for (let i = 0; i < colCount; ++i) {\n const col = table.getColumnAt(i)!;\n const have = [];\n for (let j = 0; j < rowCount; ++j) {\n have.push(col.get(j));\n }\n expect(have).toEqual(expected[i].values);\n }\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\n/// Unfortunately, arrow.Table.from does not build a proper Schema.\n/// When it does, we might want to switch back to arrow.Table here instead\n/// of arrow Schema + ArrowBatch.\ninterface ArrowInsertTest {\n name: string;\n schema: arrow.Schema;\n batches: ArrowBatch[];\n options: duckdb.ArrowInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\ninterface ArrowBatch {\n numRows: number;\n columns: arrow.Vector[];\n}\n\nexport function generateXInt32(n: number, cols: number): number[][] {\n const columns = [];\n for (let j = 0; j < cols; ++j) {\n const column = [];\n for (let i = 0; i < n; ++i) {\n column.push(i);\n }\n columns.push(column);\n }\n return columns;\n}\n\nexport function generateArrowXInt32(n: number, cols: number): [arrow.Schema, arrow.RecordBatch[]] {\n const columns = generateXInt32(n, cols);\n const fields = [];\n for (let j = 0; j < cols; ++j) {\n fields.push(new arrow.Field(`v${j}`, new arrow.Int32()));\n }\n const schema = new arrow.Schema(fields);\n const batches = [];\n for (let i = 0; i < n; ) {\n const rows = Math.min(1000, n - i);\n batches.push(\n new arrow.RecordBatch(\n schema,\n rows,\n columns.map(c => arrow.Int32Vector.from(c.slice(i, i + n))),\n ),\n );\n i += rows;\n }\n return [schema, batches];\n}\n\nconst ARROW_INSERT_TESTS: ArrowInsertTest[] = [\n {\n name: 'integers_1',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int32()),\n new arrow.Field('c', new arrow.Int32()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int32Vector.from([2, 5, 8]),\n arrow.Int32Vector.from([3, 6, 9]),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'combined_1',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int16()),\n new arrow.Field('c', new arrow.Utf8()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int16Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n {\n name: 'combined_2',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int16()),\n new arrow.Field('c', new arrow.Utf8()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int16Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n },\n {\n numRows: 2,\n columns: [\n arrow.Int32Vector.from([10, 13]),\n arrow.Int16Vector.from([11, 14]),\n arrow.Utf8Vector.from(['12', '15']),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7, 10, 13] },\n { name: 'b', values: [2, 5, 8, 11, 14] },\n { name: 'c', values: ['3', '6', '9', '12', '15'] },\n ],\n },\n];\n\nexport function testArrowInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('Arrow insert from iterable', () => {\n for (const test of ARROW_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const table = new arrow.Table(\n test.schema,\n test.batches.map(b => new arrow.RecordBatch(test.schema, b.numRows, b.columns)),\n );\n conn.insertArrowTable(table, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testArrowInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('Arrow async insert from iterable', () => {\n for (const test of ARROW_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const table = new arrow.Table(\n test.schema,\n test.batches.map(b => new arrow.RecordBatch(test.schema, b.numRows, b.columns)),\n );\n await conn.insertArrowTable(table, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n describe('Arrow async insert from table', () => {\n it('simple integers', async () => {\n await conn.query(`DROP TABLE IF EXISTS insert_from_table`);\n const table = arrow.Table.new(\n [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int32Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n ['a', 'b', 'c'],\n );\n await conn.insertArrowTable(table, {\n name: 'insert_from_vectors',\n });\n const results = await conn.query('select * from insert_from_vectors');\n compareTable(results, [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ]);\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\nfunction describeBrowser(description: string, specDefinitions: () => void): void {\n if (typeof window !== 'undefined') {\n describe(description, specDefinitions);\n }\n}\n\nconst encoder = new TextEncoder();\n\ninterface JSONInsertTest {\n name: string;\n input: string;\n options: duckdb.JSONInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\nconst JSON_INSERT_TESTS: JSONInsertTest[] = [\n {\n name: 'rows_integers',\n input: `[\n {\"a\":1, \"b\":2, \"c\":3},\n {\"a\":4, \"b\":5, \"c\":6},\n {\"a\":7, \"b\":8, \"c\":9},\n ]`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'cols_integers',\n input: `{\n \"a\": [1, 4, 7],\n \"b\": [2, 5, 8],\n \"c\": [3, 6, 9]\n }`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'options_1',\n input: `[\n {\"a\":1, \"b\":2, \"c\":3},\n {\"a\":4, \"b\":5, \"c\":6},\n {\"a\":7, \"b\":8, \"c\":9},\n ]`,\n options: {\n schema: 'main',\n name: 'foo',\n shape: duckdb.JSONTableShape.ROW_ARRAY,\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.Utf8(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n];\n\nconst TEST_FILE = 'TEST';\n\nexport function testJSONInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('JSON Insert Sync', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n db().registerFileBuffer(TEST_FILE, buffer);\n conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testJSONInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('JSON Insert Buffer Async', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n await db().registerFileBuffer(TEST_FILE, buffer);\n await conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n\n describeBrowser('JSON Insert Blob Async', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n const blob = new Blob([buffer]);\n await db().registerFileHandle(TEST_FILE, blob);\n await conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\nfunction describeBrowser(description: string, specDefinitions: () => void): void {\n if (typeof window !== 'undefined') {\n describe(description, specDefinitions);\n }\n}\n\nconst encoder = new TextEncoder();\n\ninterface CSVInsertTest {\n name: string;\n input: string;\n options: duckdb.CSVInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\nconst CSV_INSERT_TESTS: CSVInsertTest[] = [\n {\n name: 'integers_auto_1',\n input: `\"a\",\"b\",\"c\"\n1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'integers_auto_2',\n input: `a,b,c\n1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'integers_auto_3',\n input: `a,b,c`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'column0', values: ['a'] },\n { name: 'column1', values: ['b'] },\n { name: 'column2', values: ['c'] },\n ],\n },\n {\n name: 'integers_auto_2',\n input: `a\n1\n4\n7\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [{ name: 'a', values: [1, 4, 7] }],\n },\n {\n name: 'options_1',\n input: `1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo2',\n header: false,\n detect: false,\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.Utf8(),\n },\n },\n query: 'SELECT * FROM main.foo2',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n {\n name: 'options_2',\n input: `1|2|01/02/2020\n4|5|01/03/2020\n7|8|01/04/2020\n`,\n options: {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n dateFormat: '%m/%d/%Y',\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.DateDay(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n {\n name: 'c',\n values: [\n new Date(Date.UTC(2020, 0, 2)),\n new Date(Date.UTC(2020, 0, 3)),\n new Date(Date.UTC(2020, 0, 4)),\n ],\n },\n ],\n },\n {\n name: 'options_3',\n input: `1|2|20:32:45 1992-03-02\n4|5|20:32:50 1992-03-02\n7|8|20:32:55 1992-03-02\n`,\n options: {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n quote: \"'\",\n timestampFormat: '%H:%M:%S %Y-%m-%d',\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.TimestampSecond(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n {\n name: 'c',\n values: [\n new Date(Date.UTC(1992, 2, 2, 20, 32, 45)).getTime(),\n new Date(Date.UTC(1992, 2, 2, 20, 32, 50)).getTime(),\n new Date(Date.UTC(1992, 2, 2, 20, 32, 55)).getTime(),\n ],\n },\n ],\n },\n];\n\nconst TEST_FILE = 'TEST';\n\nexport function testCSVInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('CSV Insert Sync', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n db().registerFileBuffer(TEST_FILE, buffer);\n conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testCSVInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('CSV Insert Buffer Async', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n await db().registerFileBuffer(TEST_FILE, buffer);\n await conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n\n describeBrowser('CSV Insert Blob Async', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n const blob = new Blob([buffer]);\n await db().registerFileHandle(TEST_FILE, blob);\n await conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n", "import * as duckdb from '../src/';\n\nexport function testTokenization(db: () => duckdb.DuckDBBindings): void {\n describe('Tokenizer', () => {\n it('SELECT 1', async () => {\n expect(db().tokenize('SELECT 1')).toEqual({\n offsets: [0, 7],\n types: [4, 1],\n });\n });\n it('SELECT * FROM region', async () => {\n expect(db().tokenize('SELECT * FROM region')).toEqual({\n offsets: [0, 7, 9, 14],\n types: [4, 3, 4, 0],\n });\n });\n });\n}\n\nexport function testTokenizationAsync(db: () => duckdb.AsyncDuckDB): void {\n describe('Tokenizer', () => {\n it('SELECT 1', async () => {\n expect(await db().tokenize('SELECT 1')).toEqual({\n offsets: [0, 7],\n types: [4, 1],\n });\n });\n it('SELECT * FROM region', async () => {\n expect(await db().tokenize('SELECT * FROM region')).toEqual({\n offsets: [0, 7, 9, 14],\n types: [4, 3, 4, 0],\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\n\ninterface TableNameTest {\n name: string;\n input: string;\n tables: string[];\n}\n\nconst TABLENAME_TESTS: TableNameTest[] = [\n {\n name: 'standard',\n input: 'SELECT * FROM my_table',\n tables: ['my_table'],\n },\n {\n name: 'fetch_specific',\n input: 'SELECT col_a FROM my_table',\n tables: ['my_table'],\n },\n {\n name: 'multiple_tables',\n input: 'SELECT * FROM my_table1, my_table2, my_table3',\n tables: ['my_table1', 'my_table2', 'my_table3'],\n },\n {\n name: 'same_table_multiple_times',\n input: 'SELECT col_a FROM my_table, my_table m2, my_table m3',\n tables: ['my_table'],\n },\n {\n name: 'subqueries',\n input: 'SELECT * FROM (SELECT * FROM (SELECT * FROM my_table) bla) bla3',\n tables: ['my_table'],\n },\n {\n name: 'join',\n input: 'SELECT col_a FROM my_table JOIN my_table2 ON (my_table.col_b=my_table2.col_d)',\n tables: ['my_table', 'my_table2'],\n },\n {\n name: 'scalar_subquery',\n input: 'SELECT (SELECT COUNT(*) FROM my_table)',\n tables: ['my_table'],\n },\n {\n name: 'set_operations',\n input: 'SELECT * FROM my_table UNION ALL SELECT * FROM my_table2 INTERSECT SELECT * FROM my_table3',\n tables: ['my_table', 'my_table2', 'my_table3'],\n },\n {\n name: 'window_functions',\n input: 'SELECT row_number() OVER (ORDER BY (SELECT i+j FROM my_table2)) FROM my_table',\n tables: ['my_table', 'my_table2'],\n },\n];\n\nexport function testTableNames(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n beforeEach(() => {\n conn = db().connect();\n });\n afterEach(() => {\n conn.close();\n });\n describe('TableNames', () => {\n for (const test of TABLENAME_TESTS) {\n it(test.name, () => {\n const tables = conn.getTableNames(test.input);\n expect(tables).toEqual(test.tables);\n });\n }\n });\n}\n\nexport function testTableNamesAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n beforeEach(async () => {\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n });\n describe('TableNames Async', () => {\n for (const test of TABLENAME_TESTS) {\n it(test.name, async () => {\n const tables = await conn.getTableNames(test.input);\n expect(tables).toEqual(test.tables);\n });\n }\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/332\nexport function test332(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('332', async () => {\n await db().registerFileText(\n 'Products.csv',\n `ProductGroup,Product,Year,Quarter,Revenue,Units,Count,Product Key,Reseller,Product Info,QuarterAsNumber\nElectronics,Phone,2018,Q1,103,7,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q1,102,4,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2019,Q1,98,12,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2018,Q1,104,3,1,2018-Q1,Samsung,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2019,Q1,83,7,1,2019-Q1,Google,Format=XML; <Properties>\u2026,1\nMedia,Theater,2018,Q1,17,4,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Theater,2019,Q1,20,7,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2018,Q1,25,12,1,2018-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nMedia,Movies,2019,Q1,26,13,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q2,105,5,1,2018-Q2,Samsung,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2019,Q2,82,15,1,2019-Q2,LG,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2018,Q2,99,4,1,2018-Q2,LG,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2019,Q2,84,20,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2018,Q2,17,4,1,2018-Q2,Microsoft,Format=XML; <Properties>\u2026,2\nMedia,Theater,2019,Q2,22,5,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2018,Q2,25,12,1,2018-Q2,Samsung,Format=XML; <Properties>\u2026,2\nMedia,Movies,2019,Q2,26,14,1,2019-Q2,Google,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2000,Q1,103,7,1,2000-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2001,Q1,102,4,1,2001-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2002,Q1,98,12,1,2002-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2003,Q1,104,3,1,2003-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2004,Q1,83,7,1,2004-Q1,Samsung,Format=XML; <Properties>\u2026,1\nMedia,Theater,2005,Q1,17,4,1,2005-Q1,Google,Format=XML; <Properties>\u2026,1\nMedia,Theater,2006,Q1,20,7,1,2006-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2007,Q1,25,12,1,2007-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2008,Q1,26,13,1,2008-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2009,Q2,105,5,1,2009-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2010,Q2,82,15,1,2010-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2011,Q2,99,4,1,2011-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2012,Q2,84,20,1,2012-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2013,Q2,17,4,1,2013-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2014,Q2,22,5,1,2014-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2015,Q2,25,12,1,2015-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2016,Q2,26,14,1,2016-Q2,Samsung,Format=XML; <Properties>\u2026,2\nMedia,Movies,2017,Q1,26,13,1,2017-Q1,Google,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q2,105,5,1,2018-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2019,Q2,82,15,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2020,Q2,99,4,1,2020-Q2,Microsoft,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2020,Q1,103,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2020,Q2,102,4,1,2020-Q2,Samsung,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2020,Q3,98,12,1,2020-Q3,LG,Format=XML; <Properties>\u2026,3\nElectronics,Computer,2020,Q4,104,3,1,2020-Q4,LG,Format=XML; <Properties>\u2026,4\nElectronics,Computer,2020,Q1,83,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Theater,2020,Q1,17,4,1,2020-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nMedia,Theater,2020,Q1,20,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\n`,\n );\n await conn.query(\"CREATE TABLE products AS SELECT * FROM 'Products.csv'\");\n const all = await conn.query('SELECT * FROM products');\n expect(all.schema.fields.length).toBe(11);\n expect(all.schema.fields[0].name).toBe('ProductGroup');\n const insensitive = await conn.query<{\n ProductGroup: arrow.Utf8;\n }>('SELECT productgroup FROM products GROUP BY productgroup');\n expect(insensitive.schema.fields.length).toBe(1);\n expect(insensitive.schema.fields[0].name).toBe('ProductGroup');\n expect(insensitive.toArray().length).toEqual(2);\n await conn.query('DROP TABLE products');\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/334\nexport function test334(adb: () => duckdb.AsyncDuckDB): void {\n describe('GitHub issues', () => {\n describe('334', () => {\n it('CSV insert', async () => {\n await adb().registerFileText(`data.csv`, '1|foo\\n2|bar\\n');\n const conn = await adb().connect();\n await conn.insertCSVFromPath('data.csv', {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n columns: {\n col1: new arrow.Int32(),\n col2: new arrow.Utf8(),\n },\n });\n await conn.query('DROP TABLE IF EXISTS foo');\n await conn.close();\n await adb().dropFile('data.csv');\n });\n it('JSON row insert', async () => {\n await adb().registerFileText(\n 'rows.json',\n `[\n { \"col1\": 1, \"col2\": \"foo\" },\n { \"col1\": 2, \"col2\": \"bar\" },\n ]`,\n );\n const conn = await adb().connect();\n await conn.insertJSONFromPath('rows.json', { name: 'rows' });\n await conn.query('DROP TABLE IF EXISTS rows');\n await conn.close();\n await adb().dropFile('rows.json');\n });\n it('JSON column insert', async () => {\n await adb().registerFileText(\n 'columns.json',\n `{\n \"col1\": [1, 2],\n \"col2\": [\"foo\", \"bar\"]\n }`,\n );\n const conn = await adb().connect();\n await conn.insertJSONFromPath('columns.json', { name: 'columns' });\n await conn.query('DROP TABLE IF EXISTS columns');\n await conn.close();\n await adb().dropFile('columns.json');\n });\n it('Query result materialized', async () => {\n const conn = await adb().connect();\n await conn.query<{ v: arrow.Int }>(`\n SELECT * FROM generate_series(1, 100) t(v)\n `);\n await conn.close();\n });\n it('Query result streamed', async () => {\n const conn = await adb().connect();\n for await (const batch of await conn.send<{ v: arrow.Int }>(`\n SELECT * FROM generate_series(1, 100) t(v)\n `)) {\n expect(batch.length).toBeGreaterThan(0);\n }\n await conn.close();\n });\n it('Prepared statement materialized', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\n await stmt.query(234);\n await stmt.close();\n await conn.close();\n });\n it('Prepared statement streamed', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\n for await (const batch of await stmt.send(234)) {\n expect(batch.length).toBeGreaterThan(0);\n }\n await stmt.close();\n await conn.close();\n });\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/393\nexport function test393(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('393', async () => {\n await db().open({\n path: ':memory:',\n query: {\n castTimestampToDate: false,\n },\n });\n conn = await db().connect();\n const resultWithoutCast = await conn.query<{\n ts: arrow.TimestampMillisecond;\n }>(`SELECT TIMESTAMP '1992-03-22 01:02:03' as ts`);\n expect(resultWithoutCast.toArray()[0].ts).toEqual(new Date(Date.UTC(1992, 2, 22, 1, 2, 3)).getTime());\n\n await db().open({\n path: ':memory:',\n query: {\n castTimestampToDate: true,\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n ts: arrow.DateMillisecond;\n }>(`SELECT TIMESTAMP '1992-03-22 01:02:03' as ts`);\n expect(resultWithCast.toArray()[0].ts).toEqual(new Date(Date.UTC(1992, 2, 22, 1, 2, 3)));\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/448\nexport function test448(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('448', async () => {\n conn = await db().connect();\n await conn.query(`create temp table test448(i integer)`);\n await conn.query(`insert into test448 values (1),(2),(1)`);\n let result = await conn.query(`select * from test448`);\n expect(result.numCols).toBe(1);\n expect(result.length).toBe(3);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 1]));\n result = await conn.query<{ i: arrow.Map_<arrow.Int32, arrow.Uint64> }>(`select histogram(i) from test448`);\n expect(result.numCols).toBe(1);\n expect(result.length).toBe(1);\n const array = result.getColumnAt(0)!.toArray();\n expect(array.length).toEqual(1);\n expect(array[0].toString()).toEqual('{ 1: 2, 2: 1 }');\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/470\nexport function test470(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('470', async () => {\n\n // Baseline without cast: we expect an error to be thrown because of the duration type that is emitted\n await db().open({\n path: ':memory:',\n query: {\n castDurationToTime64: false,\n },\n });\n conn = await db().connect();\n conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`)\n .then((x) => fail(\"Query is expected to fail due to duration type not being implemented\"))\n .catch(x => {expect(x).toEqual(new Error(\"Unrecognized type: \\\"Duration\\\" (18)\"))});\n\n // Cast explicitly enabled: Time64 value is returned\n await db().open({\n path: ':memory:',\n query: {\n castDurationToTime64: true,\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`);\n expect(resultWithCast.toArray()[0].interval?.toString()).toEqual(\"7776000000000\");\n\n // Cast should be on by default\n await db().open({\n path: ':memory:',\n query: {\n },\n });\n conn = await db().connect();\n const resultWithDefault = await conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`);\n expect(resultWithDefault.toArray()[0].interval?.toString()).toEqual(\"7776000000000\");\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/477\n// Note that when ArrowJS supports negative decimals, castDecimalToDouble should probably be deprecated.\nexport function test477(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('477', async () => {\n\n // Baseline without cast: we expect the negative decimal values to not work accurately\n await db().open({\n path: ':memory:',\n query: {\n },\n });\n conn = await db().connect();\n const resultWithoutCast = await conn.query(`SELECT (-1.9)::DECIMAL(2,1) as decimal`);\n expect(resultWithoutCast.schema.fields[0].type.scale).toEqual(1);\n expect(resultWithoutCast.schema.fields[0].type.precision).toEqual(2);\n // If this assertion breaks, arrow JS was likely updated to handle negative values\n expect(resultWithoutCast.toArray()[0].decimal.valueOf() == -19).toBe(false);\n\n\n // Using castDecimalToDouble we force decimals to be cast to doubles, note the inevitable imprecision.\n await db().open({\n path: ':memory:',\n query: {\n castDecimalToDouble : true\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n decimal: arrow.Float64\n }>(`SELECT (-1.9)::DECIMAL(2,1) as decimal`);\n expect(resultWithCast.toArray()[0].decimal?.valueOf()).toEqual(-1.9000000000000001);\n });\n });\n}\n", "import * as duckdb from '../../src/';\nimport { test332 } from './github_332.test';\nimport { test334 } from './github_334.test';\nimport { test393 } from './github_393.test';\nimport { test448 } from './github_448.test';\nimport { test470 } from './github_470.test';\nimport { test477 } from \"./github_477.test\";\n\nexport function testRegressionAsync(adb: () => duckdb.AsyncDuckDB): void {\n test332(adb);\n test334(adb);\n test393(adb);\n test448(adb);\n test470(adb);\n test477(adb);\n}\n", "import * as duckdb from '../src/';\nimport {Float64, Int32, Utf8} from 'apache-arrow';\n\nexport function testUDF(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('UDF', () => {\n\n it('simple', async () => {\n conn.createScalarFunction('jsudf', new Int32(), a => a);\n\n const result = conn.query(\n 'SELECT max(jsudf(v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([10000]));\n });\n\n it('double', async () => {\n conn.createScalarFunction('jsudf2', new Float64(), a => a);\n\n const result = conn.query(\n 'SELECT max(jsudf2(v::DOUBLE))::DOUBLE as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Float64Array([10000]));\n });\n\n it('twoargs', async () => {\n conn.createScalarFunction('jsudf3', new Int32(), (a, b) => a + b);\n\n const result = conn.query(\n 'SELECT max(jsudf3(v::INTEGER, v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([20000]));\n });\n\n it('noargs', async () => {\n conn.createScalarFunction('jsudf4', new Int32(), () => 42);\n const result = conn.query(\n 'SELECT max(jsudf4())::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([42]));\n });\n it('withnulls', async () => {\n conn.createScalarFunction('jsudf5', new Int32(), a => a == undefined ? -100 : a);\n const result = conn.query(\n 'SELECT min(jsudf5((case when v % 2 = 0 then v else null end)::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([-100]));\n });\n\n it('stringparam', async () => {\n function jsudf6(s : string) {\n return s.length;\n }\n conn.createScalarFunction('jsudf6', new Int32(), jsudf6);\n const result = conn.query(\n 'SELECT max(jsudf6(\\'str_\\' || v))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([9]));\n });\n\n it('stringparamnulls', async () => {\n function jsudf7(s : string) {\n if (s == undefined) {\n return 0;\n } else {\n return s.length;\n }\n }\n conn.createScalarFunction('jsudf7', new Int32(), jsudf7);\n const result = conn.query(\n 'SELECT max(jsudf7((case when v % 2 = 0 then \\'str_\\' || v else null end)::VARCHAR))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([9]));\n });\n\n it('nullintreturn', async () => {\n conn.createScalarFunction('jsudf8', new Int32(), (a) => undefined);\n\n const result = conn.query(\n 'SELECT max(COALESCE(jsudf8(v::INTEGER), 42))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([42]));\n });\n\n\n it('stringreturn', async () => {\n conn.createScalarFunction('jsudf9', new Utf8(), (a) => 'Hello ' + a);\n\n const result = conn.query(\n 'SELECT max(LENGTH(jsudf9(v::INTEGER)))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([11]));\n });\n\n it('nullstringreturn', async () => {\n conn.createScalarFunction('jsudf10', new Utf8(), (a) => a % 2 == 0 ? 'Hello' : undefined);\n\n const result = conn.query(\n 'SELECT COUNT(jsudf10(v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([5000]));\n });\n\n });\n}\n", "import * as duckdb_blocking from '../src/targets/duckdb-browser-blocking';\nimport * as duckdb from '../src/targets/duckdb';\nimport * as check from 'wasm-feature-detect';\n\n// Configure the worker\nconst DUCKDB_BUNDLES: duckdb.DuckDBBundles = {\n mvp: {\n mainModule: new URL('/static/duckdb-mvp.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-mvp.worker.js', window.location.href).href,\n },\n eh: {\n mainModule: new URL('/static/duckdb-eh.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-eh.worker.js', window.location.href).href,\n },\n coi: {\n mainModule: new URL('/static/duckdb-coi.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-coi.worker.js', window.location.href).href,\n pthreadWorker: new URL('/static/duckdb-browser-coi.pthread.worker.js', window.location.href).href,\n },\n};\nlet DUCKDB_BUNDLE: duckdb.DuckDBBundle | null = null;\n\ndescribe('wasm check', () => {\n it('worker and wasm urls', async () => {\n if (\n (await duckdb.getPlatformFeatures()).crossOriginIsolated &&\n (await check.exceptions()) &&\n (await check.threads())\n ) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.coi!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.coi!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(DUCKDB_BUNDLES.coi!.pthreadWorker);\n }\n if ((await check.exceptions()) && !(await check.threads())) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.eh!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.eh!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(null);\n }\n if (!(await check.exceptions())) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.mvp!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.mvp!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(null);\n }\n });\n});\n\n// Loading debug symbols, especially for WASM take insanely long so we just disable the test timeout\njasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;\n\n// Resolve a buffer by fetching from disk\nconst resolveBuffer = async (url: string) => {\n const req = await fetch(`/data${url}`);\n if (!req.ok) return null;\n return new Uint8Array(await req.arrayBuffer());\n};\n\n// Resolve test data\nconst resolveData = async (url: string) => {\n switch (url) {\n case '/uni/all.zip':\n return await resolveBuffer('/uni/all.zip');\n case '/uni/assistenten.parquet':\n return await resolveBuffer('/uni/assistenten.parquet');\n case '/uni/studenten.parquet':\n return await resolveBuffer('/uni/studenten.parquet');\n case '/uni/hoeren.parquet':\n return await resolveBuffer('/uni/hoeren.parquet');\n case '/uni/vorlesungen.parquet':\n return await resolveBuffer('/uni/vorlesungen.parquet');\n case '/tpch/0_01/parquet/lineitem.parquet':\n return await resolveBuffer('/tpch/0_01/parquet/lineitem.parquet');\n default:\n return null;\n }\n};\n\n// Test environment\nlet db: duckdb_blocking.DuckDBBindings | null = null;\nlet adb: duckdb.AsyncDuckDB | null = null;\nlet worker: Worker | null = null;\n\nbeforeAll(async () => {\n const logger = new duckdb_blocking.VoidLogger();\n db = await duckdb_blocking.createDuckDB(DUCKDB_BUNDLES, logger, duckdb_blocking.BROWSER_RUNTIME);\n await db.instantiate(_ => {});\n\n DUCKDB_BUNDLE = await duckdb.selectBundle(DUCKDB_BUNDLES);\n worker = await duckdb.createWorker(DUCKDB_BUNDLE!.mainWorker!);\n adb = new duckdb.AsyncDuckDB(logger, worker);\n await adb.instantiate(DUCKDB_BUNDLE!.mainModule, DUCKDB_BUNDLE!.pthreadWorker);\n});\n\nafterAll(async () => {\n if (worker) worker.terminate();\n});\n\nimport { testAllTypes, testAllTypesAsync } from './all_types.test';\nimport { testHTTPFS, testHTTPFSAsync } from './httpfs_test';\nimport { testBindings, testAsyncBindings } from './bindings.test';\nimport { testBatchStream } from './batch_stream.test';\nimport { testAsyncBatchStream } from './batch_stream_async.test';\nimport { testFilesystem } from './filesystem.test';\nimport { testArrowInsert, testArrowInsertAsync } from './insert_arrow.test';\nimport { testJSONInsert, testJSONInsertAsync } from './insert_json.test';\nimport { testCSVInsert, testCSVInsertAsync } from './insert_csv.test';\nimport { testTokenization, testTokenizationAsync } from './tokenizer.test';\nimport { testTableNames, testTableNamesAsync } from './tablenames.test';\nimport { testRegressionAsync } from './regression';\nimport { testUDF } from './udf.test';\n\nconst baseURL = window.location.origin;\nconst dataURL = `${baseURL}/data`;\n\ntestHTTPFS(() => db!);\ntestHTTPFSAsync(() => adb!, resolveData, dataURL);\ntestUDF(() => db!);\ntestTableNames(() => db!);\ntestTableNamesAsync(() => adb!);\ntestRegressionAsync(() => adb!);\ntestAllTypes(() => db!);\ntestAllTypesAsync(() => adb!);\ntestBindings(() => db!, dataURL);\ntestAsyncBindings(() => adb!, dataURL);\ntestBatchStream(() => db!);\ntestAsyncBatchStream(() => adb!);\ntestFilesystem(() => adb!, resolveData, dataURL);\ntestArrowInsert(() => db!);\ntestArrowInsertAsync(() => adb!);\ntestJSONInsert(() => db!);\ntestJSONInsertAsync(() => adb!);\ntestCSVInsert(() => db!);\ntestCSVInsertAsync(() => adb!);\ntestTokenization(() => db!);\ntestTokenizationAsync(() => adb!);\n"],
|
|
4
|
+
"sourcesContent": ["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __spreadArray = function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__spreadArray\", __spreadArray);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n", "/// @file\n/// @addtogroup flatbuffers_javascript_api\n/// @{\n/// @cond FLATBUFFERS_INTERNAL\n\n/**\n * @fileoverview\n *\n * Need to suppress 'global this' error so the Node.js export line doesn't cause\n * closure compile to error out.\n * @suppress {globalThis}\n */\n\n/**\n * @const\n * @namespace\n */\nvar flatbuffers = {};\n\n/**\n * @typedef {number}\n */\nflatbuffers.Offset;\n\n/**\n * @typedef {{\n * bb: flatbuffers.ByteBuffer,\n * bb_pos: number\n * }}\n */\nflatbuffers.Table;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_SHORT = 2;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_INT = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.FILE_IDENTIFIER_LENGTH = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZE_PREFIX_LENGTH = 4;\n\n/**\n * @enum {number}\n */\nflatbuffers.Encoding = {\n UTF8_BYTES: 1,\n UTF16_STRING: 2\n};\n\n/**\n * @type {Int32Array}\n * @const\n */\nflatbuffers.int32 = new Int32Array(2);\n\n/**\n * @type {Float32Array}\n * @const\n */\nflatbuffers.float32 = new Float32Array(flatbuffers.int32.buffer);\n\n/**\n * @type {Float64Array}\n * @const\n */\nflatbuffers.float64 = new Float64Array(flatbuffers.int32.buffer);\n\n/**\n * @type {boolean}\n * @const\n */\nflatbuffers.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @constructor\n * @param {number} low\n * @param {number} high\n */\nflatbuffers.Long = function(low, high) {\n /**\n * @type {number}\n * @const\n */\n this.low = low | 0;\n\n /**\n * @type {number}\n * @const\n */\n this.high = high | 0;\n};\n\n/**\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.Long.create = function(low, high) {\n // Special-case zero to avoid GC overhead for default values\n return low == 0 && high == 0 ? flatbuffers.Long.ZERO : new flatbuffers.Long(low, high);\n};\n\n/**\n * @returns {number}\n */\nflatbuffers.Long.prototype.toFloat64 = function() {\n return (this.low >>> 0) + this.high * 0x100000000;\n};\n\n/**\n * @param {flatbuffers.Long} other\n * @returns {boolean}\n */\nflatbuffers.Long.prototype.equals = function(other) {\n return this.low == other.low && this.high == other.high;\n};\n\n/**\n * @type {!flatbuffers.Long}\n * @const\n */\nflatbuffers.Long.ZERO = new flatbuffers.Long(0, 0);\n\n/// @endcond\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a FlatBufferBuilder.\n *\n * @constructor\n * @param {number=} opt_initial_size\n */\nflatbuffers.Builder = function(opt_initial_size) {\n if (!opt_initial_size) {\n var initial_size = 1024;\n } else {\n var initial_size = opt_initial_size;\n }\n\n /**\n * @type {flatbuffers.ByteBuffer}\n * @private\n */\n this.bb = flatbuffers.ByteBuffer.allocate(initial_size);\n\n /**\n * Remaining space in the ByteBuffer.\n *\n * @type {number}\n * @private\n */\n this.space = initial_size;\n\n /**\n * Minimum alignment encountered so far.\n *\n * @type {number}\n * @private\n */\n this.minalign = 1;\n\n /**\n * The vtable for the current table.\n *\n * @type {Array.<number>}\n * @private\n */\n this.vtable = null;\n\n /**\n * The amount of fields we're actually using.\n *\n * @type {number}\n * @private\n */\n this.vtable_in_use = 0;\n\n /**\n * Whether we are currently serializing a table.\n *\n * @type {boolean}\n * @private\n */\n this.isNested = false;\n\n /**\n * Starting offset of the current struct/table.\n *\n * @type {number}\n * @private\n */\n this.object_start = 0;\n\n /**\n * List of offsets of all vtables.\n *\n * @type {Array.<number>}\n * @private\n */\n this.vtables = [];\n\n /**\n * For the current vector being built.\n *\n * @type {number}\n * @private\n */\n this.vector_num_elems = 0;\n\n /**\n * False omits default values from the serialized data\n *\n * @type {boolean}\n * @private\n */\n this.force_defaults = false;\n};\n\nflatbuffers.Builder.prototype.clear = function() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n};\n\n/**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param {boolean} forceDefaults true always serializes default values\n */\nflatbuffers.Builder.prototype.forceDefaults = function(forceDefaults) {\n this.force_defaults = forceDefaults;\n};\n\n/**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n *\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.Builder.prototype.dataBuffer = function() {\n return this.bb;\n};\n\n/**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n *\n * @returns {!Uint8Array}\n */\nflatbuffers.Builder.prototype.asUint8Array = function() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param {number} size This is the of the new element to write\n * @param {number} additional_bytes The padding size\n */\nflatbuffers.Builder.prototype.prep = function(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n var align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n var old_buf_size = this.bb.capacity();\n this.bb = flatbuffers.Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n\n this.pad(align_size);\n};\n\n/**\n * @param {number} byte_size\n */\nflatbuffers.Builder.prototype.pad = function(byte_size) {\n for (var i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt8 = function(value) {\n this.bb.writeInt8(this.space -= 1, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt16 = function(value) {\n this.bb.writeInt16(this.space -= 2, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt32 = function(value) {\n this.bb.writeInt32(this.space -= 4, value);\n};\n\n/**\n * @param {flatbuffers.Long} value\n */\nflatbuffers.Builder.prototype.writeInt64 = function(value) {\n this.bb.writeInt64(this.space -= 8, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat32 = function(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat64 = function(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n};\n/// @endcond\n\n/**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int8` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt8 = function(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n};\n\n/**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int16` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt16 = function(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n};\n\n/**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt32 = function(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n};\n\n/**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {flatbuffers.Long} value The `int64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt64 = function(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n};\n\n/**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat32 = function(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n};\n\n/**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat64 = function(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt8 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt16 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Long} value\n * @param {flatbuffers.Long} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || !value.equals(defaultValue)) {\n this.addInt64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldOffset = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n *\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldStruct = function(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n *\n * @param {flatbuffers.Offset} obj The offset of the created object\n */\nflatbuffers.Builder.prototype.nested = function(obj) {\n if (obj != this.offset()) {\n throw new Error('FlatBuffers: struct must be serialized inline.');\n }\n};\n\n/**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\nflatbuffers.Builder.prototype.notNested = function() {\n if (this.isNested) {\n throw new Error('FlatBuffers: object serialization must not be nested.');\n }\n};\n\n/**\n * Set the current vtable at `voffset` to the current location in the buffer.\n *\n * @param {number} voffset\n */\nflatbuffers.Builder.prototype.slot = function(voffset) {\n this.vtable[voffset] = this.offset();\n};\n\n/**\n * @returns {flatbuffers.Offset} Offset relative to the end of the buffer.\n */\nflatbuffers.Builder.prototype.offset = function() {\n return this.bb.capacity() - this.space;\n};\n\n/**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param {flatbuffers.ByteBuffer} bb The current buffer with the existing data\n * @returns {!flatbuffers.ByteBuffer} A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\nflatbuffers.Builder.growByteBuffer = function(bb) {\n var old_buf_size = bb.capacity();\n\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n\n var new_buf_size = old_buf_size << 1;\n var nbb = flatbuffers.ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n};\n/// @endcond\n\n/**\n * Adds on offset, relative to where it will be written.\n *\n * @param {flatbuffers.Offset} offset The offset to add.\n */\nflatbuffers.Builder.prototype.addOffset = function(offset) {\n this.prep(flatbuffers.SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n *\n * @param {number} numfields\n */\nflatbuffers.Builder.prototype.startObject = function(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (var i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n};\n\n/**\n * Finish off writing the object that is under construction.\n *\n * @returns {flatbuffers.Offset} The offset to the object inside `dataBuffer`\n */\nflatbuffers.Builder.prototype.endObject = function() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n\n this.addInt32(0);\n var vtableloc = this.offset();\n\n // Trim trailing zeroes.\n var i = this.vtable_in_use - 1;\n for (; i >= 0 && this.vtable[i] == 0; i--) {}\n var trimmed_size = i + 1;\n\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n\n var standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n var len = (trimmed_size + standard_fields) * flatbuffers.SIZEOF_SHORT;\n this.addInt16(len);\n\n // Search for an existing vtable that matches the current one.\n var existing_vtable = 0;\n var vt1 = this.space;\nouter_loop:\n for (i = 0; i < this.vtables.length; i++) {\n var vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (var j = flatbuffers.SIZEOF_SHORT; j < len; j += flatbuffers.SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n } else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n\n this.isNested = false;\n return vtableloc;\n};\n/// @endcond\n\n/**\n * Finalize a buffer, poiting to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n * @param {boolean=} opt_size_prefix\n */\nflatbuffers.Builder.prototype.finish = function(root_table, opt_file_identifier, opt_size_prefix) {\n var size_prefix = opt_size_prefix ? flatbuffers.SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n var file_identifier = opt_file_identifier;\n this.prep(this.minalign, flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, flatbuffers.SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n};\n\n/**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n */\nflatbuffers.Builder.prototype.finishSizePrefixed = function (root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n *\n * @param {flatbuffers.Offset} table\n * @param {number} field\n */\nflatbuffers.Builder.prototype.requiredField = function(table, field) {\n var table_start = this.bb.capacity() - table;\n var vtable_start = table_start - this.bb.readInt32(table_start);\n var ok = this.bb.readInt16(vtable_start + field) != 0;\n\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new Error('FlatBuffers: field ' + field + ' must be set');\n }\n};\n\n/**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param {number} elem_size The size of each element in the array\n * @param {number} num_elems The number of elements in the array\n * @param {number} alignment The alignment of the array\n */\nflatbuffers.Builder.prototype.startVector = function(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(flatbuffers.SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n};\n\n/**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns {flatbuffers.Offset} The offset at which the newly created array\n * starts.\n */\nflatbuffers.Builder.prototype.endVector = function() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n};\n/// @endcond\n\n/**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param {string|Uint8Array} s The string to encode\n * @return {flatbuffers.Offset} The offset in the buffer where the encoded string starts\n */\nflatbuffers.Builder.prototype.createString = function(s) {\n if (s instanceof Uint8Array) {\n var utf8 = s;\n } else {\n var utf8 = [];\n var i = 0;\n\n while (i < s.length) {\n var codePoint;\n\n // Decode UTF-16\n var a = s.charCodeAt(i++);\n if (a < 0xD800 || a >= 0xDC00) {\n codePoint = a;\n } else {\n var b = s.charCodeAt(i++);\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\n }\n\n // Encode UTF-8\n if (codePoint < 0x80) {\n utf8.push(codePoint);\n } else {\n if (codePoint < 0x800) {\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\n } else {\n if (codePoint < 0x10000) {\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\n } else {\n utf8.push(\n ((codePoint >> 18) & 0x07) | 0xF0,\n ((codePoint >> 12) & 0x3F) | 0x80);\n }\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\n }\n utf8.push((codePoint & 0x3F) | 0x80);\n }\n }\n }\n\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (var i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.Builder.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n////////////////////////////////////////////////////////////////////////////////\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`).\n *\n * @constructor\n * @param {Uint8Array} bytes\n */\nflatbuffers.ByteBuffer = function(bytes) {\n /**\n * @type {Uint8Array}\n * @private\n */\n this.bytes_ = bytes;\n\n /**\n * @type {number}\n * @private\n */\n this.position_ = 0;\n};\n\n/**\n * Create and allocate a new ByteBuffer with a given size.\n *\n * @param {number} byte_size\n * @returns {!flatbuffers.ByteBuffer}\n */\nflatbuffers.ByteBuffer.allocate = function(byte_size) {\n return new flatbuffers.ByteBuffer(new Uint8Array(byte_size));\n};\n\nflatbuffers.ByteBuffer.prototype.clear = function() {\n this.position_ = 0;\n};\n\n/**\n * Get the underlying `Uint8Array`.\n *\n * @returns {Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.bytes = function() {\n return this.bytes_;\n};\n\n/**\n * Get the buffer's position.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.position = function() {\n return this.position_;\n};\n\n/**\n * Set the buffer's position.\n *\n * @param {number} position\n */\nflatbuffers.ByteBuffer.prototype.setPosition = function(position) {\n this.position_ = position;\n};\n\n/**\n * Get the buffer's capacity.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.capacity = function() {\n return this.bytes_.length;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt8 = function(offset) {\n return this.readUint8(offset) << 24 >> 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint8 = function(offset) {\n return this.bytes_[offset];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt16 = function(offset) {\n return this.readUint16(offset) << 16 >> 16;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint16 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt32 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint32 = function(offset) {\n return this.readInt32(offset) >>> 0;\n};\n\n/**\n * @param {number} offset\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readInt64 = function(offset) {\n return new flatbuffers.Long(this.readInt32(offset), this.readInt32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readUint64 = function(offset) {\n return new flatbuffers.Long(this.readUint32(offset), this.readUint32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat32 = function(offset) {\n flatbuffers.int32[0] = this.readInt32(offset);\n return flatbuffers.float32[0];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat64 = function(offset) {\n flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1] = this.readInt32(offset);\n flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return flatbuffers.float64[0];\n};\n\n/**\n * @param {number} offset\n * @param {number|boolean} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt8 = function(offset, value) {\n this.bytes_[offset] = /** @type {number} */(value);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint8 = function(offset, value) {\n this.bytes_[offset] = value;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt64 = function(offset, value) {\n this.writeInt32(offset, value.low);\n this.writeInt32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint64 = function(offset, value) {\n this.writeUint32(offset, value.low);\n this.writeUint32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat32 = function(offset, value) {\n flatbuffers.float32[0] = value;\n this.writeInt32(offset, flatbuffers.int32[0]);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat64 = function(offset, value) {\n flatbuffers.float64[0] = value;\n this.writeInt32(offset, flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0]);\n};\n\n/**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n * @returns {string}\n */\nflatbuffers.ByteBuffer.prototype.getBufferIdentifier = function() {\n if (this.bytes_.length < this.position_ + flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error(\n 'FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n var result = \"\";\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(\n this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i));\n }\n return result;\n};\n\n/**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n *\n * @param {number} bb_pos\n * @param {number} vtable_offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__offset = function(bb_pos, vtable_offset) {\n var vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n};\n\n/**\n * Initialize any Table-derived type to point to the union at the given offset.\n *\n * @param {flatbuffers.Table} t\n * @param {number} offset\n * @returns {flatbuffers.Table}\n */\nflatbuffers.ByteBuffer.prototype.__union = function(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n};\n\n/**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to UTF-16, pass flatbuffers.Encoding.UTF8_BYTES as\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\n * and from UTF-16 when the data will just be packaged back up in another\n * FlatBuffer later on.\n *\n * @param {number} offset\n * @param {flatbuffers.Encoding=} opt_encoding Defaults to UTF16_STRING\n * @returns {string|!Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.__string = function(offset, opt_encoding) {\n offset += this.readInt32(offset);\n\n var length = this.readInt32(offset);\n var result = '';\n var i = 0;\n\n offset += flatbuffers.SIZEOF_INT;\n\n if (opt_encoding === flatbuffers.Encoding.UTF8_BYTES) {\n return this.bytes_.subarray(offset, offset + length);\n }\n\n while (i < length) {\n var codePoint;\n\n // Decode UTF-8\n var a = this.readUint8(offset + i++);\n if (a < 0xC0) {\n codePoint = a;\n } else {\n var b = this.readUint8(offset + i++);\n if (a < 0xE0) {\n codePoint =\n ((a & 0x1F) << 6) |\n (b & 0x3F);\n } else {\n var c = this.readUint8(offset + i++);\n if (a < 0xF0) {\n codePoint =\n ((a & 0x0F) << 12) |\n ((b & 0x3F) << 6) |\n (c & 0x3F);\n } else {\n var d = this.readUint8(offset + i++);\n codePoint =\n ((a & 0x07) << 18) |\n ((b & 0x3F) << 12) |\n ((c & 0x3F) << 6) |\n (d & 0x3F);\n }\n }\n }\n\n // Encode UTF-16\n if (codePoint < 0x10000) {\n result += String.fromCharCode(codePoint);\n } else {\n codePoint -= 0x10000;\n result += String.fromCharCode(\n (codePoint >> 10) + 0xD800,\n (codePoint & ((1 << 10) - 1)) + 0xDC00);\n }\n }\n\n return result;\n};\n\n/**\n * Retrieve the relative offset stored at \"offset\"\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__indirect = function(offset) {\n return offset + this.readInt32(offset);\n};\n\n/**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector = function(offset) {\n return offset + this.readInt32(offset) + flatbuffers.SIZEOF_INT; // data starts after the length\n};\n\n/**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector_len = function(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n};\n\n/**\n * @param {string} ident\n * @returns {boolean}\n */\nflatbuffers.ByteBuffer.prototype.__has_identifier = function(ident) {\n if (ident.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {!flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n\n// Exports for Node.js and RequireJS\nthis.flatbuffers = flatbuffers;\n\n/// @endcond\n/// @}\n", 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, 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, 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, null, "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +\n HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +\n HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +\n HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +\n HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +\n HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +\n HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +\n HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +\n HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +\n HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,\n (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,\n (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "", "", "/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nmodule.exports = Worker;", null, "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader);\n }\n\n /** Send a query */\n public send<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.RecordBatchStreamReader<T> {\n const header = this._bindings.sendQuery(this._conn, text);\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n const buffer = table.serialize('binary', true);\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n const bufferI8 = this.bindings.fetchQueryResults(this.conn);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction type_size(ptype: string) {\n switch(ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptr_to_arr(mod: DuckDBModule, ptr: number, ptype: string, n:number) {\n const in_buf = mod.HEAPU8.subarray(ptr, ptr + n * type_size(ptype));\n\n switch(ptype) {\n case 'UINT8': {\n return new Uint8Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'INT8': {\n return new Int8Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'INT32': {\n return new Int32Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'FLOAT': {\n return new Float32Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'DOUBLE': {\n return new Float64Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n case 'VARCHAR': {\n return new Float64Array(in_buf.buffer, in_buf.byteOffset, n);\n }\n default:\n return new Array<string>(0); // cough\n }\n}\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n\n // schema description as json\n const desc_str = new TextDecoder().decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(desc_str);\n //console.log(desc);\n\n // array of buffer pointers referred to from schema\n const ptrs = ptr_to_arr(mod, ptrsPtr, 'DOUBLE', ptrsSize/8);\n\n const validity_arr = [];\n const data_arr = [];\n\n // create argument arrays\n for (const idx in desc.args) {\n const arg = desc.args[idx];\n const arg_arr = ptr_to_arr(mod, ptrs[arg.data_buffer] as number, arg.physical_type, desc.rows);\n const validity = ptr_to_arr(mod, ptrs[arg.validity_buffer] as number, 'UINT8', desc.rows);\n\n if (arg_arr.length == 0 || validity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for argument \" + arg.physical_type);\n return;\n }\n validity_arr.push(validity);\n\n // some special handling for more involved types\n if (arg.physical_type == 'VARCHAR') {\n const length_arr = ptr_to_arr(mod, ptrs[arg.length_buffer] as number, 'DOUBLE', desc.rows);\n\n const string_data_arr = [];\n const decoder = new TextDecoder();\n for (let i = 0; i < desc.rows; ++i) {\n if (!validity[i]) {\n string_data_arr.push(undefined);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(arg_arr[i] as number, (arg_arr[i] as number) + (length_arr[i] as number));\n const str = decoder.decode(subarray);\n string_data_arr.push(str);\n }\n data_arr.push(string_data_arr);\n\n } else {\n data_arr.push(arg_arr);\n }\n }\n\n // create output array\n // TODO we probably do not want to recreate those every time\n const out_data_len = desc.rows * type_size(desc.ret.physical_type);\n const out_data_ptr = mod._malloc(out_data_len);\n let out_data = ptr_to_arr(mod, out_data_ptr, desc.ret.physical_type, desc.rows);\n\n const out_validity_ptr = mod._malloc(desc.rows);\n const out_validity = ptr_to_arr(mod, out_validity_ptr, 'UINT8', desc.rows);\n\n // actually call the function\n if (out_data.length == 0 || out_validity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n\n const out_data_org = out_data;\n if (desc.ret.physical_type == 'VARCHAR') {\n out_data = new Array<string>(desc.rows);\n }\n // TODO can we do something with .apply() here?\n switch (desc.args.length) {\n case 0:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func();\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n case 1:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func(validity_arr[0][i] ? data_arr[0][i] : undefined);\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n case 2:\n for (let i = 0; i < desc.rows; ++i) {\n const res = udf.func(validity_arr[0][i] ? data_arr[0][i] : undefined, validity_arr[1][i] ? data_arr[1][i] : undefined);\n out_data[i] = res;\n out_validity[i] = res == undefined ? 0 : 1;\n }\n break;\n default:\n storeError(mod, response, \"Can't deal with argument count: \" + desc.args.length);\n return;\n }\n\n // return value encoding. Most fun for strings so far.\n let out_len_ptr = 0;\n if (desc.ret.physical_type == 'VARCHAR') {\n const enc = new TextEncoder();\n const utf_arrs = new Array<Uint8Array>(0); // cough\n let total_len = 0;\n out_len_ptr = mod._malloc(desc.rows * type_size('DOUBLE'));\n const out_len = ptr_to_arr(mod, out_len_ptr, 'DOUBLE', desc.rows);\n\n // TODO we need two loops to figure out the total length but maybe we can avoid the double allocation\n for (let row_idx = 0; row_idx < desc.rows; ++row_idx) {\n utf_arrs[row_idx] = enc.encode(out_data[row_idx] as unknown as string);\n total_len += utf_arrs[row_idx].length;\n out_len[row_idx] = utf_arrs[row_idx].length;\n }\n\n // we malloc a buffer for the strings to live in for now\n const out_string_ptr = mod._malloc(total_len);\n const out_string_buf = mod.HEAPU8.subarray(out_string_ptr, out_string_ptr + total_len);\n // now copy all the strings to the new buffer back to back and fill the out_data and out_length arrays\n let out_offset = 0;\n out_data = out_data_org;\n\n for (let row_idx = 0; row_idx < desc.rows; ++row_idx) {\n out_data[row_idx] = out_string_ptr + out_offset;\n for (let char_idx = 0; char_idx < utf_arrs[row_idx].length; char_idx++) {\n out_string_buf[out_offset + char_idx] = utf_arrs[row_idx][char_idx];\n }\n out_offset += utf_arrs[row_idx].length;\n }\n }\n\n const out_len = 3*8; // need to store three pointers, data, validity and length\n // TODO maybe we can re-use this buffer, too\n const out_ptr = mod._malloc(out_len);\n const out_arr = ptr_to_arr(mod, out_ptr, 'DOUBLE', 3);\n\n out_arr[0] = out_data_ptr;\n out_arr[1] = out_validity_ptr;\n out_arr[2] = out_len_ptr;\n\n mod.HEAPF64[(response >> 3) + 0] = 0; // status\n mod.HEAPF64[(response >> 3) + 1] = out_ptr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = mod.HEAPU8.subarray(begin, begin + length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(mod.HEAPU8.subarray(begin, begin + length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NATIVE = 1,\n HTTP = 3,\n S3 = 4,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n dataNativeFd: number | null;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(mod: DuckDBModule, response: number, funcId: number, descPtr: number, descSize: number, ptrsPtr: number, ptrsSize: number): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import * as arrow from 'apache-arrow';\n\nexport interface FlatArrowType {\n /// The type\n type: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Fields\n children?: FlatArrowField[];\n}\n\nexport function flattenArrowType(type: arrow.DataType): FlatArrowType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { type: 'binary' };\n case arrow.Type.Bool:\n return { type: 'bool' };\n case arrow.Type.Date:\n return { type: 'date' };\n case arrow.Type.DateDay:\n return { type: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { type: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { type: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { type: 'float' };\n case arrow.Type.Float16:\n return { type: 'float16' };\n case arrow.Type.Float32:\n return { type: 'float32' };\n case arrow.Type.Float64:\n return { type: 'float64' };\n case arrow.Type.Int:\n return { type: 'int32' };\n case arrow.Type.Int16:\n return { type: 'int16' };\n case arrow.Type.Int32:\n return { type: 'int32' };\n case arrow.Type.Int64:\n return { type: 'int64' };\n case arrow.Type.Uint16:\n return { type: 'uint16' };\n case arrow.Type.Uint32:\n return { type: 'uint32' };\n case arrow.Type.Uint64:\n return { type: 'uint64' };\n case arrow.Type.Uint8:\n return { type: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { type: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { type: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n type: 'list',\n children: [flattenArrowField(list.valueField.name, list.valueField.type)],\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { type: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { type: 'null' };\n case arrow.Type.Utf8:\n return { type: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n type: 'struct',\n children: struct_.children.map(c => flattenArrowField(c.name, c.type)),\n };\n }\n case arrow.Type.Time:\n return { type: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { type: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { type: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { type: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { type: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { type: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { type: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { type: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { type: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { type: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type FlatArrowField = FlatArrowType & { name: string };\n\nexport function flattenArrowField(name: string, type: arrow.DataType): FlatArrowField {\n const t = flattenArrowType(type) as FlatArrowField;\n t.name = name;\n return t;\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { flattenArrowField, flattenArrowType } from '../flat_arrow';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n return this;\n }\n /** Open a database at a path */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Send a query asynchronously. Results have to be fetched with `fetchQueryResults` */\n public sendQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_send', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: flattenArrowType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(flattenArrowField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(flattenArrowField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url?: string): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number'],\n [name, url, -1],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length);\n const dst = this.mod.HEAPU8.subarray(ptr, ptr + buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(name: string, handle: HandleType): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number'],\n [name, name, -1],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\n", "export enum LogLevel {\n NONE = 0,\n DEBUG = 1,\n INFO = 2,\n WARNING = 3,\n ERROR = 4,\n}\n\nexport enum LogTopic {\n NONE = 0,\n CONNECT = 1,\n DISCONNECT = 2,\n OPEN = 3,\n QUERY = 4,\n INSTANTIATE = 5,\n}\n\nexport enum LogEvent {\n NONE = 0,\n OK = 1,\n ERROR = 2,\n START = 3,\n RUN = 4,\n CAPTURE = 5,\n}\n\nexport enum LogOrigin {\n NONE = 0,\n WEB_WORKER = 1,\n NODE_WORKER = 2,\n BINDINGS = 3,\n ASYNC_DUCKDB = 4,\n}\n\nexport type LogEntry<O, T, E, V> = {\n readonly timestamp: Date;\n readonly level: LogLevel;\n readonly origin: O;\n readonly topic: T;\n readonly event: E;\n readonly value: V;\n};\n\nexport type LogEntryVariant =\n | LogEntry<LogOrigin.BINDINGS, LogTopic.INSTANTIATE, LogEvent.ERROR, string>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.START, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.START, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.OK, void>\n | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.ERROR, void>\n | LogEntry<LogOrigin.ASYNC_DUCKDB, LogTopic.QUERY, LogEvent.RUN, string>;\n\nexport interface Logger {\n log(entry: LogEntryVariant): void;\n}\n\nexport class VoidLogger implements Logger {\n public log(_entry: LogEntryVariant): void {}\n}\n\nexport class ConsoleLogger implements Logger {\n public log(entry: LogEntryVariant): void {\n console.log(entry);\n }\n}\n\nexport function getLogLevelLabel(level: LogLevel): string {\n switch (level) {\n case LogLevel.NONE:\n return 'NONE';\n case LogLevel.DEBUG:\n return 'DEBUG';\n case LogLevel.INFO:\n return 'INFO';\n case LogLevel.WARNING:\n return 'WARNING';\n case LogLevel.ERROR:\n return 'ERROR';\n default:\n return '?';\n }\n}\n\nexport function getLogEventLabel(event: LogEvent): string {\n switch (event) {\n case LogEvent.NONE:\n return 'NONE';\n case LogEvent.OK:\n return 'OK';\n case LogEvent.ERROR:\n return 'ERROR';\n case LogEvent.START:\n return 'START';\n case LogEvent.RUN:\n return 'RUN';\n case LogEvent.CAPTURE:\n return 'CAPTURE';\n default:\n return '?';\n }\n}\n\nexport function getLogTopicLabel(topic: LogTopic): string {\n switch (topic) {\n case LogTopic.CONNECT:\n return 'CONNECT';\n case LogTopic.DISCONNECT:\n return 'DISCONNECT';\n case LogTopic.INSTANTIATE:\n return 'INSTANTIATE';\n case LogTopic.OPEN:\n return 'OPEN';\n case LogTopic.QUERY:\n return 'QUERY';\n default:\n return '?';\n }\n}\n\nexport function getLogOriginLabel(origin: LogOrigin): string {\n switch (origin) {\n case LogOrigin.NONE:\n return 'NONE';\n case LogOrigin.WEB_WORKER:\n return 'WEB WORKER';\n case LogOrigin.NODE_WORKER:\n return 'NODE WORKER';\n case LogOrigin.BINDINGS:\n return 'DUCKDB BINDINGS';\n case LogOrigin.ASYNC_DUCKDB:\n return 'DUCKDB';\n default:\n return '?';\n }\n}\n", "export const bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));\n", "import * as check from 'wasm-feature-detect';\nimport { PACKAGE_NAME, PACKAGE_VERSION } from './version';\n\nexport interface DuckDBBundles {\n mvp: {\n mainModule: string;\n mainWorker: string;\n };\n eh?: {\n mainModule: string;\n mainWorker: string;\n };\n coi?: {\n mainModule: string;\n mainWorker: string;\n pthreadWorker: string;\n };\n}\n\nexport function getJsDelivrBundles(): DuckDBBundles {\n const jsdelivr_dist_url = `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/`;\n return {\n mvp: {\n mainModule: `${jsdelivr_dist_url}duckdb-mvp.wasm`,\n mainWorker: `${jsdelivr_dist_url}duckdb-browser-mvp.worker.js`,\n },\n eh: {\n mainModule: `${jsdelivr_dist_url}duckdb-eh.wasm`,\n mainWorker: `${jsdelivr_dist_url}duckdb-browser-eh.worker.js`,\n },\n // COI is still experimental, let the user opt in explicitly\n };\n}\n\nexport interface DuckDBBundle {\n mainModule: string;\n mainWorker: string | null;\n pthreadWorker: string | null;\n}\n\nexport interface PlatformFeatures {\n bigInt64Array: boolean;\n crossOriginIsolated: boolean;\n wasmExceptions: boolean;\n wasmSIMD: boolean;\n wasmBulkMemory: boolean;\n wasmThreads: boolean;\n}\n\nlet bigInt64Array: boolean | null = null;\nlet wasmExceptions: boolean | null = null;\nlet wasmThreads: boolean | null = null;\nlet wasmSIMD: boolean | null = null;\nlet wasmBulkMemory: boolean | null = null;\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace globalThis {\n let crossOriginIsolated: boolean;\n}\n\nfunction isNode(): boolean {\n return typeof process !== 'undefined' && process.release.name === 'node';\n}\n\nexport async function getPlatformFeatures(): Promise<PlatformFeatures> {\n if (bigInt64Array == null) {\n bigInt64Array = typeof BigInt64Array != 'undefined';\n }\n if (wasmExceptions == null) {\n wasmExceptions = await check.exceptions();\n }\n if (wasmThreads == null) {\n wasmThreads = await check.threads();\n }\n if (wasmSIMD == null) {\n wasmSIMD = await check.simd();\n }\n if (wasmBulkMemory == null) {\n wasmBulkMemory = await check.bulkMemory();\n }\n return {\n bigInt64Array: bigInt64Array!,\n crossOriginIsolated: isNode() || globalThis.crossOriginIsolated || false,\n wasmExceptions: wasmExceptions!,\n wasmSIMD: wasmSIMD!,\n wasmThreads: wasmThreads!,\n wasmBulkMemory: wasmBulkMemory!,\n };\n}\n\nexport async function selectBundle(bundles: DuckDBBundles): Promise<DuckDBBundle> {\n const platform = await getPlatformFeatures();\n if (platform.wasmExceptions) {\n if (platform.wasmSIMD && platform.wasmThreads && platform.crossOriginIsolated && bundles.coi) {\n return {\n mainModule: bundles.coi.mainModule,\n mainWorker: bundles.coi.mainWorker,\n pthreadWorker: bundles.coi.pthreadWorker,\n };\n }\n if (bundles.eh) {\n return {\n mainModule: bundles.eh.mainModule,\n mainWorker: bundles.eh.mainWorker,\n pthreadWorker: null,\n };\n }\n }\n return {\n mainModule: bundles.mvp.mainModule,\n mainWorker: bundles.mvp.mainWorker,\n pthreadWorker: null,\n };\n}\n", "import {S3Config} from \"../bindings\";\nimport {sha256} from \"js-sha256\";\n\nexport interface S3Params {\n url: string,\n query: string,\n host: string,\n region: string,\n service: string,\n method: string,\n accessKeyId: string,\n secretAccessKey: string,\n sessionToken: string,\n dateNow: string,\n datetimeNow: string\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null,\n contentType: string | null\n}\n\nconst getHTTPHost = function (config : S3Config | undefined, url : string, bucket : string) : string {\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n}\n\nexport function getS3Params (config : S3Config | undefined, url: string, method : string) : S3Params {\n const parsedS3Url = parseS3Url(url);\n return {\n url: parsedS3Url.path,\n query: \"\",\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: (config?.region) ?? \"\",\n service: \"s3\",\n method: method,\n accessKeyId: (config?.accessKeyId) ?? \"\",\n secretAccessKey: (config?.secretAccessKey) ?? \"\",\n sessionToken: (config?.sessionToken) ?? \"\",\n dateNow: new Date().toISOString().replace(/-/g,'').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g,'').replace(/:/g,'').split('.')[0]+ 'Z',\n };\n}\n\nexport function uriEncode(input : string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = \"0123456789ABCDEF\";\n let result = \"\";\n\n for (let i = 0; i < input.length; i++) {\n const ch : string = input[i];\n\n if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += \"%2F\";\n } else {\n result += ch;\n }\n } else {\n result += \"%\";\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams : S3PayloadParams | null = null) : Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash = (payloadParams?.contentHash) ?? \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set(\"x-amz-date\", params.datetimeNow);\n res.set(\"x-amz-content-sha256\", payloadHash);\n\n if (params.sessionToken) {\n res.set(\"x-amz-security-token\", params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = \"\";\n if (payloadParams?.contentType) {\n signedHeaders += \"content-type;\";\n }\n signedHeaders += \"host;x-amz-content-sha256;x-amz-date\";\n if (params.sessionToken) {\n signedHeaders += \";x-amz-security-token\";\n }\n\n let canonicalRequest = params.method + \"\\n\" + uriEncode(params.url) + \"\\n\" + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += \"\\ncontent-type:\" + payloadParams?.contentType;\n }\n canonicalRequest += \"\\nhost:\" + params.host +\n \"\\nx-amz-content-sha256:\" + payloadHash + \"\\nx-amz-date:\" + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += \"\\nx-amz-security-token:\" + params.sessionToken;\n }\n\n canonicalRequest += \"\\n\\n\" + signedHeaders + \"\\n\" + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n}\n\nexport function addS3Headers(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader(\"content-type\", contentType);\n }\n }\n}\n\nexport function parseS3Url (url: string) : {bucket : string, path : string} {\n if (url.indexOf(\"s3://\") != 0) {\n throw new Error(\"URL needs to start with s3://\");\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error(\"URL needs to contain a bucket name\");\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error(\"URL needs to contain key\");\n }\n\n return {bucket: bucket, path: path}\n}\n\nexport function getHTTPUrl(config : S3Config | undefined, url : string) : string {\n const parsedUrl = parseS3Url(url);\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n } else {\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n }\n}", "import {StatusCode} from '../status';\nimport {addS3Headers, getHTTPUrl} from '../utils'\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString\n} from './runtime';\nimport {DuckDBModule} from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(mod, 'duckdb_web_fs_get_file_info_by_id', ['number', 'number'], [fileId, cached?.cacheEpoch || 0]);\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n return file;\n } catch (e: any) {\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(mod, 'duckdb_web_get_global_file_info', ['number'], [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0]);\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n return null;\n }\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(`Opening file ${file.fileName} failed: cannot open file with both read and write flags set`);\n } else if (flags & FileFlags.FILE_FLAGS_APPEND){\n throw new Error(`Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`);\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(`Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`);\n } else if (xhr.status == 404 &&!(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)) {\n throw new Error(`Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`);\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let error: any | null = null;\n try {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n const contentLength = xhr.getResponseHeader('Content-Length');\n if (xhr.status == 206 && contentLength !== null) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n\n // Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // Native File\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(2 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n failWith(mod, `HEAD request failed: ${path}`);\n return;\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n }\n } catch (e: any) {\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n let supportsRanges = false;\n if (xhr.status == 206) {\n supportsRanges = true;\n } else if (xhr.status == 200) {\n const header = xhr.getResponseHeader('Accept-Ranges');\n supportsRanges = header === 'bytes';\n } else {\n return false;\n }\n if (!supportsRanges) {\n return false;\n }\n\n // HTTP file exists and supports range requests\n return true;\n }\n } catch (e: any) {\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NATIVE:\n // XXX Remove from registry\n return;\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.NATIVE:\n failWith(mod, `truncateFile not implemented`);\n return;\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n throw new Error(\n `Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`,\n );\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No handle available for file: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n }\n return 0;\n } catch (e: any) {\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n return bytes;\n }\n case DuckDBDataProtocol.NATIVE:\n failWith(mod, 'writefile not implemented');\n return 0;\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.NATIVE: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n return new Date().getTime();\n }\n return 0;\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number) => {},\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n", "\nvar DuckDB = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(DuckDB) {\n DuckDB = DuckDB || {};\n\nvar Module=typeof DuckDB!==\"undefined\"?DuckDB:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err(\"exiting due to exception: \"+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}requireNodeFS=function(){if(!nodePath){fs=require(\"fs\");nodePath=require(\"path\")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath[\"normalize\"](filename);return fs.readFileSync(filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath[\"normalize\"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process[\"exitCode\"]=status;throw toThrow}logExceptionOnExit(toThrow);process[\"exit\"](status)});Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module[\"_\"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -s ASSERTIONS=1 for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;if(Module[\"locateFile\"]){wasmBinaryFile=\"./duckdb-mvp.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL(\"./duckdb-mvp.wasm\",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"Re\"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"Ue\"];addOnInit(Module[\"asm\"][\"Se\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+UTF8ToString(condition)+\", at: \"+[filename?UTF8ToString(filename):\"unknown filename\",line,func?UTF8ToString(func):\"unknown function\"])}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){return HEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){HEAP32[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return HEAP32[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_3(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_4(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_5(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i<typeArray.length;i++){var caughtType=typeArray[i];if(caughtType===0||caughtType===thrownType){break}if(___cxa_can_catch(caughtType,thrownType,catchInfo.get_adjusted_ptr_addr())){setTempRet0(caughtType);return catchInfo.ptr|0}}setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_rethrow(){var catchInfo=exceptionCaught.pop();if(!catchInfo){abort(\"no exception to throw\")}var info=catchInfo.get_exception_info();var ptr=catchInfo.get_base_ptr();if(!info.get_rethrown()){exceptionCaught.push(catchInfo);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}else{catchInfo.free()}exceptionLast=ptr;throw ptr}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function ___cxa_uncaught_exceptions(){return uncaughtExceptionCount}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){}function ___syscall_access(path,amode){path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}function SOCKFS(){err(\"missing function: $SOCKFS\");abort(-1)}function FS(){err(\"missing function: $FS\");abort(-1)}function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255)}function inetNtop6(ints){var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str}function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]===\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_bind(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){}function ___syscall_fstatat64(dirfd,path,buf,flags){}function ___syscall_ftruncate64(fd,low,high){}function ___syscall_getdents64(fd,dirp,count){}function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getpeername(fd,addr,addrlen){var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen){var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){}function ___syscall_mkdir(path,mode){path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}function ___syscall_rename(old_path,new_path){}function ___syscall_rmdir(path){}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){}function ___syscall_socket(domain,type,protocol){}function ___syscall_stat64(path,buf){}function ___syscall_unlink(path){}function __dlopen_js(filename,flag){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function __dlsym_js(handle,symbol){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function _abort(){abort(\"\")}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator===\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_sync(fd){var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov>>2];var len=HEAP32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function getRandomDevice(){if(typeof crypto===\"object\"&&typeof crypto[\"getRandomValues\"]===\"function\"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");return function(){return crypto_module[\"randomBytes\"](1)[0]}}catch(e){}}return function(){abort(\"randomDevice\")}}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i<size;i++){HEAP8[buffer+i>>0]=_getentropy.randomDevice()}return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}else{return\"PM\"}},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"},\"%V\":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?\"01\":\"00\"},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={\"p\":___assert_fail,\"j\":___cxa_allocate_exception,\"A\":___cxa_begin_catch,\"F\":___cxa_end_catch,\"b\":___cxa_find_matching_catch_2,\"n\":___cxa_find_matching_catch_3,\"H\":___cxa_find_matching_catch_4,\"W\":___cxa_find_matching_catch_5,\"i\":___cxa_free_exception,\"da\":___cxa_rethrow,\"v\":___cxa_throw,\"E\":___cxa_uncaught_exceptions,\"e\":___resumeException,\"Ca\":___syscall__newselect,\"Qe\":___syscall_access,\"Ea\":___syscall_bind,\"Da\":___syscall_connect,\"Q\":___syscall_fcntl64,\"Sa\":___syscall_fstat64,\"Qa\":___syscall_fstatat64,\"Na\":___syscall_ftruncate64,\"Oa\":___syscall_getdents64,\"ya\":___syscall_getpeername,\"Ba\":___syscall_getsockopt,\"Ua\":___syscall_ioctl,\"Pa\":___syscall_lstat64,\"Ta\":___syscall_mkdir,\"oa\":___syscall_open,\"za\":___syscall_recvfrom,\"Oe\":___syscall_rename,\"ma\":___syscall_rmdir,\"Aa\":___syscall_sendto,\"ga\":___syscall_socket,\"Ra\":___syscall_stat64,\"na\":___syscall_unlink,\"ha\":__dlopen_js,\"Ga\":__dlsym_js,\"_\":_abort,\"la\":_clock_gettime,\"Ge\":_duckdb_web_fs_directory_create,\"He\":_duckdb_web_fs_directory_exists,\"Ee\":_duckdb_web_fs_directory_list_files,\"Fe\":_duckdb_web_fs_directory_remove,\"ta\":_duckdb_web_fs_file_close,\"Ce\":_duckdb_web_fs_file_exists,\"Je\":_duckdb_web_fs_file_get_last_modified_time,\"De\":_duckdb_web_fs_file_move,\"Ke\":_duckdb_web_fs_file_open,\"fa\":_duckdb_web_fs_file_read,\"Ie\":_duckdb_web_fs_file_truncate,\"ua\":_duckdb_web_fs_file_write,\"Be\":_duckdb_web_fs_glob,\"sa\":_duckdb_web_test_platform_feature,\"Le\":_duckdb_web_udf_scalar_call,\"Va\":_emscripten_get_heap_max,\"kb\":_emscripten_memcpy_big,\"ed\":_emscripten_resize_heap,\"Xa\":_environ_get,\"Ya\":_environ_sizes_get,\"U\":_fd_close,\"pe\":_fd_pread,\"qb\":_fd_pwrite,\"qa\":_fd_read,\"ye\":_fd_seek,\"Pe\":_fd_sync,\"ea\":_fd_write,\"a\":_getTempRet0,\"Fa\":_getaddrinfo,\"Ma\":_getentropy,\"xa\":_getnameinfo,\"ia\":invoke_d,\"N\":invoke_di,\"Ja\":invoke_dii,\"T\":invoke_diii,\"yc\":invoke_diijii,\"ja\":invoke_f,\"X\":invoke_fi,\"ra\":invoke_fiii,\"zc\":invoke_fiijii,\"u\":invoke_i,\"Ha\":invoke_id,\"Ka\":invoke_idd,\"Z\":invoke_idiii,\"Ia\":invoke_if,\"La\":invoke_iff,\"d\":invoke_ii,\"aa\":invoke_iid,\"D\":invoke_iidii,\"Ib\":invoke_iidj,\"c\":invoke_iii,\"Y\":invoke_iiid,\"va\":invoke_iiif,\"h\":invoke_iiii,\"Gb\":invoke_iiiidjj,\"m\":invoke_iiiii,\"pa\":invoke_iiiiid,\"o\":invoke_iiiiii,\"w\":invoke_iiiiiii,\"z\":invoke_iiiiiiii,\"S\":invoke_iiiiiiiii,\"y\":invoke_iiiiiiiiiii,\"x\":invoke_iiiiiiiiiiii,\"q\":invoke_iiiiiiiiiiiiiii,\"O\":invoke_iiiiiiiiiiiiiiiiiiii,\"J\":invoke_iiiiiiiiiiiiiiiiiiiii,\"cc\":invoke_iiiiiiiiiiiij,\"fc\":invoke_iiiiiiiiiiji,\"ic\":invoke_iiiiiiiij,\"oc\":invoke_iiiiiiiiji,\"dc\":invoke_iiiiiiij,\"Hb\":invoke_iiiiiiiji,\"xc\":invoke_iiiiiiijii,\"gc\":invoke_iiiiiij,\"pc\":invoke_iiiiiiji,\"Pb\":invoke_iiiiiijji,\"ue\":invoke_iiiiij,\"Qd\":invoke_iiiiiji,\"Jd\":invoke_iiiiijii,\"te\":invoke_iiiiijj,\"Ub\":invoke_iiiiijji,\"jd\":invoke_iiiiijjiijj,\"Lb\":invoke_iiiiijjj,\"Kb\":invoke_iiiiijjji,\"Xd\":invoke_iiiij,\"Pd\":invoke_iiiiji,\"yb\":invoke_iiiijii,\"Xc\":invoke_iiiijiii,\"Wd\":invoke_iiiijj,\"Ec\":invoke_iiiijji,\"Vb\":invoke_iiiijjii,\"Jb\":invoke_iiiijjj,\"ke\":invoke_iiij,\"Td\":invoke_iiiji,\"Ac\":invoke_iiijii,\"Kd\":invoke_iiijiii,\"vd\":invoke_iiijiiii,\"Hd\":invoke_iiijiij,\"mb\":invoke_iiijiijj,\"Ud\":invoke_iiijij,\"me\":invoke_iiijj,\"Rd\":invoke_iiijji,\"id\":invoke_iiijjii,\"gb\":invoke_iiijjji,\"Ob\":invoke_iiijjjii,\"se\":invoke_iij,\"Yd\":invoke_iiji,\"xd\":invoke_iijii,\"wb\":invoke_iijiii,\"Ld\":invoke_iijiiii,\"hb\":invoke_iijiijj,\"Fb\":invoke_iijiji,\"Sd\":invoke_iijj,\"Dd\":invoke_iijji,\"Gd\":invoke_iijjii,\"Fd\":invoke_iijjiii,\"Ed\":invoke_iijjiiii,\"Ad\":invoke_iijjijj,\"mc\":invoke_iijjj,\"$b\":invoke_ij,\"ee\":invoke_iji,\"qc\":invoke_ijji,\"ae\":invoke_ijjiii,\"qe\":invoke_j,\"tc\":invoke_jd,\"sc\":invoke_jf,\"xe\":invoke_ji,\"we\":invoke_jii,\"Od\":invoke_jiii,\"Ae\":invoke_jiiii,\"qd\":invoke_jiiiii,\"rc\":invoke_jiiiiii,\"ec\":invoke_jiiiiiii,\"Fc\":invoke_jiiiiiijii,\"vc\":invoke_jiiiiijiiii,\"Uc\":invoke_jiiiij,\"vb\":invoke_jiiiiji,\"Cc\":invoke_jiiiijii,\"sd\":invoke_jiiij,\"md\":invoke_jiiiji,\"Mc\":invoke_jiiijii,\"wc\":invoke_jiiijiii,\"zb\":invoke_jiiijj,\"ac\":invoke_jiij,\"od\":invoke_jiiji,\"dd\":invoke_jiijii,\"Pc\":invoke_jiijiiiii,\"Oc\":invoke_jiijiijiii,\"Lc\":invoke_jiijijii,\"Nc\":invoke_jiijjiii,\"td\":invoke_jij,\"ad\":invoke_jijiii,\"Mb\":invoke_jijiiii,\"kc\":invoke_jijijjij,\"ob\":invoke_jijj,\"_c\":invoke_jijjij,\"uc\":invoke_jj,\"Cb\":invoke_jji,\"Yb\":invoke_jjj,\"Db\":invoke_jjjii,\"Wb\":invoke_jjjjjjd,\"t\":invoke_v,\"k\":invoke_vi,\"C\":invoke_vid,\"ba\":invoke_vidi,\"sb\":invoke_vidiijj,\"K\":invoke_vif,\"ca\":invoke_vifi,\"tb\":invoke_vifiijj,\"f\":invoke_vii,\"V\":invoke_viid,\"R\":invoke_viidii,\"Bc\":invoke_viif,\"g\":invoke_viii,\"l\":invoke_viiii,\"Ne\":invoke_viiiidiiii,\"s\":invoke_viiiii,\"r\":invoke_viiiiii,\"wa\":invoke_viiiiiidiii,\"B\":invoke_viiiiiii,\"L\":invoke_viiiiiiii,\"P\":invoke_viiiiiiiii,\"M\":invoke_viiiiiiiiii,\"Me\":invoke_viiiiiiiiiii,\"ka\":invoke_viiiiiiiiiiiii,\"$\":invoke_viiiiiiiiiiiiiii,\"Cd\":invoke_viiiiiij,\"rb\":invoke_viiiiij,\"kd\":invoke_viiiiiji,\"bc\":invoke_viiiiijiii,\"Dc\":invoke_viiiiijiiii,\"nc\":invoke_viiiiijj,\"Qb\":invoke_viiiiijji,\"Za\":invoke_viiiiijjj,\"jb\":invoke_viiiiijjji,\"ie\":invoke_viiiij,\"Vd\":invoke_viiiiji,\"xb\":invoke_viiiijii,\"eb\":invoke_viiiijiii,\"yd\":invoke_viiiijiiii,\"zd\":invoke_viiiijiiiii,\"Zb\":invoke_viiiijiiiiiiii,\"Yc\":invoke_viiiijj,\"Sb\":invoke_viiiijji,\"Rb\":invoke_viiiijjii,\"_a\":invoke_viiiijjj,\"Qc\":invoke_viiiijjjj,\"he\":invoke_viiij,\"_d\":invoke_viiiji,\"Bd\":invoke_viiijii,\"Wc\":invoke_viiijiii,\"Ic\":invoke_viiijiiiijjj,\"Ab\":invoke_viiijij,\"Nb\":invoke_viiijiji,\"Bb\":invoke_viiijijiji,\"ib\":invoke_viiijijjj,\"ce\":invoke_viiijj,\"ud\":invoke_viiijji,\"Tb\":invoke_viiijjii,\"Gc\":invoke_viiijjiij,\"Tc\":invoke_viiijjij,\"ge\":invoke_viiijjj,\"fb\":invoke_viiijjjji,\"oe\":invoke_viij,\"re\":invoke_viiji,\"ve\":invoke_viijii,\"Id\":invoke_viijiii,\"db\":invoke_viijiiii,\"cd\":invoke_viijiiiii,\"Kc\":invoke_viijiiiiij,\"Jc\":invoke_viijiiiijj,\"bd\":invoke_viijiiij,\"Zc\":invoke_viijiij,\"nd\":invoke_viijiiji,\"lb\":invoke_viijiijj,\"hd\":invoke_viijij,\"cb\":invoke_viijiji,\"Hc\":invoke_viijijiiiijjj,\"nb\":invoke_viijijj,\"ze\":invoke_viijj,\"le\":invoke_viijji,\"fd\":invoke_viijjii,\"Rc\":invoke_viijjij,\"be\":invoke_viijjj,\"hc\":invoke_viijjji,\"je\":invoke_vij,\"de\":invoke_viji,\"gd\":invoke_vijii,\"Nd\":invoke_vijiii,\"Md\":invoke_vijiiii,\"$c\":invoke_vijiiiji,\"ub\":invoke_vijiijj,\"ld\":invoke_vijij,\"lc\":invoke_vijijiiiijjj,\"fe\":invoke_vijijj,\"bb\":invoke_vijijjiiiii,\"Sc\":invoke_vijijjiij,\"pb\":invoke_vijijjji,\"$d\":invoke_vijj,\"Vc\":invoke_vijji,\"$a\":invoke_vijjiiii,\"ab\":invoke_vijjiiiii,\"jc\":invoke_vijjij,\"ne\":invoke_vijjj,\"rd\":invoke_vijjji,\"Zd\":invoke_vj,\"Xb\":invoke_vjii,\"_b\":invoke_vjiiii,\"Eb\":invoke_vjiiiji,\"wd\":invoke_vjjii,\"pd\":invoke_vjjijij,\"G\":_llvm_eh_typeid_for,\"I\":_setTempRet0,\"Wa\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"Se\"]).apply(null,arguments)};var _main=Module[\"_main\"]=function(){return(_main=Module[\"_main\"]=Module[\"asm\"][\"Te\"]).apply(null,arguments)};var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=function(){return(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=Module[\"asm\"][\"Ve\"]).apply(null,arguments)};var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=function(){return(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=Module[\"asm\"][\"We\"]).apply(null,arguments)};var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=function(){return(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=Module[\"asm\"][\"Xe\"]).apply(null,arguments)};var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=function(){return(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=Module[\"asm\"][\"Ye\"]).apply(null,arguments)};var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=function(){return(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=Module[\"asm\"][\"Ze\"]).apply(null,arguments)};var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=function(){return(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=Module[\"asm\"][\"_e\"]).apply(null,arguments)};var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=function(){return(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=Module[\"asm\"][\"$e\"]).apply(null,arguments)};var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=function(){return(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=Module[\"asm\"][\"af\"]).apply(null,arguments)};var _duckdb_web_open=Module[\"_duckdb_web_open\"]=function(){return(_duckdb_web_open=Module[\"_duckdb_web_open\"]=Module[\"asm\"][\"bf\"]).apply(null,arguments)};var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=function(){return(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=Module[\"asm\"][\"cf\"]).apply(null,arguments)};var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=function(){return(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=Module[\"asm\"][\"df\"]).apply(null,arguments)};var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=function(){return(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=Module[\"asm\"][\"ef\"]).apply(null,arguments)};var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=function(){return(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=Module[\"asm\"][\"ff\"]).apply(null,arguments)};var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=function(){return(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=Module[\"asm\"][\"gf\"]).apply(null,arguments)};var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=function(){return(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=Module[\"asm\"][\"hf\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=function(){return(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=Module[\"asm\"][\"jf\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=function(){return(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=Module[\"asm\"][\"kf\"]).apply(null,arguments)};var _duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=function(){return(_duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=Module[\"asm\"][\"lf\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=function(){return(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=Module[\"asm\"][\"mf\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=function(){return(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=Module[\"asm\"][\"nf\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=function(){return(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=Module[\"asm\"][\"of\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=function(){return(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=Module[\"asm\"][\"pf\"]).apply(null,arguments)};var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=function(){return(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=Module[\"asm\"][\"qf\"]).apply(null,arguments)};var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=function(){return(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=Module[\"asm\"][\"rf\"]).apply(null,arguments)};var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=function(){return(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=Module[\"asm\"][\"sf\"]).apply(null,arguments)};var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=function(){return(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=Module[\"asm\"][\"tf\"]).apply(null,arguments)};var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=function(){return(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=Module[\"asm\"][\"uf\"]).apply(null,arguments)};var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=function(){return(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=Module[\"asm\"][\"vf\"]).apply(null,arguments)};var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=function(){return(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=Module[\"asm\"][\"wf\"]).apply(null,arguments)};var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=function(){return(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=Module[\"asm\"][\"xf\"]).apply(null,arguments)};var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=function(){return(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=Module[\"asm\"][\"yf\"]).apply(null,arguments)};var _duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=function(){return(_duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=Module[\"asm\"][\"zf\"]).apply(null,arguments)};var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=function(){return(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=Module[\"asm\"][\"Af\"]).apply(null,arguments)};var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=function(){return(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=Module[\"asm\"][\"Bf\"]).apply(null,arguments)};var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=function(){return(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=Module[\"asm\"][\"Cf\"]).apply(null,arguments)};var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=function(){return(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=Module[\"asm\"][\"Df\"]).apply(null,arguments)};var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=function(){return(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=Module[\"asm\"][\"Ef\"]).apply(null,arguments)};var ___errno_location=Module[\"___errno_location\"]=function(){return(___errno_location=Module[\"___errno_location\"]=Module[\"asm\"][\"Ff\"]).apply(null,arguments)};var _htonl=Module[\"_htonl\"]=function(){return(_htonl=Module[\"_htonl\"]=Module[\"asm\"][\"Gf\"]).apply(null,arguments)};var _htons=Module[\"_htons\"]=function(){return(_htons=Module[\"_htons\"]=Module[\"asm\"][\"Hf\"]).apply(null,arguments)};var _ntohs=Module[\"_ntohs\"]=function(){return(_ntohs=Module[\"_ntohs\"]=Module[\"asm\"][\"If\"]).apply(null,arguments)};var _setThrew=Module[\"_setThrew\"]=function(){return(_setThrew=Module[\"_setThrew\"]=Module[\"asm\"][\"Jf\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"Kf\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"Lf\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"Mf\"]).apply(null,arguments)};var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=function(){return(___cxa_can_catch=Module[\"___cxa_can_catch\"]=Module[\"asm\"][\"Nf\"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=function(){return(___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=Module[\"asm\"][\"Of\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"Pf\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"Qf\"]).apply(null,arguments)};var dynCall_jiiii=Module[\"dynCall_jiiii\"]=function(){return(dynCall_jiiii=Module[\"dynCall_jiiii\"]=Module[\"asm\"][\"Rf\"]).apply(null,arguments)};var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=function(){return(dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=Module[\"asm\"][\"Sf\"]).apply(null,arguments)};var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=function(){return(dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=Module[\"asm\"][\"Tf\"]).apply(null,arguments)};var dynCall_viijii=Module[\"dynCall_viijii\"]=function(){return(dynCall_viijii=Module[\"dynCall_viijii\"]=Module[\"asm\"][\"Uf\"]).apply(null,arguments)};var dynCall_j=Module[\"dynCall_j\"]=function(){return(dynCall_j=Module[\"dynCall_j\"]=Module[\"asm\"][\"Vf\"]).apply(null,arguments)};var dynCall_ji=Module[\"dynCall_ji\"]=function(){return(dynCall_ji=Module[\"dynCall_ji\"]=Module[\"asm\"][\"Wf\"]).apply(null,arguments)};var dynCall_iij=Module[\"dynCall_iij\"]=function(){return(dynCall_iij=Module[\"dynCall_iij\"]=Module[\"asm\"][\"Xf\"]).apply(null,arguments)};var dynCall_viij=Module[\"dynCall_viij\"]=function(){return(dynCall_viij=Module[\"dynCall_viij\"]=Module[\"asm\"][\"Yf\"]).apply(null,arguments)};var dynCall_viijji=Module[\"dynCall_viijji\"]=function(){return(dynCall_viijji=Module[\"dynCall_viijji\"]=Module[\"asm\"][\"Zf\"]).apply(null,arguments)};var dynCall_viijj=Module[\"dynCall_viijj\"]=function(){return(dynCall_viijj=Module[\"dynCall_viijj\"]=Module[\"asm\"][\"_f\"]).apply(null,arguments)};var dynCall_viiijj=Module[\"dynCall_viiijj\"]=function(){return(dynCall_viiijj=Module[\"dynCall_viiijj\"]=Module[\"asm\"][\"$f\"]).apply(null,arguments)};var dynCall_viiji=Module[\"dynCall_viiji\"]=function(){return(dynCall_viiji=Module[\"dynCall_viiji\"]=Module[\"asm\"][\"ag\"]).apply(null,arguments)};var dynCall_vijjj=Module[\"dynCall_vijjj\"]=function(){return(dynCall_vijjj=Module[\"dynCall_vijjj\"]=Module[\"asm\"][\"bg\"]).apply(null,arguments)};var dynCall_iiijj=Module[\"dynCall_iiijj\"]=function(){return(dynCall_iiijj=Module[\"dynCall_iiijj\"]=Module[\"asm\"][\"cg\"]).apply(null,arguments)};var dynCall_viiij=Module[\"dynCall_viiij\"]=function(){return(dynCall_viiij=Module[\"dynCall_viiij\"]=Module[\"asm\"][\"dg\"]).apply(null,arguments)};var dynCall_viijij=Module[\"dynCall_viijij\"]=function(){return(dynCall_viijij=Module[\"dynCall_viijij\"]=Module[\"asm\"][\"eg\"]).apply(null,arguments)};var dynCall_viiijjj=Module[\"dynCall_viiijjj\"]=function(){return(dynCall_viiijjj=Module[\"dynCall_viiijjj\"]=Module[\"asm\"][\"fg\"]).apply(null,arguments)};var dynCall_iiij=Module[\"dynCall_iiij\"]=function(){return(dynCall_iiij=Module[\"dynCall_iiij\"]=Module[\"asm\"][\"gg\"]).apply(null,arguments)};var dynCall_vijijj=Module[\"dynCall_vijijj\"]=function(){return(dynCall_vijijj=Module[\"dynCall_vijijj\"]=Module[\"asm\"][\"hg\"]).apply(null,arguments)};var dynCall_iji=Module[\"dynCall_iji\"]=function(){return(dynCall_iji=Module[\"dynCall_iji\"]=Module[\"asm\"][\"ig\"]).apply(null,arguments)};var dynCall_viji=Module[\"dynCall_viji\"]=function(){return(dynCall_viji=Module[\"dynCall_viji\"]=Module[\"asm\"][\"jg\"]).apply(null,arguments)};var dynCall_vij=Module[\"dynCall_vij\"]=function(){return(dynCall_vij=Module[\"dynCall_vij\"]=Module[\"asm\"][\"kg\"]).apply(null,arguments)};var dynCall_viiiij=Module[\"dynCall_viiiij\"]=function(){return(dynCall_viiiij=Module[\"dynCall_viiiij\"]=Module[\"asm\"][\"lg\"]).apply(null,arguments)};var dynCall_jii=Module[\"dynCall_jii\"]=function(){return(dynCall_jii=Module[\"dynCall_jii\"]=Module[\"asm\"][\"mg\"]).apply(null,arguments)};var dynCall_viiiji=Module[\"dynCall_viiiji\"]=function(){return(dynCall_viiiji=Module[\"dynCall_viiiji\"]=Module[\"asm\"][\"ng\"]).apply(null,arguments)};var dynCall_vijj=Module[\"dynCall_vijj\"]=function(){return(dynCall_vijj=Module[\"dynCall_vijj\"]=Module[\"asm\"][\"og\"]).apply(null,arguments)};var dynCall_vj=Module[\"dynCall_vj\"]=function(){return(dynCall_vj=Module[\"dynCall_vj\"]=Module[\"asm\"][\"pg\"]).apply(null,arguments)};var dynCall_iiji=Module[\"dynCall_iiji\"]=function(){return(dynCall_iiji=Module[\"dynCall_iiji\"]=Module[\"asm\"][\"qg\"]).apply(null,arguments)};var dynCall_iiiij=Module[\"dynCall_iiiij\"]=function(){return(dynCall_iiiij=Module[\"dynCall_iiiij\"]=Module[\"asm\"][\"rg\"]).apply(null,arguments)};var dynCall_iiiiiji=Module[\"dynCall_iiiiiji\"]=function(){return(dynCall_iiiiiji=Module[\"dynCall_iiiiiji\"]=Module[\"asm\"][\"sg\"]).apply(null,arguments)};var dynCall_iiiji=Module[\"dynCall_iiiji\"]=function(){return(dynCall_iiiji=Module[\"dynCall_iiiji\"]=Module[\"asm\"][\"tg\"]).apply(null,arguments)};var dynCall_iiiiji=Module[\"dynCall_iiiiji\"]=function(){return(dynCall_iiiiji=Module[\"dynCall_iiiiji\"]=Module[\"asm\"][\"ug\"]).apply(null,arguments)};var dynCall_jiii=Module[\"dynCall_jiii\"]=function(){return(dynCall_jiii=Module[\"dynCall_jiii\"]=Module[\"asm\"][\"vg\"]).apply(null,arguments)};var dynCall_jij=Module[\"dynCall_jij\"]=function(){return(dynCall_jij=Module[\"dynCall_jij\"]=Module[\"asm\"][\"wg\"]).apply(null,arguments)};var dynCall_iijjijj=Module[\"dynCall_iijjijj\"]=function(){return(dynCall_iijjijj=Module[\"dynCall_iijjijj\"]=Module[\"asm\"][\"xg\"]).apply(null,arguments)};var dynCall_viiiijiiiii=Module[\"dynCall_viiiijiiiii\"]=function(){return(dynCall_viiiijiiiii=Module[\"dynCall_viiiijiiiii\"]=Module[\"asm\"][\"yg\"]).apply(null,arguments)};var dynCall_viiiijiiii=Module[\"dynCall_viiiijiiii\"]=function(){return(dynCall_viiiijiiii=Module[\"dynCall_viiiijiiii\"]=Module[\"asm\"][\"zg\"]).apply(null,arguments)};var dynCall_viiijii=Module[\"dynCall_viiijii\"]=function(){return(dynCall_viiijii=Module[\"dynCall_viiijii\"]=Module[\"asm\"][\"Ag\"]).apply(null,arguments)};var dynCall_viiiiiij=Module[\"dynCall_viiiiiij\"]=function(){return(dynCall_viiiiiij=Module[\"dynCall_viiiiiij\"]=Module[\"asm\"][\"Bg\"]).apply(null,arguments)};var dynCall_iiijiii=Module[\"dynCall_iiijiii\"]=function(){return(dynCall_iiijiii=Module[\"dynCall_iiijiii\"]=Module[\"asm\"][\"Cg\"]).apply(null,arguments)};var dynCall_iiiiijii=Module[\"dynCall_iiiiijii\"]=function(){return(dynCall_iiiiijii=Module[\"dynCall_iiiiijii\"]=Module[\"asm\"][\"Dg\"]).apply(null,arguments)};var dynCall_viijiii=Module[\"dynCall_viijiii\"]=function(){return(dynCall_viijiii=Module[\"dynCall_viijiii\"]=Module[\"asm\"][\"Eg\"]).apply(null,arguments)};var dynCall_iiijiij=Module[\"dynCall_iiijiij\"]=function(){return(dynCall_iiijiij=Module[\"dynCall_iiijiij\"]=Module[\"asm\"][\"Fg\"]).apply(null,arguments)};var dynCall_vijiii=Module[\"dynCall_vijiii\"]=function(){return(dynCall_vijiii=Module[\"dynCall_vijiii\"]=Module[\"asm\"][\"Gg\"]).apply(null,arguments)};var dynCall_iijjii=Module[\"dynCall_iijjii\"]=function(){return(dynCall_iijjii=Module[\"dynCall_iijjii\"]=Module[\"asm\"][\"Hg\"]).apply(null,arguments)};var dynCall_iijjiii=Module[\"dynCall_iijjiii\"]=function(){return(dynCall_iijjiii=Module[\"dynCall_iijjiii\"]=Module[\"asm\"][\"Ig\"]).apply(null,arguments)};var dynCall_iijjiiii=Module[\"dynCall_iijjiiii\"]=function(){return(dynCall_iijjiiii=Module[\"dynCall_iijjiiii\"]=Module[\"asm\"][\"Jg\"]).apply(null,arguments)};var dynCall_iijji=Module[\"dynCall_iijji\"]=function(){return(dynCall_iijji=Module[\"dynCall_iijji\"]=Module[\"asm\"][\"Kg\"]).apply(null,arguments)};var dynCall_vijiiii=Module[\"dynCall_vijiiii\"]=function(){return(dynCall_vijiiii=Module[\"dynCall_vijiiii\"]=Module[\"asm\"][\"Lg\"]).apply(null,arguments)};var dynCall_iijiiii=Module[\"dynCall_iijiiii\"]=function(){return(dynCall_iijiiii=Module[\"dynCall_iijiiii\"]=Module[\"asm\"][\"Mg\"]).apply(null,arguments)};var dynCall_iijii=Module[\"dynCall_iijii\"]=function(){return(dynCall_iijii=Module[\"dynCall_iijii\"]=Module[\"asm\"][\"Ng\"]).apply(null,arguments)};var dynCall_vijij=Module[\"dynCall_vijij\"]=function(){return(dynCall_vijij=Module[\"dynCall_vijij\"]=Module[\"asm\"][\"Og\"]).apply(null,arguments)};var dynCall_iiijiiii=Module[\"dynCall_iiijiiii\"]=function(){return(dynCall_iiijiiii=Module[\"dynCall_iiijiiii\"]=Module[\"asm\"][\"Pg\"]).apply(null,arguments)};var dynCall_jiiij=Module[\"dynCall_jiiij\"]=function(){return(dynCall_jiiij=Module[\"dynCall_jiiij\"]=Module[\"asm\"][\"Qg\"]).apply(null,arguments)};var dynCall_jiiiii=Module[\"dynCall_jiiiii\"]=function(){return(dynCall_jiiiii=Module[\"dynCall_jiiiii\"]=Module[\"asm\"][\"Rg\"]).apply(null,arguments)};var dynCall_iiiiijjiijj=Module[\"dynCall_iiiiijjiijj\"]=function(){return(dynCall_iiiiijjiijj=Module[\"dynCall_iiiiijjiijj\"]=Module[\"asm\"][\"Sg\"]).apply(null,arguments)};var dynCall_viijiiji=Module[\"dynCall_viijiiji\"]=function(){return(dynCall_viijiiji=Module[\"dynCall_viijiiji\"]=Module[\"asm\"][\"Tg\"]).apply(null,arguments)};var dynCall_vjjijij=Module[\"dynCall_vjjijij\"]=function(){return(dynCall_vjjijij=Module[\"dynCall_vjjijij\"]=Module[\"asm\"][\"Ug\"]).apply(null,arguments)};var dynCall_vijjji=Module[\"dynCall_vijjji\"]=function(){return(dynCall_vijjji=Module[\"dynCall_vijjji\"]=Module[\"asm\"][\"Vg\"]).apply(null,arguments)};var dynCall_vjjii=Module[\"dynCall_vjjii\"]=function(){return(dynCall_vjjii=Module[\"dynCall_vjjii\"]=Module[\"asm\"][\"Wg\"]).apply(null,arguments)};var dynCall_viiiiiji=Module[\"dynCall_viiiiiji\"]=function(){return(dynCall_viiiiiji=Module[\"dynCall_viiiiiji\"]=Module[\"asm\"][\"Xg\"]).apply(null,arguments)};var dynCall_jiiiji=Module[\"dynCall_jiiiji\"]=function(){return(dynCall_jiiiji=Module[\"dynCall_jiiiji\"]=Module[\"asm\"][\"Yg\"]).apply(null,arguments)};var dynCall_iijj=Module[\"dynCall_iijj\"]=function(){return(dynCall_iijj=Module[\"dynCall_iijj\"]=Module[\"asm\"][\"Zg\"]).apply(null,arguments)};var dynCall_iiijjii=Module[\"dynCall_iiijjii\"]=function(){return(dynCall_iiijjii=Module[\"dynCall_iiijjii\"]=Module[\"asm\"][\"_g\"]).apply(null,arguments)};var dynCall_vijii=Module[\"dynCall_vijii\"]=function(){return(dynCall_vijii=Module[\"dynCall_vijii\"]=Module[\"asm\"][\"$g\"]).apply(null,arguments)};var dynCall_viijjii=Module[\"dynCall_viijjii\"]=function(){return(dynCall_viijjii=Module[\"dynCall_viijjii\"]=Module[\"asm\"][\"ah\"]).apply(null,arguments)};var dynCall_viiiijj=Module[\"dynCall_viiiijj\"]=function(){return(dynCall_viiiijj=Module[\"dynCall_viiiijj\"]=Module[\"asm\"][\"bh\"]).apply(null,arguments)};var dynCall_jijjij=Module[\"dynCall_jijjij\"]=function(){return(dynCall_jijjij=Module[\"dynCall_jijjij\"]=Module[\"asm\"][\"ch\"]).apply(null,arguments)};var dynCall_jiijii=Module[\"dynCall_jiijii\"]=function(){return(dynCall_jiijii=Module[\"dynCall_jiijii\"]=Module[\"asm\"][\"dh\"]).apply(null,arguments)};var dynCall_jijiii=Module[\"dynCall_jijiii\"]=function(){return(dynCall_jijiii=Module[\"dynCall_jijiii\"]=Module[\"asm\"][\"eh\"]).apply(null,arguments)};var dynCall_viijiiiii=Module[\"dynCall_viijiiiii\"]=function(){return(dynCall_viijiiiii=Module[\"dynCall_viijiiiii\"]=Module[\"asm\"][\"fh\"]).apply(null,arguments)};var dynCall_viijiiij=Module[\"dynCall_viijiiij\"]=function(){return(dynCall_viijiiij=Module[\"dynCall_viijiiij\"]=Module[\"asm\"][\"gh\"]).apply(null,arguments)};var dynCall_vijiiiji=Module[\"dynCall_vijiiiji\"]=function(){return(dynCall_vijiiiji=Module[\"dynCall_vijiiiji\"]=Module[\"asm\"][\"hh\"]).apply(null,arguments)};var dynCall_jiiji=Module[\"dynCall_jiiji\"]=function(){return(dynCall_jiiji=Module[\"dynCall_jiiji\"]=Module[\"asm\"][\"ih\"]).apply(null,arguments)};var dynCall_viiijij=Module[\"dynCall_viiijij\"]=function(){return(dynCall_viiijij=Module[\"dynCall_viiijij\"]=Module[\"asm\"][\"jh\"]).apply(null,arguments)};var dynCall_viijiij=Module[\"dynCall_viijiij\"]=function(){return(dynCall_viijiij=Module[\"dynCall_viijiij\"]=Module[\"asm\"][\"kh\"]).apply(null,arguments)};var dynCall_viiiiijj=Module[\"dynCall_viiiiijj\"]=function(){return(dynCall_viiiiijj=Module[\"dynCall_viiiiijj\"]=Module[\"asm\"][\"lh\"]).apply(null,arguments)};var dynCall_viiijji=Module[\"dynCall_viiijji\"]=function(){return(dynCall_viiijji=Module[\"dynCall_viiijji\"]=Module[\"asm\"][\"mh\"]).apply(null,arguments)};var dynCall_iiiijiii=Module[\"dynCall_iiiijiii\"]=function(){return(dynCall_iiiijiii=Module[\"dynCall_iiiijiii\"]=Module[\"asm\"][\"nh\"]).apply(null,arguments)};var dynCall_iiijij=Module[\"dynCall_iiijij\"]=function(){return(dynCall_iiijij=Module[\"dynCall_iiijij\"]=Module[\"asm\"][\"oh\"]).apply(null,arguments)};var dynCall_iiijji=Module[\"dynCall_iiijji\"]=function(){return(dynCall_iiijji=Module[\"dynCall_iiijji\"]=Module[\"asm\"][\"ph\"]).apply(null,arguments)};var dynCall_iiiijj=Module[\"dynCall_iiiijj\"]=function(){return(dynCall_iiiijj=Module[\"dynCall_iiiijj\"]=Module[\"asm\"][\"qh\"]).apply(null,arguments)};var dynCall_viiijiii=Module[\"dynCall_viiijiii\"]=function(){return(dynCall_viiijiii=Module[\"dynCall_viiijiii\"]=Module[\"asm\"][\"rh\"]).apply(null,arguments)};var dynCall_vijji=Module[\"dynCall_vijji\"]=function(){return(dynCall_vijji=Module[\"dynCall_vijji\"]=Module[\"asm\"][\"sh\"]).apply(null,arguments)};var dynCall_jiiiij=Module[\"dynCall_jiiiij\"]=function(){return(dynCall_jiiiij=Module[\"dynCall_jiiiij\"]=Module[\"asm\"][\"th\"]).apply(null,arguments)};var dynCall_jiijiiiii=Module[\"dynCall_jiijiiiii\"]=function(){return(dynCall_jiijiiiii=Module[\"dynCall_jiijiiiii\"]=Module[\"asm\"][\"uh\"]).apply(null,arguments)};var dynCall_jiijiijiii=Module[\"dynCall_jiijiijiii\"]=function(){return(dynCall_jiijiijiii=Module[\"dynCall_jiijiijiii\"]=Module[\"asm\"][\"vh\"]).apply(null,arguments)};var dynCall_jiijjiii=Module[\"dynCall_jiijjiii\"]=function(){return(dynCall_jiijjiii=Module[\"dynCall_jiijjiii\"]=Module[\"asm\"][\"wh\"]).apply(null,arguments)};var dynCall_jiiijii=Module[\"dynCall_jiiijii\"]=function(){return(dynCall_jiiijii=Module[\"dynCall_jiiijii\"]=Module[\"asm\"][\"xh\"]).apply(null,arguments)};var dynCall_jiijijii=Module[\"dynCall_jiijijii\"]=function(){return(dynCall_jiijijii=Module[\"dynCall_jiijijii\"]=Module[\"asm\"][\"yh\"]).apply(null,arguments)};var dynCall_viiijjij=Module[\"dynCall_viiijjij\"]=function(){return(dynCall_viiijjij=Module[\"dynCall_viiijjij\"]=Module[\"asm\"][\"zh\"]).apply(null,arguments)};var dynCall_vijijjiij=Module[\"dynCall_vijijjiij\"]=function(){return(dynCall_vijijjiij=Module[\"dynCall_vijijjiij\"]=Module[\"asm\"][\"Ah\"]).apply(null,arguments)};var dynCall_viijjij=Module[\"dynCall_viijjij\"]=function(){return(dynCall_viijjij=Module[\"dynCall_viijjij\"]=Module[\"asm\"][\"Bh\"]).apply(null,arguments)};var dynCall_viiijjiij=Module[\"dynCall_viiijjiij\"]=function(){return(dynCall_viiijjiij=Module[\"dynCall_viiijjiij\"]=Module[\"asm\"][\"Ch\"]).apply(null,arguments)};var dynCall_viiiijjjj=Module[\"dynCall_viiiijjjj\"]=function(){return(dynCall_viiiijjjj=Module[\"dynCall_viiiijjjj\"]=Module[\"asm\"][\"Dh\"]).apply(null,arguments)};var dynCall_viijiiiiij=Module[\"dynCall_viijiiiiij\"]=function(){return(dynCall_viijiiiiij=Module[\"dynCall_viijiiiiij\"]=Module[\"asm\"][\"Eh\"]).apply(null,arguments)};var dynCall_viijiiiijj=Module[\"dynCall_viijiiiijj\"]=function(){return(dynCall_viijiiiijj=Module[\"dynCall_viijiiiijj\"]=Module[\"asm\"][\"Fh\"]).apply(null,arguments)};var dynCall_viiijiiiijjj=Module[\"dynCall_viiijiiiijjj\"]=function(){return(dynCall_viiijiiiijjj=Module[\"dynCall_viiijiiiijjj\"]=Module[\"asm\"][\"Gh\"]).apply(null,arguments)};var dynCall_viijijiiiijjj=Module[\"dynCall_viijijiiiijjj\"]=function(){return(dynCall_viijijiiiijjj=Module[\"dynCall_viijijiiiijjj\"]=Module[\"asm\"][\"Hh\"]).apply(null,arguments)};var dynCall_viiiiijiiii=Module[\"dynCall_viiiiijiiii\"]=function(){return(dynCall_viiiiijiiii=Module[\"dynCall_viiiiijiiii\"]=Module[\"asm\"][\"Ih\"]).apply(null,arguments)};var dynCall_iiijii=Module[\"dynCall_iiijii\"]=function(){return(dynCall_iiijii=Module[\"dynCall_iiijii\"]=Module[\"asm\"][\"Jh\"]).apply(null,arguments)};var dynCall_fiijii=Module[\"dynCall_fiijii\"]=function(){return(dynCall_fiijii=Module[\"dynCall_fiijii\"]=Module[\"asm\"][\"Kh\"]).apply(null,arguments)};var dynCall_diijii=Module[\"dynCall_diijii\"]=function(){return(dynCall_diijii=Module[\"dynCall_diijii\"]=Module[\"asm\"][\"Lh\"]).apply(null,arguments)};var dynCall_iiiiiiijii=Module[\"dynCall_iiiiiiijii\"]=function(){return(dynCall_iiiiiiijii=Module[\"dynCall_iiiiiiijii\"]=Module[\"asm\"][\"Mh\"]).apply(null,arguments)};var dynCall_viiiiji=Module[\"dynCall_viiiiji\"]=function(){return(dynCall_viiiiji=Module[\"dynCall_viiiiji\"]=Module[\"asm\"][\"Nh\"]).apply(null,arguments)};var dynCall_jiiiijii=Module[\"dynCall_jiiiijii\"]=function(){return(dynCall_jiiiijii=Module[\"dynCall_jiiiijii\"]=Module[\"asm\"][\"Oh\"]).apply(null,arguments)};var dynCall_jiiijiii=Module[\"dynCall_jiiijiii\"]=function(){return(dynCall_jiiijiii=Module[\"dynCall_jiiijiii\"]=Module[\"asm\"][\"Ph\"]).apply(null,arguments)};var dynCall_jiiiiijiiii=Module[\"dynCall_jiiiiijiiii\"]=function(){return(dynCall_jiiiiijiiii=Module[\"dynCall_jiiiiijiiii\"]=Module[\"asm\"][\"Qh\"]).apply(null,arguments)};var dynCall_jj=Module[\"dynCall_jj\"]=function(){return(dynCall_jj=Module[\"dynCall_jj\"]=Module[\"asm\"][\"Rh\"]).apply(null,arguments)};var dynCall_jd=Module[\"dynCall_jd\"]=function(){return(dynCall_jd=Module[\"dynCall_jd\"]=Module[\"asm\"][\"Sh\"]).apply(null,arguments)};var dynCall_jf=Module[\"dynCall_jf\"]=function(){return(dynCall_jf=Module[\"dynCall_jf\"]=Module[\"asm\"][\"Th\"]).apply(null,arguments)};var dynCall_iijjj=Module[\"dynCall_iijjj\"]=function(){return(dynCall_iijjj=Module[\"dynCall_iijjj\"]=Module[\"asm\"][\"Uh\"]).apply(null,arguments)};var dynCall_vijijiiiijjj=Module[\"dynCall_vijijiiiijjj\"]=function(){return(dynCall_vijijiiiijjj=Module[\"dynCall_vijijiiiijjj\"]=Module[\"asm\"][\"Vh\"]).apply(null,arguments)};var dynCall_iiiiiiji=Module[\"dynCall_iiiiiiji\"]=function(){return(dynCall_iiiiiiji=Module[\"dynCall_iiiiiiji\"]=Module[\"asm\"][\"Wh\"]).apply(null,arguments)};var dynCall_iiiiiiiiji=Module[\"dynCall_iiiiiiiiji\"]=function(){return(dynCall_iiiiiiiiji=Module[\"dynCall_iiiiiiiiji\"]=Module[\"asm\"][\"Xh\"]).apply(null,arguments)};var dynCall_jijijjij=Module[\"dynCall_jijijjij\"]=function(){return(dynCall_jijijjij=Module[\"dynCall_jijijjij\"]=Module[\"asm\"][\"Yh\"]).apply(null,arguments)};var dynCall_viijjj=Module[\"dynCall_viijjj\"]=function(){return(dynCall_viijjj=Module[\"dynCall_viijjj\"]=Module[\"asm\"][\"Zh\"]).apply(null,arguments)};var dynCall_vijjij=Module[\"dynCall_vijjij\"]=function(){return(dynCall_vijjij=Module[\"dynCall_vijjij\"]=Module[\"asm\"][\"_h\"]).apply(null,arguments)};var dynCall_viijjji=Module[\"dynCall_viijjji\"]=function(){return(dynCall_viijjji=Module[\"dynCall_viijjji\"]=Module[\"asm\"][\"$h\"]).apply(null,arguments)};var dynCall_iiiiiij=Module[\"dynCall_iiiiiij\"]=function(){return(dynCall_iiiiiij=Module[\"dynCall_iiiiiij\"]=Module[\"asm\"][\"ai\"]).apply(null,arguments)};var dynCall_iiiiiiiiiiji=Module[\"dynCall_iiiiiiiiiiji\"]=function(){return(dynCall_iiiiiiiiiiji=Module[\"dynCall_iiiiiiiiiiji\"]=Module[\"asm\"][\"bi\"]).apply(null,arguments)};var dynCall_jiiiiiii=Module[\"dynCall_jiiiiiii\"]=function(){return(dynCall_jiiiiiii=Module[\"dynCall_jiiiiiii\"]=Module[\"asm\"][\"ci\"]).apply(null,arguments)};var dynCall_jijj=Module[\"dynCall_jijj\"]=function(){return(dynCall_jijj=Module[\"dynCall_jijj\"]=Module[\"asm\"][\"di\"]).apply(null,arguments)};var dynCall_viiiijiiiiiiii=Module[\"dynCall_viiiijiiiiiiii\"]=function(){return(dynCall_viiiijiiiiiiii=Module[\"dynCall_viiiijiiiiiiii\"]=Module[\"asm\"][\"ei\"]).apply(null,arguments)};var dynCall_ij=Module[\"dynCall_ij\"]=function(){return(dynCall_ij=Module[\"dynCall_ij\"]=Module[\"asm\"][\"fi\"]).apply(null,arguments)};var dynCall_jjj=Module[\"dynCall_jjj\"]=function(){return(dynCall_jjj=Module[\"dynCall_jjj\"]=Module[\"asm\"][\"gi\"]).apply(null,arguments)};var dynCall_vjii=Module[\"dynCall_vjii\"]=function(){return(dynCall_vjii=Module[\"dynCall_vjii\"]=Module[\"asm\"][\"hi\"]).apply(null,arguments)};var dynCall_jjjjjjd=Module[\"dynCall_jjjjjjd\"]=function(){return(dynCall_jjjjjjd=Module[\"dynCall_jjjjjjd\"]=Module[\"asm\"][\"ii\"]).apply(null,arguments)};var dynCall_vjiiii=Module[\"dynCall_vjiiii\"]=function(){return(dynCall_vjiiii=Module[\"dynCall_vjiiii\"]=Module[\"asm\"][\"ji\"]).apply(null,arguments)};var dynCall_viiiiijiii=Module[\"dynCall_viiiiijiii\"]=function(){return(dynCall_viiiiijiii=Module[\"dynCall_viiiiijiii\"]=Module[\"asm\"][\"ki\"]).apply(null,arguments)};var dynCall_jiij=Module[\"dynCall_jiij\"]=function(){return(dynCall_jiij=Module[\"dynCall_jiij\"]=Module[\"asm\"][\"li\"]).apply(null,arguments)};var dynCall_iiiijjii=Module[\"dynCall_iiiijjii\"]=function(){return(dynCall_iiiijjii=Module[\"dynCall_iiiijjii\"]=Module[\"asm\"][\"mi\"]).apply(null,arguments)};var dynCall_iiiiijji=Module[\"dynCall_iiiiijji\"]=function(){return(dynCall_iiiiijji=Module[\"dynCall_iiiiijji\"]=Module[\"asm\"][\"ni\"]).apply(null,arguments)};var dynCall_viiijjii=Module[\"dynCall_viiijjii\"]=function(){return(dynCall_viiijjii=Module[\"dynCall_viiijjii\"]=Module[\"asm\"][\"oi\"]).apply(null,arguments)};var dynCall_viiiijji=Module[\"dynCall_viiiijji\"]=function(){return(dynCall_viiiijji=Module[\"dynCall_viiiijji\"]=Module[\"asm\"][\"pi\"]).apply(null,arguments)};var dynCall_viiiijjii=Module[\"dynCall_viiiijjii\"]=function(){return(dynCall_viiiijjii=Module[\"dynCall_viiiijjii\"]=Module[\"asm\"][\"qi\"]).apply(null,arguments)};var dynCall_viiiiijji=Module[\"dynCall_viiiiijji\"]=function(){return(dynCall_viiiiijji=Module[\"dynCall_viiiiijji\"]=Module[\"asm\"][\"ri\"]).apply(null,arguments)};var dynCall_iiiiiijji=Module[\"dynCall_iiiiiijji\"]=function(){return(dynCall_iiiiiijji=Module[\"dynCall_iiiiiijji\"]=Module[\"asm\"][\"si\"]).apply(null,arguments)};var dynCall_iiiiijjj=Module[\"dynCall_iiiiijjj\"]=function(){return(dynCall_iiiiijjj=Module[\"dynCall_iiiiijjj\"]=Module[\"asm\"][\"ti\"]).apply(null,arguments)};var dynCall_jijiiii=Module[\"dynCall_jijiiii\"]=function(){return(dynCall_jijiiii=Module[\"dynCall_jijiiii\"]=Module[\"asm\"][\"ui\"]).apply(null,arguments)};var dynCall_viiijiji=Module[\"dynCall_viiijiji\"]=function(){return(dynCall_viiijiji=Module[\"dynCall_viiijiji\"]=Module[\"asm\"][\"vi\"]).apply(null,arguments)};var dynCall_iiijjjii=Module[\"dynCall_iiijjjii\"]=function(){return(dynCall_iiijjjii=Module[\"dynCall_iiijjjii\"]=Module[\"asm\"][\"wi\"]).apply(null,arguments)};var dynCall_iiiiijjji=Module[\"dynCall_iiiiijjji\"]=function(){return(dynCall_iiiiijjji=Module[\"dynCall_iiiiijjji\"]=Module[\"asm\"][\"xi\"]).apply(null,arguments)};var dynCall_iiiijjj=Module[\"dynCall_iiiijjj\"]=function(){return(dynCall_iiiijjj=Module[\"dynCall_iiiijjj\"]=Module[\"asm\"][\"yi\"]).apply(null,arguments)};var dynCall_iidj=Module[\"dynCall_iidj\"]=function(){return(dynCall_iidj=Module[\"dynCall_iidj\"]=Module[\"asm\"][\"zi\"]).apply(null,arguments)};var dynCall_ijji=Module[\"dynCall_ijji\"]=function(){return(dynCall_ijji=Module[\"dynCall_ijji\"]=Module[\"asm\"][\"Ai\"]).apply(null,arguments)};var dynCall_iiiiiiiij=Module[\"dynCall_iiiiiiiij\"]=function(){return(dynCall_iiiiiiiij=Module[\"dynCall_iiiiiiiij\"]=Module[\"asm\"][\"Bi\"]).apply(null,arguments)};var dynCall_iiiiiiij=Module[\"dynCall_iiiiiiij\"]=function(){return(dynCall_iiiiiiij=Module[\"dynCall_iiiiiiij\"]=Module[\"asm\"][\"Ci\"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiij=Module[\"dynCall_iiiiiiiiiiiij\"]=function(){return(dynCall_iiiiiiiiiiiij=Module[\"dynCall_iiiiiiiiiiiij\"]=Module[\"asm\"][\"Di\"]).apply(null,arguments)};var dynCall_iiiiiiiji=Module[\"dynCall_iiiiiiiji\"]=function(){return(dynCall_iiiiiiiji=Module[\"dynCall_iiiiiiiji\"]=Module[\"asm\"][\"Ei\"]).apply(null,arguments)};var dynCall_iiiidjj=Module[\"dynCall_iiiidjj\"]=function(){return(dynCall_iiiidjj=Module[\"dynCall_iiiidjj\"]=Module[\"asm\"][\"Fi\"]).apply(null,arguments)};var dynCall_jiiiiiijii=Module[\"dynCall_jiiiiiijii\"]=function(){return(dynCall_jiiiiiijii=Module[\"dynCall_jiiiiiijii\"]=Module[\"asm\"][\"Gi\"]).apply(null,arguments)};var dynCall_iiiijji=Module[\"dynCall_iiiijji\"]=function(){return(dynCall_iiiijji=Module[\"dynCall_iiiijji\"]=Module[\"asm\"][\"Hi\"]).apply(null,arguments)};var dynCall_jiiiiii=Module[\"dynCall_jiiiiii\"]=function(){return(dynCall_jiiiiii=Module[\"dynCall_jiiiiii\"]=Module[\"asm\"][\"Ii\"]).apply(null,arguments)};var dynCall_iijiji=Module[\"dynCall_iijiji\"]=function(){return(dynCall_iijiji=Module[\"dynCall_iijiji\"]=Module[\"asm\"][\"Ji\"]).apply(null,arguments)};var dynCall_vjiiiji=Module[\"dynCall_vjiiiji\"]=function(){return(dynCall_vjiiiji=Module[\"dynCall_vjiiiji\"]=Module[\"asm\"][\"Ki\"]).apply(null,arguments)};var dynCall_jjjii=Module[\"dynCall_jjjii\"]=function(){return(dynCall_jjjii=Module[\"dynCall_jjjii\"]=Module[\"asm\"][\"Li\"]).apply(null,arguments)};var dynCall_jji=Module[\"dynCall_jji\"]=function(){return(dynCall_jji=Module[\"dynCall_jji\"]=Module[\"asm\"][\"Mi\"]).apply(null,arguments)};var dynCall_viiijijiji=Module[\"dynCall_viiijijiji\"]=function(){return(dynCall_viiijijiji=Module[\"dynCall_viiijijiji\"]=Module[\"asm\"][\"Ni\"]).apply(null,arguments)};var dynCall_jiiijj=Module[\"dynCall_jiiijj\"]=function(){return(dynCall_jiiijj=Module[\"dynCall_jiiijj\"]=Module[\"asm\"][\"Oi\"]).apply(null,arguments)};var dynCall_iiiijii=Module[\"dynCall_iiiijii\"]=function(){return(dynCall_iiiijii=Module[\"dynCall_iiiijii\"]=Module[\"asm\"][\"Pi\"]).apply(null,arguments)};var dynCall_viiiijii=Module[\"dynCall_viiiijii\"]=function(){return(dynCall_viiiijii=Module[\"dynCall_viiiijii\"]=Module[\"asm\"][\"Qi\"]).apply(null,arguments)};var dynCall_iijiii=Module[\"dynCall_iijiii\"]=function(){return(dynCall_iijiii=Module[\"dynCall_iijiii\"]=Module[\"asm\"][\"Ri\"]).apply(null,arguments)};var dynCall_jiiiiji=Module[\"dynCall_jiiiiji\"]=function(){return(dynCall_jiiiiji=Module[\"dynCall_jiiiiji\"]=Module[\"asm\"][\"Si\"]).apply(null,arguments)};var dynCall_vijiijj=Module[\"dynCall_vijiijj\"]=function(){return(dynCall_vijiijj=Module[\"dynCall_vijiijj\"]=Module[\"asm\"][\"Ti\"]).apply(null,arguments)};var dynCall_vifiijj=Module[\"dynCall_vifiijj\"]=function(){return(dynCall_vifiijj=Module[\"dynCall_vifiijj\"]=Module[\"asm\"][\"Ui\"]).apply(null,arguments)};var dynCall_vidiijj=Module[\"dynCall_vidiijj\"]=function(){return(dynCall_vidiijj=Module[\"dynCall_vidiijj\"]=Module[\"asm\"][\"Vi\"]).apply(null,arguments)};var dynCall_viiiiij=Module[\"dynCall_viiiiij\"]=function(){return(dynCall_viiiiij=Module[\"dynCall_viiiiij\"]=Module[\"asm\"][\"Wi\"]).apply(null,arguments)};var dynCall_ijjiii=Module[\"dynCall_ijjiii\"]=function(){return(dynCall_ijjiii=Module[\"dynCall_ijjiii\"]=Module[\"asm\"][\"Xi\"]).apply(null,arguments)};var dynCall_vijijjji=Module[\"dynCall_vijijjji\"]=function(){return(dynCall_vijijjji=Module[\"dynCall_vijijjji\"]=Module[\"asm\"][\"Yi\"]).apply(null,arguments)};var dynCall_viijiijj=Module[\"dynCall_viijiijj\"]=function(){return(dynCall_viijiijj=Module[\"dynCall_viijiijj\"]=Module[\"asm\"][\"Zi\"]).apply(null,arguments)};var dynCall_viijijj=Module[\"dynCall_viijijj\"]=function(){return(dynCall_viijijj=Module[\"dynCall_viijijj\"]=Module[\"asm\"][\"_i\"]).apply(null,arguments)};var dynCall_viiiiijjji=Module[\"dynCall_viiiiijjji\"]=function(){return(dynCall_viiiiijjji=Module[\"dynCall_viiiiijjji\"]=Module[\"asm\"][\"$i\"]).apply(null,arguments)};var dynCall_iiijiijj=Module[\"dynCall_iiijiijj\"]=function(){return(dynCall_iiijiijj=Module[\"dynCall_iiijiijj\"]=Module[\"asm\"][\"aj\"]).apply(null,arguments)};var dynCall_viiijijjj=Module[\"dynCall_viiijijjj\"]=function(){return(dynCall_viiijijjj=Module[\"dynCall_viiijijjj\"]=Module[\"asm\"][\"bj\"]).apply(null,arguments)};var dynCall_iijiijj=Module[\"dynCall_iijiijj\"]=function(){return(dynCall_iijiijj=Module[\"dynCall_iijiijj\"]=Module[\"asm\"][\"cj\"]).apply(null,arguments)};var dynCall_viiijjjji=Module[\"dynCall_viiijjjji\"]=function(){return(dynCall_viiijjjji=Module[\"dynCall_viiijjjji\"]=Module[\"asm\"][\"dj\"]).apply(null,arguments)};var dynCall_viiiijiii=Module[\"dynCall_viiiijiii\"]=function(){return(dynCall_viiiijiii=Module[\"dynCall_viiiijiii\"]=Module[\"asm\"][\"ej\"]).apply(null,arguments)};var dynCall_viijiiii=Module[\"dynCall_viijiiii\"]=function(){return(dynCall_viijiiii=Module[\"dynCall_viijiiii\"]=Module[\"asm\"][\"fj\"]).apply(null,arguments)};var dynCall_vijjiiii=Module[\"dynCall_vijjiiii\"]=function(){return(dynCall_vijjiiii=Module[\"dynCall_vijjiiii\"]=Module[\"asm\"][\"gj\"]).apply(null,arguments)};var dynCall_vijijjiiiii=Module[\"dynCall_vijijjiiiii\"]=function(){return(dynCall_vijijjiiiii=Module[\"dynCall_vijijjiiiii\"]=Module[\"asm\"][\"hj\"]).apply(null,arguments)};var dynCall_vijjiiiii=Module[\"dynCall_vijjiiiii\"]=function(){return(dynCall_vijjiiiii=Module[\"dynCall_vijjiiiii\"]=Module[\"asm\"][\"ij\"]).apply(null,arguments)};var dynCall_iiijjji=Module[\"dynCall_iiijjji\"]=function(){return(dynCall_iiijjji=Module[\"dynCall_iiijjji\"]=Module[\"asm\"][\"jj\"]).apply(null,arguments)};var dynCall_viiiijjj=Module[\"dynCall_viiiijjj\"]=function(){return(dynCall_viiiijjj=Module[\"dynCall_viiiijjj\"]=Module[\"asm\"][\"kj\"]).apply(null,arguments)};var dynCall_viiiiijjj=Module[\"dynCall_viiiiijjj\"]=function(){return(dynCall_viiiiijjj=Module[\"dynCall_viiiiijjj\"]=Module[\"asm\"][\"lj\"]).apply(null,arguments)};var dynCall_viijiji=Module[\"dynCall_viijiji\"]=function(){return(dynCall_viijiji=Module[\"dynCall_viijiji\"]=Module[\"asm\"][\"mj\"]).apply(null,arguments)};function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viif(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iff(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_idd(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_idiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iidii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viidii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vif(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vifi(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vidi(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_f(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_d(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_if(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_id(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiif(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vijjj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ijjiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_ijjiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vj(index,a1,a2){var sp=stackSave();try{dynCall_vj(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijjii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iijjijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjjii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjjii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjjijij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vjjijij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{return dynCall_iiiiijjiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijjij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jijjij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_vijijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiiijjjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jiijiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijjiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiijijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_jiijijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viijiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viijiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17){var sp=stackSave();try{dynCall_viijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiijjiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_jiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_fiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_fiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_diijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_diijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_jiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jiiiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jj(index,a1,a2){var sp=stackSave();try{return dynCall_jj(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jd(index,a1){var sp=stackSave();try{return dynCall_jd(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jf(index,a1){var sp=stackSave();try{return dynCall_jf(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ijji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_ijji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijjj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijjj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16){var sp=stackSave();try{dynCall_vijijiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jijijjij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijjij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return dynCall_iiiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{return dynCall_iiiiiiiiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_ij(index,a1,a2){var sp=stackSave();try{return dynCall_ij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){var sp=stackSave();try{dynCall_viiiijiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjj(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjjjjjd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_jjjjjjd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiijji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiijjjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jijiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iidj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iidj(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiidjj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiidjj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iijiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vjiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vjiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jjjii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jjjii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijijiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiijij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiijii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jiiiiji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_jiiiiji(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vifiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vifiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vidiijj(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vidiijj(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiij(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiij(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_vijijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_jijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viijijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiiiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iijiijj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_iiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiijjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiijjjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiijjjji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viijiji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijiji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_vijijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vijjiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_vijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vijjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}function invoke_viiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!==\"longjmp\")throw e;_setThrew(1,0)}}Module[\"ccall\"]=ccall;var calledRun;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"_main\"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return DuckDB.ready\n}\n);\n})();\nexport default DuckDB;", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support transform streams?\n if (\n typeof TransformStream === 'function' &&\n ReadableStream.prototype.pipeThrough &&\n WebAssembly.instantiateStreaming\n ) {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import DuckDBWasm from './duckdb-mvp.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n", "\nvar DuckDB = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(DuckDB) {\n DuckDB = DuckDB || {};\n\nvar Module=typeof DuckDB!==\"undefined\"?DuckDB:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err(\"exiting due to exception: \"+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}requireNodeFS=function(){if(!nodePath){fs=require(\"fs\");nodePath=require(\"path\")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath[\"normalize\"](filename);return fs.readFileSync(filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath[\"normalize\"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process[\"exitCode\"]=status;throw toThrow}logExceptionOnExit(toThrow);process[\"exit\"](status)});Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module[\"_\"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -s ASSERTIONS=1 for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;if(Module[\"locateFile\"]){wasmBinaryFile=\"./duckdb-eh.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL(\"./duckdb-eh.wasm\",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"ea\"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"ha\"];addOnInit(Module[\"asm\"][\"fa\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch===\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+UTF8ToString(condition)+\", at: \"+[filename?UTF8ToString(filename):\"unknown filename\",line,func?UTF8ToString(func):\"unknown function\"])}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){}function ___syscall_access(path,amode){path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}function SOCKFS(){err(\"missing function: $SOCKFS\");abort(-1)}function FS(){err(\"missing function: $FS\");abort(-1)}function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255)}function inetNtop6(ints){var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str}function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]===\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_bind(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen){var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){}function ___syscall_fstatat64(dirfd,path,buf,flags){}function ___syscall_ftruncate64(fd,low,high){}function ___syscall_getdents64(fd,dirp,count){}function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getpeername(fd,addr,addrlen){var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen){var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){}function ___syscall_mkdir(path,mode){path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}function ___syscall_rename(old_path,new_path){}function ___syscall_rmdir(path){}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){}function ___syscall_socket(domain,type,protocol){}function ___syscall_stat64(path,buf){}function ___syscall_unlink(path){}function __dlopen_js(filename,flag){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function __dlsym_js(handle,symbol){abort(\"To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking\")}function _abort(){abort(\"\")}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator===\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt,offset_low);HEAP32[pnum>>2]=num;return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_sync(fd){var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov>>2];var len=HEAP32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function getRandomDevice(){if(typeof crypto===\"object\"&&typeof crypto[\"getRandomValues\"]===\"function\"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");return function(){return crypto_module[\"randomBytes\"](1)[0]}}catch(e){}}return function(){abort(\"randomDevice\")}}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i<size;i++){HEAP8[buffer+i>>0]=_getentropy.randomDevice()}return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}else{return\"PM\"}},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"},\"%V\":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?\"01\":\"00\"},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={\"a\":___assert_fail,\"R\":___syscall__newselect,\"L\":___syscall_access,\"T\":___syscall_bind,\"S\":___syscall_connect,\"b\":___syscall_fcntl64,\"$\":___syscall_fstat64,\"Z\":___syscall_fstatat64,\"W\":___syscall_ftruncate64,\"X\":___syscall_getdents64,\"N\":___syscall_getpeername,\"Q\":___syscall_getsockopt,\"ba\":___syscall_ioctl,\"Y\":___syscall_lstat64,\"aa\":___syscall_mkdir,\"q\":___syscall_open,\"O\":___syscall_recvfrom,\"J\":___syscall_rename,\"o\":___syscall_rmdir,\"P\":___syscall_sendto,\"k\":___syscall_socket,\"_\":___syscall_stat64,\"p\":___syscall_unlink,\"m\":__dlopen_js,\"U\":__dlsym_js,\"d\":_abort,\"n\":_clock_gettime,\"D\":_duckdb_web_fs_directory_create,\"E\":_duckdb_web_fs_directory_exists,\"B\":_duckdb_web_fs_directory_list_files,\"C\":_duckdb_web_fs_directory_remove,\"h\":_duckdb_web_fs_file_close,\"z\":_duckdb_web_fs_file_exists,\"G\":_duckdb_web_fs_file_get_last_modified_time,\"A\":_duckdb_web_fs_file_move,\"H\":_duckdb_web_fs_file_open,\"f\":_duckdb_web_fs_file_read,\"F\":_duckdb_web_fs_file_truncate,\"i\":_duckdb_web_fs_file_write,\"y\":_duckdb_web_fs_glob,\"g\":_duckdb_web_test_platform_feature,\"I\":_duckdb_web_udf_scalar_call,\"r\":_emscripten_get_heap_max,\"ca\":_emscripten_memcpy_big,\"da\":_emscripten_resize_heap,\"t\":_environ_get,\"u\":_environ_sizes_get,\"c\":_fd_close,\"w\":_fd_pread,\"v\":_fd_pwrite,\"j\":_fd_read,\"x\":_fd_seek,\"K\":_fd_sync,\"e\":_fd_write,\"l\":_getaddrinfo,\"V\":_getentropy,\"M\":_getnameinfo,\"s\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"fa\"]).apply(null,arguments)};var _main=Module[\"_main\"]=function(){return(_main=Module[\"_main\"]=Module[\"asm\"][\"ga\"]).apply(null,arguments)};var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=function(){return(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=Module[\"asm\"][\"ia\"]).apply(null,arguments)};var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=function(){return(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=Module[\"asm\"][\"ja\"]).apply(null,arguments)};var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=function(){return(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=Module[\"asm\"][\"ka\"]).apply(null,arguments)};var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=function(){return(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=Module[\"asm\"][\"la\"]).apply(null,arguments)};var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=function(){return(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=Module[\"asm\"][\"ma\"]).apply(null,arguments)};var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=function(){return(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=Module[\"asm\"][\"na\"]).apply(null,arguments)};var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=function(){return(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=Module[\"asm\"][\"oa\"]).apply(null,arguments)};var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=function(){return(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=Module[\"asm\"][\"pa\"]).apply(null,arguments)};var _duckdb_web_open=Module[\"_duckdb_web_open\"]=function(){return(_duckdb_web_open=Module[\"_duckdb_web_open\"]=Module[\"asm\"][\"qa\"]).apply(null,arguments)};var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=function(){return(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=Module[\"asm\"][\"ra\"]).apply(null,arguments)};var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=function(){return(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=Module[\"asm\"][\"sa\"]).apply(null,arguments)};var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=function(){return(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=Module[\"asm\"][\"ta\"]).apply(null,arguments)};var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=function(){return(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=Module[\"asm\"][\"ua\"]).apply(null,arguments)};var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=function(){return(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=Module[\"asm\"][\"va\"]).apply(null,arguments)};var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=function(){return(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=Module[\"asm\"][\"wa\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=function(){return(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=Module[\"asm\"][\"xa\"]).apply(null,arguments)};var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=function(){return(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=Module[\"asm\"][\"ya\"]).apply(null,arguments)};var _duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=function(){return(_duckdb_web_fs_set_file_descriptor=Module[\"_duckdb_web_fs_set_file_descriptor\"]=Module[\"asm\"][\"za\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=function(){return(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=Module[\"asm\"][\"Aa\"]).apply(null,arguments)};var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=function(){return(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=Module[\"asm\"][\"Ba\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=function(){return(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=Module[\"asm\"][\"Ca\"]).apply(null,arguments)};var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=function(){return(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=Module[\"asm\"][\"Da\"]).apply(null,arguments)};var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=function(){return(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=Module[\"asm\"][\"Ea\"]).apply(null,arguments)};var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=function(){return(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=Module[\"asm\"][\"Fa\"]).apply(null,arguments)};var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=function(){return(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=Module[\"asm\"][\"Ga\"]).apply(null,arguments)};var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=function(){return(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=Module[\"asm\"][\"Ha\"]).apply(null,arguments)};var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=function(){return(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=Module[\"asm\"][\"Ia\"]).apply(null,arguments)};var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=function(){return(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=Module[\"asm\"][\"Ja\"]).apply(null,arguments)};var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=function(){return(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=Module[\"asm\"][\"Ka\"]).apply(null,arguments)};var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=function(){return(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=Module[\"asm\"][\"La\"]).apply(null,arguments)};var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=function(){return(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=Module[\"asm\"][\"Ma\"]).apply(null,arguments)};var _duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=function(){return(_duckdb_web_query_send=Module[\"_duckdb_web_query_send\"]=Module[\"asm\"][\"Na\"]).apply(null,arguments)};var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=function(){return(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=Module[\"asm\"][\"Oa\"]).apply(null,arguments)};var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=function(){return(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=Module[\"asm\"][\"Pa\"]).apply(null,arguments)};var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=function(){return(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=Module[\"asm\"][\"Qa\"]).apply(null,arguments)};var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=function(){return(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=Module[\"asm\"][\"Ra\"]).apply(null,arguments)};var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=function(){return(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=Module[\"asm\"][\"Sa\"]).apply(null,arguments)};var ___errno_location=Module[\"___errno_location\"]=function(){return(___errno_location=Module[\"___errno_location\"]=Module[\"asm\"][\"Ta\"]).apply(null,arguments)};var _htonl=Module[\"_htonl\"]=function(){return(_htonl=Module[\"_htonl\"]=Module[\"asm\"][\"Ua\"]).apply(null,arguments)};var _htons=Module[\"_htons\"]=function(){return(_htons=Module[\"_htons\"]=Module[\"asm\"][\"Va\"]).apply(null,arguments)};var _ntohs=Module[\"_ntohs\"]=function(){return(_ntohs=Module[\"_ntohs\"]=Module[\"asm\"][\"Wa\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"Xa\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"Ya\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"Za\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"_a\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"$a\"]).apply(null,arguments)};Module[\"ccall\"]=ccall;var calledRun;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"_main\"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return DuckDB.ready\n}\n);\n})();\nexport default DuckDB;", "import DuckDBWasm from './duckdb-eh.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\n", "export * from '../bindings';\nexport * from '../log';\nexport * from '../platform';\nexport * from '../status';\nexport * from '../version';\nexport { DEFAULT_RUNTIME } from '../bindings/runtime';\nexport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\n\nimport { Logger } from '../log';\nimport { DuckDBRuntime, DuckDBBindings } from '../bindings';\nimport { DuckDBBundles, getPlatformFeatures } from '../platform';\nimport { DuckDB as DuckDBMVP } from '../bindings/bindings_browser_mvp';\nimport { DuckDB as DuckDBNext } from '../bindings/bindings_browser_eh';\n\nexport async function createDuckDB(\n bundles: DuckDBBundles,\n logger: Logger,\n runtime: DuckDBRuntime,\n): Promise<DuckDBBindings> {\n const platform = await getPlatformFeatures();\n if (platform.wasmExceptions) {\n if (bundles.eh) {\n return new DuckDBNext(logger, runtime, bundles.eh!.mainModule);\n }\n }\n return new DuckDBMVP(logger, runtime, bundles.mvp.mainModule);\n}\n", "import * as arrow from 'apache-arrow';\nimport { AsyncDuckDB } from './async_bindings';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { ArrowInsertOptions, CSVInsertOptions, JSONInsertOptions } from '../bindings/insert_options';\n\n/** A thin helper to memoize the connection id */\nexport class AsyncDuckDBConnection {\n /** The async duckdb */\n protected readonly _bindings: AsyncDuckDB;\n /** The conn handle */\n protected readonly _conn: number;\n\n constructor(bindings: AsyncDuckDB, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Access the database bindings */\n public get bindings(): AsyncDuckDB {\n return this._bindings;\n }\n\n /** Disconnect from the database */\n public async close(): Promise<void> {\n return this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: AsyncDuckDB, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public async query<T extends { [key: string]: arrow.DataType } = any>(text: string): Promise<arrow.Table<T>> {\n this._bindings.logger.log({\n timestamp: new Date(),\n level: LogLevel.INFO,\n origin: LogOrigin.ASYNC_DUCKDB,\n topic: LogTopic.QUERY,\n event: LogEvent.RUN,\n value: text,\n });\n const buffer = await this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<arrow.AsyncRecordBatchStreamReader<T>> {\n this._bindings.logger.log({\n timestamp: new Date(),\n level: LogLevel.INFO,\n origin: LogOrigin.ASYNC_DUCKDB,\n topic: LogTopic.QUERY,\n event: LogEvent.RUN,\n value: text,\n });\n const header = await this._bindings.sendQuery(this._conn, text);\n const iter = new AsyncResultStreamIterator(this._bindings, this._conn, header);\n const reader = await arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isAsync());\n console.assert(reader.isStream());\n return reader as unknown as arrow.AsyncRecordBatchStreamReader<T>; // XXX\n }\n\n /** Get table names */\n public async getTableNames(query: string): Promise<string[]> {\n return await this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public async prepare<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<AsyncPreparedStatement> {\n const stmt = await this._bindings.createPrepared(this._conn, text);\n return new AsyncPreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Insert an arrow table */\n public async insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): Promise<void> {\n const buffer = table.serialize('binary', true);\n await this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public async insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): Promise<void> {\n await this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n /** Insert csv file from path */\n public async insertCSVFromPath(text: string, options: CSVInsertOptions): Promise<void> {\n await this._bindings.insertCSVFromPath(this._conn, text, options);\n }\n /** Insert json file from path */\n public async insertJSONFromPath(text: string, options: JSONInsertOptions): Promise<void> {\n await this._bindings.insertJSONFromPath(this._conn, text, options);\n }\n}\n\n/** An async result stream iterator */\nexport class AsyncResultStreamIterator implements AsyncIterable<Uint8Array> {\n /** First chunk? */\n protected _first: boolean;\n /** Reached end of stream? */\n protected _depleted: boolean;\n /** In-flight */\n protected _inFlight: Promise<Uint8Array> | null;\n\n constructor(\n protected readonly db: AsyncDuckDB,\n protected readonly conn: number,\n protected readonly header: Uint8Array,\n ) {\n this._first = true;\n this._depleted = false;\n this._inFlight = null;\n }\n\n async next(): Promise<IteratorResult<Uint8Array>> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n let buffer: Uint8Array;\n if (this._inFlight != null) {\n buffer = await this._inFlight;\n this._inFlight = null;\n } else {\n buffer = await this.db.fetchQueryResults(this.conn);\n }\n this._depleted = buffer.length == 0;\n if (!this._depleted) {\n this._inFlight = this.db.fetchQueryResults(this.conn);\n }\n return {\n done: this._depleted,\n value: buffer,\n };\n }\n\n [Symbol.asyncIterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id */\nexport class AsyncPreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: AsyncDuckDB;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: AsyncDuckDB, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public async close() {\n await this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public async query(...params: any[]): Promise<arrow.Table<T>> {\n const buffer = await this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return arrow.Table.from(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public async send(...params: any[]): Promise<arrow.AsyncRecordBatchStreamReader<T>> {\n const header = await this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new AsyncResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = await arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isAsync());\n console.assert(reader.isStream());\n return reader as unknown as arrow.AsyncRecordBatchStreamReader<T>; // XXX\n }\n}\n", "import { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';\nimport { LogEntryVariant } from '../log';\nimport { ScriptTokens } from '../bindings/tokens';\nimport { FileStatistics } from '../bindings/file_stats';\nimport { DuckDBConfig } from '../bindings/config';\nimport { WebFile } from '../bindings/web_file';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport type ConnectionID = number;\nexport type StatementID = number;\n\nexport enum WorkerRequestType {\n CLOSE_PREPARED = 'CLOSE_PREPARED',\n COLLECT_FILE_STATISTICS = 'COLLECT_FILE_STATISTICS',\n CONNECT = 'CONNECT',\n COPY_FILE_TO_BUFFER = 'COPY_FILE_TO_BUFFER',\n COPY_FILE_TO_PATH = 'COPY_FILE_TO_PATH',\n CREATE_PREPARED = 'CREATE_PREPARED',\n DISCONNECT = 'DISCONNECT',\n DROP_FILE = 'DROP_FILE',\n DROP_FILES = 'DROP_FILES',\n EXPORT_FILE_STATISTICS = 'EXPORT_FILE_STATISTICS',\n FETCH_QUERY_RESULTS = 'FETCH_QUERY_RESULTS',\n FLUSH_FILES = 'FLUSH_FILES',\n GET_FEATURE_FLAGS = 'GET_FEATURE_FLAGS',\n GET_TABLE_NAMES = 'GET_TABLE_NAMES',\n GET_VERSION = 'GET_VERSION',\n GLOB_FILE_INFOS = 'GLOB_FILE_INFOS',\n INSERT_ARROW_FROM_IPC_STREAM = 'INSERT_ARROW_FROM_IPC_STREAM',\n INSERT_CSV_FROM_PATH = 'IMPORT_CSV_FROM_PATH',\n INSERT_JSON_FROM_PATH = 'IMPORT_JSON_FROM_PATH',\n INSTANTIATE = 'INSTANTIATE',\n OPEN = 'OPEN',\n PING = 'PING',\n REGISTER_FILE_BUFFER = 'REGISTER_FILE_BUFFER',\n REGISTER_FILE_HANDLE = 'REGISTER_FILE_HANDLE',\n REGISTER_FILE_URL = 'REGISTER_FILE_URL',\n RESET = 'RESET',\n RUN_PREPARED = 'RUN_PREPARED',\n RUN_QUERY = 'RUN_QUERY',\n SEND_PREPARED = 'SEND_PREPARED',\n SEND_QUERY = 'SEND_QUERY',\n TOKENIZE = 'TOKENIZE',\n}\n\nexport enum WorkerResponseType {\n CONNECTION_INFO = 'CONNECTION_INFO',\n ERROR = 'ERROR',\n FEATURE_FLAGS = 'FEATURE_FLAGS',\n FILE_BUFFER = 'FILE_BUFFER',\n FILE_INFOS = 'FILE_INFOS',\n FILE_SIZE = 'FILE_SIZE',\n FILE_STATISTICS = 'FILE_STATISTICS',\n INSTANTIATE_PROGRESS = 'INSTANTIATE_PROGRESS',\n LOG = 'LOG',\n OK = 'OK',\n PREPARED_STATEMENT_ID = 'PREPARED_STATEMENT_ID',\n QUERY_PLAN = 'QUERY_PLAN',\n QUERY_RESULT = 'QUERY_RESULT',\n QUERY_RESULT_CHUNK = 'QUERY_RESULT_CHUNK',\n QUERY_START = 'QUERY_START',\n REGISTERED_FILE = 'REGISTERED_FILE',\n SCRIPT_TOKENS = 'SCRIPT_TOKENS',\n SUCCESS = 'SUCCESS',\n TABLE_NAMES = 'TABLE_NAMES',\n VERSION_STRING = 'VERSION_STRING',\n}\n\nexport type WorkerRequest<T, P> = {\n readonly messageId: number;\n readonly type: T;\n readonly data: P;\n};\n\nexport type WorkerResponse<T, P> = {\n readonly messageId: number;\n readonly requestId: number;\n readonly type: T;\n readonly data: P;\n};\n\nexport type WorkerTaskReturnType<T extends WorkerTaskVariant> = T extends WorkerTask<any, any, infer P> ? P : never;\n\nexport class WorkerTask<T, D, P> {\n readonly type: T;\n readonly data: D;\n promise: Promise<P>;\n promiseResolver: (value: P | PromiseLike<P>) => void = () => {};\n promiseRejecter: (value: any) => void = () => {};\n\n constructor(type: T, data: D) {\n this.type = type;\n this.data = data;\n this.promise = new Promise<P>(\n (resolve: (value: P | PromiseLike<P>) => void, reject: (reason?: void) => void) => {\n this.promiseResolver = resolve;\n this.promiseRejecter = reject;\n },\n );\n }\n}\n\nexport type WorkerRequestVariant =\n | WorkerRequest<WorkerRequestType.CLOSE_PREPARED, [ConnectionID, StatementID]>\n | WorkerRequest<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean]>\n | WorkerRequest<WorkerRequestType.CONNECT, null>\n | WorkerRequest<WorkerRequestType.COPY_FILE_TO_BUFFER, string>\n | WorkerRequest<WorkerRequestType.COPY_FILE_TO_PATH, [string, string]>\n | WorkerRequest<WorkerRequestType.CREATE_PREPARED, [ConnectionID, string]>\n | WorkerRequest<WorkerRequestType.DISCONNECT, number>\n | WorkerRequest<WorkerRequestType.DROP_FILE, string>\n | WorkerRequest<WorkerRequestType.DROP_FILES, null>\n | WorkerRequest<WorkerRequestType.EXPORT_FILE_STATISTICS, string>\n | WorkerRequest<WorkerRequestType.FETCH_QUERY_RESULTS, number>\n | WorkerRequest<WorkerRequestType.FLUSH_FILES, null>\n | WorkerRequest<WorkerRequestType.GET_FEATURE_FLAGS, null>\n | WorkerRequest<WorkerRequestType.GET_TABLE_NAMES, [number, string]>\n | WorkerRequest<WorkerRequestType.GET_VERSION, null>\n | WorkerRequest<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined]\n >\n | WorkerRequest<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions]>\n | WorkerRequest<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions]>\n | WorkerRequest<WorkerRequestType.INSTANTIATE, [string, string | null]>\n | WorkerRequest<WorkerRequestType.OPEN, DuckDBConfig>\n | WorkerRequest<WorkerRequestType.PING, null>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array]>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any]>\n | WorkerRequest<WorkerRequestType.REGISTER_FILE_URL, [string, string]>\n | WorkerRequest<WorkerRequestType.GLOB_FILE_INFOS, string>\n | WorkerRequest<WorkerRequestType.RESET, null>\n | WorkerRequest<WorkerRequestType.RUN_PREPARED, [number, number, any[]]>\n | WorkerRequest<WorkerRequestType.RUN_QUERY, [number, string]>\n | WorkerRequest<WorkerRequestType.SEND_PREPARED, [number, number, any[]]>\n | WorkerRequest<WorkerRequestType.SEND_QUERY, [number, string]>\n | WorkerRequest<WorkerRequestType.TOKENIZE, string>;\n\nexport type WorkerResponseVariant =\n | WorkerResponse<WorkerResponseType.CONNECTION_INFO, number>\n | WorkerResponse<WorkerResponseType.ERROR, any>\n | WorkerResponse<WorkerResponseType.FEATURE_FLAGS, number>\n | WorkerResponse<WorkerResponseType.FILE_BUFFER, Uint8Array>\n | WorkerResponse<WorkerResponseType.FILE_INFOS, WebFile[]>\n | WorkerResponse<WorkerResponseType.FILE_SIZE, number>\n | WorkerResponse<WorkerResponseType.FILE_STATISTICS, FileStatistics>\n | WorkerResponse<WorkerResponseType.INSTANTIATE_PROGRESS, InstantiationProgress>\n | WorkerResponse<WorkerResponseType.LOG, LogEntryVariant>\n | WorkerResponse<WorkerResponseType.OK, null>\n | WorkerResponse<WorkerResponseType.PREPARED_STATEMENT_ID, number>\n | WorkerResponse<WorkerResponseType.QUERY_PLAN, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_RESULT, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_RESULT_CHUNK, Uint8Array>\n | WorkerResponse<WorkerResponseType.QUERY_START, Uint8Array>\n | WorkerResponse<WorkerResponseType.SCRIPT_TOKENS, ScriptTokens>\n | WorkerResponse<WorkerResponseType.SUCCESS, boolean>\n | WorkerResponse<WorkerResponseType.TABLE_NAMES, string[]>\n | WorkerResponse<WorkerResponseType.VERSION_STRING, string>;\n\nexport type WorkerTaskVariant =\n | WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null>\n | WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null>\n | WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID>\n | WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array>\n | WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null>\n | WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number>\n | WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null>\n | WorkerTask<WorkerRequestType.DROP_FILE, string, null>\n | WorkerTask<WorkerRequestType.DROP_FILES, null, null>\n | WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics>\n | WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array>\n | WorkerTask<WorkerRequestType.FLUSH_FILES, null, null>\n | WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number>\n | WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]>\n | WorkerTask<WorkerRequestType.GET_VERSION, null, string>\n | WorkerTask<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined],\n null\n >\n | WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null>\n | WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null>\n | WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null>\n | WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null>\n | WorkerTask<WorkerRequestType.PING, null, null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any], null>\n | WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string], null>\n | WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]>\n | WorkerTask<WorkerRequestType.RESET, null, null>\n | WorkerTask<WorkerRequestType.RUN_PREPARED, [number, number, any[]], Uint8Array>\n | WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array>\n | WorkerTask<WorkerRequestType.SEND_PREPARED, [number, number, any[]], Uint8Array>\n | WorkerTask<WorkerRequestType.SEND_QUERY, [ConnectionID, string], Uint8Array>\n | WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>;\n", "import {\n WorkerRequestType,\n WorkerResponseType,\n WorkerResponseVariant,\n WorkerTaskVariant,\n WorkerTask,\n ConnectionID,\n WorkerTaskReturnType,\n} from './worker_request';\nimport { AsyncDuckDBBindings } from './async_bindings_interface';\nimport { Logger } from '../log';\nimport { AsyncDuckDBConnection } from './async_connection';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';\nimport { ScriptTokens } from '../bindings/tokens';\nimport { FileStatistics } from '../bindings/file_stats';\nimport { DuckDBConfig } from '../bindings/config';\nimport { InstantiationProgress } from '../bindings/progress';\nimport { flattenArrowField } from '../flat_arrow';\nimport { WebFile } from '../bindings/web_file';\n\nconst TEXT_ENCODER = new TextEncoder();\n\nexport class AsyncDuckDB implements AsyncDuckDBBindings {\n /** The message handler */\n protected readonly _onMessageHandler: (event: MessageEvent) => void;\n /** The error handler */\n protected readonly _onErrorHandler: (event: ErrorEvent) => void;\n /** The close handler */\n protected readonly _onCloseHandler: () => void;\n\n /** Instantiate the module */\n protected _onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n\n /** The logger */\n protected readonly _logger: Logger;\n /** The worker */\n protected _worker: Worker | null = null;\n /** The promise for the worker shutdown */\n protected _workerShutdownPromise: Promise<null> | null = null;\n /** Make the worker as terminated */\n protected _workerShutdownResolver: (value: PromiseLike<null> | null) => void = () => {};\n\n /** The next message id */\n protected _nextMessageId = 0;\n /** The pending requests */\n protected _pendingRequests: Map<number, WorkerTaskVariant> = new Map();\n\n constructor(logger: Logger, worker: Worker | null = null) {\n this._logger = logger;\n this._onMessageHandler = this.onMessage.bind(this);\n this._onErrorHandler = this.onError.bind(this);\n this._onCloseHandler = this.onClose.bind(this);\n if (worker != null) this.attach(worker);\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n\n /** Attach to worker */\n protected attach(worker: Worker): void {\n this._worker = worker;\n this._worker.addEventListener('message', this._onMessageHandler);\n this._worker.addEventListener('error', this._onErrorHandler);\n this._worker.addEventListener('close', this._onCloseHandler);\n this._workerShutdownPromise = new Promise<null>(\n (resolve: (value: PromiseLike<null> | null) => void, _reject: (reason?: void) => void) => {\n this._workerShutdownResolver = resolve;\n },\n );\n }\n\n /** Detach from worker */\n public detach(): void {\n if (!this._worker) return;\n this._worker.removeEventListener('message', this._onMessageHandler);\n this._worker.removeEventListener('error', this._onErrorHandler);\n this._worker.removeEventListener('close', this._onCloseHandler);\n this._worker = null;\n this._workerShutdownResolver(null);\n this._workerShutdownPromise = null;\n this._workerShutdownResolver = () => {};\n }\n\n /** Kill the worker */\n public async terminate(): Promise<void> {\n if (!this._worker) return;\n this._worker.terminate();\n //await this._workerShutdownPromise; TODO deadlocking in karma?\n this._worker = null;\n this._workerShutdownPromise = null;\n this._workerShutdownResolver = () => {};\n }\n\n /** Post a task */\n protected async postTask<W extends WorkerTaskVariant>(\n task: W,\n transfer: ArrayBuffer[] = [],\n ): Promise<WorkerTaskReturnType<W>> {\n if (!this._worker) {\n console.error('cannot send a message since the worker is not set!');\n return undefined as any;\n }\n const mid = this._nextMessageId++;\n this._pendingRequests.set(mid, task);\n this._worker.postMessage(\n {\n messageId: mid,\n type: task.type,\n data: task.data,\n },\n transfer,\n );\n return (await task.promise) as WorkerTaskReturnType<W>;\n }\n\n /** Received a message */\n protected onMessage(event: MessageEvent): void {\n // Unassociated responses?\n const response = event.data as WorkerResponseVariant;\n switch (response.type) {\n // Request failed?\n case WorkerResponseType.LOG: {\n this._logger.log(response.data);\n return;\n }\n // Call progress callback\n case WorkerResponseType.INSTANTIATE_PROGRESS: {\n for (const p of this._onInstantiationProgress) {\n p(response.data);\n }\n return;\n }\n }\n\n // Get associated task\n const task = this._pendingRequests.get(response.requestId);\n if (!task) {\n console.warn(`unassociated response: [${response.requestId}, ${response.type.toString()}]`);\n return;\n }\n this._pendingRequests.delete(response.requestId);\n\n // Request failed?\n if (response.type == WorkerResponseType.ERROR) {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const e = new Error(response.data.message);\n e.name = response.data.name;\n e.stack = response.data.stack;\n task.promiseRejecter(e);\n return;\n }\n\n // Otherwise differentiate between the tasks first\n switch (task.type) {\n case WorkerRequestType.CLOSE_PREPARED:\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n case WorkerRequestType.COPY_FILE_TO_PATH:\n case WorkerRequestType.DISCONNECT:\n case WorkerRequestType.DROP_FILE:\n case WorkerRequestType.DROP_FILES:\n case WorkerRequestType.FLUSH_FILES:\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM:\n case WorkerRequestType.INSERT_CSV_FROM_PATH:\n case WorkerRequestType.INSERT_JSON_FROM_PATH:\n case WorkerRequestType.OPEN:\n case WorkerRequestType.PING:\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n case WorkerRequestType.REGISTER_FILE_URL:\n case WorkerRequestType.RESET:\n if (response.type == WorkerResponseType.OK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.INSTANTIATE:\n this._onInstantiationProgress = [];\n if (response.type == WorkerResponseType.OK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GLOB_FILE_INFOS:\n if (response.type == WorkerResponseType.FILE_INFOS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_VERSION:\n if (response.type == WorkerResponseType.VERSION_STRING) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n if (response.type == WorkerResponseType.FEATURE_FLAGS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.GET_TABLE_NAMES:\n if (response.type == WorkerResponseType.TABLE_NAMES) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.TOKENIZE:\n if (response.type == WorkerResponseType.SCRIPT_TOKENS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.COPY_FILE_TO_BUFFER:\n if (response.type == WorkerResponseType.FILE_BUFFER) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.EXPORT_FILE_STATISTICS:\n if (response.type == WorkerResponseType.FILE_STATISTICS) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.CONNECT:\n if (response.type == WorkerResponseType.CONNECTION_INFO) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.RUN_PREPARED:\n case WorkerRequestType.RUN_QUERY:\n if (response.type == WorkerResponseType.QUERY_RESULT) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.SEND_PREPARED:\n case WorkerRequestType.SEND_QUERY:\n if (response.type == WorkerResponseType.QUERY_START) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.FETCH_QUERY_RESULTS:\n if (response.type == WorkerResponseType.QUERY_RESULT_CHUNK) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n case WorkerRequestType.CREATE_PREPARED:\n if (response.type == WorkerResponseType.PREPARED_STATEMENT_ID) {\n task.promiseResolver(response.data);\n return;\n }\n break;\n }\n task.promiseRejecter(new Error(`unexpected response type: ${response.type.toString()}`));\n }\n\n /** Received an error */\n protected onError(event: ErrorEvent): void {\n console.error(event);\n console.error(`error in duckdb worker: ${event.message}`);\n this._pendingRequests.clear();\n }\n\n /** The worker was closed */\n protected onClose(): void {\n this._workerShutdownResolver(null);\n if (this._pendingRequests.size != 0) {\n console.warn(`worker terminated with ${this._pendingRequests.size} pending requests`);\n return;\n }\n this._pendingRequests.clear();\n }\n\n /** Reset the duckdb */\n public async reset(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.RESET, null, null>(WorkerRequestType.RESET, null);\n return await this.postTask(task);\n }\n\n /** Ping the worker thread */\n public async ping(): Promise<any> {\n const task = new WorkerTask<WorkerRequestType.PING, null, null>(WorkerRequestType.PING, null);\n await this.postTask(task);\n }\n /** Try to drop a file */\n public async dropFile(name: string): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.DROP_FILE, string, null>(WorkerRequestType.DROP_FILE, name);\n return await this.postTask(task);\n }\n /** Try to drop files */\n public async dropFiles(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.DROP_FILES, null, null>(WorkerRequestType.DROP_FILES, null);\n return await this.postTask(task);\n }\n /** Flush all files */\n public async flushFiles(): Promise<null> {\n const task = new WorkerTask<WorkerRequestType.FLUSH_FILES, null, null>(WorkerRequestType.FLUSH_FILES, null);\n return await this.postTask(task);\n }\n\n /** Open the database */\n public async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n progress: (progress: InstantiationProgress) => void = _p => {},\n ): Promise<null> {\n this._onInstantiationProgress.push(progress);\n const task = new WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null>(\n WorkerRequestType.INSTANTIATE,\n [mainModuleURL, pthreadWorkerURL],\n );\n return await this.postTask(task);\n }\n\n /** Get the version */\n public async getVersion(): Promise<string> {\n const task = new WorkerTask<WorkerRequestType.GET_VERSION, null, string>(WorkerRequestType.GET_VERSION, null);\n const version = await this.postTask(task);\n return version;\n }\n\n /** Get the feature flags */\n public async getFeatureFlags(): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number>(\n WorkerRequestType.GET_FEATURE_FLAGS,\n null,\n );\n const feature = await this.postTask(task);\n return feature;\n }\n\n /** Open a new database */\n public async open(config: DuckDBConfig): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null>(WorkerRequestType.OPEN, config);\n await this.postTask(task);\n }\n\n /** Tokenize a script text */\n public async tokenize(text: string): Promise<ScriptTokens> {\n const task = new WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>(WorkerRequestType.TOKENIZE, text);\n const tokens = await this.postTask(task);\n return tokens;\n }\n\n /** Connect to the database */\n public async connectInternal(): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID>(WorkerRequestType.CONNECT, null);\n return await this.postTask(task);\n }\n\n /** Connect to the database */\n public async connect(): Promise<AsyncDuckDBConnection> {\n const cid = await this.connectInternal();\n return new AsyncDuckDBConnection(this, cid);\n }\n\n /** Disconnect from the database */\n public async disconnect(conn: ConnectionID): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null>(\n WorkerRequestType.DISCONNECT,\n conn,\n );\n await this.postTask(task);\n }\n\n /** Run a query */\n public async runQuery(conn: ConnectionID, text: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array>(\n WorkerRequestType.RUN_QUERY,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Send a query */\n public async sendQuery(conn: ConnectionID, text: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.SEND_QUERY, [ConnectionID, string], Uint8Array>(\n WorkerRequestType.SEND_QUERY,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Fetch query results */\n public async fetchQueryResults(conn: ConnectionID): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array>(\n WorkerRequestType.FETCH_QUERY_RESULTS,\n conn,\n );\n return await this.postTask(task);\n }\n\n /** Get table names */\n public async getTableNames(conn: number, text: string): Promise<string[]> {\n const task = new WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]>(\n WorkerRequestType.GET_TABLE_NAMES,\n [conn, text],\n );\n return await this.postTask(task);\n }\n\n /** Prepare a statement and return its identifier */\n public async createPrepared(conn: number, text: string): Promise<number> {\n const task = new WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number>(\n WorkerRequestType.CREATE_PREPARED,\n [conn, text],\n );\n return await this.postTask(task);\n }\n /** Close a prepared statement */\n public async closePrepared(conn: number, statement: number): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null>(\n WorkerRequestType.CLOSE_PREPARED,\n [conn, statement],\n );\n await this.postTask(task);\n }\n /** Execute a prepared statement and return the full result */\n public async runPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.RUN_PREPARED, [ConnectionID, number, any[]], Uint8Array>(\n WorkerRequestType.RUN_PREPARED,\n [conn, statement, params],\n );\n return await this.postTask(task);\n }\n /** Execute a prepared statement and stream the result */\n public async sendPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.SEND_PREPARED, [ConnectionID, number, any[]], Uint8Array>(\n WorkerRequestType.SEND_PREPARED,\n [conn, statement, params],\n );\n return await this.postTask(task);\n }\n /** Glob file infos */\n public async globFiles(path: string): Promise<WebFile[]> {\n const task = new WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]>(\n WorkerRequestType.GLOB_FILE_INFOS,\n path,\n );\n return await this.postTask(task);\n }\n /** Register file text */\n public async registerFileText(name: string, text: string): Promise<void> {\n const buffer = TEXT_ENCODER.encode(text);\n await this.registerFileBuffer(name, buffer);\n }\n /** Register a file path. */\n public async registerFileURL(name: string, url: string): Promise<void> {\n if (url === undefined) {\n url = name;\n }\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string], null>(\n WorkerRequestType.REGISTER_FILE_URL,\n [name, url],\n );\n await this.postTask(task);\n }\n\n /** Register an empty file buffer. */\n public async registerEmptyFileBuffer(name: string): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>(\n WorkerRequestType.REGISTER_FILE_BUFFER,\n [name, new Uint8Array()],\n );\n await this.postTask(task);\n }\n\n /** Register a file buffer. */\n public async registerFileBuffer(name: string, buffer: Uint8Array): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null>(\n WorkerRequestType.REGISTER_FILE_BUFFER,\n [name, buffer],\n );\n await this.postTask(task, [buffer.buffer]);\n }\n\n /** Register a file handle. */\n public async registerFileHandle<HandleType>(name: string, handle: HandleType): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any], null>(\n WorkerRequestType.REGISTER_FILE_HANDLE,\n [name, handle],\n );\n await this.postTask(task, []);\n }\n\n /** Enable file statistics */\n public async collectFileStatistics(name: string, enable: boolean): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null>(\n WorkerRequestType.COLLECT_FILE_STATISTICS,\n [name, enable],\n );\n await this.postTask(task, []);\n }\n\n /** Export file statistics */\n public async exportFileStatistics(name: string): Promise<FileStatistics> {\n const task = new WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics>(\n WorkerRequestType.EXPORT_FILE_STATISTICS,\n name,\n );\n return await this.postTask(task, []);\n }\n\n /** Copy a file to a buffer. */\n public async copyFileToBuffer(name: string): Promise<Uint8Array> {\n const task = new WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array>(\n WorkerRequestType.COPY_FILE_TO_BUFFER,\n name,\n );\n return await this.postTask(task);\n }\n\n /** Copy a file to a path. */\n public async copyFileToPath(name: string, path: string): Promise<void> {\n const task = new WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null>(\n WorkerRequestType.COPY_FILE_TO_PATH,\n [name, path],\n );\n await this.postTask(task);\n }\n\n /** Insert arrow from an ipc stream */\n public async insertArrowFromIPCStream(\n conn: ConnectionID,\n buffer: Uint8Array,\n options?: ArrowInsertOptions,\n ): Promise<void> {\n if (buffer.length == 0) return;\n // Pass to the worker\n const task = new WorkerTask<\n WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM,\n [number, Uint8Array, ArrowInsertOptions | undefined],\n null\n >(WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [conn, buffer, options]);\n await this.postTask(task, [buffer.buffer]);\n }\n /** Insert a csv file */\n public async insertCSVFromPath(conn: ConnectionID, path: string, options: CSVInsertOptions): Promise<void> {\n // Flatten the table options\n if (options.columns !== undefined) {\n const out = [];\n for (const k in options.columns) {\n const type = options.columns[k];\n out.push(flattenArrowField(k, type));\n }\n options.columnsFlat = out;\n delete options.columns;\n }\n\n // Pass to the worker\n const task = new WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null>(\n WorkerRequestType.INSERT_CSV_FROM_PATH,\n [conn, path, options],\n );\n await this.postTask(task);\n }\n /** Insert a json file */\n public async insertJSONFromPath(conn: ConnectionID, path: string, options: JSONInsertOptions): Promise<void> {\n // Flatten the table options\n if (options.columns !== undefined) {\n const out = [];\n for (const k in options.columns) {\n const type = options.columns[k];\n out.push(flattenArrowField(k, type));\n }\n options.columnsFlat = out;\n delete options.columns;\n }\n\n // Pass to the worker\n const task = new WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null>(\n WorkerRequestType.INSERT_JSON_FROM_PATH,\n [conn, path, options],\n );\n await this.postTask(task);\n }\n}\n", "import Worker from 'web-worker';\n\nexport async function createWorker(url: string) {\n const request = new Request(url);\n const workerScript = await fetch(request);\n const workerURL = URL.createObjectURL(await workerScript.blob());\n return new Worker(workerURL);\n}\n", "import * as duckdb from '../src/';\nimport { Column, Vector } from 'apache-arrow';\nimport { DuckDBQueryConfig } from '../src/';\n\n// The max interval in microsec from DuckDB is 83 years 3 months 999 days 00:16:39.999999, with months as 30 days.\n// Note that due to Arrow JS not supporting the duration type, the castDurationToInterval option is used for intervals.\n// This has a side-effect that while the value is in microseconds, it only has millisecond accuracy. This is\n// because DuckDB emits intervals in milliseconds and the Arrow Time64 type does not support milliseconds as unit.\nconst MAX_INTERVAL_US = (((83 * (12 * 30) + 3 * 30 + 999) * 24 * 60 + 16) * 60 + 39) * 1000000 + 999000;\n\n// JS Date at +/-8640000000000000ms\nconst MINIMUM_DATE_STR = '-271821-04-20';\nconst MINIMUM_DATE = new Date(Date.UTC(-271821, 3, 20));\nconst MAXIMUM_DATE_STR = '275760-09-13';\nconst MAXIMUM_DATE = new Date(Date.UTC(275760, 8, 13));\n\n// All columns contain 3 values: [min_value, max_value, null]\ntype AnswerObjectType = {\n [key: string]: any[];\n};\n\ninterface AllTypesTest {\n name: string;\n query: string;\n skip: string[];\n answerMap: AnswerObjectType;\n answerCount: number;\n queryConfig: DuckDBQueryConfig | null;\n}\n\n// These types currently do not work in DuckDB-WASM\n// timestamp_xx and date_tz types will soon be fully supported by duckdb and should be added then.\n// hugeint, dec_18_3, dec38_10 and uuid require JS BigInts for full support, which is currently not supported by ArrowJS\nconst NOT_IMPLEMENTED_TYPES = [\n 'timestamp_s',\n 'timestamp_ms',\n 'timestamp_ns',\n 'timestamp_tz',\n 'hugeint',\n 'dec_18_6',\n 'dec38_10',\n 'uuid',\n 'map',\n];\n\n// These types are supported, but not the full range returned from the test_all_types() table function, here we define\n// the limits we do expect to be supported.\nconst PARTIALLY_IMPLEMENTED_TYPES = ['ubigint', 'bigint', 'date', 'timestamp'];\nconst PARTIALLY_IMPLEMENTED_ANSWER_MAP: AnswerObjectType = {\n ubigint: [0, Number.MAX_SAFE_INTEGER, null],\n bigint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, null],\n date: [MINIMUM_DATE.valueOf(), MAXIMUM_DATE.valueOf(), null],\n timestamp: [MINIMUM_DATE.valueOf(), MAXIMUM_DATE.valueOf(), null],\n};\n\n// Subqueries that return the limits of the subset of the full range that is implemented\nconst PARTIALLY_IMPLEMENTED_TYPES_SUBSTITUTIONS = [\n `(SELECT array_extract([0::UINT64,${Number.MAX_SAFE_INTEGER}::UINT64,null::UINT64],i)) as ubigint`,\n `(SELECT array_extract([${Number.MIN_SAFE_INTEGER}::INT64,${Number.MAX_SAFE_INTEGER}::INT64,null],i)) as bigint`,\n `(SELECT array_extract(['${MINIMUM_DATE_STR}'::Date,'${MAXIMUM_DATE_STR}'::Date,null],i)) as date`,\n `(SELECT array_extract(['${MINIMUM_DATE_STR}'::Timestamp,'${MAXIMUM_DATE_STR}'::Timestamp,null],i)) as timestamp`,\n];\n\n// These types do not work with default configuration, but have\nconst TYPES_REQUIRING_CUSTOM_CONFIG = ['dec_4_1', 'dec_9_4'];\n\n// Types that are fully supported.\nconst FULLY_IMPLEMENTED_ANSWER_MAP: AnswerObjectType = {\n bool: [false, true, null],\n tinyint: [-128, 127, null],\n smallint: [-32768, 32767, null],\n int: [-2147483648, 2147483647, null],\n utinyint: [0, 255, null],\n usmallint: [0, 65535, null],\n uint: [0, 4294967295, null],\n\n // Note that we multiply by thousand (and add 999 for the max) because the value returned by DuckDB is in microseconds,\n // whereas the Date object is in milliseconds.\n time: [0, new Date('1970-01-01T23:59:59.999+00:00').valueOf() * 1000 + 999, null],\n time_tz: [0, new Date('1970-01-01T23:59:59.999+00:00').valueOf() * 1000 + 999, null],\n interval: [0, MAX_INTERVAL_US, null],\n\n float: [-3.4028234663852886e38, 3.4028234663852886e38, null],\n double: [-1.7976931348623157e308, 1.7976931348623157e308, null],\n varchar: ['\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86', 'goose', null],\n small_enum: ['DUCK_DUCK_ENUM', 'GOOSE', null],\n medium_enum: ['enum_0', 'enum_299', null],\n large_enum: ['enum_0', 'enum_69999', null],\n\n int_array: [[], [42, 999, null, null, -42], null],\n varchar_array: [[], ['\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86', 'goose', null, ''], null],\n nested_int_array: [[], [[], [42, 999, null, null, -42], null, [], [42, 999, null, null, -42]], null],\n\n struct: ['{\"a\":null,\"b\":null}', '{\"a\":42,\"b\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\"}', null],\n struct_of_arrays: [\n '{\"a\":null,\"b\":null}',\n '{\"a\":[42,999,null,null,-42],\"b\":[\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\",\"goose\",null,\"\"]}',\n null,\n ],\n array_of_structs: [[], ['{\"a\":null,\"b\":null}', '{\"a\":42,\"b\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\"}', null], null],\n\n // XXX sometimes throws\n // map: ['{}', '{\"key1\":\"\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\uD83E\uDD86\",\"key2\":\"goose\"}', null],\n blob: [\n Uint8Array.from([\n 116, 104, 105, 115, 105, 115, 97, 108, 111, 110, 103, 98, 108, 111, 98, 0, 119, 105, 116, 104, 110, 117,\n 108, 108, 98, 121, 116, 101, 115,\n ]),\n Uint8Array.from([92, 120, 48, 48, 92, 120, 48, 48, 92, 120, 48, 48, 97]),\n null,\n ],\n};\n\n// Replacements for the values we knowingly don't support from the test_all_types query\nconst REPLACE_COLUMNS = PARTIALLY_IMPLEMENTED_TYPES.concat(NOT_IMPLEMENTED_TYPES).concat(TYPES_REQUIRING_CUSTOM_CONFIG);\n\nfunction unpack(v: any): any {\n if (v === null) return null;\n\n if (v instanceof Vector) {\n const ret = Array.from(v.toArray());\n for (let i = 0; i < ret.length; i++) {\n if (!v.isValid(i)) {\n ret[i] = null;\n }\n }\n return unpack(ret);\n } else if (v instanceof Array) {\n const ret: any = [];\n for (let i = 0; i < v.length; i++) {\n ret[i] = unpack(v[i]);\n }\n return ret;\n } else if (v instanceof Uint8Array) {\n return v;\n } else if (v instanceof Object) {\n return JSON.stringify(v.toJSON());\n }\n\n return v;\n}\n\nfunction getValue(x: any): any {\n if (typeof x?.valueOf === 'function') {\n return x.valueOf();\n } else {\n return x;\n }\n}\n\nconst ALL_TYPES_TEST: AllTypesTest[] = [\n {\n name: 'fully supported types',\n query: `SELECT * REPLACE('not_implemented' as map) FROM test_all_types()`,\n skip: REPLACE_COLUMNS,\n answerMap: FULLY_IMPLEMENTED_ANSWER_MAP,\n answerCount: REPLACE_COLUMNS.length + Object.keys(FULLY_IMPLEMENTED_ANSWER_MAP).length,\n queryConfig: null,\n },\n {\n name: 'partially supported types',\n query: `SELECT ${PARTIALLY_IMPLEMENTED_TYPES_SUBSTITUTIONS.join(', ')}\n FROM range(0, 3) tbl(i)`,\n skip: [],\n answerMap: PARTIALLY_IMPLEMENTED_ANSWER_MAP,\n answerCount: PARTIALLY_IMPLEMENTED_TYPES.length,\n queryConfig: null,\n },\n {\n name: 'types with custom config',\n query: `SELECT ${TYPES_REQUIRING_CUSTOM_CONFIG.join(',')} FROM test_all_types()`,\n skip: [],\n answerMap: {\n dec_4_1: [-999.9000000000001, 999.9000000000001, null],\n dec_9_4: [-99999.99990000001, 99999.99990000001, null],\n },\n answerCount: TYPES_REQUIRING_CUSTOM_CONFIG.length,\n queryConfig: {\n castDecimalToDouble: true,\n },\n },\n];\n\nexport function testAllTypes(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection | null;\n\n beforeEach(() => {\n db().flushFiles();\n });\n\n afterEach(() => {\n if (conn) {\n conn.close();\n conn = null;\n }\n db().flushFiles();\n db().dropFiles();\n });\n describe('Test All Types', () => {\n for (const test of ALL_TYPES_TEST) {\n it(test.name, () => {\n if (test.queryConfig) db().open({ query: test.queryConfig });\n\n conn = db().connect();\n\n const results = conn.query(test.query);\n expect(results.numCols).toEqual(test.answerCount);\n\n const skip = new Map();\n for (const s of test.skip) {\n skip.set(s, true);\n }\n for (let i = 0; i < results.numCols; i++) {\n const col = results.getColumnAt(i) as Column;\n if (skip.get(col.name)) continue;\n\n expect(unpack(getValue(col.get(0)))).toEqual(test.answerMap[col.name][0]); // Min\n expect(unpack(getValue(col.get(1)))).toEqual(test.answerMap[col.name][1]); // Max\n expect(col.get(2)).toEqual(test.answerMap[col.name][2]); // Null\n }\n });\n }\n });\n}\n\nexport function testAllTypesAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('Test All Types Async', () => {\n for (const test of ALL_TYPES_TEST) {\n it(test.name, async () => {\n if (test.queryConfig) db().open({ query: test.queryConfig });\n\n conn = await db().connect();\n const results = await conn.query(test.query);\n expect(results.numCols).toEqual(test.answerCount);\n\n const skip = new Map();\n for (const s of test.skip) {\n skip.set(s, true);\n }\n for (let i = 0; i < results.numCols; i++) {\n const col = results.getColumnAt(i) as Column;\n if (skip.get(col.name)) continue;\n\n expect(Object.keys(test.answerMap)).toContain(col.name);\n expect(unpack(getValue(col.get(0)))).toEqual(test.answerMap[col.name][0]); // Min\n expect(unpack(getValue(col.get(1)))).toEqual(test.answerMap[col.name][1]); // Max\n expect(col.get(2)).toEqual(test.answerMap[col.name][2]); // Null\n }\n });\n }\n });\n}\n", "import * as duckdb from '../src/';\nimport { getS3Params, S3Params, S3PayloadParams, createS3Headers, uriEncode, getHTTPUrl } from '../src/utils';\nimport { AsyncDuckDBConnection, DuckDBBindings, DuckDBBindingsBase, DuckDBModule } from '../src/';\nimport BROWSER_RUNTIME from '../src/bindings/runtime_browser';\n\n// S3 config for tests\nconst BUCKET_NAME = 'test-bucket';\nconst ACCESS_KEY_ID = 'S3RVER';\nconst ACCESS_KEY_SECRET = 'S3RVER';\nconst S3_ENDPOINT = 'http://localhost:4923';\nconst S3_REGION = 'eu-west-1';\n\nenum AWSConfigType {\n EMPTY,\n VALID,\n INVALID,\n}\nconst setAwsConfig = async function (conn: AsyncDuckDBConnection, type: AWSConfigType = AWSConfigType.VALID) {\n switch (type) {\n case AWSConfigType.EMPTY:\n await conn.query(\"SET s3_region='';\");\n await conn.query(\"SET s3_access_key_id='';\");\n await conn.query(\"SET s3_secret_access_key='';\");\n await conn.query(\"SET s3_session_token='';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n case AWSConfigType.VALID:\n await conn.query(`SET s3_region='${S3_REGION}';`);\n await conn.query(`SET s3_access_key_id='${ACCESS_KEY_ID}';`);\n await conn.query(`SET s3_secret_access_key='${ACCESS_KEY_SECRET}';`);\n await conn.query(\"SET s3_session_token='';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n case AWSConfigType.INVALID:\n await conn.query(\"SET s3_region='a-very-remote-and-non-existent-s3-region';\");\n await conn.query(\"SET s3_access_key_id='THISACCESSKEYIDISNOTVALID';\");\n await conn.query(\"SET s3_secret_access_key='THISSECRETACCESSKEYISNOTVALID';\");\n await conn.query(\"SET s3_session_token='INVALIDSESSIONTOKEN';\");\n await conn.query(`SET s3_endpoint='${S3_ENDPOINT}';`);\n break;\n }\n};\n\nexport function testHTTPFS(sdb: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection | null;\n\n const getModule = function () {\n let module: DuckDBModule | null = null;\n conn!.useUnsafe((bindings: DuckDBBindings, con_number: number) => {\n module = (bindings as DuckDBBindingsBase).mod;\n });\n expect(module).toBeDefined();\n return module;\n };\n const reset = async () => {\n sdb().reset();\n conn = sdb().connect();\n };\n beforeEach(async () => await reset());\n afterEach(async () => await reset());\n\n describe('HTTPFS', () => {\n it('s3 config is set correctly', async () => {\n const module = getModule();\n\n // Default values are empty\n const globalFileInfo = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const cacheEpoch = globalFileInfo!.cacheEpoch;\n expect(globalFileInfo?.s3Config).toBeDefined();\n expect(globalFileInfo?.s3Config?.region).toEqual('');\n expect(globalFileInfo?.s3Config?.accessKeyId).toEqual('');\n expect(globalFileInfo?.s3Config?.secretAccessKey).toEqual('');\n expect(globalFileInfo?.s3Config?.sessionToken).toEqual('');\n expect(globalFileInfo?.s3Config?.endpoint).toEqual('');\n\n // Confirm settings are correctly set\n conn!.query(\"SET s3_region='a-very-remote-and-non-existent-s3-region';\");\n conn!.query(\"SET s3_access_key_id='THISACCESSKEYIDISNOTVALID';\");\n conn!.query(\"SET s3_secret_access_key='THISSECRETACCESSKEYISNOTVALID';\");\n conn!.query(\"SET s3_session_token='ANICESESSIONTOKEN';\");\n conn!.query(\"SET s3_endpoint='s3.some.sort.of.cloud';\");\n const globalFileInfoUpdated = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoUpdated?.s3Config).toBeDefined();\n expect(globalFileInfoUpdated?.cacheEpoch).toEqual(cacheEpoch + 5);\n const params = getS3Params(globalFileInfoUpdated?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(params.url).toEqual(\"/testfile.txt\");\n expect(params.query).toEqual(\"\");\n expect(params.host).toEqual(\"test-bucket.s3.some.sort.of.cloud\");\n expect(params.region).toEqual(\"a-very-remote-and-non-existent-s3-region\");\n expect(params.service).toEqual(\"s3\");\n expect(params.method).toEqual(\"GET\");\n expect(params.accessKeyId).toEqual(\"THISACCESSKEYIDISNOTVALID\");\n expect(params.secretAccessKey).toEqual(\"THISSECRETACCESSKEYISNOTVALID\");\n expect(params.sessionToken).toEqual(\"ANICESESSIONTOKEN\");\n\n // Cover full http endpoint config\n conn!.query(\"SET s3_endpoint='http://localhost:1337';\");\n const globalFileInfoFullHttpEndpoint = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const paramsFullHttpEndpoint = getS3Params(globalFileInfoFullHttpEndpoint?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(paramsFullHttpEndpoint.host).toEqual(\"localhost:1337\");\n\n // Reset should clear config\n await reset();\n const globalFileInfoCleared = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n const paramsCleared = getS3Params(globalFileInfoCleared?.s3Config, 's3://test-bucket/testfile.txt', 'GET');\n expect(paramsCleared.url).toEqual(\"/testfile.txt\");\n expect(paramsCleared.query).toEqual(\"\");\n expect(paramsCleared.host).toEqual(\"test-bucket.s3.amazonaws.com\");\n expect(paramsCleared.region).toEqual(\"\");\n expect(paramsCleared.service).toEqual(\"s3\");\n expect(paramsCleared.method).toEqual(\"GET\");\n expect(paramsCleared.accessKeyId).toEqual(\"\");\n expect(paramsCleared.secretAccessKey).toEqual(\"\");\n expect(paramsCleared.sessionToken).toEqual(\"\");\n });\n\n it('url parsing is correct', () => {\n const module = getModule();\n\n conn!.query(\"SET s3_endpoint='';\");\n const globalFileInfoDefault = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoDefault?.s3Config).toBeDefined();\n const defaultUrl = getHTTPUrl(globalFileInfoDefault?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(defaultUrl).toEqual(`https://${BUCKET_NAME}.s3.amazonaws.com/test-file.csv`);\n\n conn!.query(\"SET s3_endpoint='https://duckdblabs.com';\");\n const globalFileInfoFullUrl = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoFullUrl?.s3Config).toBeDefined();\n const fullUrl = getHTTPUrl(globalFileInfoFullUrl?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(fullUrl).toEqual(`https://duckdblabs.com/${BUCKET_NAME}/test-file.csv`);\n\n conn!.query(\"SET s3_endpoint='duckdblabs.com';\");\n const globalFileInfoDomain = BROWSER_RUNTIME.getGlobalFileInfo(module!);\n expect(globalFileInfoDomain?.s3Config).toBeDefined();\n const domainOnlyUrl = getHTTPUrl(globalFileInfoDomain?.s3Config, `s3://${BUCKET_NAME}/test-file.csv`);\n expect(domainOnlyUrl).toEqual(`https://${BUCKET_NAME}.duckdblabs.com/test-file.csv`);\n });\n\n // validate authorization headers for known requests, based on: https://czak.pl/2015/09/15/s3-rest-api-with-curl.html\n it('s3 helper passes validation', () => {\n const testParams1: S3Params = {\n url: '/',\n query: '',\n host: 'my-precious-bucket.s3.amazonaws.com',\n region: 'us-east-1',\n service: 's3',\n method: 'GET',\n accessKeyId: 'AKIAIOSFODNN7EXAMPLE',\n secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',\n sessionToken: '',\n dateNow: '20150915',\n datetimeNow: '20150915T124500Z',\n };\n const result = createS3Headers(testParams1).get('Authorization');\n expect(result).toEqual(\n 'AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20150915/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=182072eb53d85c36b2d791a1fa46a12d23454ec1e921b02075c23aee40166d5a',\n );\n\n const canonical_query_string = 'delimiter=%2F&encoding-type=url&list-type=2&prefix='; // aws s3 ls <bucket>\n const testParams2: S3Params = {\n url: '/',\n query: canonical_query_string,\n host: 'my-precious-bucket.s3.eu-west-1.amazonaws.com',\n region: 'eu-west-1',\n service: 's3',\n method: 'GET',\n accessKeyId: 'ASIAYSPIOYDTHTBIITVC',\n secretAccessKey: 'vs1BZPxSL2qVARBSg5vCMKJsavCoEPlo/HSHRaVe',\n sessionToken:\n 'IQoJb3JpZ2luX2VjENX//////////wEaCWV1LXdlc3QtMSJHMEUCIQDfjzs9BYHrEXDMU/NR+PHV1uSTr7CSVSQdjKSfiPRLdgIgCCztF0VMbi9+uHHAfBVKhV4t9MlUrQg3VAOIsLxrWyoqlAIIHRAAGgw1ODk0MzQ4OTY2MTQiDOGl2DsYxENcKCbh+irxARe91faI+hwUhT60sMGRFg0GWefKnPclH4uRFzczrDOcJlAAaQRJ7KOsT8BrJlrY1jSgjkO7PkVjPp92vi6lJX77bg99MkUTJActiOKmd84XvAE5bFc/jFbqechtBjXzopAPkKsGuaqAhCenXnFt6cwq+LZikv/NJGVw7TRphLV+Aq9PSL9XwdzIgsW2qXwe1c3rxDNj53yStRZHVggdxJ0OgHx5v040c98gFphzSULHyg0OY6wmCMTYcswpb4kO2IIi6AiD9cY25TlwPKRKPi5CdBsTPnyTeW62u7PvwK0fTSy4ZuJUuGKQnH2cKmCXquEwoOHEiQY6nQH9fzY/EDGHMRxWWhxu0HiqIfsuFqC7GS0p0ToKQE+pzNsvVwMjZc+KILIDDQpdCWRIwu53I5PZy2Cvk+3y4XLvdZKQCsAKqeOc4c94UAS4NmUT7mCDOuRV0cLBVM8F0JYBGrUxyI+YoIvHhQWmnRLuKgTb5PkF7ZWrXBHFWG5/tZDOvBbbaCWTlRCL9b0Vpg5+BM/81xd8jChP4w83',\n dateNow: '20210904',\n datetimeNow: '20210904T121746Z',\n };\n const result2 = createS3Headers(testParams2).get('Authorization');\n expect(result2).toEqual(\n 'AWS4-HMAC-SHA256 Credential=ASIAYSPIOYDTHTBIITVC/20210904/eu-west-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=4d9d6b59d7836b6485f6ad822de97be40287da30347d83042ea7fbed530dc4c0',\n );\n\n const testParams3: S3Params = {\n url: '/correct_auth_test.csv',\n query: '',\n host: 'test-bucket-ceiveran.s3.amazonaws.com',\n region: 'eu-west-1',\n service: 's3',\n method: 'PUT',\n accessKeyId: 'S3RVER',\n secretAccessKey: 'S3RVER',\n sessionToken: '',\n dateNow: '20220121',\n datetimeNow: '20220121T141452Z',\n };\n const test3PayloadParams: S3PayloadParams = {\n contentHash: '28a0cf6ac5c4cb73793091fe6ecc6a68bf90855ac9186158748158f50241bb0c',\n contentType: 'text/data;charset=utf-8',\n };\n const result3 = createS3Headers(testParams3, test3PayloadParams).get('Authorization');\n expect(result3).toEqual(\n 'AWS4-HMAC-SHA256 Credential=S3RVER/20220121/eu-west-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=5d9a6cbfaa78a6d0f2ab7df0445e2f1cc9c80cd3655ac7de9e7219c036f23f02',\n );\n\n expect(uriEncode('/category=Books/')).toEqual('/category%3DBooks/');\n expect(uriEncode('/?category=Books&title=Ducks Retreat/')).toEqual(\n '/%3Fcategory%3DBooks%26title%3DDucks%20Retreat/',\n );\n expect(uriEncode('/?category=Books&title=Ducks Retreat/', true)).toEqual(\n '%2F%3Fcategory%3DBooks%26title%3DDucks%20Retreat%2F',\n );\n });\n });\n}\n\nexport function testHTTPFSAsync(\n adb: () => duckdb.AsyncDuckDB,\n resolveData: (url: string) => Promise<Uint8Array | null>,\n baseDir: string,\n): void {\n let conn: duckdb.AsyncDuckDBConnection | null;\n\n // PUTs an S3 file to the S3 test server\n const putTestFileToS3 = async function (fileName: string, format: string, test_data: Uint8Array | null) {\n await adb().registerFileBuffer('test_file.parquet', test_data!);\n if (!conn) {\n conn = await adb().connect();\n }\n await setAwsConfig(conn, AWSConfigType.VALID);\n await conn.send(`CREATE TABLE test_table AS (SELECT * FROM parquet_scan('test_file.parquet'));`);\n await conn.query(`COPY test_table TO 's3://${BUCKET_NAME}/${fileName}.${format}' (FORMAT '${format}');`);\n await adb().flushFiles();\n await adb().dropFiles();\n };\n\n // Requires an open conn\n const assertTestFileResultCorrect = async function (result: any, test_data: Uint8Array | null) {\n await adb().registerFileBuffer('test_file_baseline.parquet', test_data!);\n const result_baseline = await conn!.query(`SELECT * FROM parquet_scan('test_file_baseline.parquet');`);\n expect(result.getColumnAt(0).toArray()).toEqual(result_baseline.getColumnAt(0)?.toArray());\n };\n\n // Reset databases between tests\n const reset = async () => {\n await adb().reset();\n conn = await adb().connect();\n };\n beforeEach(async () => await reset());\n afterEach(async () => await reset());\n\n describe('HTTPFS Async', () => {\n it('can fetch https file', async () => {\n const results = await conn!.query(\n `select * from \"https://raw.githubusercontent.com/duckdb/duckdb-wasm/master/data/test.csv\";`,\n );\n expect(results.getColumnAt(2)?.get(2)).toEqual(9);\n });\n\n it('can read and write csv file from S3 with correct auth credentials', async () => {\n let data = await resolveData('/uni/studenten.parquet');\n await setAwsConfig(conn!);\n await putTestFileToS3('correct_auth_test', 'csv', data);\n const results_with_auth = await conn!.query(`select * from \"s3://${BUCKET_NAME}/correct_auth_test.csv\";`);\n data = await resolveData('/uni/studenten.parquet');\n assertTestFileResultCorrect(results_with_auth, data);\n });\n\n it('can read and write parquet file from S3 with correct auth credentials', async () => {\n let data = await resolveData('/uni/studenten.parquet');\n await putTestFileToS3('correct_auth_test', 'parquet', data);\n await setAwsConfig(conn!);\n const results_with_auth = await conn!.query(\n `select * from \"s3://${BUCKET_NAME}/correct_auth_test.parquet\";`,\n );\n data = await resolveData('/uni/studenten.parquet');\n assertTestFileResultCorrect(results_with_auth, data);\n });\n\n it('can not read a file with incorrect credentials', async () => {\n const data = await resolveData('/uni/studenten.parquet');\n await putTestFileToS3('incorrect_auth_test', 'parquet', data);\n await setAwsConfig(conn!, AWSConfigType.INVALID);\n await expectAsync(\n conn!.query(`select * from \"s3://${BUCKET_NAME}/incorrect_auth_test.csv\";`),\n ).toBeRejected();\n });\n\n it('properly invalidates file caches on settings update.', async () => {\n const data = await resolveData('/tpch/0_01/parquet/lineitem.parquet');\n await putTestFileToS3('file_cache_invalidation_test', 'parquet', data);\n await setAwsConfig(conn!);\n const results_correct = await conn!.query(\n `select l_partkey from \"s3://${BUCKET_NAME}/file_cache_invalidation_test.parquet\" limit 1;`,\n );\n expect(results_correct.getColumnAt(0)?.get(0)).toEqual(1552);\n await setAwsConfig(conn!, AWSConfigType.INVALID);\n await expectAsync(\n conn!.query(`select avg(l_partkey) from \"s3://${BUCKET_NAME}/lineitem.parquet\";`),\n ).toBeRejected();\n });\n\n it('write after read throws incorrect flag error without dropping files', async () => {\n await setAwsConfig(conn!);\n await conn!.query(\n `COPY (SELECT * FROM range(1000,1010) tbl(i)) TO 's3://${BUCKET_NAME}/test_written.csv' (FORMAT 'csv');`,\n );\n const result = await conn!.query(`SELECT * FROM \"s3://${BUCKET_NAME}/test_written.csv\";`);\n expect(result.getColumnAt(0)?.get(6)).toEqual(1006);\n await expectAsync(\n conn!.query(\n `COPY (SELECT * FROM range(2000,2010) tbl(i)) TO 's3://${BUCKET_NAME}/test_written.csv' (FORMAT 'csv');`,\n ),\n ).toBeRejectedWithError('File is not opened in write mode');\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\n\nexport function testBindings(db: () => duckdb.DuckDBBindings, baseURL: string): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('DuckDBBindings', () => {\n describe('error handling', () => {\n it('INVALID SQL', async () => {\n let error: Error | null = null;\n try {\n conn.send('INVALID');\n } catch (e: any) {\n error = e;\n }\n expect(error).not.toBe(null);\n });\n });\n\n //describe('Open', () => {\n // XXX apparently synchronous XHR on the main thread does not allow for arraybuffer response type?\n // it('Remote TPCH 0_01', async () => {\n // await db().registerFileURL('tpch_0_01.db', `${baseURL}/tpch/0_01/duckdb/db`);\n // db().open('tpch_0_01.db');\n // });\n //});\n\n describe('Reset', () => {\n it('table must disappear', async () => {\n await db().reset();\n conn = db().connect();\n conn.query('CREATE TABLE foo (a int)');\n let table = conn.query<{ name: arrow.Utf8 }>('PRAGMA show_tables;');\n let rows = table.toArray();\n expect(rows.length).toEqual(1);\n expect(rows[0].name).toEqual('foo');\n await db().reset();\n conn = db().connect();\n table = conn.query<{ name: arrow.Utf8 }>('PRAGMA show_tables;');\n rows = table.toArray();\n expect(rows.length).toEqual(0);\n });\n });\n\n describe('Prepared Statement', () => {\n it('Materialized', async () => {\n const stmt = conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const result = stmt.query(234);\n expect(result.length).toBe(10001);\n stmt.close();\n });\n\n it('Streaming', async () => {\n const stmt = conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const stream = stmt.send(234);\n let size = 0;\n for (const batch of stream) {\n size += batch.length;\n }\n expect(size).toBe(10001);\n conn.close();\n });\n it('Typecheck', async () => {\n conn.query(`CREATE TABLE typecheck (\n a BOOLEAN DEFAULT NULL,\n b TINYINT DEFAULT NULL,\n c SMALLINT DEFAULT NULL,\n d INTEGER DEFAULT NULL,\n e BIGINT DEFAULT NULL,\n f FLOAT DEFAULT NULL,\n g DOUBLE DEFAULT NULL,\n h CHAR(11) DEFAULT NULL,\n i VARCHAR(11) DEFAULT NULL\n )`);\n\n const stmt = conn.prepare('INSERT INTO typecheck VALUES(?,?,?,?,?,?,?,?,?)');\n expect(() =>\n stmt.query(true, 100, 10_000, 1_000_000, 5_000_000_000, 0.5, Math.PI, 'hello world', 'hi'),\n ).not.toThrow();\n expect(() =>\n stmt.query(\n 'test', // varchar for bool\n 100,\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 10_000, // smallint for tinyint\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 100,\n 1_000_000, // int for smallint\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n expect(() =>\n stmt.query(\n true,\n 100,\n 10_000,\n 5_000_000_000, // bigint for int\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n ),\n ).toThrow();\n conn.close();\n });\n });\n });\n}\n\nexport function testAsyncBindings(adb: () => duckdb.AsyncDuckDB, baseURL: string): void {\n beforeEach(async () => {});\n\n afterEach(async () => {\n await adb().flushFiles();\n await adb().dropFiles();\n await adb().open({\n path: ':memory:',\n });\n });\n\n describe('Bindings', () => {\n describe('Open', () => {\n it('Remote TPCH 0_01', async () => {\n await adb().registerFileURL('tpch_0_01.db', `${baseURL}/tpch/0_01/duckdb/db`);\n await adb().open({\n path: 'tpch_0_01.db',\n });\n const conn = await adb().connect();\n const table = await conn.query<{\n a: arrow.Int;\n }>('select count(*)::INTEGER as a from lineitem');\n const rows = table.toArray();\n expect(rows.length).toEqual(1);\n expect(rows[0].a).toEqual(60175);\n });\n });\n\n describe('Patching', () => {\n it('Count(*) Default', async () => {\n await adb().open({\n path: ':memory:',\n query: {\n castBigIntToDouble: false,\n },\n });\n const conn = await adb().connect();\n const table = await conn.query('select 1::BIGINT');\n expect(table.schema.fields.length).toEqual(1);\n expect(table.schema.fields[0].typeId).toEqual(arrow.Type.Int);\n });\n\n it('Count(*) No BigInt', async () => {\n await adb().open({\n path: ':memory:',\n query: {\n castBigIntToDouble: true,\n },\n });\n const conn = await adb().connect();\n const table = await conn.query('select 1::BIGINT');\n expect(table.schema.fields.length).toEqual(1);\n expect(table.schema.fields[0].typeId).toEqual(arrow.Type.Float);\n });\n });\n\n describe('Prepared Statement', () => {\n it('Materialized', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare('SELECT v + ? FROM generate_series(0, 10000) as t(v);');\n const result = await stmt.query(234);\n expect(result.length).toBe(10001);\n await stmt.close();\n });\n\n it('Streaming', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare('SELECT v::INTEGER + ? AS v FROM generate_series(0, 10000) as t(v);');\n const stream = await stmt.send(234);\n let size = 0;\n for await (const batch of stream) {\n size += batch.length;\n }\n expect(size).toBe(10001);\n await conn.close();\n });\n it('Typecheck', async () => {\n const conn = await adb().connect();\n await conn.query(`CREATE TABLE typecheck (\n a BOOLEAN DEFAULT NULL,\n b TINYINT DEFAULT NULL,\n c SMALLINT DEFAULT NULL,\n d INTEGER DEFAULT NULL,\n e BIGINT DEFAULT NULL,\n f FLOAT DEFAULT NULL,\n g DOUBLE DEFAULT NULL,\n h CHAR(11) DEFAULT NULL,\n i VARCHAR(11) DEFAULT NULL\n )`);\n\n const stmt = await conn.prepare('INSERT INTO typecheck VALUES(?,?,?,?,?,?,?,?,?)');\n\n const expectToThrow = async (fn: () => Promise<void>) => {\n let throwed = false;\n try {\n await fn();\n } catch (e) {\n throwed = true;\n }\n expect(throwed).toBe(true);\n };\n expectToThrow(async () => {\n await stmt.query(\n 'test', // varchar for bool\n 100,\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 10_000, // smallint for tinyint\n 10_000,\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 100,\n 1_000_000, // int for smallint\n 1_000_000,\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n expectToThrow(async () => {\n await stmt.query(\n true,\n 100,\n 10_000,\n 5_000_000_000, // bigint for int\n 5_000_000_000,\n 0.5,\n Math.PI,\n 'hello world',\n 'hi',\n );\n });\n await conn.close();\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst testRows = 10000;\n\nexport function testBatchStream(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('Arrow Record-Batches Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Record-Batches Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', () => {\n const result = conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', () => {\n const result = conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', () => {\n const result = conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst testRows = 10000;\n\nexport function testAsyncBatchStream(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n conn = await db().connect();\n });\n\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('AsyncDuckDB', () => {\n it('ping', async () => {\n await db().ping();\n });\n });\n\n describe('Arrow Record-Batches Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const row of batch) {\n expect(row!.v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n\n describe('scripts', () => {\n it('test1', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS x, (sin(v) * 100 + 100)::INTEGER AS y FROM generate_series(0, ${testRows}) as t(v)\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(2);\n for (const row of batch) {\n expect(row!.x).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Record-Batches Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n let i = 0;\n for await (const batch of result) {\n expect(batch.numCols).toBe(1);\n for (const v of batch.getChildAt(0)!) {\n expect(v).toBe(String(i++));\n }\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Row-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const row of table) {\n expect(row.v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n\n describe('Arrow Table Column-Major', () => {\n describe('single column', () => {\n it('TINYINT', async () => {\n const result = await conn.send(`\n SELECT (v & 127)::TINYINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 127);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('SMALLINT', async () => {\n const result = await conn.send(`\n SELECT (v & 32767)::SMALLINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++ & 32767);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('INTEGER', async () => {\n const result = await conn.send(`\n SELECT v::INTEGER AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('BIGINT', async () => {\n const result = await conn.send(`\n SELECT v::BIGINT AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(i++);\n }\n expect(i).toBe(testRows + 1);\n });\n\n it('STRING', async () => {\n const result = await conn.send(`\n SELECT v::VARCHAR AS v FROM generate_series(0, ${testRows}) as t(v);\n `);\n const table = await arrow.Table.from(result);\n let i = 0;\n for (const v of table.getColumnAt(0)!) {\n expect(v.valueOf()).toBe(String(i++));\n }\n expect(i).toBe(testRows + 1);\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\nimport * as arrow from 'apache-arrow';\n\nconst decoder = new TextDecoder();\n\nexport function testFilesystem(\n db: () => duckdb.AsyncDuckDB,\n resolveData: (url: string) => Promise<Uint8Array | null>,\n baseDir: string,\n): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n conn = await db().connect();\n });\n\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n\n describe('File buffer registration', () => {\n const test = async () => {\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n };\n it('File buffer used once', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await test();\n });\n it('File buffer registered twice', async () => {\n const students0 = await resolveData('/uni/studenten.parquet');\n const students1 = await resolveData('/uni/studenten.parquet');\n expect(students0).not.toBeNull();\n expect(students1).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students0!);\n await test();\n await db().registerFileBuffer('studenten.parquet', students1!);\n await test();\n });\n it('File buffer used twice', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await test();\n await test();\n });\n });\n\n describe('Parquet Scans', () => {\n it('single table from buffer', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n\n it('simple join', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n const hoeren = await resolveData('/uni/hoeren.parquet');\n const vorlesungen = await resolveData('/uni/vorlesungen.parquet');\n expect(students).not.toBeNull();\n expect(hoeren).not.toBeNull();\n expect(vorlesungen).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerFileBuffer('hoeren.parquet', hoeren!);\n await db().registerFileBuffer('vorlesungen.parquet', vorlesungen!);\n\n const result = await conn.send(`\n SELECT students.matrnr, vorlesungen.titel\n FROM parquet_scan('studenten.parquet') students\n INNER JOIN parquet_scan('hoeren.parquet') hoeren ON (students.matrnr = hoeren.matrnr)\n INNER JOIN parquet_scan('vorlesungen.parquet') vorlesungen ON (vorlesungen.vorlnr = hoeren.vorlnr);\n `);\n const table = await arrow.Table.from<{ matrnr: arrow.Int; titel: arrow.Utf8 }>(result);\n expect(table.numCols).toBe(2);\n const flat = [];\n for (const row of table) {\n flat.push({\n matrnr: row.matrnr,\n titel: row.titel?.toString(),\n });\n }\n expect(flat).toEqual([\n { matrnr: 26120, titel: 'Grundz\u00FCge' },\n { matrnr: 27550, titel: 'Grundz\u00FCge' },\n { matrnr: 27550, titel: 'Logik' },\n { matrnr: 28106, titel: 'Ethik' },\n { matrnr: 28106, titel: 'Wissenschaftstheorie' },\n { matrnr: 28106, titel: 'Bioethik' },\n { matrnr: 28106, titel: 'Der Wiener Kreis' },\n { matrnr: 29120, titel: 'Grundz\u00FCge' },\n { matrnr: 29120, titel: 'Ethik' },\n { matrnr: 29120, titel: 'M\u00E4eutik' },\n { matrnr: 29555, titel: 'Glaube und Wissen' },\n { matrnr: 25403, titel: 'Glaube und Wissen' },\n ]);\n });\n });\n\n describe('Writing', () => {\n it('Copy To CSV Buffer', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students.csv');\n await conn.query(`CREATE TABLE students AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students TO 'students.csv' WITH (HEADER 1, DELIMITER ';', FORMAT CSV);`);\n await conn.query(`DROP TABLE IF EXISTS students`);\n const outBuffer = await db().copyFileToBuffer('students.csv');\n expect(outBuffer).not.toBeNull();\n const text = decoder.decode(outBuffer!);\n expect(text).toBe(`matrnr;name;semester\n24002;Xenokrates;18\n25403;Jonas;12\n26120;Fichte;10\n26830;Aristoxenos;8\n27550;Schopenhauer;6\n28106;Carnap;3\n29120;Theophrastos;2\n29555;Feuerbach;2\n`);\n });\n\n it('Copy To Parquet', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students2.parquet');\n await conn.query(`CREATE TABLE students2 AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students2 TO 'students2.parquet' (FORMAT PARQUET);`);\n const url = await db().copyFileToBuffer('students2.parquet');\n expect(url).not.toBeNull();\n });\n\n it('Copy To Parquet And Load Again', async () => {\n const students = await resolveData('/uni/studenten.parquet');\n expect(students).not.toBeNull();\n await db().registerFileBuffer('studenten.parquet', students!);\n await db().registerEmptyFileBuffer('students3.parquet');\n await conn.query(`CREATE TABLE students3 AS SELECT * FROM parquet_scan('studenten.parquet');`);\n await conn.query(`COPY students3 TO 'students3.parquet' (FORMAT PARQUET);`);\n const url = await db().copyFileToBuffer('students3.parquet');\n expect(url).not.toBeNull();\n await conn.query(`CREATE TABLE students4 AS SELECT * FROM parquet_scan('students3.parquet');`);\n const result = await conn.send(`SELECT matrnr FROM students4;`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n });\n\n describe('File access', () => {\n it('Small Parquet file', async () => {\n await db().registerFileURL('studenten.parquet', `${baseDir}/uni/studenten.parquet`);\n const result = await conn.send(`SELECT matrnr FROM parquet_scan('studenten.parquet');`);\n const table = await arrow.Table.from<{ matrnr: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.toArray()).toEqual(\n new Int32Array([24002, 25403, 26120, 26830, 27550, 28106, 29120, 29555]),\n );\n });\n\n it('Large Parquet file', async () => {\n await db().registerFileURL('lineitem.parquet', `${baseDir}/tpch/0_01/parquet/lineitem.parquet`);\n const result = await conn.send(`SELECT count(*)::INTEGER as cnt FROM parquet_scan('lineitem.parquet');`);\n const table = await arrow.Table.from<{ cnt: arrow.Int }>(result);\n expect(table.getColumnAt(0)?.get(0)).toBeGreaterThan(60_000);\n });\n });\n\n describe('Export', () => {\n it('Generate Series as CSV', async () => {\n await conn.query('CREATE TABLE foo AS SELECT * FROM generate_series(1, 5) t(v)');\n await conn.query(`EXPORT DATABASE '/tmp/duckdbexportcsv'`);\n\n const results = await db().globFiles('/tmp/duckdbexportcsv/*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(3);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual([\n '/tmp/duckdbexportcsv/0_foo.csv',\n '/tmp/duckdbexportcsv/load.sql',\n '/tmp/duckdbexportcsv/schema.sql',\n ]);\n\n const csv_buffer_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/0_foo.csv');\n const load_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/load.sql');\n const schema_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportcsv/schema.sql');\n expect(load_script_utf8.length).not.toEqual(0);\n expect(schema_script_utf8.length).not.toEqual(0);\n expect(csv_buffer_utf8.length).not.toEqual(0);\n\n const load_script = decoder.decode(load_script_utf8);\n const schema_script = decoder.decode(schema_script_utf8);\n const csv_buffer = decoder.decode(csv_buffer_utf8);\n expect(load_script.trim()).toEqual(\n `COPY foo FROM '/tmp/duckdbexportcsv/0_foo.csv' (FORMAT 'csv', quote '\"', delimiter ',', header 0);`,\n );\n expect(schema_script.trim()).toEqual(`CREATE TABLE foo(v BIGINT);`);\n expect(csv_buffer.trim()).toEqual(`1\\n2\\n3\\n4\\n5`);\n });\n\n it('Generate Series as Parquet', async () => {\n await conn.query('CREATE TABLE foo AS SELECT * FROM generate_series(1, 5) t(v)');\n await conn.query(`EXPORT DATABASE '/tmp/duckdbexportparquet' (FORMAT PARQUET)`);\n\n const results = await db().globFiles('/tmp/duckdbexportparquet/*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(3);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual([\n '/tmp/duckdbexportparquet/0_foo.parquet',\n '/tmp/duckdbexportparquet/load.sql',\n '/tmp/duckdbexportparquet/schema.sql',\n ]);\n\n const parquet_buffer = await db().copyFileToBuffer('/tmp/duckdbexportparquet/0_foo.parquet');\n const load_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportparquet/load.sql');\n const schema_script_utf8 = await db().copyFileToBuffer('/tmp/duckdbexportparquet/schema.sql');\n expect(load_script_utf8.length).not.toEqual(0);\n expect(schema_script_utf8.length).not.toEqual(0);\n expect(parquet_buffer.length).not.toEqual(0);\n\n const content = await conn.query(\n `SELECT v::integer FROM parquet_scan('/tmp/duckdbexportparquet/0_foo.parquet')`,\n );\n expect(content.nullCount).toEqual(0);\n expect(content.length).toEqual(5);\n expect(content.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 3, 4, 5]));\n });\n });\n\n describe('Copy', () => {\n it('Generate Series as Parquet', async () => {\n await conn.query(\n `COPY (SELECT * FROM generate_series(1, 5) t(v)) TO '/tmp/duckdbcopytest.parquet' (FORMAT 'parquet')`,\n );\n const results = await db().globFiles('/tmp/duckdbcopytest*');\n expect(results).not.toEqual([]);\n expect(results.length).toEqual(1);\n const filenames = results.map(file => file.fileName).sort();\n expect(filenames).toEqual(['/tmp/duckdbcopytest.parquet']);\n const parquet_buffer = await db().copyFileToBuffer('/tmp/duckdbcopytest.parquet');\n expect(parquet_buffer.length).not.toEqual(0);\n const content = await conn.query(`SELECT v::integer FROM parquet_scan('/tmp/duckdbcopytest.parquet')`);\n expect(content.length).toEqual(5);\n expect(content.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 3, 4, 5]));\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\n\nexport interface Column {\n name: string;\n values: any[];\n}\n\nexport function compareTable(table: arrow.Table, expected: Column[]): void {\n // Check column count\n const colCount = expected.length;\n expect(table.numCols).toEqual(colCount);\n if (colCount == 0) return;\n\n // Check columns\n const rowCount = expected[0].values.length;\n for (let i = 0; i < colCount; ++i) {\n expect(expected[i].values.length).toEqual(rowCount);\n expect(table.getColumnAt(i)?.length).toEqual(rowCount);\n expect(table.getColumnAt(i)?.name).toEqual(expected[i].name);\n }\n\n // Compare the actual values\n for (let i = 0; i < colCount; ++i) {\n const col = table.getColumnAt(i)!;\n const have = [];\n for (let j = 0; j < rowCount; ++j) {\n have.push(col.get(j));\n }\n expect(have).toEqual(expected[i].values);\n }\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\n/// Unfortunately, arrow.Table.from does not build a proper Schema.\n/// When it does, we might want to switch back to arrow.Table here instead\n/// of arrow Schema + ArrowBatch.\ninterface ArrowInsertTest {\n name: string;\n schema: arrow.Schema;\n batches: ArrowBatch[];\n options: duckdb.ArrowInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\ninterface ArrowBatch {\n numRows: number;\n columns: arrow.Vector[];\n}\n\nexport function generateXInt32(n: number, cols: number): number[][] {\n const columns = [];\n for (let j = 0; j < cols; ++j) {\n const column = [];\n for (let i = 0; i < n; ++i) {\n column.push(i);\n }\n columns.push(column);\n }\n return columns;\n}\n\nexport function generateArrowXInt32(n: number, cols: number): [arrow.Schema, arrow.RecordBatch[]] {\n const columns = generateXInt32(n, cols);\n const fields = [];\n for (let j = 0; j < cols; ++j) {\n fields.push(new arrow.Field(`v${j}`, new arrow.Int32()));\n }\n const schema = new arrow.Schema(fields);\n const batches = [];\n for (let i = 0; i < n; ) {\n const rows = Math.min(1000, n - i);\n batches.push(\n new arrow.RecordBatch(\n schema,\n rows,\n columns.map(c => arrow.Int32Vector.from(c.slice(i, i + n))),\n ),\n );\n i += rows;\n }\n return [schema, batches];\n}\n\nconst ARROW_INSERT_TESTS: ArrowInsertTest[] = [\n {\n name: 'integers_1',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int32()),\n new arrow.Field('c', new arrow.Int32()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int32Vector.from([2, 5, 8]),\n arrow.Int32Vector.from([3, 6, 9]),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'combined_1',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int16()),\n new arrow.Field('c', new arrow.Utf8()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int16Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n {\n name: 'combined_2',\n schema: new arrow.Schema([\n new arrow.Field('a', new arrow.Int32()),\n new arrow.Field('b', new arrow.Int16()),\n new arrow.Field('c', new arrow.Utf8()),\n ]),\n batches: [\n {\n numRows: 3,\n columns: [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int16Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n },\n {\n numRows: 2,\n columns: [\n arrow.Int32Vector.from([10, 13]),\n arrow.Int16Vector.from([11, 14]),\n arrow.Utf8Vector.from(['12', '15']),\n ],\n },\n ],\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7, 10, 13] },\n { name: 'b', values: [2, 5, 8, 11, 14] },\n { name: 'c', values: ['3', '6', '9', '12', '15'] },\n ],\n },\n];\n\nexport function testArrowInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('Arrow insert from iterable', () => {\n for (const test of ARROW_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const table = new arrow.Table(\n test.schema,\n test.batches.map(b => new arrow.RecordBatch(test.schema, b.numRows, b.columns)),\n );\n conn.insertArrowTable(table, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testArrowInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('Arrow async insert from iterable', () => {\n for (const test of ARROW_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const table = new arrow.Table(\n test.schema,\n test.batches.map(b => new arrow.RecordBatch(test.schema, b.numRows, b.columns)),\n );\n await conn.insertArrowTable(table, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n describe('Arrow async insert from table', () => {\n it('simple integers', async () => {\n await conn.query(`DROP TABLE IF EXISTS insert_from_table`);\n const table = arrow.Table.new(\n [\n arrow.Int32Vector.from([1, 4, 7]),\n arrow.Int32Vector.from([2, 5, 8]),\n arrow.Utf8Vector.from(['3', '6', '9']),\n ],\n ['a', 'b', 'c'],\n );\n await conn.insertArrowTable(table, {\n name: 'insert_from_vectors',\n });\n const results = await conn.query('select * from insert_from_vectors');\n compareTable(results, [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ]);\n });\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\nfunction describeBrowser(description: string, specDefinitions: () => void): void {\n if (typeof window !== 'undefined') {\n describe(description, specDefinitions);\n }\n}\n\nconst encoder = new TextEncoder();\n\ninterface JSONInsertTest {\n name: string;\n input: string;\n options: duckdb.JSONInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\nconst JSON_INSERT_TESTS: JSONInsertTest[] = [\n {\n name: 'rows_integers',\n input: `[\n {\"a\":1, \"b\":2, \"c\":3},\n {\"a\":4, \"b\":5, \"c\":6},\n {\"a\":7, \"b\":8, \"c\":9},\n ]`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'cols_integers',\n input: `{\n \"a\": [1, 4, 7],\n \"b\": [2, 5, 8],\n \"c\": [3, 6, 9]\n }`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'options_1',\n input: `[\n {\"a\":1, \"b\":2, \"c\":3},\n {\"a\":4, \"b\":5, \"c\":6},\n {\"a\":7, \"b\":8, \"c\":9},\n ]`,\n options: {\n schema: 'main',\n name: 'foo',\n shape: duckdb.JSONTableShape.ROW_ARRAY,\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.Utf8(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n];\n\nconst TEST_FILE = 'TEST';\n\nexport function testJSONInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('JSON Insert Sync', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n db().registerFileBuffer(TEST_FILE, buffer);\n conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testJSONInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('JSON Insert Buffer Async', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n await db().registerFileBuffer(TEST_FILE, buffer);\n await conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n\n describeBrowser('JSON Insert Blob Async', () => {\n for (const test of JSON_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n const blob = new Blob([buffer]);\n await db().registerFileHandle(TEST_FILE, blob);\n await conn.insertJSONFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n", "import * as arrow from 'apache-arrow';\nimport * as duckdb from '../src/';\nimport { Column, compareTable } from './table_test';\n\nfunction describeBrowser(description: string, specDefinitions: () => void): void {\n if (typeof window !== 'undefined') {\n describe(description, specDefinitions);\n }\n}\n\nconst encoder = new TextEncoder();\n\ninterface CSVInsertTest {\n name: string;\n input: string;\n options: duckdb.CSVInsertOptions;\n query: string;\n expectedColumns: Column[];\n}\n\nconst CSV_INSERT_TESTS: CSVInsertTest[] = [\n {\n name: 'integers_auto_1',\n input: `\"a\",\"b\",\"c\"\n1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'integers_auto_2',\n input: `a,b,c\n1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: [3, 6, 9] },\n ],\n },\n {\n name: 'integers_auto_3',\n input: `a,b,c`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'column0', values: ['a'] },\n { name: 'column1', values: ['b'] },\n { name: 'column2', values: ['c'] },\n ],\n },\n {\n name: 'integers_auto_2',\n input: `a\n1\n4\n7\n`,\n options: {\n schema: 'main',\n name: 'foo',\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [{ name: 'a', values: [1, 4, 7] }],\n },\n {\n name: 'options_1',\n input: `1,2,3\n4,5,6\n7,8,9\n`,\n options: {\n schema: 'main',\n name: 'foo2',\n header: false,\n detect: false,\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.Utf8(),\n },\n },\n query: 'SELECT * FROM main.foo2',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n { name: 'c', values: ['3', '6', '9'] },\n ],\n },\n {\n name: 'options_2',\n input: `1|2|01/02/2020\n4|5|01/03/2020\n7|8|01/04/2020\n`,\n options: {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n dateFormat: '%m/%d/%Y',\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.DateDay(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n {\n name: 'c',\n values: [\n new Date(Date.UTC(2020, 0, 2)),\n new Date(Date.UTC(2020, 0, 3)),\n new Date(Date.UTC(2020, 0, 4)),\n ],\n },\n ],\n },\n {\n name: 'options_3',\n input: `1|2|20:32:45 1992-03-02\n4|5|20:32:50 1992-03-02\n7|8|20:32:55 1992-03-02\n`,\n options: {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n quote: \"'\",\n timestampFormat: '%H:%M:%S %Y-%m-%d',\n columns: {\n a: new arrow.Int16(),\n b: new arrow.Int32(),\n c: new arrow.TimestampSecond(),\n },\n },\n query: 'SELECT * FROM main.foo',\n expectedColumns: [\n { name: 'a', values: [1, 4, 7] },\n { name: 'b', values: [2, 5, 8] },\n {\n name: 'c',\n values: [\n new Date(Date.UTC(1992, 2, 2, 20, 32, 45)).getTime(),\n new Date(Date.UTC(1992, 2, 2, 20, 32, 50)).getTime(),\n new Date(Date.UTC(1992, 2, 2, 20, 32, 55)).getTime(),\n ],\n },\n ],\n },\n];\n\nconst TEST_FILE = 'TEST';\n\nexport function testCSVInsert(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n\n beforeEach(async () => {\n db().flushFiles();\n conn = db().connect();\n });\n afterEach(async () => {\n conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('CSV Insert Sync', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, () => {\n conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n db().registerFileBuffer(TEST_FILE, buffer);\n conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n\nexport function testCSVInsertAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('CSV Insert Buffer Async', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n await db().registerFileBuffer(TEST_FILE, buffer);\n await conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n\n describeBrowser('CSV Insert Blob Async', () => {\n for (const test of CSV_INSERT_TESTS) {\n it(test.name, async () => {\n await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || 'main'}.${test.options.name}`);\n const buffer = encoder.encode(test.input);\n const blob = new Blob([buffer]);\n await db().registerFileHandle(TEST_FILE, blob);\n await conn.insertCSVFromPath(TEST_FILE, test.options);\n const results = await conn.query(test.query);\n compareTable(results, test.expectedColumns);\n });\n }\n });\n}\n", "import * as duckdb from '../src/';\n\nexport function testTokenization(db: () => duckdb.DuckDBBindings): void {\n describe('Tokenizer', () => {\n it('SELECT 1', async () => {\n expect(db().tokenize('SELECT 1')).toEqual({\n offsets: [0, 7],\n types: [4, 1],\n });\n });\n it('SELECT * FROM region', async () => {\n expect(db().tokenize('SELECT * FROM region')).toEqual({\n offsets: [0, 7, 9, 14],\n types: [4, 3, 4, 0],\n });\n });\n });\n}\n\nexport function testTokenizationAsync(db: () => duckdb.AsyncDuckDB): void {\n describe('Tokenizer', () => {\n it('SELECT 1', async () => {\n expect(await db().tokenize('SELECT 1')).toEqual({\n offsets: [0, 7],\n types: [4, 1],\n });\n });\n it('SELECT * FROM region', async () => {\n expect(await db().tokenize('SELECT * FROM region')).toEqual({\n offsets: [0, 7, 9, 14],\n types: [4, 3, 4, 0],\n });\n });\n });\n}\n", "import * as duckdb from '../src/';\n\ninterface TableNameTest {\n name: string;\n input: string;\n tables: string[];\n}\n\nconst TABLENAME_TESTS: TableNameTest[] = [\n {\n name: 'standard',\n input: 'SELECT * FROM my_table',\n tables: ['my_table'],\n },\n {\n name: 'fetch_specific',\n input: 'SELECT col_a FROM my_table',\n tables: ['my_table'],\n },\n {\n name: 'multiple_tables',\n input: 'SELECT * FROM my_table1, my_table2, my_table3',\n tables: ['my_table1', 'my_table2', 'my_table3'],\n },\n {\n name: 'same_table_multiple_times',\n input: 'SELECT col_a FROM my_table, my_table m2, my_table m3',\n tables: ['my_table'],\n },\n {\n name: 'subqueries',\n input: 'SELECT * FROM (SELECT * FROM (SELECT * FROM my_table) bla) bla3',\n tables: ['my_table'],\n },\n {\n name: 'join',\n input: 'SELECT col_a FROM my_table JOIN my_table2 ON (my_table.col_b=my_table2.col_d)',\n tables: ['my_table', 'my_table2'],\n },\n {\n name: 'scalar_subquery',\n input: 'SELECT (SELECT COUNT(*) FROM my_table)',\n tables: ['my_table'],\n },\n {\n name: 'set_operations',\n input: 'SELECT * FROM my_table UNION ALL SELECT * FROM my_table2 INTERSECT SELECT * FROM my_table3',\n tables: ['my_table', 'my_table2', 'my_table3'],\n },\n {\n name: 'window_functions',\n input: 'SELECT row_number() OVER (ORDER BY (SELECT i+j FROM my_table2)) FROM my_table',\n tables: ['my_table', 'my_table2'],\n },\n];\n\nexport function testTableNames(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n beforeEach(() => {\n conn = db().connect();\n });\n afterEach(() => {\n conn.close();\n });\n describe('TableNames', () => {\n for (const test of TABLENAME_TESTS) {\n it(test.name, () => {\n const tables = conn.getTableNames(test.input);\n expect(tables).toEqual(test.tables);\n });\n }\n });\n}\n\nexport function testTableNamesAsync(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n beforeEach(async () => {\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n });\n describe('TableNames Async', () => {\n for (const test of TABLENAME_TESTS) {\n it(test.name, async () => {\n const tables = await conn.getTableNames(test.input);\n expect(tables).toEqual(test.tables);\n });\n }\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/332\nexport function test332(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection;\n beforeEach(async () => {\n await db().flushFiles();\n conn = await db().connect();\n });\n afterEach(async () => {\n await conn.close();\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('332', async () => {\n await db().registerFileText(\n 'Products.csv',\n `ProductGroup,Product,Year,Quarter,Revenue,Units,Count,Product Key,Reseller,Product Info,QuarterAsNumber\nElectronics,Phone,2018,Q1,103,7,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q1,102,4,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2019,Q1,98,12,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2018,Q1,104,3,1,2018-Q1,Samsung,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2019,Q1,83,7,1,2019-Q1,Google,Format=XML; <Properties>\u2026,1\nMedia,Theater,2018,Q1,17,4,1,2018-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Theater,2019,Q1,20,7,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2018,Q1,25,12,1,2018-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nMedia,Movies,2019,Q1,26,13,1,2019-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q2,105,5,1,2018-Q2,Samsung,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2019,Q2,82,15,1,2019-Q2,LG,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2018,Q2,99,4,1,2018-Q2,LG,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2019,Q2,84,20,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2018,Q2,17,4,1,2018-Q2,Microsoft,Format=XML; <Properties>\u2026,2\nMedia,Theater,2019,Q2,22,5,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2018,Q2,25,12,1,2018-Q2,Samsung,Format=XML; <Properties>\u2026,2\nMedia,Movies,2019,Q2,26,14,1,2019-Q2,Google,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2000,Q1,103,7,1,2000-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2001,Q1,102,4,1,2001-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2002,Q1,98,12,1,2002-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2003,Q1,104,3,1,2003-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Computer,2004,Q1,83,7,1,2004-Q1,Samsung,Format=XML; <Properties>\u2026,1\nMedia,Theater,2005,Q1,17,4,1,2005-Q1,Google,Format=XML; <Properties>\u2026,1\nMedia,Theater,2006,Q1,20,7,1,2006-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2007,Q1,25,12,1,2007-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Movies,2008,Q1,26,13,1,2008-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2009,Q2,105,5,1,2009-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2010,Q2,82,15,1,2010-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2011,Q2,99,4,1,2011-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2012,Q2,84,20,1,2012-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2013,Q2,17,4,1,2013-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Theater,2014,Q2,22,5,1,2014-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2015,Q2,25,12,1,2015-Q2,Sony,Format=XML; <Properties>\u2026,2\nMedia,Movies,2016,Q2,26,14,1,2016-Q2,Samsung,Format=XML; <Properties>\u2026,2\nMedia,Movies,2017,Q1,26,13,1,2017-Q1,Google,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2018,Q2,105,5,1,2018-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2019,Q2,82,15,1,2019-Q2,Sony,Format=XML; <Properties>\u2026,2\nElectronics,Computer,2020,Q2,99,4,1,2020-Q2,Microsoft,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2020,Q1,103,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\nElectronics,Phone,2020,Q2,102,4,1,2020-Q2,Samsung,Format=XML; <Properties>\u2026,2\nElectronics,Phone,2020,Q3,98,12,1,2020-Q3,LG,Format=XML; <Properties>\u2026,3\nElectronics,Computer,2020,Q4,104,3,1,2020-Q4,LG,Format=XML; <Properties>\u2026,4\nElectronics,Computer,2020,Q1,83,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\nMedia,Theater,2020,Q1,17,4,1,2020-Q1,Microsoft,Format=XML; <Properties>\u2026,1\nMedia,Theater,2020,Q1,20,7,1,2020-Q1,Sony,Format=XML; <Properties>\u2026,1\n`,\n );\n await conn.query(\"CREATE TABLE products AS SELECT * FROM 'Products.csv'\");\n const all = await conn.query('SELECT * FROM products');\n expect(all.schema.fields.length).toBe(11);\n expect(all.schema.fields[0].name).toBe('ProductGroup');\n const insensitive = await conn.query<{\n ProductGroup: arrow.Utf8;\n }>('SELECT productgroup FROM products GROUP BY productgroup');\n expect(insensitive.schema.fields.length).toBe(1);\n expect(insensitive.schema.fields[0].name).toBe('ProductGroup');\n expect(insensitive.toArray().length).toEqual(2);\n await conn.query('DROP TABLE products');\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/334\nexport function test334(adb: () => duckdb.AsyncDuckDB): void {\n describe('GitHub issues', () => {\n describe('334', () => {\n it('CSV insert', async () => {\n await adb().registerFileText(`data.csv`, '1|foo\\n2|bar\\n');\n const conn = await adb().connect();\n await conn.insertCSVFromPath('data.csv', {\n schema: 'main',\n name: 'foo',\n detect: false,\n header: false,\n delimiter: '|',\n columns: {\n col1: new arrow.Int32(),\n col2: new arrow.Utf8(),\n },\n });\n await conn.query('DROP TABLE IF EXISTS foo');\n await conn.close();\n await adb().dropFile('data.csv');\n });\n it('JSON row insert', async () => {\n await adb().registerFileText(\n 'rows.json',\n `[\n { \"col1\": 1, \"col2\": \"foo\" },\n { \"col1\": 2, \"col2\": \"bar\" },\n ]`,\n );\n const conn = await adb().connect();\n await conn.insertJSONFromPath('rows.json', { name: 'rows' });\n await conn.query('DROP TABLE IF EXISTS rows');\n await conn.close();\n await adb().dropFile('rows.json');\n });\n it('JSON column insert', async () => {\n await adb().registerFileText(\n 'columns.json',\n `{\n \"col1\": [1, 2],\n \"col2\": [\"foo\", \"bar\"]\n }`,\n );\n const conn = await adb().connect();\n await conn.insertJSONFromPath('columns.json', { name: 'columns' });\n await conn.query('DROP TABLE IF EXISTS columns');\n await conn.close();\n await adb().dropFile('columns.json');\n });\n it('Query result materialized', async () => {\n const conn = await adb().connect();\n await conn.query<{ v: arrow.Int }>(`\n SELECT * FROM generate_series(1, 100) t(v)\n `);\n await conn.close();\n });\n it('Query result streamed', async () => {\n const conn = await adb().connect();\n for await (const batch of await conn.send<{ v: arrow.Int }>(`\n SELECT * FROM generate_series(1, 100) t(v)\n `)) {\n expect(batch.length).toBeGreaterThan(0);\n }\n await conn.close();\n });\n it('Prepared statement materialized', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\n await stmt.query(234);\n await stmt.close();\n await conn.close();\n });\n it('Prepared statement streamed', async () => {\n const conn = await adb().connect();\n const stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\n for await (const batch of await stmt.send(234)) {\n expect(batch.length).toBeGreaterThan(0);\n }\n await stmt.close();\n await conn.close();\n });\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/393\nexport function test393(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('393', async () => {\n await db().open({\n path: ':memory:',\n query: {\n castTimestampToDate: false,\n },\n });\n conn = await db().connect();\n const resultWithoutCast = await conn.query<{\n ts: arrow.TimestampMillisecond;\n }>(`SELECT TIMESTAMP '1992-03-22 01:02:03' as ts`);\n expect(resultWithoutCast.toArray()[0].ts).toEqual(new Date(Date.UTC(1992, 2, 22, 1, 2, 3)).getTime());\n\n await db().open({\n path: ':memory:',\n query: {\n castTimestampToDate: true,\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n ts: arrow.DateMillisecond;\n }>(`SELECT TIMESTAMP '1992-03-22 01:02:03' as ts`);\n expect(resultWithCast.toArray()[0].ts).toEqual(new Date(Date.UTC(1992, 2, 22, 1, 2, 3)));\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/448\nexport function test448(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('448', async () => {\n conn = await db().connect();\n await conn.query(`create temp table test448(i integer)`);\n await conn.query(`insert into test448 values (1),(2),(1)`);\n let result = await conn.query(`select * from test448`);\n expect(result.numCols).toBe(1);\n expect(result.length).toBe(3);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([1, 2, 1]));\n result = await conn.query<{ i: arrow.Map_<arrow.Int32, arrow.Uint64> }>(`select histogram(i) from test448`);\n expect(result.numCols).toBe(1);\n expect(result.length).toBe(1);\n const array = result.getColumnAt(0)!.toArray();\n expect(array.length).toEqual(1);\n expect(array[0].toString()).toEqual('{ 1: 2, 2: 1 }');\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/470\nexport function test470(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('470', async () => {\n\n // Baseline without cast: we expect an error to be thrown because of the duration type that is emitted\n await db().open({\n path: ':memory:',\n query: {\n castDurationToTime64: false,\n },\n });\n conn = await db().connect();\n conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`)\n .then((x) => fail(\"Query is expected to fail due to duration type not being implemented\"))\n .catch(x => {expect(x).toEqual(new Error(\"Unrecognized type: \\\"Duration\\\" (18)\"))});\n\n // Cast explicitly enabled: Time64 value is returned\n await db().open({\n path: ':memory:',\n query: {\n castDurationToTime64: true,\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`);\n expect(resultWithCast.toArray()[0].interval?.toString()).toEqual(\"7776000000000\");\n\n // Cast should be on by default\n await db().open({\n path: ':memory:',\n query: {\n },\n });\n conn = await db().connect();\n const resultWithDefault = await conn.query<{\n interval: arrow.TimeMicrosecond;\n }>(`SELECT INTERVAL '3' MONTH AS interval`);\n expect(resultWithDefault.toArray()[0].interval?.toString()).toEqual(\"7776000000000\");\n });\n });\n}\n", "import * as duckdb from '../../src';\nimport * as arrow from 'apache-arrow';\n\n// https://github.com/duckdb/duckdb-wasm/issues/477\n// Note that when ArrowJS supports negative decimals, castDecimalToDouble should probably be deprecated.\nexport function test477(db: () => duckdb.AsyncDuckDB): void {\n let conn: duckdb.AsyncDuckDBConnection | null = null;\n beforeEach(async () => {\n await db().flushFiles();\n });\n afterEach(async () => {\n if (conn) {\n await conn.close();\n conn = null;\n }\n await db().flushFiles();\n await db().dropFiles();\n });\n describe('GitHub issues', () => {\n it('477', async () => {\n\n // Baseline without cast: we expect the negative decimal values to not work accurately\n await db().open({\n path: ':memory:',\n query: {\n },\n });\n conn = await db().connect();\n const resultWithoutCast = await conn.query(`SELECT (-1.9)::DECIMAL(2,1) as decimal`);\n expect(resultWithoutCast.schema.fields[0].type.scale).toEqual(1);\n expect(resultWithoutCast.schema.fields[0].type.precision).toEqual(2);\n // If this assertion breaks, arrow JS was likely updated to handle negative values\n expect(resultWithoutCast.toArray()[0].decimal.valueOf() == -19).toBe(false);\n\n\n // Using castDecimalToDouble we force decimals to be cast to doubles, note the inevitable imprecision.\n await db().open({\n path: ':memory:',\n query: {\n castDecimalToDouble : true\n },\n });\n conn = await db().connect();\n const resultWithCast = await conn.query<{\n decimal: arrow.Float64\n }>(`SELECT (-1.9)::DECIMAL(2,1) as decimal`);\n expect(resultWithCast.toArray()[0].decimal?.valueOf()).toEqual(-1.9000000000000001);\n });\n });\n}\n", "import * as duckdb from '../../src/';\nimport { test332 } from './github_332.test';\nimport { test334 } from './github_334.test';\nimport { test393 } from './github_393.test';\nimport { test448 } from './github_448.test';\nimport { test470 } from './github_470.test';\nimport { test477 } from \"./github_477.test\";\n\nexport function testRegressionAsync(adb: () => duckdb.AsyncDuckDB): void {\n test332(adb);\n test334(adb);\n test393(adb);\n test448(adb);\n test470(adb);\n test477(adb);\n}\n", "import * as duckdb from '../src/';\nimport {Float64, Int32, Utf8} from 'apache-arrow';\n\nexport function testUDF(db: () => duckdb.DuckDBBindings): void {\n let conn: duckdb.DuckDBConnection;\n beforeEach(() => {\n conn = db().connect();\n });\n\n afterEach(() => {\n conn.close();\n db().flushFiles();\n db().dropFiles();\n });\n\n describe('UDF', () => {\n\n it('simple', async () => {\n conn.createScalarFunction('jsudf', new Int32(), a => a);\n\n const result = conn.query(\n 'SELECT max(jsudf(v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([10000]));\n });\n\n it('double', async () => {\n conn.createScalarFunction('jsudf2', new Float64(), a => a);\n\n const result = conn.query(\n 'SELECT max(jsudf2(v::DOUBLE))::DOUBLE as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Float64Array([10000]));\n });\n\n it('twoargs', async () => {\n conn.createScalarFunction('jsudf3', new Int32(), (a, b) => a + b);\n\n const result = conn.query(\n 'SELECT max(jsudf3(v::INTEGER, v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([20000]));\n });\n\n it('noargs', async () => {\n conn.createScalarFunction('jsudf4', new Int32(), () => 42);\n const result = conn.query(\n 'SELECT max(jsudf4())::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([42]));\n });\n it('withnulls', async () => {\n conn.createScalarFunction('jsudf5', new Int32(), a => a == undefined ? -100 : a);\n const result = conn.query(\n 'SELECT min(jsudf5((case when v % 2 = 0 then v else null end)::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([-100]));\n });\n\n it('stringparam', async () => {\n function jsudf6(s : string) {\n return s.length;\n }\n conn.createScalarFunction('jsudf6', new Int32(), jsudf6);\n const result = conn.query(\n 'SELECT max(jsudf6(\\'str_\\' || v))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([9]));\n });\n\n it('stringparamnulls', async () => {\n function jsudf7(s : string) {\n if (s == undefined) {\n return 0;\n } else {\n return s.length;\n }\n }\n conn.createScalarFunction('jsudf7', new Int32(), jsudf7);\n const result = conn.query(\n 'SELECT max(jsudf7((case when v % 2 = 0 then \\'str_\\' || v else null end)::VARCHAR))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([9]));\n });\n\n it('nullintreturn', async () => {\n conn.createScalarFunction('jsudf8', new Int32(), (a) => undefined);\n\n const result = conn.query(\n 'SELECT max(COALESCE(jsudf8(v::INTEGER), 42))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([42]));\n });\n\n\n it('stringreturn', async () => {\n conn.createScalarFunction('jsudf9', new Utf8(), (a) => 'Hello ' + a);\n\n const result = conn.query(\n 'SELECT max(LENGTH(jsudf9(v::INTEGER)))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([11]));\n });\n\n it('nullstringreturn', async () => {\n conn.createScalarFunction('jsudf10', new Utf8(), (a) => a % 2 == 0 ? 'Hello' : undefined);\n\n const result = conn.query(\n 'SELECT COUNT(jsudf10(v::INTEGER))::INTEGER as foo FROM generate_series(1, 10000) as t(v)',\n );\n\n expect(result.length).toEqual(1);\n expect(result.numCols).toEqual(1);\n expect(result.getColumnAt(0)?.length).toEqual(1);\n expect(result.getColumnAt(0)?.toArray()).toEqual(new Int32Array([5000]));\n });\n\n });\n}\n", "import * as duckdb_blocking from '../src/targets/duckdb-browser-blocking';\nimport * as duckdb from '../src/targets/duckdb';\nimport * as check from 'wasm-feature-detect';\n\n// Configure the worker\nconst DUCKDB_BUNDLES: duckdb.DuckDBBundles = {\n mvp: {\n mainModule: new URL('/static/duckdb-mvp.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-mvp.worker.js', window.location.href).href,\n },\n eh: {\n mainModule: new URL('/static/duckdb-eh.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-eh.worker.js', window.location.href).href,\n },\n coi: {\n mainModule: new URL('/static/duckdb-coi.wasm', window.location.href).href,\n mainWorker: new URL('/static/duckdb-browser-coi.worker.js', window.location.href).href,\n pthreadWorker: new URL('/static/duckdb-browser-coi.pthread.worker.js', window.location.href).href,\n },\n};\nlet DUCKDB_BUNDLE: duckdb.DuckDBBundle | null = null;\n\ndescribe('wasm check', () => {\n it('worker and wasm urls', async () => {\n if (\n (await duckdb.getPlatformFeatures()).crossOriginIsolated &&\n (await check.exceptions()) &&\n (await check.threads())\n ) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.coi!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.coi!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(DUCKDB_BUNDLES.coi!.pthreadWorker);\n }\n if ((await check.exceptions()) && !(await check.threads())) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.eh!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.eh!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(null);\n }\n if (!(await check.exceptions())) {\n expect(DUCKDB_BUNDLE!.mainModule).toEqual(DUCKDB_BUNDLES.mvp!.mainModule);\n expect(DUCKDB_BUNDLE!.mainWorker).toEqual(DUCKDB_BUNDLES.mvp!.mainWorker);\n expect(DUCKDB_BUNDLE!.pthreadWorker).toEqual(null);\n }\n });\n});\n\n// Loading debug symbols, especially for WASM take insanely long so we just disable the test timeout\njasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;\n\n// Resolve a buffer by fetching from disk\nconst resolveBuffer = async (url: string) => {\n const req = await fetch(`/data${url}`);\n if (!req.ok) return null;\n return new Uint8Array(await req.arrayBuffer());\n};\n\n// Resolve test data\nconst resolveData = async (url: string) => {\n switch (url) {\n case '/uni/all.zip':\n return await resolveBuffer('/uni/all.zip');\n case '/uni/assistenten.parquet':\n return await resolveBuffer('/uni/assistenten.parquet');\n case '/uni/studenten.parquet':\n return await resolveBuffer('/uni/studenten.parquet');\n case '/uni/hoeren.parquet':\n return await resolveBuffer('/uni/hoeren.parquet');\n case '/uni/vorlesungen.parquet':\n return await resolveBuffer('/uni/vorlesungen.parquet');\n case '/tpch/0_01/parquet/lineitem.parquet':\n return await resolveBuffer('/tpch/0_01/parquet/lineitem.parquet');\n default:\n return null;\n }\n};\n\n// Test environment\nlet db: duckdb_blocking.DuckDBBindings | null = null;\nlet adb: duckdb.AsyncDuckDB | null = null;\nlet worker: Worker | null = null;\n\nbeforeAll(async () => {\n const logger = new duckdb_blocking.VoidLogger();\n db = await duckdb_blocking.createDuckDB(DUCKDB_BUNDLES, logger, duckdb_blocking.BROWSER_RUNTIME);\n await db.instantiate(_ => {});\n\n DUCKDB_BUNDLE = await duckdb.selectBundle(DUCKDB_BUNDLES);\n worker = await duckdb.createWorker(DUCKDB_BUNDLE!.mainWorker!);\n adb = new duckdb.AsyncDuckDB(logger, worker);\n await adb.instantiate(DUCKDB_BUNDLE!.mainModule, DUCKDB_BUNDLE!.pthreadWorker);\n});\n\nafterAll(async () => {\n if (worker) worker.terminate();\n});\n\nimport { testAllTypes, testAllTypesAsync } from './all_types.test';\nimport { testHTTPFS, testHTTPFSAsync } from './httpfs_test';\nimport { testBindings, testAsyncBindings } from './bindings.test';\nimport { testBatchStream } from './batch_stream.test';\nimport { testAsyncBatchStream } from './batch_stream_async.test';\nimport { testFilesystem } from './filesystem.test';\nimport { testArrowInsert, testArrowInsertAsync } from './insert_arrow.test';\nimport { testJSONInsert, testJSONInsertAsync } from './insert_json.test';\nimport { testCSVInsert, testCSVInsertAsync } from './insert_csv.test';\nimport { testTokenization, testTokenizationAsync } from './tokenizer.test';\nimport { testTableNames, testTableNamesAsync } from './tablenames.test';\nimport { testRegressionAsync } from './regression';\nimport { testUDF } from './udf.test';\n\nconst baseURL = window.location.origin;\nconst dataURL = `${baseURL}/data`;\n\ntestHTTPFS(() => db!);\ntestHTTPFSAsync(() => adb!, resolveData, dataURL);\ntestUDF(() => db!);\ntestTableNames(() => db!);\ntestTableNamesAsync(() => adb!);\ntestRegressionAsync(() => adb!);\ntestAllTypes(() => db!);\ntestAllTypesAsync(() => adb!);\ntestBindings(() => db!, dataURL);\ntestAsyncBindings(() => adb!, dataURL);\ntestBatchStream(() => db!);\ntestAsyncBatchStream(() => adb!);\ntestFilesystem(() => adb!, resolveData, dataURL);\ntestArrowInsert(() => db!);\ntestArrowInsertAsync(() => adb!);\ntestJSONInsert(() => db!);\ntestJSONInsertAsync(() => adb!);\ntestCSVInsert(() => db!);\ntestCSVInsertAsync(() => adb!);\ntestTokenization(() => db!);\ntestTokenizationAsync(() => adb!);\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAeA,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,MAAC,UAAU,SAAS;AAChB,YAAI,QAAO,OAAO,WAAW,WAAW,SAAS,OAAO,SAAS,WAAW,OAAO,OAAO,SAAS,WAAW,OAAO;AACrH,YAAI,OAAO,WAAW,cAAc,OAAO,KAAK;AAC5C,iBAAO,SAAS,CAAC,YAAY,SAAU,UAAS;AAAE,oBAAQ,eAAe,OAAM,eAAe;AAAA;AAAA,mBAEzF,OAAO,YAAW,YAAY,OAAO,QAAO,YAAY,UAAU;AACvE,kBAAQ,eAAe,OAAM,eAAe,QAAO;AAAA,eAElD;AACD,kBAAQ,eAAe;AAAA;AAE3B,gCAAwB,UAAS,UAAU;AACvC,cAAI,aAAY,OAAM;AAClB,gBAAI,OAAO,OAAO,WAAW,YAAY;AACrC,qBAAO,eAAe,UAAS,cAAc,EAAE,OAAO;AAAA,mBAErD;AACD,uBAAQ,aAAa;AAAA;AAAA;AAG7B,iBAAO,SAAU,IAAI,GAAG;AAAE,mBAAO,SAAQ,MAAM,WAAW,SAAS,IAAI,KAAK;AAAA;AAAA;AAAA,SAGnF,SAAU,UAAU;AACjB,YAAI,gBAAgB,OAAO,kBACtB,EAAE,WAAW,gBAAgB,SAAS,SAAU,GAAG,GAAG;AAAE,YAAE,YAAY;AAAA,aACvE,SAAU,GAAG,GAAG;AAAE,mBAAS,KAAK;AAAG,gBAAI,OAAO,UAAU,eAAe,KAAK,GAAG;AAAI,gBAAE,KAAK,EAAE;AAAA;AAEhG,oBAAY,SAAU,GAAG,GAAG;AACxB,cAAI,OAAO,MAAM,cAAc,MAAM;AACjC,kBAAM,IAAI,UAAU,yBAAyB,OAAO,KAAK;AAC7D,wBAAc,GAAG;AACjB,wBAAc;AAAE,iBAAK,cAAc;AAAA;AACnC,YAAE,YAAY,MAAM,OAAO,OAAO,OAAO,KAAM,IAAG,YAAY,EAAE,WAAW,IAAI;AAAA;AAGnF,mBAAW,OAAO,UAAU,SAAU,GAAG;AACrC,mBAAS,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AACjD,gBAAI,UAAU;AACd,qBAAS,KAAK;AAAG,kBAAI,OAAO,UAAU,eAAe,KAAK,GAAG;AAAI,kBAAE,KAAK,EAAE;AAAA;AAE9E,iBAAO;AAAA;AAGX,iBAAS,SAAU,GAAG,GAAG;AACrB,cAAI,IAAI;AACR,mBAAS,KAAK;AAAG,gBAAI,OAAO,UAAU,eAAe,KAAK,GAAG,MAAM,EAAE,QAAQ,KAAK;AAC9E,gBAAE,KAAK,EAAE;AACb,cAAI,KAAK,QAAQ,OAAO,OAAO,0BAA0B;AACrD,qBAAS,IAAI,GAAG,IAAI,OAAO,sBAAsB,IAAI,IAAI,EAAE,QAAQ,KAAK;AACpE,kBAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,UAAU,qBAAqB,KAAK,GAAG,EAAE;AACvE,kBAAE,EAAE,MAAM,EAAE,EAAE;AAAA;AAE1B,iBAAO;AAAA;AAGX,qBAAa,SAAU,YAAY,QAAQ,KAAK,MAAM;AAClD,cAAI,IAAI,UAAU,QAAQ,IAAI,IAAI,IAAI,SAAS,SAAS,OAAO,OAAO,OAAO,yBAAyB,QAAQ,OAAO,MAAM;AAC3H,cAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa;AAAY,gBAAI,QAAQ,SAAS,YAAY,QAAQ,KAAK;AAAA;AACpH,qBAAS,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG;AAAK,kBAAI,IAAI,WAAW;AAAI,oBAAK,KAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,QAAQ,KAAK,KAAK,EAAE,QAAQ,SAAS;AAChJ,iBAAO,IAAI,KAAK,KAAK,OAAO,eAAe,QAAQ,KAAK,IAAI;AAAA;AAGhE,kBAAU,SAAU,YAAY,WAAW;AACvC,iBAAO,SAAU,QAAQ,KAAK;AAAE,sBAAU,QAAQ,KAAK;AAAA;AAAA;AAG3D,qBAAa,SAAU,aAAa,eAAe;AAC/C,cAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa;AAAY,mBAAO,QAAQ,SAAS,aAAa;AAAA;AAGpH,oBAAY,SAAU,SAAS,YAAY,GAAG,WAAW;AACrD,yBAAe,OAAO;AAAE,mBAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,sBAAQ;AAAA;AAAA;AAC/F,iBAAO,IAAK,MAAM,KAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,+BAAmB,OAAO;AAAE,kBAAI;AAAE,qBAAK,UAAU,KAAK;AAAA,uBAAkB,GAAP;AAAY,uBAAO;AAAA;AAAA;AACpF,8BAAkB,OAAO;AAAE,kBAAI;AAAE,qBAAK,UAAU,SAAS;AAAA,uBAAkB,GAAP;AAAY,uBAAO;AAAA;AAAA;AACvF,0BAAc,QAAQ;AAAE,qBAAO,OAAO,QAAQ,OAAO,SAAS,MAAM,OAAO,OAAO,KAAK,WAAW;AAAA;AAClG,iBAAM,aAAY,UAAU,MAAM,SAAS,cAAc,KAAK;AAAA;AAAA;AAItE,sBAAc,SAAU,SAAS,MAAM;AACnC,cAAI,IAAI,EAAE,OAAO,GAAG,MAAM,WAAW;AAAE,gBAAI,EAAE,KAAK;AAAG,oBAAM,EAAE;AAAI,mBAAO,EAAE;AAAA,aAAO,MAAM,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG;AAC/G,iBAAO,IAAI,EAAE,MAAM,KAAK,IAAI,SAAS,KAAK,IAAI,UAAU,KAAK,MAAM,OAAO,WAAW,cAAe,GAAE,OAAO,YAAY,WAAW;AAAE,mBAAO;AAAA,cAAU;AACvJ,wBAAc,GAAG;AAAE,mBAAO,SAAU,GAAG;AAAE,qBAAO,KAAK,CAAC,GAAG;AAAA;AAAA;AACzD,wBAAc,IAAI;AACd,gBAAI;AAAG,oBAAM,IAAI,UAAU;AAC3B,mBAAO;AAAG,kBAAI;AACV,oBAAI,IAAI,GAAG,KAAM,KAAI,GAAG,KAAK,IAAI,EAAE,YAAY,GAAG,KAAK,EAAE,YAAc,MAAI,EAAE,cAAc,EAAE,KAAK,IAAI,KAAK,EAAE,SAAS,CAAE,KAAI,EAAE,KAAK,GAAG,GAAG,KAAK;AAAM,yBAAO;AAC3J,oBAAI,IAAI,GAAG;AAAG,uBAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AACjC,wBAAQ,GAAG;AAAA,uBACF;AAAA,uBAAQ;AAAG,wBAAI;AAAI;AAAA,uBACnB;AAAG,sBAAE;AAAS,2BAAO,EAAE,OAAO,GAAG,IAAI,MAAM;AAAA,uBAC3C;AAAG,sBAAE;AAAS,wBAAI,GAAG;AAAI,yBAAK,CAAC;AAAI;AAAA,uBACnC;AAAG,yBAAK,EAAE,IAAI;AAAO,sBAAE,KAAK;AAAO;AAAA;AAEpC,wBAAI,CAAE,KAAI,EAAE,MAAM,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,OAAQ,IAAG,OAAO,KAAK,GAAG,OAAO,IAAI;AAAE,0BAAI;AAAG;AAAA;AACjG,wBAAI,GAAG,OAAO,KAAM,EAAC,KAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,KAAM;AAAE,wBAAE,QAAQ,GAAG;AAAI;AAAA;AAC9E,wBAAI,GAAG,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI;AAAE,wBAAE,QAAQ,EAAE;AAAI,0BAAI;AAAI;AAAA;AAC7D,wBAAI,KAAK,EAAE,QAAQ,EAAE,IAAI;AAAE,wBAAE,QAAQ,EAAE;AAAI,wBAAE,IAAI,KAAK;AAAK;AAAA;AAC3D,wBAAI,EAAE;AAAI,wBAAE,IAAI;AAChB,sBAAE,KAAK;AAAO;AAAA;AAEtB,qBAAK,KAAK,KAAK,SAAS;AAAA,uBACnB,GAAP;AAAY,qBAAK,CAAC,GAAG;AAAI,oBAAI;AAAA,wBAAK;AAAU,oBAAI,IAAI;AAAA;AACtD,gBAAI,GAAG,KAAK;AAAG,oBAAM,GAAG;AAAI,mBAAO,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,QAAQ,MAAM;AAAA;AAAA;AAIlF,uBAAe,SAAS,GAAG,GAAG;AAC1B,mBAAS,KAAK;AAAG,gBAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG;AAAI,8BAAgB,GAAG,GAAG;AAAA;AAG/G,0BAAkB,OAAO,SAAU,SAAS,GAAG,GAAG,GAAG,IAAI;AACrD,cAAI,OAAO;AAAW,iBAAK;AAC3B,iBAAO,eAAe,GAAG,IAAI,EAAE,YAAY,MAAM,KAAK,WAAW;AAAE,mBAAO,EAAE;AAAA;AAAA,YAC1E,SAAS,GAAG,GAAG,GAAG,IAAI;AACxB,cAAI,OAAO;AAAW,iBAAK;AAC3B,YAAE,MAAM,EAAE;AAAA;AAGd,mBAAW,SAAU,GAAG;AACpB,cAAI,IAAI,OAAO,WAAW,cAAc,OAAO,UAAU,IAAI,KAAK,EAAE,IAAI,IAAI;AAC5E,cAAI;AAAG,mBAAO,EAAE,KAAK;AACrB,cAAI,KAAK,OAAO,EAAE,WAAW;AAAU,mBAAO;AAAA,cAC1C,MAAM,WAAY;AACd,oBAAI,KAAK,KAAK,EAAE;AAAQ,sBAAI;AAC5B,uBAAO,EAAE,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA;AAG5C,gBAAM,IAAI,UAAU,IAAI,4BAA4B;AAAA;AAGxD,iBAAS,SAAU,GAAG,GAAG;AACrB,cAAI,IAAI,OAAO,WAAW,cAAc,EAAE,OAAO;AACjD,cAAI,CAAC;AAAG,mBAAO;AACf,cAAI,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI;AAC/B,cAAI;AACA,mBAAQ,OAAM,UAAU,MAAM,MAAM,CAAE,KAAI,EAAE,QAAQ;AAAM,iBAAG,KAAK,EAAE;AAAA,mBAEjE,OAAP;AAAgB,gBAAI,EAAE;AAAA,oBACtB;AACI,gBAAI;AACA,kBAAI,KAAK,CAAC,EAAE,QAAS,KAAI,EAAE;AAAY,kBAAE,KAAK;AAAA,sBAElD;AAAU,kBAAI;AAAG,sBAAM,EAAE;AAAA;AAAA;AAE7B,iBAAO;AAAA;AAIX,mBAAW,WAAY;AACnB,mBAAS,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ;AAC3C,iBAAK,GAAG,OAAO,OAAO,UAAU;AACpC,iBAAO;AAAA;AAIX,yBAAiB,WAAY;AACzB,mBAAS,IAAI,GAAG,IAAI,GAAG,KAAK,UAAU,QAAQ,IAAI,IAAI;AAAK,iBAAK,UAAU,GAAG;AAC7E,mBAAS,IAAI,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI;AACzC,qBAAS,IAAI,UAAU,IAAI,IAAI,GAAG,KAAK,EAAE,QAAQ,IAAI,IAAI,KAAK;AAC1D,gBAAE,KAAK,EAAE;AACjB,iBAAO;AAAA;AAGX,wBAAgB,SAAU,IAAI,MAAM,MAAM;AACtC,cAAI,QAAQ,UAAU,WAAW;AAAG,qBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,KAAK;AACjF,kBAAI,MAAM,CAAE,MAAK,OAAO;AACpB,oBAAI,CAAC;AAAI,uBAAK,MAAM,UAAU,MAAM,KAAK,MAAM,GAAG;AAClD,mBAAG,KAAK,KAAK;AAAA;AAAA;AAGrB,iBAAO,GAAG,OAAO,MAAM,MAAM,UAAU,MAAM,KAAK;AAAA;AAGtD,kBAAU,SAAU,GAAG;AACnB,iBAAO,gBAAgB,UAAW,MAAK,IAAI,GAAG,QAAQ,IAAI,QAAQ;AAAA;AAGtE,2BAAmB,SAAU,SAAS,YAAY,WAAW;AACzD,cAAI,CAAC,OAAO;AAAe,kBAAM,IAAI,UAAU;AAC/C,cAAI,IAAI,UAAU,MAAM,SAAS,cAAc,KAAK,GAAG,IAAI;AAC3D,iBAAO,IAAI,IAAI,KAAK,SAAS,KAAK,UAAU,KAAK,WAAW,EAAE,OAAO,iBAAiB,WAAY;AAAE,mBAAO;AAAA,aAAS;AACpH,wBAAc,GAAG;AAAE,gBAAI,EAAE;AAAI,gBAAE,KAAK,SAAU,GAAG;AAAE,uBAAO,IAAI,QAAQ,SAAU,GAAG,GAAG;AAAE,oBAAE,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,KAAK,OAAO,GAAG;AAAA;AAAA;AAAA;AAC9H,0BAAgB,GAAG,GAAG;AAAE,gBAAI;AAAE,mBAAK,EAAE,GAAG;AAAA,qBAAc,GAAP;AAAY,qBAAO,EAAE,GAAG,IAAI;AAAA;AAAA;AAC3E,wBAAc,GAAG;AAAE,cAAE,iBAAiB,UAAU,QAAQ,QAAQ,EAAE,MAAM,GAAG,KAAK,SAAS,UAAU,OAAO,EAAE,GAAG,IAAI;AAAA;AACnH,2BAAiB,OAAO;AAAE,mBAAO,QAAQ;AAAA;AACzC,0BAAgB,OAAO;AAAE,mBAAO,SAAS;AAAA;AACzC,0BAAgB,GAAG,GAAG;AAAE,gBAAI,EAAE,IAAI,EAAE,SAAS,EAAE;AAAQ,qBAAO,EAAE,GAAG,IAAI,EAAE,GAAG;AAAA;AAAA;AAGhF,2BAAmB,SAAU,GAAG;AAC5B,cAAI,GAAG;AACP,iBAAO,IAAI,IAAI,KAAK,SAAS,KAAK,SAAS,SAAU,GAAG;AAAE,kBAAM;AAAA,cAAO,KAAK,WAAW,EAAE,OAAO,YAAY,WAAY;AAAE,mBAAO;AAAA,aAAS;AAC1I,wBAAc,GAAG,GAAG;AAAE,cAAE,KAAK,EAAE,KAAK,SAAU,GAAG;AAAE,qBAAQ,KAAI,CAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,GAAG,KAAK,MAAM,MAAM,aAAa,IAAI,EAAE,KAAK;AAAA,gBAAO;AAAA;AAAA;AAG/I,wBAAgB,SAAU,GAAG;AACzB,cAAI,CAAC,OAAO;AAAe,kBAAM,IAAI,UAAU;AAC/C,cAAI,IAAI,EAAE,OAAO,gBAAgB;AACjC,iBAAO,IAAI,EAAE,KAAK,KAAM,KAAI,OAAO,aAAa,aAAa,SAAS,KAAK,EAAE,OAAO,aAAa,IAAI,IAAI,KAAK,SAAS,KAAK,UAAU,KAAK,WAAW,EAAE,OAAO,iBAAiB,WAAY;AAAE,mBAAO;AAAA,aAAS;AAC9M,wBAAc,GAAG;AAAE,cAAE,KAAK,EAAE,MAAM,SAAU,GAAG;AAAE,qBAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAAE,oBAAI,EAAE,GAAG,IAAI,OAAO,SAAS,QAAQ,EAAE,MAAM,EAAE;AAAA;AAAA;AAAA;AAChJ,0BAAgB,SAAS,QAAQ,GAAG,GAAG;AAAE,oBAAQ,QAAQ,GAAG,KAAK,SAAS,IAAG;AAAE,sBAAQ,EAAE,OAAO,IAAG,MAAM;AAAA,eAAS;AAAA;AAAA;AAGtH,+BAAuB,SAAU,QAAQ,KAAK;AAC1C,cAAI,OAAO,gBAAgB;AAAE,mBAAO,eAAe,QAAQ,OAAO,EAAE,OAAO;AAAA,iBAAe;AAAE,mBAAO,MAAM;AAAA;AACzG,iBAAO;AAAA;AAGX,YAAI,qBAAqB,OAAO,SAAU,SAAS,GAAG,GAAG;AACrD,iBAAO,eAAe,GAAG,WAAW,EAAE,YAAY,MAAM,OAAO;AAAA,YAC9D,SAAS,GAAG,GAAG;AAChB,YAAE,aAAa;AAAA;AAGnB,uBAAe,SAAU,KAAK;AAC1B,cAAI,OAAO,IAAI;AAAY,mBAAO;AAClC,cAAI,SAAS;AACb,cAAI,OAAO;AAAM,qBAAS,KAAK;AAAK,kBAAI,MAAM,aAAa,OAAO,UAAU,eAAe,KAAK,KAAK;AAAI,gCAAgB,QAAQ,KAAK;AAAA;AACtI,6BAAmB,QAAQ;AAC3B,iBAAO;AAAA;AAGX,0BAAkB,SAAU,KAAK;AAC7B,iBAAQ,OAAO,IAAI,aAAc,MAAM,EAAE,WAAW;AAAA;AAGxD,iCAAyB,SAAU,UAAU,OAAO,MAAM,GAAG;AACzD,cAAI,SAAS,OAAO,CAAC;AAAG,kBAAM,IAAI,UAAU;AAC5C,cAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI;AAAW,kBAAM,IAAI,UAAU;AACvG,iBAAO,SAAS,MAAM,IAAI,SAAS,MAAM,EAAE,KAAK,YAAY,IAAI,EAAE,QAAQ,MAAM,IAAI;AAAA;AAGxF,iCAAyB,SAAU,UAAU,OAAO,OAAO,MAAM,GAAG;AAChE,cAAI,SAAS;AAAK,kBAAM,IAAI,UAAU;AACtC,cAAI,SAAS,OAAO,CAAC;AAAG,kBAAM,IAAI,UAAU;AAC5C,cAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI;AAAW,kBAAM,IAAI,UAAU;AACvG,iBAAQ,SAAS,MAAM,EAAE,KAAK,UAAU,SAAS,IAAI,EAAE,QAAQ,QAAQ,MAAM,IAAI,UAAU,QAAS;AAAA;AAGxG,iBAAS,aAAa;AACtB,iBAAS,YAAY;AACrB,iBAAS,UAAU;AACnB,iBAAS,cAAc;AACvB,iBAAS,WAAW;AACpB,iBAAS,cAAc;AACvB,iBAAS,aAAa;AACtB,iBAAS,eAAe;AACxB,iBAAS,gBAAgB;AACzB,iBAAS,mBAAmB;AAC5B,iBAAS,YAAY;AACrB,iBAAS,UAAU;AACnB,iBAAS,YAAY;AACrB,iBAAS,kBAAkB;AAC3B,iBAAS,iBAAiB;AAC1B,iBAAS,WAAW;AACpB,iBAAS,oBAAoB;AAC7B,iBAAS,oBAAoB;AAC7B,iBAAS,iBAAiB;AAC1B,iBAAS,wBAAwB;AACjC,iBAAS,gBAAgB;AACzB,iBAAS,mBAAmB;AAC5B,iBAAS,0BAA0B;AACnC,iBAAS,0BAA0B;AAAA;AAAA;AAAA;;;AChTvC;AAAA;AAiBA,UAAI,cAAc;AAKlB,kBAAY;AAQZ,kBAAY;AAMZ,kBAAY,eAAe;AAM3B,kBAAY,aAAa;AAMzB,kBAAY,yBAAyB;AAMrC,kBAAY,qBAAqB;AAKjC,kBAAY,WAAW;AAAA,QACrB,YAAY;AAAA,QACZ,cAAc;AAAA;AAOhB,kBAAY,QAAQ,IAAI,WAAW;AAMnC,kBAAY,UAAU,IAAI,aAAa,YAAY,MAAM;AAMzD,kBAAY,UAAU,IAAI,aAAa,YAAY,MAAM;AAMzD,kBAAY,iBAAiB,IAAI,YAAY,IAAI,WAAW,CAAC,GAAG,IAAI,QAAQ,OAAO;AASnF,kBAAY,OAAO,SAAS,KAAK,MAAM;AAKrC,aAAK,MAAM,MAAM;AAMjB,aAAK,OAAO,OAAO;AAAA;AAQrB,kBAAY,KAAK,SAAS,SAAS,KAAK,MAAM;AAE5C,eAAO,OAAO,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,KAAK;AAAA;AAMnF,kBAAY,KAAK,UAAU,YAAY,WAAW;AAChD,eAAQ,MAAK,QAAQ,KAAK,KAAK,OAAO;AAAA;AAOxC,kBAAY,KAAK,UAAU,SAAS,SAAS,OAAO;AAClD,eAAO,KAAK,OAAO,MAAM,OAAO,KAAK,QAAQ,MAAM;AAAA;AAOrD,kBAAY,KAAK,OAAO,IAAI,YAAY,KAAK,GAAG;AAUhD,kBAAY,UAAU,SAAS,kBAAkB;AAC/C,YAAI,CAAC,kBAAkB;AACrB,cAAI,eAAe;AAAA,eACd;AACL,cAAI,eAAe;AAAA;AAOrB,aAAK,KAAK,YAAY,WAAW,SAAS;AAQ1C,aAAK,QAAQ;AAQb,aAAK,WAAW;AAQhB,aAAK,SAAS;AAQd,aAAK,gBAAgB;AAQrB,aAAK,WAAW;AAQhB,aAAK,eAAe;AAQpB,aAAK,UAAU;AAQf,aAAK,mBAAmB;AAQxB,aAAK,iBAAiB;AAAA;AAGxB,kBAAY,QAAQ,UAAU,QAAQ,WAAW;AAC/C,aAAK,GAAG;AACR,aAAK,QAAQ,KAAK,GAAG;AACrB,aAAK,WAAW;AAChB,aAAK,SAAS;AACd,aAAK,gBAAgB;AACrB,aAAK,WAAW;AAChB,aAAK,eAAe;AACpB,aAAK,UAAU;AACf,aAAK,mBAAmB;AACxB,aAAK,iBAAiB;AAAA;AAUxB,kBAAY,QAAQ,UAAU,gBAAgB,SAAS,eAAe;AACpE,aAAK,iBAAiB;AAAA;AAUxB,kBAAY,QAAQ,UAAU,aAAa,WAAW;AACpD,eAAO,KAAK;AAAA;AASd,kBAAY,QAAQ,UAAU,eAAe,WAAW;AACtD,eAAO,KAAK,GAAG,QAAQ,SAAS,KAAK,GAAG,YAAY,KAAK,GAAG,aAAa,KAAK;AAAA;AAahF,kBAAY,QAAQ,UAAU,OAAO,SAAS,MAAM,kBAAkB;AAEpE,YAAI,OAAO,KAAK,UAAU;AACxB,eAAK,WAAW;AAAA;AAKlB,YAAI,aAAe,CAAE,MAAK,GAAG,aAAa,KAAK,QAAQ,oBAAqB,IAAM,OAAO;AAGzF,eAAO,KAAK,QAAQ,aAAa,OAAO,kBAAkB;AACxD,cAAI,eAAe,KAAK,GAAG;AAC3B,eAAK,KAAK,YAAY,QAAQ,eAAe,KAAK;AAClD,eAAK,SAAS,KAAK,GAAG,aAAa;AAAA;AAGrC,aAAK,IAAI;AAAA;AAMX,kBAAY,QAAQ,UAAU,MAAM,SAAS,WAAW;AACtD,iBAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,eAAK,GAAG,UAAU,EAAE,KAAK,OAAO;AAAA;AAAA;AAOpC,kBAAY,QAAQ,UAAU,YAAY,SAAS,OAAO;AACxD,aAAK,GAAG,UAAU,KAAK,SAAS,GAAG;AAAA;AAMrC,kBAAY,QAAQ,UAAU,aAAa,SAAS,OAAO;AACzD,aAAK,GAAG,WAAW,KAAK,SAAS,GAAG;AAAA;AAMtC,kBAAY,QAAQ,UAAU,aAAa,SAAS,OAAO;AACzD,aAAK,GAAG,WAAW,KAAK,SAAS,GAAG;AAAA;AAMtC,kBAAY,QAAQ,UAAU,aAAa,SAAS,OAAO;AACzD,aAAK,GAAG,WAAW,KAAK,SAAS,GAAG;AAAA;AAMtC,kBAAY,QAAQ,UAAU,eAAe,SAAS,OAAO;AAC3D,aAAK,GAAG,aAAa,KAAK,SAAS,GAAG;AAAA;AAMxC,kBAAY,QAAQ,UAAU,eAAe,SAAS,OAAO;AAC3D,aAAK,GAAG,aAAa,KAAK,SAAS,GAAG;AAAA;AAQxC,kBAAY,QAAQ,UAAU,UAAU,SAAS,OAAO;AACtD,aAAK,KAAK,GAAG;AACb,aAAK,UAAU;AAAA;AAOjB,kBAAY,QAAQ,UAAU,WAAW,SAAS,OAAO;AACvD,aAAK,KAAK,GAAG;AACb,aAAK,WAAW;AAAA;AAOlB,kBAAY,QAAQ,UAAU,WAAW,SAAS,OAAO;AACvD,aAAK,KAAK,GAAG;AACb,aAAK,WAAW;AAAA;AAOlB,kBAAY,QAAQ,UAAU,WAAW,SAAS,OAAO;AACvD,aAAK,KAAK,GAAG;AACb,aAAK,WAAW;AAAA;AAOlB,kBAAY,QAAQ,UAAU,aAAa,SAAS,OAAO;AACzD,aAAK,KAAK,GAAG;AACb,aAAK,aAAa;AAAA;AAOpB,kBAAY,QAAQ,UAAU,aAAa,SAAS,OAAO;AACzD,aAAK,KAAK,GAAG;AACb,aAAK,aAAa;AAAA;AASpB,kBAAY,QAAQ,UAAU,eAAe,SAAS,SAAS,OAAO,cAAc;AAClF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,QAAQ;AACb,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,gBAAgB,SAAS,SAAS,OAAO,cAAc;AACnF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,SAAS;AACd,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,gBAAgB,SAAS,SAAS,OAAO,cAAc;AACnF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,SAAS;AACd,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,gBAAgB,SAAS,SAAS,OAAO,cAAc;AACnF,YAAI,KAAK,kBAAkB,CAAC,MAAM,OAAO,eAAe;AACtD,eAAK,SAAS;AACd,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,kBAAkB,SAAS,SAAS,OAAO,cAAc;AACrF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,WAAW;AAChB,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,kBAAkB,SAAS,SAAS,OAAO,cAAc;AACrF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,WAAW;AAChB,eAAK,KAAK;AAAA;AAAA;AASd,kBAAY,QAAQ,UAAU,iBAAiB,SAAS,SAAS,OAAO,cAAc;AACpF,YAAI,KAAK,kBAAkB,SAAS,cAAc;AAChD,eAAK,UAAU;AACf,eAAK,KAAK;AAAA;AAAA;AAWd,kBAAY,QAAQ,UAAU,iBAAiB,SAAS,SAAS,OAAO,cAAc;AACpF,YAAI,SAAS,cAAc;AACzB,eAAK,OAAO;AACZ,eAAK,KAAK;AAAA;AAAA;AAWd,kBAAY,QAAQ,UAAU,SAAS,SAAS,KAAK;AACnD,YAAI,OAAO,KAAK,UAAU;AACxB,gBAAM,IAAI,MAAM;AAAA;AAAA;AAQpB,kBAAY,QAAQ,UAAU,YAAY,WAAW;AACnD,YAAI,KAAK,UAAU;AACjB,gBAAM,IAAI,MAAM;AAAA;AAAA;AASpB,kBAAY,QAAQ,UAAU,OAAO,SAAS,SAAS;AACrD,aAAK,OAAO,WAAW,KAAK;AAAA;AAM9B,kBAAY,QAAQ,UAAU,SAAS,WAAW;AAChD,eAAO,KAAK,GAAG,aAAa,KAAK;AAAA;AAenC,kBAAY,QAAQ,iBAAiB,SAAS,IAAI;AAChD,YAAI,eAAe,GAAG;AAGtB,YAAI,eAAe,YAAY;AAC7B,gBAAM,IAAI,MAAM;AAAA;AAGlB,YAAI,eAAe,gBAAgB;AACnC,YAAI,MAAM,YAAY,WAAW,SAAS;AAC1C,YAAI,YAAY,eAAe;AAC/B,YAAI,QAAQ,IAAI,GAAG,SAAS,eAAe;AAC3C,eAAO;AAAA;AAST,kBAAY,QAAQ,UAAU,YAAY,SAAS,QAAQ;AACzD,aAAK,KAAK,YAAY,YAAY;AAClC,aAAK,WAAW,KAAK,WAAW,SAAS,YAAY;AAAA;AAWvD,kBAAY,QAAQ,UAAU,cAAc,SAAS,WAAW;AAC9D,aAAK;AACL,YAAI,KAAK,UAAU,MAAM;AACvB,eAAK,SAAS;AAAA;AAEhB,aAAK,gBAAgB;AACrB,iBAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,eAAK,OAAO,KAAK;AAAA;AAEnB,aAAK,WAAW;AAChB,aAAK,eAAe,KAAK;AAAA;AAQ3B,kBAAY,QAAQ,UAAU,YAAY,WAAW;AACnD,YAAI,KAAK,UAAU,QAAQ,CAAC,KAAK,UAAU;AACzC,gBAAM,IAAI,MAAM;AAAA;AAGlB,aAAK,SAAS;AACd,YAAI,YAAY,KAAK;AAGrB,YAAI,IAAI,KAAK,gBAAgB;AAC7B,eAAO,KAAK,KAAK,KAAK,OAAO,MAAM,GAAG,KAAK;AAAA;AAC3C,YAAI,eAAe,IAAI;AAGvB,eAAO,KAAK,GAAG,KAAK;AAElB,eAAK,SAAS,KAAK,OAAO,MAAM,IAAI,YAAY,KAAK,OAAO,KAAK;AAAA;AAGnE,YAAI,kBAAkB;AACtB,aAAK,SAAS,YAAY,KAAK;AAC/B,YAAI,MAAO,gBAAe,mBAAmB,YAAY;AACzD,aAAK,SAAS;AAGd,YAAI,kBAAkB;AACtB,YAAI,MAAM,KAAK;AACjB;AACE,eAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AACxC,gBAAI,MAAM,KAAK,GAAG,aAAa,KAAK,QAAQ;AAC5C,gBAAI,OAAO,KAAK,GAAG,UAAU,MAAM;AACjC,uBAAS,IAAI,YAAY,cAAc,IAAI,KAAK,KAAK,YAAY,cAAc;AAC7E,oBAAI,KAAK,GAAG,UAAU,MAAM,MAAM,KAAK,GAAG,UAAU,MAAM,IAAI;AAC5D;AAAA;AAAA;AAGJ,gCAAkB,KAAK,QAAQ;AAC/B;AAAA;AAAA;AAIJ,YAAI,iBAAiB;AAGnB,eAAK,QAAQ,KAAK,GAAG,aAAa;AAGlC,eAAK,GAAG,WAAW,KAAK,OAAO,kBAAkB;AAAA,eAC5C;AAGL,eAAK,QAAQ,KAAK,KAAK;AAGvB,eAAK,GAAG,WAAW,KAAK,GAAG,aAAa,WAAW,KAAK,WAAW;AAAA;AAGrE,aAAK,WAAW;AAChB,eAAO;AAAA;AAWT,kBAAY,QAAQ,UAAU,SAAS,SAAS,YAAY,qBAAqB,iBAAiB;AAChG,YAAI,cAAc,kBAAkB,YAAY,qBAAqB;AACrE,YAAI,qBAAqB;AACvB,cAAI,kBAAkB;AACtB,eAAK,KAAK,KAAK,UAAU,YAAY,aACnC,YAAY,yBAAyB;AACvC,cAAI,gBAAgB,UAAU,YAAY,wBAAwB;AAChE,kBAAM,IAAI,MAAM,iDACd,YAAY;AAAA;AAEhB,mBAAS,IAAI,YAAY,yBAAyB,GAAG,KAAK,GAAG,KAAK;AAChE,iBAAK,UAAU,gBAAgB,WAAW;AAAA;AAAA;AAG9C,aAAK,KAAK,KAAK,UAAU,YAAY,aAAa;AAClD,aAAK,UAAU;AACf,YAAI,aAAa;AACf,eAAK,SAAS,KAAK,GAAG,aAAa,KAAK;AAAA;AAE1C,aAAK,GAAG,YAAY,KAAK;AAAA;AAS3B,kBAAY,QAAQ,UAAU,qBAAqB,SAAU,YAAY,qBAAqB;AAC5F,aAAK,OAAO,YAAY,qBAAqB;AAAA;AAW/C,kBAAY,QAAQ,UAAU,gBAAgB,SAAS,OAAO,OAAO;AACnE,YAAI,cAAc,KAAK,GAAG,aAAa;AACvC,YAAI,eAAe,cAAc,KAAK,GAAG,UAAU;AACnD,YAAI,KAAK,KAAK,GAAG,UAAU,eAAe,UAAU;AAGpD,YAAI,CAAC,IAAI;AACP,gBAAM,IAAI,MAAM,wBAAwB,QAAQ;AAAA;AAAA;AAapD,kBAAY,QAAQ,UAAU,cAAc,SAAS,WAAW,WAAW,WAAW;AACpF,aAAK;AACL,aAAK,mBAAmB;AACxB,aAAK,KAAK,YAAY,YAAY,YAAY;AAC9C,aAAK,KAAK,WAAW,YAAY;AAAA;AAUnC,kBAAY,QAAQ,UAAU,YAAY,WAAW;AACnD,aAAK,WAAW,KAAK;AACrB,eAAO,KAAK;AAAA;AAWd,kBAAY,QAAQ,UAAU,eAAe,SAAS,GAAG;AACvD,YAAI,aAAa,YAAY;AAC3B,cAAI,OAAO;AAAA,eACN;AACL,cAAI,OAAO;AACX,cAAI,IAAI;AAER,iBAAO,IAAI,EAAE,QAAQ;AACnB,gBAAI;AAGJ,gBAAI,IAAI,EAAE,WAAW;AACrB,gBAAI,IAAI,SAAU,KAAK,OAAQ;AAC7B,0BAAY;AAAA,mBACP;AACL,kBAAI,IAAI,EAAE,WAAW;AACrB,0BAAa,MAAK,MAAM,IAAK,SAAW,UAAU,MAAM;AAAA;AAI1D,gBAAI,YAAY,KAAM;AACpB,mBAAK,KAAK;AAAA,mBACL;AACL,kBAAI,YAAY,MAAO;AACrB,qBAAK,KAAO,aAAa,IAAK,KAAQ;AAAA,qBACjC;AACL,oBAAI,YAAY,OAAS;AACvB,uBAAK,KAAO,aAAa,KAAM,KAAQ;AAAA,uBAClC;AACL,uBAAK,KACD,aAAa,KAAM,IAAQ,KAC3B,aAAa,KAAM,KAAQ;AAAA;AAEjC,qBAAK,KAAO,aAAa,IAAK,KAAQ;AAAA;AAExC,mBAAK,KAAM,YAAY,KAAQ;AAAA;AAAA;AAAA;AAKrC,aAAK,QAAQ;AACb,aAAK,YAAY,GAAG,KAAK,QAAQ;AACjC,aAAK,GAAG,YAAY,KAAK,SAAS,KAAK;AACvC,iBAAS,IAAI,GAAG,SAAS,KAAK,OAAO,QAAQ,KAAK,GAAG,SAAS,IAAI,KAAK,QAAQ,KAAK;AAClF,gBAAM,YAAY,KAAK;AAAA;AAEzB,eAAO,KAAK;AAAA;AAUd,kBAAY,QAAQ,UAAU,aAAa,SAAS,KAAK,MAAM;AAC7D,eAAO,YAAY,KAAK,OAAO,KAAK;AAAA;AAUtC,kBAAY,aAAa,SAAS,OAAO;AAKvC,aAAK,SAAS;AAMd,aAAK,YAAY;AAAA;AASnB,kBAAY,WAAW,WAAW,SAAS,WAAW;AACpD,eAAO,IAAI,YAAY,WAAW,IAAI,WAAW;AAAA;AAGnD,kBAAY,WAAW,UAAU,QAAQ,WAAW;AAClD,aAAK,YAAY;AAAA;AAQnB,kBAAY,WAAW,UAAU,QAAQ,WAAW;AAClD,eAAO,KAAK;AAAA;AAQd,kBAAY,WAAW,UAAU,WAAW,WAAW;AACrD,eAAO,KAAK;AAAA;AAQd,kBAAY,WAAW,UAAU,cAAc,SAAS,UAAU;AAChE,aAAK,YAAY;AAAA;AAQnB,kBAAY,WAAW,UAAU,WAAW,WAAW;AACrD,eAAO,KAAK,OAAO;AAAA;AAOrB,kBAAY,WAAW,UAAU,WAAW,SAAS,QAAQ;AAC3D,eAAO,KAAK,UAAU,WAAW,MAAM;AAAA;AAOzC,kBAAY,WAAW,UAAU,YAAY,SAAS,QAAQ;AAC5D,eAAO,KAAK,OAAO;AAAA;AAOrB,kBAAY,WAAW,UAAU,YAAY,SAAS,QAAQ;AAC5D,eAAO,KAAK,WAAW,WAAW,MAAM;AAAA;AAO1C,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ;AAC7D,eAAO,KAAK,OAAO,UAAU,KAAK,OAAO,SAAS,MAAM;AAAA;AAO1D,kBAAY,WAAW,UAAU,YAAY,SAAS,QAAQ;AAC5D,eAAO,KAAK,OAAO,UAAU,KAAK,OAAO,SAAS,MAAM,IAAI,KAAK,OAAO,SAAS,MAAM,KAAK,KAAK,OAAO,SAAS,MAAM;AAAA;AAOzH,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ;AAC7D,eAAO,KAAK,UAAU,YAAY;AAAA;AAOpC,kBAAY,WAAW,UAAU,YAAY,SAAS,QAAQ;AAC5D,eAAO,IAAI,YAAY,KAAK,KAAK,UAAU,SAAS,KAAK,UAAU,SAAS;AAAA;AAO9E,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ;AAC7D,eAAO,IAAI,YAAY,KAAK,KAAK,WAAW,SAAS,KAAK,WAAW,SAAS;AAAA;AAOhF,kBAAY,WAAW,UAAU,cAAc,SAAS,QAAQ;AAC9D,oBAAY,MAAM,KAAK,KAAK,UAAU;AACtC,eAAO,YAAY,QAAQ;AAAA;AAO7B,kBAAY,WAAW,UAAU,cAAc,SAAS,QAAQ;AAC9D,oBAAY,MAAM,YAAY,iBAAiB,IAAI,KAAK,KAAK,UAAU;AACvE,oBAAY,MAAM,YAAY,iBAAiB,IAAI,KAAK,KAAK,UAAU,SAAS;AAChF,eAAO,YAAY,QAAQ;AAAA;AAO7B,kBAAY,WAAW,UAAU,YAAY,SAAS,QAAQ,OAAO;AACnE,aAAK,OAAO,UAAgC;AAAA;AAO9C,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ,OAAO;AACpE,aAAK,OAAO,UAAU;AAAA;AAOxB,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ,OAAO;AACpE,aAAK,OAAO,UAAU;AACtB,aAAK,OAAO,SAAS,KAAK,SAAS;AAAA;AAOrC,kBAAY,WAAW,UAAU,cAAc,SAAS,QAAQ,OAAO;AACnE,aAAK,OAAO,UAAU;AACtB,aAAK,OAAO,SAAS,KAAK,SAAS;AAAA;AAOvC,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ,OAAO;AACpE,aAAK,OAAO,UAAU;AACtB,aAAK,OAAO,SAAS,KAAK,SAAS;AACnC,aAAK,OAAO,SAAS,KAAK,SAAS;AACnC,aAAK,OAAO,SAAS,KAAK,SAAS;AAAA;AAOrC,kBAAY,WAAW,UAAU,cAAc,SAAS,QAAQ,OAAO;AACnE,aAAK,OAAO,UAAU;AACtB,aAAK,OAAO,SAAS,KAAK,SAAS;AACnC,aAAK,OAAO,SAAS,KAAK,SAAS;AACnC,aAAK,OAAO,SAAS,KAAK,SAAS;AAAA;AAOvC,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ,OAAO;AACpE,aAAK,WAAW,QAAQ,MAAM;AAC9B,aAAK,WAAW,SAAS,GAAG,MAAM;AAAA;AAOpC,kBAAY,WAAW,UAAU,cAAc,SAAS,QAAQ,OAAO;AACnE,aAAK,YAAY,QAAQ,MAAM;AAC/B,aAAK,YAAY,SAAS,GAAG,MAAM;AAAA;AAOvC,kBAAY,WAAW,UAAU,eAAe,SAAS,QAAQ,OAAO;AACtE,oBAAY,QAAQ,KAAK;AACzB,aAAK,WAAW,QAAQ,YAAY,MAAM;AAAA;AAO5C,kBAAY,WAAW,UAAU,eAAe,SAAS,QAAQ,OAAO;AACtE,oBAAY,QAAQ,KAAK;AACzB,aAAK,WAAW,QAAQ,YAAY,MAAM,YAAY,iBAAiB,IAAI;AAC3E,aAAK,WAAW,SAAS,GAAG,YAAY,MAAM,YAAY,iBAAiB,IAAI;AAAA;AASjF,kBAAY,WAAW,UAAU,sBAAsB,WAAW;AAChE,YAAI,KAAK,OAAO,SAAS,KAAK,YAAY,YAAY,aAClD,YAAY,wBAAwB;AACtC,gBAAM,IAAI,MACN;AAAA;AAEN,YAAI,SAAS;AACb,iBAAS,IAAI,GAAG,IAAI,YAAY,wBAAwB,KAAK;AAC3D,oBAAU,OAAO,aACb,KAAK,SAAS,KAAK,YAAY,YAAY,aAAa;AAAA;AAE9D,eAAO;AAAA;AAWT,kBAAY,WAAW,UAAU,WAAW,SAAS,QAAQ,eAAe;AAC1E,YAAI,SAAS,SAAS,KAAK,UAAU;AACrC,eAAO,gBAAgB,KAAK,UAAU,UAAU,KAAK,UAAU,SAAS,iBAAiB;AAAA;AAU3F,kBAAY,WAAW,UAAU,UAAU,SAAS,GAAG,QAAQ;AAC7D,UAAE,SAAS,SAAS,KAAK,UAAU;AACnC,UAAE,KAAK;AACP,eAAO;AAAA;AAgBT,kBAAY,WAAW,UAAU,WAAW,SAAS,QAAQ,cAAc;AACzE,kBAAU,KAAK,UAAU;AAEzB,YAAI,SAAS,KAAK,UAAU;AAC5B,YAAI,SAAS;AACb,YAAI,IAAI;AAER,kBAAU,YAAY;AAEtB,YAAI,iBAAiB,YAAY,SAAS,YAAY;AACpD,iBAAO,KAAK,OAAO,SAAS,QAAQ,SAAS;AAAA;AAG/C,eAAO,IAAI,QAAQ;AACjB,cAAI;AAGJ,cAAI,IAAI,KAAK,UAAU,SAAS;AAChC,cAAI,IAAI,KAAM;AACZ,wBAAY;AAAA,iBACP;AACL,gBAAI,IAAI,KAAK,UAAU,SAAS;AAChC,gBAAI,IAAI,KAAM;AACZ,0BACI,KAAI,OAAS,IACd,IAAI;AAAA,mBACF;AACL,kBAAI,IAAI,KAAK,UAAU,SAAS;AAChC,kBAAI,IAAI,KAAM;AACZ,4BACI,KAAI,OAAS,KACb,KAAI,OAAS,IACd,IAAI;AAAA,qBACF;AACL,oBAAI,IAAI,KAAK,UAAU,SAAS;AAChC,4BACI,KAAI,MAAS,KACb,KAAI,OAAS,KACb,KAAI,OAAS,IACd,IAAI;AAAA;AAAA;AAAA;AAMb,cAAI,YAAY,OAAS;AACvB,sBAAU,OAAO,aAAa;AAAA,iBACzB;AACL,yBAAa;AACb,sBAAU,OAAO,aACd,cAAa,MAAM,OACnB,aAAc,MAAK,MAAM,KAAM;AAAA;AAAA;AAItC,eAAO;AAAA;AAQT,kBAAY,WAAW,UAAU,aAAa,SAAS,QAAQ;AAC7D,eAAO,SAAS,KAAK,UAAU;AAAA;AASjC,kBAAY,WAAW,UAAU,WAAW,SAAS,QAAQ;AAC3D,eAAO,SAAS,KAAK,UAAU,UAAU,YAAY;AAAA;AASvD,kBAAY,WAAW,UAAU,eAAe,SAAS,QAAQ;AAC/D,eAAO,KAAK,UAAU,SAAS,KAAK,UAAU;AAAA;AAOhD,kBAAY,WAAW,UAAU,mBAAmB,SAAS,OAAO;AAClE,YAAI,MAAM,UAAU,YAAY,wBAAwB;AACtD,gBAAM,IAAI,MAAM,iDACA,YAAY;AAAA;AAE9B,iBAAS,IAAI,GAAG,IAAI,YAAY,wBAAwB,KAAK;AAC3D,cAAI,MAAM,WAAW,MAAM,KAAK,SAAS,KAAK,YAAY,YAAY,aAAa,IAAI;AACrF,mBAAO;AAAA;AAAA;AAGX,eAAO;AAAA;AAUT,kBAAY,WAAW,UAAU,aAAa,SAAS,KAAK,MAAM;AAChE,eAAO,YAAY,KAAK,OAAO,KAAK;AAAA;AAItC,eAAK,cAAc;AAAA;AAAA;;;;;;;;ACttCnB,UAAM,WAAU,IAAI,YAAY;AAEnB,eAAA,aAAa,CAAC,WAA0B,SAAQ,OAAO;AAEpE,UAAM,WAAU,IAAI;AAEP,eAAA,aAAa,CAAC,UAAmB,SAAQ,OAAO;;;;;;;;;;;ACN7D,UAAA,aAAA;AAGa,eAAA,gBAAqB,OAAO,OAAO,EAAE,MAAM,MAAM,OAAO;AAUrE,4BAAsB;QAClB,YAAoB,OAAoB;AAApB,eAAA,QAAA;;YACT,SAAM;AAAU,iBAAO,KAAK,MAAM;;YAClC,UAAO;AAAY,iBAAQ,KAAK,MAAM,cAAc;;YACpD,eAAY;AAAY,iBAAQ,KAAK,MAAM,mBAAmB;;;AAJ7E,eAAA,YAAA;AAoCA,kCAAqC;QAK1B,MAAG;AACN,iBAAO,KAAK,gBAAgB;;QAEzB,KAAsC,UAAa,SAA2B;AACjF,iBAAO,KAAK,iBAAiB,KAAK,UAAU;;QAEzC,OAAO,UAA6B,SAAqB;AAAI,iBAAO,KAAK,gBAAgB,OAAO,UAAU;;QAC1G,YAA2C,QAAsD,SAAqB;AACzH,iBAAO,KAAK,gBAAgB,YAAY,QAAQ;;QAI5C,gBAAa;AACjB,iBAAO,KAAK,cAAe,MAAK,aAAa,KAAK;;QAI9C,iBAAc;AAClB,iBAAO,KAAK,eAAgB,MAAK,cAAc,KAAK;;;AAvB5D,eAAA,kBAAA;AA+BA,qCAA+E,gBAA0B;QASrG,cAAA;AACI;AAPM,eAAA,UAAuB;AAIvB,eAAA,YAAqD;AAI3D,eAAK,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,wBAAwB;;YAG/D,SAAM;AAAoB,iBAAO,KAAK;;QACpC,OAAO,QAAY;;AAAI,kBAAM,KAAK,OAAO;;;QAC/C,MAAM,OAAgB;AACzB,cAAI,KAAK,eAAe;AACpB,iBAAK,UAAU,UAAU,IAClB,KAAK,QAAQ,KAAK,SAClB,KAAK,UAAU,QAAS,QAAQ,EAAE,MAAM,OAAO;;;QAGvD,MAAM,OAAW;AACpB,cAAI,KAAK,uBAAuB;AAC5B,iBAAK,UAAU,UAAU,IAClB,KAAK,SAAS,EAAE,OAAO,UACvB,KAAK,UAAU,QAAS,OAAO,EAAE,MAAM,MAAM;;;QAGrD,QAAK;AACR,cAAI,KAAK,uBAAuB;AAC5B,kBAAM,EAAE,cAAc;AACtB,mBAAO,UAAU,SAAS,GAAG;AACzB,wBAAU,QAAS,QAAQ,SAAA;;AAE/B,iBAAK;AACL,iBAAK,wBAAwB;;;SAI7B,OAAO,iBAAc;AAAK,iBAAO;;QAClC,YAAY,SAAkC;AACjD,iBAAO,WAAA,QAAe,YACjB,KAAK,yBAAyB,KAAK,SAC7B,OACA,KAAK,SACZ;;QAED,aAAa,SAA0C;AAC1D,iBAAO,WAAA,QAAe,aACjB,KAAK,yBAAyB,KAAK,SAC7B,OACA,KAAK,SACZ;;QAEK,MAAM,GAAO;;AAAI,kBAAM,KAAK,MAAM;AAAI,mBAAO,SAAA;;;QAC7C,OAAO,GAAO;;AAAI,kBAAM,KAAK;AAAS,mBAAO,SAAA;;;QAE7C,KAAK,MAAoB;;AAA+B,mBAAQ,OAAM,KAAK,KAAK,MAAM,SAAS;;;QAC/F,KAAK,MAAoB;;AAA+B,mBAAQ,OAAM,KAAK,KAAK,MAAM,SAAS;;;QACrG,QAAQ,OAAY;AACvB,cAAI,KAAK,QAAQ,SAAS,GAAG;AACzB,mBAAO,QAAQ,QAAQ,EAAE,MAAM,OAAO,OAAO,KAAK,QAAQ;qBACnD,KAAK,QAAQ;AACpB,mBAAO,QAAQ,OAAO,EAAE,MAAM,MAAM,OAAO,KAAK,OAAO;qBAChD,CAAC,KAAK,uBAAuB;AACpC,mBAAO,QAAQ,QAAQ,SAAA;iBACpB;AACH,mBAAO,IAAI,QAAmC,CAAC,SAAS,WAAU;AAC9D,mBAAK,UAAU,KAAK,EAAE,SAAS;;;;QAKjC,cAAW;AACjB,cAAI,KAAK,uBAAuB;AAC5B,mBAAO;;AAEX,gBAAM,IAAI,MAAM;;;AA/ExB,eAAA,aAAA;;;;;;;;;;AChFA,UAAA,eAAA;AA0BA,UAAM,CAAC,YAAY,mBAAoB,OAAK;AACxC,cAAM,yBAAyB,MAAK;AAAG,gBAAM,IAAI,MAAM;;AACvD,qCAA0B;AAAK,gBAAM;;AACrC,0BAAkB,SAAS,MAAK;AAAG,gBAAM;;AACzC,0BAAkB,UAAU,MAAK;AAAG,gBAAM;;AAC1C,eAAO,OAAO,WAAW,cAAc,CAAC,QAAQ,QAAQ,CAAO,mBAAmB;;AA2B/D,eAAA,SAAA;AAAQ,eAAA,kBAAA;AAvB/B,UAAM,CAAC,mBAAmB,0BAA2B,OAAK;AACtD,cAAM,gCAAgC,MAAK;AAAG,gBAAM,IAAI,MAAM;;AAC9D,uCAA8B;qBACf,oBAAiB;AAAK,mBAAO;;iBACjC,KAAE;AAAK,kBAAM;;iBACb,OAAI;AAAK,kBAAM;;UACtB,cAAA;AAAgB,kBAAM;;;AAE1B,eAAO,OAAO,kBAAkB,cAAc,CAAC,eAAe,QAAQ,CAAO,0BAA0B;;AAgB7E,eAAA,gBAAA;AAAe,eAAA,yBAAA;AAZ7C,UAAM,CAAC,oBAAoB,2BAA4B,OAAK;AACxD,cAAM,iCAAiC,MAAK;AAAG,gBAAM,IAAI,MAAM;;AAC/D,wCAA+B;qBAChB,oBAAiB;AAAK,mBAAO;;iBACjC,KAAE;AAAK,kBAAM;;iBACb,OAAI;AAAK,kBAAM;;UACtB,cAAA;AAAgB,kBAAM;;;AAE1B,eAAO,OAAO,mBAAmB,cAAc,CAAC,gBAAgB,QAAQ,CAAO,2BAA2B;;AAK/E,eAAA,iBAAA;AAAgB,eAAA,0BAAA;AAEhC,UAAM,WAAW,CAAC,MAAW,OAAO,MAAM;AAC1C,UAAM,YAAY,CAAC,MAAW,OAAO,MAAM;AAC3C,UAAM,aAAa,CAAC,MAAW,OAAO,MAAM;AAG9C,eAAA,WAAW,CAAC,MAAwB,KAAK,QAAQ,OAAO,OAAO;AAG/D,eAAA,YAAY,CAAU,MAA+B;AAC9D,eAAO,SAAA,SAAS,MAAM,WAAW,EAAE;;AAI1B,eAAA,eAAe,CAAU,MAA8B;AAChE,eAAO,SAAA,SAAS,MAAM,WAAW,EAAE;;AAI1B,eAAA,aAAa,CAAU,MAA4B;AAC5D,eAAO,SAAA,SAAS,MAAM,WAAW,EAAE,OAAO;;AAIjC,eAAA,kBAAkB,CAAU,MAAiC;AACtE,eAAO,SAAA,SAAS,MAAM,WAAW,EAAE,OAAO;;AAIjC,eAAA,cAAc,CAAC,MAA+B;AACvD,eAAO,SAAA,SAAS,MAAM,SAAA,SAAS,EAAE;;AAIxB,eAAA,cAAc,CAAU,MAA6B;AAC9D,eAAO,SAAA,SAAS,MAAM,SAAS,EAAE;;AAIxB,eAAA,mBAAmB,CAAU,MAAkC;AACxE,eAAO,SAAA,SAAS,MAAO,UAAU,KAAO,WAAW;;AAI1C,eAAA,mBAAmB,CAAU,MAAkC;AACxE,eAAO,SAAA,SAAS,MACZ,WAAW,EAAE,aACb,WAAW,EAAE,aACb,WAAW,EAAE,aACb,WAAW,EAAE;;AAIR,eAAA,eAAe,CAAC,MAA2B;AACpD,eAAO,SAAA,SAAS,MAAM,WAAW,EAAE,YAAY,SAAS,EAAE;;AAIjD,eAAA,iBAAiB,CAAC,MAA6B;AACxD,eAAO,SAAA,qBAAqB,MAAM,SAAgB,EAAG;;AAI5C,eAAA,kBAAkB,CAAC,MAAyB;AACrD,eAAO,SAAA,SAAS,MAAM,SAAA,oBAAoB,EAAE;;AAInC,eAAA,sBAAsB,CAAU,MAAkC;AAC3E,eAAO,SAAA,SAAS,MACZ,WAAW,EAAE,aACb,WAAW,EAAE,iBACb,CAAE,cAAa,aAAA;;AAIV,eAAA,sBAAsB,CAAU,MAAkC;AAC3E,eAAO,SAAA,SAAS,MACZ,WAAW,EAAE,cACb,WAAW,EAAE,iBACb,CAAE,cAAa,aAAA;;AAIV,eAAA,uBAAuB,CAAC,MAAsC;AACvE,eAAO,SAAA,SAAS,MACZ,WAAW,EAAE,WACb,WAAW,EAAE,aACb,UAAU,EAAE,gBACZ,CAAE,cAAa,aAAA;;AAIV,eAAA,uBAAuB,CAAC,MAAsC;AACvE,eAAO,SAAA,SAAS,MACZ,WAAW,EAAE,YACb,WAAW,EAAE,YACb,UAAU,EAAE,gBACZ,CAAE,cAAa,aAAA;;;;;;;;;;;;AC/JvB,UAAA,gBAAA;AACA,UAAA,SAAA;AACA,UAAO,aAAa,cAAA,YAAY;AAGhC,UAAA,WAAA;AAGA,UAAM,iBAAkB,OAAO,sBAAsB,cAAc,oBAAoB;AAGvF,4CAAsC,QAAoB;AACtD,cAAM,SAAS,OAAO,KAAK,CAAC,OAAO,MAAM;AACzC,YAAI,SAAiB,SAAiB,MAAc;AACpD,iBAAS,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AACtD,cAAI,OAAO;AACX,cAAI,OAAO;AAEX,cAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;AAClE,iBAAM,QAAO,EAAE,KAAK;AACpB;;AAEJ,UAAC,GAAE,YAAY,SAAS,YAAY,SAAS;AAC7C,UAAC,GAAE,YAAY,SAAS,YAAY,SAAS;AAE7C,cAAK,UAAU,OAAQ,WAAY,UAAU,OAAQ,SAAS;AAC1D,iBAAM,QAAO,EAAE,KAAK;AACpB;;AAEJ,iBAAO,KAAK,IAAI,WAAW,EAAE,QAAQ,SAAS,UAAU,UAAU;;AAEtE,eAAO;;AAIX,sBAAyF,QAAiB,QAAiB,mBAAmB,GAAG,mBAAmB,OAAO,YAAU;AACjL,cAAM,mBAAmB,OAAO;AAChC,cAAM,MAAM,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY;AAC7D,cAAM,MAAM,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY,KAAK,IAAI,kBAAkB;AACxF,YAAI,IAAI,KAAK;AACb,eAAO;;AALX,eAAA,SAAA;AASA,+BAAgC,QAAsB,MAAoB;AAItE,cAAM,SAAS,6BAA6B;AAC5C,cAAM,aAAa,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,YAAY;AAC7D,YAAI,QAAoB,QAAoB;AAC5C,YAAI,SAAS,GAAG,QAAQ;AACxB,cAAM,SAAS,KAAK,IAAI,QAAQ,UAAU;AAC1C,iBAAS,IAAI,OAAO,QAAQ,EAAE,QAAQ,KAAI;AACtC,mBAAS,OAAO;AAChB,mBAAS,OAAO,SAAS,GAAG,KAAK,IAAI,OAAO,QAAQ,SAAS;AAC7D,cAAI,UAAW,SAAS,OAAO,QAAS;AACpC,gBAAI,OAAO,SAAS,OAAO,QAAQ;AAC/B,qBAAO,SAAS,OAAO,SAAS,OAAO;uBAChC,OAAO,WAAW,OAAO,QAAQ;AAAE;;AAC9C,qBAAS,OAAO,QAAQ,QAAQ,UAAW,SAAS;AACpD;;AAEJ,iBAAO,UAAW,UAAS,IAAI,WAAW,UAAU,QAAQ;AAC5D,oBAAU,OAAO;;AAErB,eAAO,CAAC,UAAU,IAAI,WAAW,IAAI,OAAO,MAAM,QAAQ,aAAc,UAAS,OAAO,aAAa;;AAtBzG,eAAA,kBAAA;AAiCA,iCAAkC,qBAA0B,OAA2B;AAEnF,YAAI,QAAa,SAAA,iBAAiB,SAAS,MAAM,QAAQ;AAEzD,YAAI,iBAAiB,qBAAqB;AACtC,cAAI,wBAAwB,YAAY;AAGpC,mBAAO,IAAI,oBAAoB,MAAM,QAAQ,MAAM,YAAY,MAAM;;AAEzE,iBAAO;;AAEX,YAAI,CAAC,OAAO;AAAE,iBAAO,IAAI,oBAAoB;;AAC7C,YAAI,OAAO,UAAU,UAAU;AAAE,kBAAQ,OAAA,WAAW;;AACpD,YAAI,iBAAiB,aAAa;AAAE,iBAAO,IAAI,oBAAoB;;AACnE,YAAI,iBAAiB,gBAAgB;AAAE,iBAAO,IAAI,oBAAoB;;AACtE,YAAI,iBAAiB,YAAY;AAAE,iBAAO,kBAAkB,qBAAqB,MAAM;;AACvF,eAAO,CAAC,YAAY,OAAO,SAAS,oBAAoB,KAAK,SAAS,MAAM,cAAc,IAAI,IAAI,oBAAoB,KAChH,IAAI,oBAAoB,MAAM,QAAQ,MAAM,YAAY,MAAM,aAAa,oBAAoB;;AAlBzG,eAAA,oBAAA;AAqB4B,eAAA,cAAc,CAAC,UAAgC,kBAAkB,WAAW;AAC5E,eAAA,eAAe,CAAC,UAAgC,kBAAkB,YAAY;AAC9E,eAAA,eAAe,CAAC,UAAgC,kBAAkB,YAAY;AAC9E,eAAA,kBAAkB,CAAC,UAAgC,kBAAkB,SAAA,eAAe;AACpF,eAAA,eAAe,CAAC,UAAgC,kBAAkB,YAAY;AAC9E,eAAA,gBAAgB,CAAC,UAAgC,kBAAkB,aAAa;AAChF,eAAA,gBAAgB,CAAC,UAAgC,kBAAkB,aAAa;AAChF,eAAA,mBAAmB,CAAC,UAAgC,kBAAkB,SAAA,gBAAgB;AACtF,eAAA,iBAAiB,CAAC,UAAgC,kBAAkB,cAAc;AAClF,eAAA,iBAAiB,CAAC,UAAgC,kBAAkB,cAAc;AAClF,eAAA,sBAAsB,CAAC,UAAgC,kBAAkB,mBAAmB;AAMxH,UAAM,OAAO,CAA+C,aAAe;AAAG,iBAAS;AAAQ,eAAO;;AAGtG,0CAAiE,WAAqC,QAAoC;AAEtI,cAAM,OAAO,WAAa,GAAI;AAAI,gBAAM;;AACxC,cAAM,UACU,OAAO,WAAW,WAAY,KAAK,UACnC,YAAY,OAAO,UAAW,KAAK,UACtC,kBAAkB,cAAe,KAAK,UACzC,kBAAkB,iBAAkB,KAAK,UACjD,CAAC,SAAA,WAAiC,UAAU,KAAK,UAAU;AAE7D,eAAO,KAAM,WAAW,KAA2D;AAC/E,cAAI,IAA+B;AACnC,aAAG;AACC,gBAAI,IAAG,KAAK,MAAM,kBAAkB,WAAW;mBAC1C,CAAC,EAAE;UACb,QAAQ,OAAO;AAClB,eAAO,IAAI;;AAhBf,eAAA,4BAAA;AAmB4B,eAAA,sBAAsB,CAAC,UAAwC,0BAA0B,WAAW;AACpG,eAAA,uBAAuB,CAAC,UAAwC,0BAA0B,YAAY;AACtG,eAAA,uBAAuB,CAAC,UAAwC,0BAA0B,YAAY;AACtG,eAAA,uBAAuB,CAAC,UAAwC,0BAA0B,YAAY;AACtG,eAAA,wBAAwB,CAAC,UAAwC,0BAA0B,aAAa;AACxG,eAAA,wBAAwB,CAAC,UAAwC,0BAA0B,aAAa;AACxG,eAAA,yBAAyB,CAAC,UAAwC,0BAA0B,cAAc;AAC1G,eAAA,yBAAyB,CAAC,UAAwC,0BAA0B,cAAc;AAC1G,eAAA,8BAA8B,CAAC,UAAwC,0BAA0B,mBAAmB;AAMhJ,8CAA4E,WAAqC,QAAyC;;AAGtJ,cAAI,SAAA,UAAgC,SAAS;AACzC,mBAAA,MAAA,QAAA,QAAO,MAAA,QAAA,QAAA,OAAO,QAAA,iBAAA,QAAA,cAAA,+BAA+B,WAAW,MAAA,QAAA,QAAM;;AAGlE,gBAAM,OAAO,SAAmB,GAAI;AAAA,mBAAA,QAAA,iBAAA,MAAA,WAAA,aAAA;AAAI,oBAAA,MAAA,QAAA,QAAM,MAAA,QAAA,QAAM;;;AACpD,gBAAM,OAAO,SAA0C,SAAS;;AAC5D,oBAAA,QAAA,QAAA,OAAO,QAAA,iBAAA,QAAA,cAAA,KAAM,WAAU,KAAiB;AACpC,oBAAI,IAA+B;AACnC,mBAAG;AACC,sBAAI,IAAG,KAAK,MAAM,MAAC,QAAD,MAAC,SAAA,SAAD,EAAG;yBAChB,CAAC,EAAE;gBACb,QAAO,OAAO;;;AAGrB,gBAAM,UACe,OAAO,WAAW,WAAY,KAAK,UACnC,YAAY,OAAO,UAAW,KAAK,UACtC,kBAAkB,cAAe,KAAK,UACzC,kBAAkB,iBAAkB,KAAK,UAChD,SAAA,WAAiC,UAAU,KAAK,UACtD,CAAC,SAAA,gBAAsC,UAAU,KAAK,UACL;AAEnD,gBAAA,QAAA,QAAA,OAAO,QAAA,iBAAA,QAAA,cAAA,KAAM,SAAiB,KAAgE;;AAC1F,kBAAI,IAA+B;AACnC,iBAAG;AACC,oBAAI,MAAA,QAAA,QAAM,IAAG,KAAK,MAAA,MAAA,QAAA,QAAM,kBAAkB,WAAW;uBAChD,CAAC,EAAE;;YACb,QAAQ,OAAO;AAClB,iBAAA,MAAA,QAAA,QAAO,IAAI;;;AAhCf,eAAA,iCAAA;AAmC4B,eAAA,2BAA2B,CAAC,UAA6C,+BAA+B,WAAW;AACnH,eAAA,4BAA4B,CAAC,UAA6C,+BAA+B,YAAY;AACrH,eAAA,4BAA4B,CAAC,UAA6C,+BAA+B,YAAY;AACrH,eAAA,4BAA4B,CAAC,UAA6C,+BAA+B,YAAY;AACrH,eAAA,6BAA6B,CAAC,UAA6C,+BAA+B,aAAa;AACvH,eAAA,6BAA6B,CAAC,UAA6C,+BAA+B,aAAa;AACvH,eAAA,8BAA8B,CAAC,UAA6C,+BAA+B,cAAc;AACzH,eAAA,8BAA8B,CAAC,UAA6C,+BAA+B,cAAc;AACzH,eAAA,mCAAmC,CAAC,UAA6C,+BAA+B,mBAAmB;AAG/J,kCAAmC,QAAgB,QAAgB,cAAwB;AAGvF,YAAI,WAAW,GAAG;AACd,yBAAe,aAAa,MAAM,GAAG,SAAS;AAC9C,mBAAS,IAAI,IAAI,EAAE,KAAK,UAAS;AAC7B,yBAAa,MAAM;;;AAG3B,eAAO;;AATX,eAAA,qBAAA;AAaA,gCAA2D,GAAM,GAAI;AACjE,YAAI,IAAI;AACR,cAAM,IAAI,EAAE;AACZ,YAAI,MAAM,EAAE,QAAQ;AAAE,iBAAO;;AAC7B,YAAI,IAAI,GAAG;AACP,aAAG;AAAE,gBAAI,EAAE,OAAO,EAAE,IAAI;AAAE,qBAAO;;mBAAkB,EAAE,IAAI;;AAE7D,eAAO;;AAPX,eAAA,mBAAA;;;;;;;;;;ACjNA,UAAA,WAAA;AAeA,eAAA,UAAe;QACX,aAA6C,QAAuB;AAChE,iBAAO,KAAK,aAAgB;;QAEhC,kBAAkD,QAAyC;AACvF,iBAAO,KAAK,kBAAqB;;QAErC,cAA8C,QAAyB;AACnE,iBAAO,KAAK,cAAiB;;QAEjC,eAAe,QAA6B;AACxC,iBAAO,KAAK,eAAe;;QAG/B,YAAe,QAAwC,SAAkC;AACrF,gBAAM,IAAI,MAAM;;QAGpB,aAAgB,QAAwC,SAA0C;AAC9F,gBAAM,IAAI,MAAM;;;AAKxB,UAAM,OAAO,CAA2D,aAAe;AAAG,iBAAS;AAAQ,eAAO;;AAGlH,6BAAuD,QAAuB;AAE1E,YAAI,MAA2B,QAAQ;AACvC,YAAI,UAAwB,IAAI;AAChC,YAAI,KAAsB,MAAc,eAAe;AAEvD,6BAAkB;AACd,cAAI,QAAQ,QAAQ;AAChB,mBAAO,SAAA,gBAAgB,SAAS,MAAM;;AAE1C,WAAC,QAAQ,SAAS,gBAAgB,SAAA,gBAAgB,SAAS;AAC3D,iBAAO;;AAIX,QAAC,GAAE,KAAK,SAAS,MAAY;AAG7B,cAAM,MAAK,SAAA,qBAAqB,QAAQ,OAAO;AAE/C,YAAI;AACA,aAAG;AAEC,YAAC,GAAE,MAAM,OAAO,WAAW,MAAM,OAAO,gBACpC,IAAG,KAAK,UAAa,IAAG,KAAK,OAAO;AAExC,gBAAI,CAAC,QAAQ,OAAO,aAAa,GAAG;AAChC,sBAAQ,KAAK;AACb,8BAAgB,OAAO;;AAG3B,gBAAI,QAAQ,QAAQ,cAAc;AAC9B,iBAAG;AACC,gBAAC,GAAE,KAAK,SAAS,MAAM;uBAClB,OAAO;;mBAEf,CAAC;iBACL,GAAP;AACE,UAAC,SAAQ,SAAU,OAAO,IAAG,UAAU,cAAgB,IAAG,MAAM;;AAEhE,UAAC,UAAU,SAAW,OAAO,IAAG,WAAW,cAAgB,IAAG,OAAO;;AAEzE,eAAO;;AAIX,iCAAkE,QAAyC;;AAEvG,cAAI,MAA2B,QAAQ;AACvC,cAAI,UAAwB,IAAI;AAChC,cAAI,KAAsB,MAAc,eAAe;AAEvD,+BAAkB;AACd,gBAAI,QAAQ,QAAQ;AAChB,qBAAO,SAAA,gBAAgB,SAAS,MAAM;;AAE1C,aAAC,QAAQ,SAAS,gBAAgB,SAAA,gBAAgB,SAAS;AAC3D,mBAAO;;AAIX,UAAC,GAAE,KAAK,SAAU,MAAA,MAAA,QAAA,QAAY;AAG9B,gBAAM,MAAK,SAAA,0BAA0B,QAAQ,OAAO;AAEpD,cAAI;AACA,eAAG;AAEC,cAAC,GAAE,MAAM,OAAO,WAAW,MAAM,OAAO,gBAClC,MAAA,QAAA,QAAM,IAAG,KAAK,WACd,MAAA,QAAA,QAAM,IAAG,KAAK,OAAO;AAE3B,kBAAI,CAAC,QAAQ,OAAO,aAAa,GAAG;AAChC,wBAAQ,KAAK;AACb,gCAAgB,OAAO;;AAG3B,kBAAI,QAAQ,QAAQ,cAAc;AAC9B,mBAAG;AACC,kBAAC,GAAE,KAAK,SAAS,MAAA,MAAA,QAAA,QAAM;yBAClB,OAAO;;qBAEf,CAAC;mBACL,GAAP;AACE,YAAC,SAAQ,SAAU,OAAO,IAAG,UAAU,cAAgB,OAAA,QAAA,QAAM,IAAG,MAAM;;AAEtE,YAAC,UAAU,SAAW,OAAO,IAAG,WAAW,cAAgB,OAAA,QAAA,QAAM,IAAG,OAAO,IAAI,WAAW;;AAE9F,iBAAA,MAAA,QAAA,QAAO;;;AAOX,6BAA8D,QAAyB;;AAEnF,cAAI,OAAO,OAAO,QAAQ;AAC1B,cAAI,UAAwB,IAAI;AAChC,cAAI,KAAsB,MAAc,eAAe;AAEvD,+BAAkB;AACd,gBAAI,QAAQ,QAAQ;AAChB,qBAAO,SAAA,gBAAgB,SAAS,MAAM;;AAE1C,aAAC,QAAQ,SAAS,gBAAgB,SAAA,gBAAgB,SAAS;AAC3D,mBAAO;;AAIX,UAAC,GAAE,KAAK,SAAS,MAAA,MAAA,QAAA,QAAY;AAG7B,gBAAM,MAAK,IAAI,mBAAmB;AAElC,cAAI;AACA,eAAG;AAEC,cAAC,GAAE,MAAM,OAAO,WAAW,MAAM,OAAO,gBAClC,MAAA,QAAA,QAAM,IAAG,QAAQ,WACjB,MAAA,QAAA,QAAM,IAAG,QAAQ,OAAO;AAE9B,kBAAI,CAAC,QAAQ,OAAO,aAAa,GAAG;AAChC,wBAAQ,KAAK,SAAA,aAAa;AAC1B,gCAAgB,OAAO;;AAG3B,kBAAI,QAAQ,QAAQ,cAAc;AAC9B,mBAAG;AACC,kBAAC,GAAE,KAAK,SAAS,MAAA,MAAA,QAAA,QAAM;yBAClB,OAAO;;qBAEf,CAAC;mBACL,GAAP;AACE,YAAC,SAAQ,SAAU,OAAA,QAAA,QAAM,IAAG,UAAU;;AAEtC,YAAC,UAAU,QAAU,MAAA,QAAA,QAAM,IAAG,eACxB,OAAO,aAAa,IAAG;;AAEjC,iBAAA,MAAA,QAAA,QAAO;;;AAIX,qCAAwB;QAOpB,YAAoB,QAAyB;AAAzB,eAAA,SAAA;AAJZ,eAAA,aAA8C;AAC9C,eAAA,gBAAuD;AAI3D,cAAI;AACA,iBAAK,eAAe,CAAC,CAAE,MAAK,SAAS,KAAK;mBACrC,GAAP;AACE,iBAAK,eAAe,CAAE,MAAK,SAAS,KAAK;;;YAI7C,SAAM;AACN,iBAAO,KAAK,SAAS,KAAK,OAAO,UAAU,MAAM,MAAK;eAAO,QAAQ;;QAGzE,cAAW;AACP,cAAI,KAAK,QAAQ;AACb,iBAAK,OAAO;;AAEhB,eAAK,SAAS,KAAK,aAAa,KAAK,gBAAgB;;QAGnD,OAAO,QAAY;;AACrB,kBAAM,EAAE,QAAQ,WAAW;AAC3B,sBAAW,OAAM,OAAO,UAAU,QAAQ,MAAM,MAAK;;AACrD,sBAAW,QAAO,aAAa,KAAK;;;QAGlC,KAAK,MAAa;;AACpB,gBAAI,SAAS,GAAG;AACZ,qBAAO,EAAE,MAAM,KAAK,UAAU,MAAM,OAAO,IAAI,WAAW;;AAE9D,kBAAM,SAAS,CAAC,KAAK,gBAAgB,OAAO,SAAS,WAC/C,MAAM,KAAK,mBAAmB,SAC9B,MAAM,KAAK,mBAAmB;AACpC,aAAC,OAAO,QAAS,QAAO,QAAQ,SAAA,aAAa;AAC7C,mBAAO;;;QAGH,mBAAgB;AACpB,cAAI,KAAK,YAAY;AAAE,iBAAK;;AAC5B,cAAI,CAAC,KAAK,eAAe;AACrB,iBAAK,gBAAgB,KAAK,OAAO;AAMjC,iBAAK,cAAc,UAAU,MAAM,MAAK;;;AAE5C,iBAAQ,KAAK,SAAS,KAAK;;QAGvB,gBAAa;AACjB,cAAI,KAAK,eAAe;AAAE,iBAAK;;AAC/B,cAAI,CAAC,KAAK,YAAY;AAClB,iBAAK,aAAa,KAAK,OAAO,aAAa,EAAE,MAAM;AAMnD,iBAAK,WAAW,UAAU,MAAM,MAAK;;;AAEzC,iBAAQ,KAAK,SAAS,KAAK;;QAKjB,mBAAmB,MAAY;;AACzC,mBAAO,MAAM,SAAS,KAAK,iBAAiB,IAAI,YAAY,OAAO,GAAG;;;;AAK9E,wBAAwB,QAAkC,QAAyB,QAAgB,MAAY;;AAC3G,cAAI,UAAU,MAAM;AAChB,mBAAO,EAAE,MAAM,OAAO,OAAO,IAAI,WAAW,QAAQ,GAAG;;AAE3D,gBAAM,EAAE,MAAM,UAAU,MAAM,OAAO,KAAK,IAAI,WAAW,QAAQ,QAAQ,OAAO;AAChF,cAAM,WAAU,MAAO,cAAc,QAAS,CAAC,MAAM;AACjD,mBAAO,MAAM,SAAS,QAAQ,MAAO,QAAQ,QAAQ;;AAEzD,iBAAO,EAAE,MAAM,OAAO,IAAI,WAAW,MAAO,QAAQ,GAAG;;;AAQ3D,UAAM,UAAU,CAAmB,QAA+B,UAAY;AAC1E,cAAM,UAAU,CAAC,MAAW,QAAQ,CAAC,OAAO;AAC5C,YAAI;AACJ,eAAO,CAAC,OAAO,SAAS,IAAI,QACxB,CAAC,MAAO,WAAU,MAAM,OAAO,QAAQ,OAAO;;AAKtD,8BAA+B,QAA6B;;AAExD,gBAAM,SAAkB;AACxB,cAAI,QAAmB;AACvB,cAAI,OAAO,OAAO,MAAoB;AACtC,cAAI,KAAsB,MAAc,eAAe;AACvD,cAAI,UAAwB,IAAI;AAEhC,+BAAkB;AACd,gBAAI,QAAQ,QAAQ;AAChB,qBAAO,SAAA,gBAAgB,SAAS,MAAM;;AAE1C,aAAC,QAAQ,SAAS,gBAAgB,SAAA,gBAAgB,SAAS;AAC3D,mBAAO;;AAKX,UAAC,GAAE,KAAK,SAAS,MAAA,MAAA,QAAA,QAAY;AAG7B,cAAK,OAAe,UAAU;AAC1B,kBAAA,MAAA,QAAA,QAAM,IAAI,WAAW;AACrB,mBAAA,MAAA,QAAA,QAAO;;AAGX,cAAI;AAEA,mBAAO,KAAK,QAAQ,QAAQ;AAC5B,mBAAO,KAAK,QAAQ,QAAQ;AAE5B,eAAG;AACC,qBAAO,KAAK,QAAQ,QAAQ;AAG5B,eAAC,OAAO,OAAO,MAAA,QAAA,QAAM,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE;AAGtD,kBAAI,UAAU,SAAS;AAAE;;AACzB,kBAAI,CAAE,QAAO,UAAU,QAAQ;AAE3B,oBAAI,CAAC,SAAS,OAAO,eAAe;AAChC,2BAAS,SAAA,aAAa,OAAO,QAAQ;uBAClC;AACH,2BAAS,SAAA,aAAa,OAAO,QAAQ,OAAO;AAK5C,sBAAI,OAAO,aAAc,OAAO,cAAe;AAC3C,6BAAS,SAAA,aAAa,OAAO,QAAQ;;;AAI7C,oBAAI,OAAO,aAAa,GAAG;AACvB,0BAAQ,KAAK;AACb,kCAAgB,OAAO;;;AAI/B,kBAAI,QAAQ,QAAQ,cAAc;AAC9B,mBAAG;AACC,kBAAC,GAAE,KAAK,SAAS,MAAA,MAAA,QAAA,QAAM;yBAClB,OAAO;;qBAEf,CAAC;;AAEV,kBAAA,QAAA,QAAM,QAAQ,QAAQ,UAAU,UAAU,MAAM;;AAGpD,iBAAA,MAAA,QAAA,QAAO;AAEP,2BAAgD,SAAiB,MAAO;AACpE,qBAAS,UAAgB;AACzB,mBAAO,IAAI,QAAW,CAAC,SAAS,WAAU;AACtC,yBAAW,CAAC,KAAK,OAAO,SAAQ;AAC5B,uBAAO,OAAO,KAAK;;AAEvB,kBAAI;AAIA,sBAAM,UAAW,OAAe;AAChC,2BAAW,QAAQ,KAAK,QAAQ;AAChC,uBAAM;uBACD,GAAP;AAAY,uBAAM,KAAK;;AACrB,wBAAO,OAAO,OAAO,QAAO;;;;;;;;;;;;;;;AC1V5C,iCAAoC;;AAApC,eAAA,iBAAA;AAyB2B,eAAA,SAAA;AAF1B,qBAAe,UAAkB,OAAO;;;;;;;;;;ACpEzC,UAAA,gBAAA;AAMA,UAAY;AAAZ,MAAA,UAAY,kBAAe;AAIvB,yBAAA,iBAAA,QAAA,KAAA;AAKA,yBAAA,iBAAA,QAAA,KAAA;AAKA,yBAAA,iBAAA,QAAA,KAAA;AAKA,yBAAA,iBAAA,QAAA,KAAA;AAWA,yBAAA,iBAAA,QAAA,KAAA;SA9BQ,mBAAA,SAAA,mBAAA,UAAA,kBAAe;AAsD3B,UAAY;AAAZ,MAAA,UAAY,UAAO;AAIf,iBAAA,SAAA,YAAA,KAAA;AAOA,iBAAA,SAAA,4BAAA,KAAA;AAMA,iBAAA,SAAA,qBAAA,KAAA;SAjBQ,UAAA,SAAA,WAAA,UAAA,UAAO;AAuBnB,UAAY;AAAZ,MAAA,UAAY,YAAS;AACjB,mBAAA,WAAA,YAAA,KAAA;AACA,mBAAA,WAAA,WAAA,KAAA;SAFQ,aAAA,SAAA,aAAA,UAAA,YAAS;AAQrB,UAAY;AAAZ,MAAA,UAAY,YAAS;AACjB,mBAAA,WAAA,UAAA,KAAA;AACA,mBAAA,WAAA,YAAA,KAAA;AACA,mBAAA,WAAA,YAAA,KAAA;SAHQ,aAAA,SAAA,aAAA,UAAA,YAAS;AASrB,UAAY;AAAZ,MAAA,UAAY,WAAQ;AAChB,kBAAA,UAAA,SAAA,KAAA;AACA,kBAAA,UAAA,iBAAA,KAAA;SAFQ,YAAA,SAAA,YAAA,UAAA,WAAQ;AAQpB,UAAY;AAAZ,MAAA,UAAY,WAAQ;AAChB,kBAAA,UAAA,YAAA,KAAA;AACA,kBAAA,UAAA,iBAAA,KAAA;AACA,kBAAA,UAAA,iBAAA,KAAA;AACA,kBAAA,UAAA,gBAAA,KAAA;SAJQ,YAAA,SAAA,YAAA,UAAA,WAAQ;AAUpB,UAAY;AAAZ,MAAA,UAAY,eAAY;AACpB,sBAAA,cAAA,gBAAA,KAAA;AACA,sBAAA,cAAA,cAAA,KAAA;SAFQ,gBAAA,SAAA,gBAAA,UAAA,eAAY;AAYxB,UAAY;AAAZ,MAAA,UAAY,OAAI;AACZ,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,SAAA,KAAA;AACA,cAAA,MAAA,mBAAA,KAAA;AACA,cAAA,MAAA,YAAA,KAAA;AACA,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,aAAA,KAAA;AACA,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,UAAA,KAAA;AACA,cAAA,MAAA,eAAA,MAAA;AACA,cAAA,MAAA,cAAA,MAAA;AACA,cAAA,MAAA,UAAA,MAAA;AACA,cAAA,MAAA,aAAA,MAAA;AACA,cAAA,MAAA,WAAA,MAAA;AACA,cAAA,MAAA,qBAAA,MAAA;AACA,cAAA,MAAA,mBAAA,MAAA;AACA,cAAA,MAAA,SAAA,MAAA;AACA,cAAA,MAAA,cAAA,MAAA;AACA,cAAA,MAAA,iBAAA,MAAA;AACA,cAAA,MAAA,eAAA,MAAA;AACA,cAAA,MAAA,eAAA,MAAA;SAtBQ,QAAA,SAAA,QAAA,UAAA,OAAI;AAkChB,UAAY;AAAZ,MAAA,UAAY,iBAAc;AACtB,wBAAA,gBAAA,gBAAA,KAAA;SADQ,iBAAA,SAAA,kBAAA,UAAA,iBAAc;AAU1B,UAAY;AAAZ,MAAA,UAAY,aAAU;AAClB,oBAAA,YAAA,YAAA,KAAA;AACA,oBAAA,YAAA,SAAA,KAAA;SAFQ,aAAA,SAAA,cAAA,UAAA,aAAU;AAUtB,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM5E,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA4B;AAC1C,gBAAK,UAAU;AACf,iBAAO,MAAK,QAAQ;;;AApD5B,eAAA,OAAA;AA8DA,0BAAoB;QAApB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,iBAAiB,IAA4B,KAAa;AAC7D,iBAAQ,QAAO,IAAI,WAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ/E,6BAA6B,IAA4B,KAAa;AACzE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,WAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM/E,aAAa,SAA4B;AAC5C,kBAAQ,YAAY;;eAOjB,WAAW,SAA4B;AAC1C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,cAAc,SAA4B;AAC7C,kBAAQ,aAAa;AACrB,iBAAO,QAAQ,WAAW;;;AApDlC,eAAA,UAAA;AA0DA,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM5E,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA4B;AAC1C,gBAAK,UAAU;AACf,iBAAO,MAAK,QAAQ;;;AApD5B,eAAA,OAAA;AA6DA,4BAAsB;QAAtB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,mBAAmB,IAA4B,KAAe;AACjE,iBAAQ,QAAO,IAAI,aAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQjF,+BAA+B,IAA4B,KAAe;AAC7E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,aAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAMjF,eAAe,SAA4B;AAC9C,kBAAQ,YAAY;;eAOjB,aAAa,SAA4B;AAC5C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,gBAAgB,SAA4B;AAC/C,oBAAU,eAAe;AACzB,iBAAO,UAAU,aAAa;;;AApDtC,eAAA,YAAA;AA0DA,iCAA0B;QAA1B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,uBAAuB,IAA4B,KAAmB;AACzE,iBAAQ,QAAO,IAAI,kBAAiB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQrF,mCAAmC,IAA4B,KAAmB;AACrF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,kBAAiB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAQ5F,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;eAMxD,mBAAmB,SAA4B;AAClD,kBAAQ,YAAY;;eAOjB,YAAY,SAA8B,UAAgB;AAC7D,kBAAQ,cAAc,GAAG,UAAU;;eAOhC,iBAAiB,SAA4B;AAChD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,oBAAoB,SAA8B,UAAgB;AACrE,yBAAc,mBAAmB;AACjC,yBAAc,YAAY,SAAS;AACnC,iBAAO,eAAc,iBAAiB;;;AAvE9C,eAAA,gBAAA;AAsGA,uBAAgB;QAAhB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,aAAa,IAA4B,KAAS;AACrD,iBAAQ,QAAO,IAAI,QAAO,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ3E,yBAAyB,IAA4B,KAAS;AACjE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,QAAO,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAQlF,aAAU;AACN,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU;;eAMzD,SAAS,SAA4B;AACxC,kBAAQ,YAAY;;eAOjB,cAAc,SAA8B,YAAmB;AAClE,kBAAQ,aAAa,GAAG,CAAC,YAAY;;eAOlC,OAAO,SAA4B;AACtC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,UAAU,SAA8B,YAAmB;AAC9D,eAAI,SAAS;AACb,eAAI,cAAc,SAAS;AAC3B,iBAAO,KAAI,OAAO;;;AAvE1B,eAAA,MAAA;AAkFA,yBAAkB;QAAlB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,eAAe,IAA4B,KAAW;AACzD,iBAAQ,QAAO,IAAI,UAAS,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ7E,2BAA2B,IAA4B,KAAW;AACrE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,UAAS,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMpF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,WAAU;;QAOnF,QAAQ,OAAa;AACjB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,KAAK;;QAM9F,gBAAa;AACT,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAMlE,eAAY;AACR,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,IAAI,WAAW,KAAK,GAAI,QAAQ,QAAQ,KAAK,GAAI,QAAQ,aAAa,KAAK,GAAI,SAAS,KAAK,SAAS,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,WAAW;;eAM3K,WAAW,SAA4B;AAC1C,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAe;AACxD,kBAAQ,cAAc,GAAG,MAAM,WAAU;;eAOtC,WAAW,SAA8B,eAAiC;AAC7E,kBAAQ,eAAe,GAAG,eAAe;;eAQtC,oBAAoB,SAA8B,MAA2B;AAChF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,SAAS,KAAK;;AAE1B,iBAAO,QAAQ;;eAOZ,mBAAmB,SAA8B,UAAgB;AACpE,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,SAAS,SAA4B;AACxC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,YAAY,SAA8B,MAAiB,eAAiC;AAC/F,iBAAM,WAAW;AACjB,iBAAM,QAAQ,SAAS;AACvB,iBAAM,WAAW,SAAS;AAC1B,iBAAO,OAAM,SAAS;;;AA5H9B,eAAA,QAAA;AAkIA,uBAAgB;QAAhB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,aAAa,IAA4B,KAAS;AACrD,iBAAQ,QAAO,IAAI,QAAO,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ3E,yBAAyB,IAA4B,KAAS;AACjE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,QAAO,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMlF,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;QAM/D,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU;;eAMzD,SAAS,SAA4B;AACxC,kBAAQ,YAAY;;eAOjB,YAAY,SAA8B,UAAgB;AAC7D,kBAAQ,cAAc,GAAG,UAAU;;eAOhC,YAAY,SAA8B,UAAiB;AAC9D,kBAAQ,aAAa,GAAG,CAAC,UAAU;;eAOhC,OAAO,SAA4B;AACtC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,UAAU,SAA8B,UAAkB,UAAiB;AAC9E,eAAI,SAAS;AACb,eAAI,YAAY,SAAS;AACzB,eAAI,YAAY,SAAS;AACzB,iBAAO,KAAI,OAAO;;;AAtF1B,eAAA,MAAA;AA4FA,gCAA0B;QAA1B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,uBAAuB,IAA4B,KAAmB;AACzE,iBAAQ,QAAO,IAAI,iBAAiB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQrF,mCAAmC,IAA4B,KAAmB;AACrF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,iBAAiB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAM5F,YAAS;AACL,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,WAAU;;eAM5E,mBAAmB,SAA4B;AAClD,kBAAQ,YAAY;;eAOjB,aAAa,SAA8B,WAAoB;AAClE,kBAAQ,cAAc,GAAG,WAAW,WAAU;;eAO3C,iBAAiB,SAA4B;AAChD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,oBAAoB,SAA8B,WAAoB;AACzE,wBAAc,mBAAmB;AACjC,wBAAc,aAAa,SAAS;AACpC,iBAAO,cAAc,iBAAiB;;;AArE9C,eAAA,gBAAA;AA6EA,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM5E,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA4B;AAC1C,gBAAK,UAAU;AACf,iBAAO,MAAK,QAAQ;;;AApD5B,eAAA,OAAA;AA4DA,0BAAmB;QAAnB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,gBAAgB,IAA4B,KAAY;AAC3D,iBAAQ,QAAO,IAAI,WAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ9E,4BAA4B,IAA4B,KAAY;AACvE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,WAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM9E,YAAY,SAA4B;AAC3C,kBAAQ,YAAY;;eAOjB,UAAU,SAA4B;AACzC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,aAAa,SAA4B;AAC5C,kBAAO,YAAY;AACnB,iBAAO,QAAO,UAAU;;;AApDhC,eAAA,SAAA;AA6DA,4BAAsB;QAAtB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,mBAAmB,IAA4B,KAAe;AACjE,iBAAQ,QAAO,IAAI,aAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQjF,+BAA+B,IAA4B,KAAe;AAC7E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,aAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAMjF,eAAe,SAA4B;AAC9C,kBAAQ,YAAY;;eAOjB,aAAa,SAA4B;AAC5C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,gBAAgB,SAA4B;AAC/C,oBAAU,eAAe;AACzB,iBAAO,UAAU,aAAa;;;AApDtC,eAAA,YAAA;AA6DA,8BAAwB;QAAxB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,qBAAqB,IAA4B,KAAiB;AACrE,iBAAQ,QAAO,IAAI,eAAe,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQnF,iCAAiC,IAA4B,KAAiB;AACjF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,eAAe,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAMnF,iBAAiB,SAA4B;AAChD,kBAAQ,YAAY;;eAOjB,eAAe,SAA4B;AAC9C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,kBAAkB,SAA4B;AACjD,sBAAY,iBAAiB;AAC7B,iBAAO,YAAY,eAAe;;;AApD1C,eAAA,cAAA;AA0DA,mCAA4B;QAA5B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,yBAAyB,IAA4B,KAAqB;AAC7E,iBAAQ,QAAO,IAAI,oBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQvF,qCAAqC,IAA4B,KAAqB;AACzF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,oBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAQ9F,YAAS;AACL,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;eAMxD,qBAAqB,SAA4B;AACpD,kBAAQ,YAAY;;eAOjB,aAAa,SAA8B,WAAiB;AAC/D,kBAAQ,cAAc,GAAG,WAAW;;eAOjC,mBAAmB,SAA4B;AAClD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,sBAAsB,SAA8B,WAAiB;AACxE,2BAAgB,qBAAqB;AACrC,2BAAgB,aAAa,SAAS;AACtC,iBAAO,iBAAgB,mBAAmB;;;AAvElD,eAAA,kBAAA;AA6EA,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAM5E,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA4B;AAC1C,gBAAK,UAAU;AACf,iBAAO,MAAK,QAAQ;;;AApD5B,eAAA,OAAA;AA+DA,2BAAoB;QAApB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,iBAAiB,IAA4B,KAAa;AAC7D,iBAAQ,QAAO,IAAI,YAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ/E,6BAA6B,IAA4B,KAAa;AACzE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,YAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAQtF,YAAS;AACL,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;QAQ/D,QAAK;AACD,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;QAS/D,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;eAMxD,aAAa,SAA4B;AAC5C,kBAAQ,YAAY;;eAOjB,aAAa,SAA8B,WAAiB;AAC/D,kBAAQ,cAAc,GAAG,WAAW;;eAOjC,SAAS,SAA8B,OAAa;AACvD,kBAAQ,cAAc,GAAG,OAAO;;eAO7B,YAAY,SAA8B,UAAgB;AAC7D,kBAAQ,cAAc,GAAG,UAAU;;eAOhC,WAAW,SAA4B;AAC1C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,cAAc,SAA8B,WAAmB,OAAe,UAAgB;AACjG,mBAAQ,aAAa;AACrB,mBAAQ,aAAa,SAAS;AAC9B,mBAAQ,SAAS,SAAS;AAC1B,mBAAQ,YAAY,SAAS;AAC7B,iBAAO,SAAQ,WAAW;;;AA9GlC,eAAA,UAAA;AA2HA,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMnF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,UAAS;;eAM3E,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAc;AACvD,kBAAQ,cAAc,GAAG,MAAM,UAAS;;eAOrC,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA8B,MAAc;AAC1D,gBAAK,UAAU;AACf,gBAAK,QAAQ,SAAS;AACtB,iBAAO,MAAK,QAAQ;;;AArE5B,eAAA,OAAA;AA+EA,wBAAiB;QAAjB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,cAAc,IAA4B,KAAU;AACvD,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ5E,0BAA0B,IAA4B,KAAU;AACnE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,SAAQ,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMnF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,UAAS;;QAMlF,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU;;eAMxD,UAAU,SAA4B;AACzC,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAc;AACvD,kBAAQ,cAAc,GAAG,MAAM,UAAS;;eAOrC,YAAY,SAA8B,UAAgB;AAC7D,kBAAQ,cAAc,GAAG,UAAU;;eAOhC,QAAQ,SAA4B;AACvC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,WAAW,SAA8B,MAAgB,UAAgB;AAC5E,gBAAK,UAAU;AACf,gBAAK,QAAQ,SAAS;AACtB,gBAAK,YAAY,SAAS;AAC1B,iBAAO,MAAK,QAAQ;;;AAtF5B,eAAA,OAAA;AAmGA,6BAAsB;QAAtB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,mBAAmB,IAA4B,KAAe;AACjE,iBAAQ,QAAO,IAAI,cAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQjF,+BAA+B,IAA4B,KAAe;AAC7E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,cAAa,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMxF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,UAAS;;QA8BlF,SAAS,kBAAsB;AAC3B,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,SAAS,KAAK,SAAS,QAAQ,oBAAoB;;eAMzE,eAAe,SAA4B;AAC9C,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAc;AACvD,kBAAQ,cAAc,GAAG,MAAM,UAAS;;eAOrC,YAAY,SAA8B,gBAAkC;AAC/E,kBAAQ,eAAe,GAAG,gBAAgB;;eAOvC,aAAa,SAA4B;AAC5C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,gBAAgB,SAA8B,MAAgB,gBAAkC;AACnG,qBAAU,eAAe;AACzB,qBAAU,QAAQ,SAAS;AAC3B,qBAAU,YAAY,SAAS;AAC/B,iBAAO,WAAU,aAAa;;;AA9GtC,eAAA,YAAA;AAoHA,4BAAqB;QAArB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,kBAAkB,IAA4B,KAAc;AAC/D,iBAAQ,QAAO,IAAI,aAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQhF,8BAA8B,IAA4B,KAAc;AAC3E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,aAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMvF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,cAAa;;eAM/E,cAAc,SAA4B;AAC7C,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAkB;AAC3D,kBAAQ,cAAc,GAAG,MAAM,cAAa;;eAOzC,YAAY,SAA4B;AAC3C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,eAAe,SAA8B,MAAkB;AAClE,oBAAS,cAAc;AACvB,oBAAS,QAAQ,SAAS;AAC1B,iBAAO,UAAS,YAAY;;;AArEpC,eAAA,WAAA;AA2EA,2BAAqB;QAArB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,kBAAkB,IAA4B,KAAc;AAC/D,iBAAQ,QAAO,IAAI,YAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQhF,8BAA8B,IAA4B,KAAc;AAC3E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,YAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMvF,OAAI;AACA,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,UAAS;;eAM3E,cAAc,SAA4B;AAC7C,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,MAAc;AACvD,kBAAQ,cAAc,GAAG,MAAM,UAAS;;eAOrC,YAAY,SAA4B;AAC3C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,eAAe,SAA8B,MAAc;AAC9D,mBAAS,cAAc;AACvB,mBAAS,QAAQ,SAAS;AAC1B,iBAAO,SAAS,YAAY;;;AArEpC,eAAA,WAAA;AA+EA,2BAAqB;QAArB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,kBAAkB,IAA4B,KAAc;AAC/D,iBAAQ,QAAO,IAAI,YAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQhF,8BAA8B,IAA4B,KAAc;AAC3E,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,YAAY,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QASvF,IAAI,kBAAsB;AACtB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,SAAS,KAAK,SAAS,QAAQ,oBAAoB;;QAShF,MAAM,kBAAsB;AACxB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,SAAS,KAAK,SAAS,QAAQ,oBAAoB;;eAMzE,cAAc,SAA4B;AAC7C,kBAAQ,YAAY;;eAOjB,OAAO,SAA8B,WAA6B;AACrE,kBAAQ,eAAe,GAAG,WAAW;;eAOlC,SAAS,SAA8B,aAA+B;AACzE,kBAAQ,eAAe,GAAG,aAAa;;eAOpC,YAAY,SAA4B;AAC3C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,eAAe,SAA8B,WAA+B,aAA+B;AAC9G,mBAAS,cAAc;AACvB,mBAAS,OAAO,SAAS;AACzB,mBAAS,SAAS,SAAS;AAC3B,iBAAO,SAAS,YAAY;;;AA5FpC,eAAA,WAAA;AAkGA,qCAA+B;QAA/B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,4BAA4B,IAA4B,KAAwB;AACnF,iBAAQ,QAAO,IAAI,sBAAsB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ1F,wCAAwC,IAA4B,KAAwB;AAC/F,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,sBAAsB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAUjG,KAAE;AACE,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU,KAAK,GAAI,WAAW,GAAG;;QAatF,UAAU,KAAS;AACf,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,QAAO,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS,SAAS,KAAK,MAAO;;QAWrG,YAAS;AACL,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU;;QAMhE,iBAAc;AACV,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,eAAe;;eAMjF,wBAAwB,SAA4B;AACvD,kBAAQ,YAAY;;eAOjB,MAAM,SAA8B,IAAoB;AAC3D,kBAAQ,cAAc,GAAG,IAAI,QAAQ,WAAW,GAAG;;eAOhD,aAAa,SAA8B,iBAAmC;AACjF,kBAAQ,eAAe,GAAG,iBAAiB;;eAOxC,aAAa,SAA8B,WAAkB;AAChE,kBAAQ,aAAa,GAAG,CAAC,WAAW;;eAOjC,kBAAkB,SAA8B,gBAA8B;AACjF,kBAAQ,cAAc,GAAG,gBAAgB,eAAe;;eAOrD,sBAAsB,SAA4B;AACrD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,yBAAyB,SAA8B,IAAsB,iBAAqC,WAAoB,gBAA8B;AACvK,6BAAmB,wBAAwB;AAC3C,6BAAmB,MAAM,SAAS;AAClC,6BAAmB,aAAa,SAAS;AACzC,6BAAmB,aAAa,SAAS;AACzC,6BAAmB,kBAAkB,SAAS;AAC9C,iBAAO,mBAAmB,sBAAsB;;;AAxIxD,eAAA,qBAAA;AAkJA,yBAAkB;QAAlB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,eAAe,IAA4B,KAAW;AACzD,iBAAQ,QAAO,IAAI,UAAS,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ7E,2BAA2B,IAA4B,KAAW;AACrE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,UAAS,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAWpF,KAAK,kBAAsB;AACvB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,SAAS,KAAK,SAAS,QAAQ,oBAAoB;;QAQhF,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU;;QAMhE,WAAQ;AACJ,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,MAAK;;QAS9E,KAAkC,KAAM;AACpC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,QAAQ,KAAK,KAAK,SAAS,UAAU;;QASlE,WAAW,KAAwB;AAC/B,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,sBAAsB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS,SAAS,KAAK,MAAO;;QAWpH,SAAS,OAAe,KAAW;AAC/B,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,UAAS,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMtI,iBAAc;AACV,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAUlE,eAAe,OAAe,KAAc;AACxC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,YAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMzI,uBAAoB;AAChB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;eAM3D,WAAW,SAA4B;AAC1C,kBAAQ,YAAY;;eAOjB,QAAQ,SAA8B,YAA8B;AACvE,kBAAQ,eAAe,GAAG,YAAY;;eAOnC,YAAY,SAA8B,UAAiB;AAC9D,kBAAQ,aAAa,GAAG,CAAC,UAAU;;eAOhC,YAAY,SAA8B,UAAc;AAC3D,kBAAQ,aAAa,GAAG,UAAU,MAAK;;eAOpC,QAAQ,SAA8B,YAA8B;AACvE,kBAAQ,eAAe,GAAG,YAAY;;eAOnC,cAAc,SAA8B,kBAAoC;AACnF,kBAAQ,eAAe,GAAG,kBAAkB;;eAOzC,YAAY,SAA8B,gBAAkC;AAC/E,kBAAQ,eAAe,GAAG,gBAAgB;;eAQvC,qBAAqB,SAA8B,MAA0B;AAChF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,oBAAoB,SAA8B,UAAgB;AACrE,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,kBAAkB,SAA8B,sBAAwC;AAC3F,kBAAQ,eAAe,GAAG,sBAAsB;;eAQ7C,2BAA2B,SAA8B,MAA0B;AACtF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,0BAA0B,SAA8B,UAAgB;AAC3E,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,SAAS,SAA4B;AACxC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,YAAY,SAA8B,YAAgC,UAAmB,UAAgB,YAAgC,kBAAsC,gBAAoC,sBAAwC;AAClQ,iBAAM,WAAW;AACjB,iBAAM,QAAQ,SAAS;AACvB,iBAAM,YAAY,SAAS;AAC3B,iBAAM,YAAY,SAAS;AAC3B,iBAAM,QAAQ,SAAS;AACvB,iBAAM,cAAc,SAAS;AAC7B,iBAAM,YAAY,SAAS;AAC3B,iBAAM,kBAAkB,SAAS;AACjC,iBAAO,OAAM,SAAS;;;AA3P9B,eAAA,QAAA;AAoQA,0BAAmB;QAAnB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;QASX,SAAM;AACF,iBAAO,KAAK,GAAI,UAAU,KAAK;;QAYnC,SAAM;AACF,iBAAO,KAAK,GAAI,UAAU,KAAK,SAAS;;eASrC,aAAa,SAA8B,QAA0B,QAAwB;AAChG,kBAAQ,KAAK,GAAG;AAChB,kBAAQ,WAAW;AACnB,kBAAQ,WAAW;AACnB,iBAAO,QAAQ;;;AAhDvB,eAAA,SAAA;AA0DA,0BAAmB;QAAnB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,gBAAgB,IAA4B,KAAY;AAC3D,iBAAQ,QAAO,IAAI,WAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ9E,4BAA4B,IAA4B,KAAY;AACvE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,WAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAUrF,aAAU;AACN,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,WAAW;;QAQpF,OAAO,OAAe,KAAW;AAC7B,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,UAAS,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMtI,eAAY;AACR,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAQlE,eAAe,OAAe,KAAc;AACxC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,YAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMzI,uBAAoB;AAChB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QASlE,SAAS,OAAa;AAClB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,KAAM,KAAK,GAAI,WAAW,GAAG;;QAM/H,iBAAc;AACV,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;eAM3D,YAAY,SAA4B;AAC3C,kBAAQ,YAAY;;eAOjB,cAAc,SAA8B,YAAsB;AACrE,kBAAQ,cAAc,GAAG,YAAY,WAAW;;eAO7C,UAAU,SAA8B,cAAgC;AAC3E,kBAAQ,eAAe,GAAG,cAAc;;eAQrC,mBAAmB,SAA8B,MAA0B;AAC9E,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,kBAAkB,SAA8B,UAAgB;AACnE,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,kBAAkB,SAA8B,sBAAwC;AAC3F,kBAAQ,eAAe,GAAG,sBAAsB;;eAQ7C,2BAA2B,SAA8B,MAA0B;AACtF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,0BAA0B,SAA8B,UAAgB;AAC3E,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,YAAY,SAA8B,gBAAkC;AAC/E,kBAAQ,eAAe,GAAG,gBAAgB;;eAQvC,qBAAqB,SAA8B,MAAwB;AAC9E,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,SAAS,KAAK;;AAE1B,iBAAO,QAAQ;;eAOZ,oBAAoB,SAA8B,UAAgB;AACrE,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,UAAU,SAA4B;AACzC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAOJ,mBAAmB,SAA8B,QAA0B;AAC9E,kBAAQ,OAAO;;eAOZ,+BAA+B,SAA8B,QAA0B;AAC1F,kBAAQ,OAAO,QAAQ,QAAW;;eAG/B,aAAa,SAA8B,YAAwB,cAAkC,sBAA0C,gBAAkC;AACpL,kBAAO,YAAY;AACnB,kBAAO,cAAc,SAAS;AAC9B,kBAAO,UAAU,SAAS;AAC1B,kBAAO,kBAAkB,SAAS;AAClC,kBAAO,YAAY,SAAS;AAC5B,iBAAO,QAAO,UAAU;;;AA1OhC,eAAA,SAAA;;;;;;;;;;ACn3EA,UAAA,gBAAA;AACA,UAAA,yBAAA;AAIA,UAAY;AAAZ,MAAA,UAAY,kBAAe;AACvB,yBAAA,iBAAA,eAAA,KAAA;AACA,yBAAA,iBAAA,UAAA,KAAA;SAFQ,kBAAA,SAAA,mBAAA,UAAA,kBAAe;AAY3B,UAAY;AAAZ,MAAA,UAAY,wBAAqB;AAU7B,+BAAA,uBAAA,YAAA,KAAA;SAVQ,wBAAA,SAAA,yBAAA,UAAA,wBAAqB;AAyBjC,UAAY;AAAZ,MAAA,UAAY,gBAAa;AACrB,uBAAA,eAAA,UAAA,KAAA;AACA,uBAAA,eAAA,YAAA,KAAA;AACA,uBAAA,eAAA,qBAAA,KAAA;AACA,uBAAA,eAAA,iBAAA,KAAA;AACA,uBAAA,eAAA,YAAA,KAAA;AACA,uBAAA,eAAA,kBAAA,KAAA;SANQ,iBAAA,SAAA,iBAAA,UAAA,gBAAa;AAsBzB,4BAAsB;QAAtB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;QASX,SAAM;AACF,iBAAO,KAAK,GAAI,UAAU,KAAK;;QAUnC,YAAS;AACL,iBAAO,KAAK,GAAI,UAAU,KAAK,SAAS;;eASrC,gBAAgB,SAA8B,QAA0B,YAA4B;AACvG,kBAAQ,KAAK,GAAG;AAChB,kBAAQ,WAAW;AACnB,kBAAQ,WAAW;AACnB,iBAAO,QAAQ;;;AA9CvB,eAAA,YAAA;AAyDA,kCAA4B;QAA5B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,yBAAyB,IAA4B,KAAqB;AAC7E,iBAAQ,QAAO,IAAI,mBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQvF,qCAAqC,IAA4B,KAAqB;AACzF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,mBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAQ9F,QAAK;AACD,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,SAAS,KAAK,SAAS,UAAW,gBAAgB;;QAQxF,SAAM;AACF,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,SAAS,KAAK,SAAS,UAAW,sBAAsB;;eAMvF,qBAAqB,SAA4B;AACpD,kBAAQ,YAAY;;eAOjB,SAAS,SAA8B,OAAsB;AAChE,kBAAQ,aAAa,GAAG,OAAO,gBAAgB;;eAO5C,UAAU,SAA8B,SAA6B;AACxE,kBAAQ,aAAa,GAAG,SAAQ,sBAAsB;;eAOnD,mBAAmB,SAA4B;AAClD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,sBAAsB,SAA8B,OAAwB,SAA6B;AAC5G,0BAAgB,qBAAqB;AACrC,0BAAgB,SAAS,SAAS;AAClC,0BAAgB,UAAU,SAAS;AACnC,iBAAO,gBAAgB,mBAAmB;;;AA1FlD,eAAA,kBAAA;AAoGA,+BAAwB;QAAxB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,qBAAqB,IAA4B,KAAiB;AACrE,iBAAQ,QAAO,IAAI,gBAAe,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQnF,iCAAiC,IAA4B,KAAiB;AACjF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,gBAAe,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAS1F,SAAM;AACF,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU,KAAK,GAAI,WAAW,GAAG;;QAUtF,MAAM,OAAe,KAAe;AAChC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,aAAa,OAAO,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMtH,cAAW;AACP,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAelE,QAAQ,OAAe,KAAmC;AACtD,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,uBAAuB,UAAU,OAAO,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAM1I,gBAAa;AACT,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QASlE,YAAY,KAAqB;AAC7B,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,mBAAmB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS,SAAS,KAAK,MAAO;;eAM1G,iBAAiB,SAA4B;AAChD,kBAAQ,YAAY;;eAOjB,UAAU,SAA8B,QAAwB;AACnE,kBAAQ,cAAc,GAAG,QAAQ,QAAQ,WAAW,GAAG;;eAOpD,SAAS,SAA8B,aAA+B;AACzE,kBAAQ,eAAe,GAAG,aAAa;;eAOpC,iBAAiB,SAA8B,UAAgB;AAClE,kBAAQ,YAAY,IAAI,UAAU;;eAO/B,WAAW,SAA8B,eAAiC;AAC7E,kBAAQ,eAAe,GAAG,eAAe;;eAOtC,mBAAmB,SAA8B,UAAgB;AACpE,kBAAQ,YAAY,IAAI,UAAU;;eAO/B,eAAe,SAA8B,mBAAqC;AACrF,kBAAQ,eAAe,GAAG,mBAAmB;;eAO1C,eAAe,SAA4B;AAC9C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,kBAAkB,SAA8B,QAA0B,aAAiC,eAAmC,mBAAqC;AACtL,uBAAY,iBAAiB;AAC7B,uBAAY,UAAU,SAAS;AAC/B,uBAAY,SAAS,SAAS;AAC9B,uBAAY,WAAW,SAAS;AAChC,uBAAY,eAAe,SAAS;AACpC,iBAAO,aAAY,eAAe;;;AA3K1C,eAAA,cAAA;AAwLA,kCAA4B;QAA5B,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,yBAAyB,IAA4B,KAAqB;AAC7E,iBAAQ,QAAO,IAAI,mBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQvF,qCAAqC,IAA4B,KAAqB;AACzF,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,mBAAmB,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAM9F,KAAE;AACE,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU,KAAK,GAAI,WAAW,GAAG;;QAOtF,KAAK,KAAiB;AAClB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,gBAAe,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS,SAAS,KAAK,MAAO;;QAU7G,UAAO;AACH,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU;;eAMzD,qBAAqB,SAA4B;AACpD,kBAAQ,YAAY;;eAOjB,MAAM,SAA8B,IAAoB;AAC3D,kBAAQ,cAAc,GAAG,IAAI,QAAQ,WAAW,GAAG;;eAOhD,QAAQ,SAA8B,YAA8B;AACvE,kBAAQ,eAAe,GAAG,YAAY;;eAOnC,WAAW,SAA8B,SAAgB;AAC5D,kBAAQ,aAAa,GAAG,CAAC,SAAS;;eAO/B,mBAAmB,SAA4B;AAClD,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAGJ,sBAAsB,SAA8B,IAAsB,YAAgC,SAAgB;AAC7H,0BAAgB,qBAAqB;AACrC,0BAAgB,MAAM,SAAS;AAC/B,0BAAgB,QAAQ,SAAS;AACjC,0BAAgB,WAAW,SAAS;AACpC,iBAAO,gBAAgB,mBAAmB;;;AA5GlD,eAAA,kBAAA;AAkHA,2BAAoB;QAApB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,iBAAiB,IAA4B,KAAa;AAC7D,iBAAQ,QAAO,IAAI,YAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ/E,6BAA6B,IAA4B,KAAa;AACzE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,YAAW,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMtF,UAAO;AACH,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,uBAAuB,gBAAgB;;QAMhH,aAAU;AACN,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,eAAc;;QAOvF,OAAoC,KAAM;AACtC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,QAAQ,KAAK,KAAK,SAAS,UAAU;;QAMlE,aAAU;AACN,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,UAAU,KAAK,SAAS,UAAU,KAAK,GAAI,WAAW,GAAG;;QAQtF,eAAe,OAAe,KAAqC;AAC/D,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,uBAAuB,YAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMhK,uBAAoB;AAChB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;eAM3D,aAAa,SAA4B;AAC5C,kBAAQ,YAAY;;eAOjB,WAAW,SAA8B,SAA+C;AAC3F,kBAAQ,cAAc,GAAG,SAAS,uBAAuB,gBAAgB;;eAOtE,cAAc,SAA8B,YAAyB;AACxE,kBAAQ,aAAa,GAAG,YAAY,eAAc;;eAO/C,UAAU,SAA8B,cAAgC;AAC3E,kBAAQ,eAAe,GAAG,cAAc;;eAOrC,cAAc,SAA8B,YAA4B;AAC3E,kBAAQ,cAAc,GAAG,YAAY,QAAQ,WAAW,GAAG;;eAOxD,kBAAkB,SAA8B,sBAAwC;AAC3F,kBAAQ,eAAe,GAAG,sBAAsB;;eAQ7C,2BAA2B,SAA8B,MAA0B;AACtF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,0BAA0B,SAA8B,UAAgB;AAC3E,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,WAAW,SAA4B;AAC1C,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAOJ,oBAAoB,SAA8B,QAA0B;AAC/E,kBAAQ,OAAO;;eAOZ,gCAAgC,SAA8B,QAA0B;AAC3F,kBAAQ,OAAO,QAAQ,QAAW;;eAG/B,cAAc,SAA8B,SAAiD,YAA2B,cAAkC,YAA8B,sBAAwC;AACnO,mBAAQ,aAAa;AACrB,mBAAQ,WAAW,SAAS;AAC5B,mBAAQ,cAAc,SAAS;AAC/B,mBAAQ,UAAU,SAAS;AAC3B,mBAAQ,cAAc,SAAS;AAC/B,mBAAQ,kBAAkB,SAAS;AACnC,iBAAO,SAAQ,WAAW;;;AAzLlC,eAAA,UAAA;;;;;;;;;;ACxfA,UAAA,WAAA;AACI,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAGJ,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AA4BT,UAAY;AAAZ,MAAA,UAAY,OAAI;AAEZ,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,SAAA,KAAA;AAEA,cAAA,MAAA,WAAA,KAAA;AAEA,cAAA,MAAA,YAAA,KAAA;AAEA,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,aAAA,KAAA;AAEA,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,UAAA,KAAA;AAEA,cAAA,MAAA,eAAA,MAAA;AAEA,cAAA,MAAA,cAAA,MAAA;AAEA,cAAA,MAAA,UAAA,MAAA;AAEA,cAAA,MAAA,YAAA,MAAA;AAEA,cAAA,MAAA,WAAA,MAAA;AAEA,cAAA,MAAA,qBAAA,MAAA;AAEA,cAAA,MAAA,mBAAA,MAAA;AAEA,cAAA,MAAA,SAAA,MAAA;AAGA,cAAA,MAAA,gBAAA,MAAA;AACA,cAAA,MAAA,UAAA,MAAA;AACA,cAAA,MAAA,WAAA,MAAA;AACA,cAAA,MAAA,WAAA,MAAA;AACA,cAAA,MAAA,WAAA,MAAA;AACA,cAAA,MAAA,WAAA,MAAA;AACA,cAAA,MAAA,YAAA,MAAA;AACA,cAAA,MAAA,YAAA,MAAA;AACA,cAAA,MAAA,YAAA,MAAA;AACA,cAAA,MAAA,aAAA,OAAA;AACA,cAAA,MAAA,aAAA,OAAA;AACA,cAAA,MAAA,aAAA,OAAA;AACA,cAAA,MAAA,aAAA,OAAA;AACA,cAAA,MAAA,qBAAA,OAAA;AACA,cAAA,MAAA,qBAAA,OAAA;AACA,cAAA,MAAA,0BAAA,OAAA;AACA,cAAA,MAAA,0BAAA,OAAA;AACA,cAAA,MAAA,yBAAA,OAAA;AACA,cAAA,MAAA,gBAAA,OAAA;AACA,cAAA,MAAA,qBAAA,OAAA;AACA,cAAA,MAAA,qBAAA,OAAA;AACA,cAAA,MAAA,oBAAA,OAAA;AACA,cAAA,MAAA,gBAAA,OAAA;AACA,cAAA,MAAA,iBAAA,OAAA;AACA,cAAA,MAAA,qBAAA,OAAA;AACA,cAAA,MAAA,uBAAA,OAAA;SAhEQ,QAAA,SAAA,QAAA,UAAA,OAAI;AAmEhB,UAAY;AAAZ,MAAA,UAAY,aAAU;AAIlB,oBAAA,YAAA,YAAA,KAAA;AAKA,oBAAA,YAAA,UAAA,KAAA;AAKA,oBAAA,YAAA,cAAA,KAAA;AAKA,oBAAA,YAAA,UAAA,KAAA;SAnBQ,cAAA,SAAA,cAAA,UAAA,aAAU;;;;;;;;;;ACvGtB,uBAAwB,OAAY,QAAgB,MAAc,KAAW;AACzE,eAAQ,QAAO,KAAK,SAAS;;AADjC,eAAA,UAAA;AAKA,sBAAuB,OAAY,QAAgB,MAAc,KAAW;AACxE,eAAQ,QAAO,KAAK,QAAQ;;AADhC,eAAA,SAAA;AAKA,uBAAwB,OAAmB,OAAe,OAAU;AAChE,eAAO,QACH,CAAC,CAAE,OAAM,SAAS,MAAQ,KAAM,QAAQ,MAAQ,OAChD,CAAE,OAAM,SAAS,MAAM,CAAE,MAAM,QAAQ,OAAQ;;AAHvD,eAAA,UAAA;AAOA,8BAA+B,QAAgB,QAAgB,QAAkB;AAC7E,cAAM,cAAe,OAAO,aAAa,IAAK,CAAC;AAC/C,YAAI,SAAS,KAAK,OAAO,aAAa,aAAa;AAC/C,gBAAM,QAAQ,IAAI,WAAW;AAE7B,gBAAM,IAAI,SAAS,MAAM,IAAI,OAAO,SAAS,UAAU,KAEnD,UAAU,IAAI,YAAY,QAAQ,QAAQ,QAAQ,MAAM,UAAU,SAAS,GAAG;AAClF,iBAAO;;AAEX,eAAO;;AAVX,eAAA,iBAAA;AAcA,yBAA0B,QAAqB;AAC3C,cAAM,KAAe;AACrB,YAAI,IAAI,GAAG,MAAM,GAAG,OAAO;AAC3B,mBAAW,SAAS,QAAQ;AACxB,mBAAU,SAAQ,KAAK;AACvB,cAAI,EAAE,QAAQ,GAAG;AACb,eAAG,OAAO;AACV,mBAAO,MAAM;;;AAGrB,YAAI,MAAM,KAAK,MAAM,GAAG;AAAE,aAAG,OAAO;;AACpC,cAAM,IAAI,IAAI,WAAY,GAAG,SAAS,IAAK,CAAC;AAC5C,UAAE,IAAI;AACN,eAAO;;AAbX,eAAA,YAAA;AAiBA,8BAAwB;QAMpB,YACY,OACR,OACQ,QACA,SACA,KAAkE;AAJlE,eAAA,QAAA;AAEA,eAAA,SAAA;AACA,eAAA,UAAA;AACA,eAAA,MAAA;AAER,eAAK,MAAM,QAAQ;AACnB,eAAK,YAAY,SAAS;AAC1B,eAAK,OAAO,MAAM,KAAK;AACvB,eAAK,QAAQ;;QAGjB,OAAI;AACA,cAAI,KAAK,QAAQ,KAAK,QAAQ;AAC1B,gBAAI,KAAK,QAAQ,GAAG;AAChB,mBAAK,MAAM;AACX,mBAAK,OAAO,KAAK,MAAM,KAAK;;AAEhC,mBAAO;cACH,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,SAAS,KAAK,MAAM,KAAK;;;AAGpE,iBAAO,EAAE,MAAM,MAAM,OAAO;;SAG/B,OAAO,YAAS;AACb,iBAAO;;;AAjCf,eAAA,cAAA;AA4CA,gCAAiC,MAAkB,KAAa,KAAW;AACvE,YAAI,MAAM,OAAO,GAAG;AAAE,iBAAO;;AAE7B,YAAI,MAAM,MAAM,GAAG;AACf,cAAI,MAAM;AACV,qBAAW,OAAO,IAAI,YAAY,MAAM,KAAK,MAAM,KAAK,MAAM,SAAS;AACnE,mBAAO;;AAEX,iBAAO;;AAGX,cAAM,YAAY,OAAO,KAAK;AAE9B,cAAM,YAAY,MAAO,OAAM,MAAM,IAAI,IAAI,IAAI,MAAM;AACvD,eAEI,iBAAiB,MAAM,KAAK,aAE5B,iBAAiB,MAAM,WAAW,OAElC,aAAa,MAAM,aAAa,GAAI,YAAY,aAAc;;AApBtE,eAAA,mBAAA;AAyBA,4BAA6B,KAAsB,YAAqB,YAAmB;AACvF,YAAI,MAAM,GAAG,MAAM,aAAc;AACjC,cAAM,OAAO,IAAI,SAAS,IAAI,QAAQ,IAAI,YAAY,IAAI;AAC1D,cAAM,MAAO,eAAe,SAAS,IAAI,aAAa,MAAM;AAC5D,eAAO,MAAM,OAAO,GAAG;AACnB,iBAAO,cAAc,KAAK,UAAU;AACpC,iBAAO;;AAEX,eAAO,MAAM,OAAO,GAAG;AACnB,iBAAO,cAAc,KAAK,UAAU;AACpC,iBAAO;;AAEX,eAAO,MAAM,OAAO,GAAG;AACnB,iBAAO,cAAc,KAAK,SAAS;AACnC,iBAAO;;AAEX,eAAO;;AAhBX,eAAA,eAAA;AAoBA,6BAA8B,QAAc;AACxC,YAAI,IAAI,SAAS;AACjB,YAAI,IAAM,OAAM,IAAK;AACrB,YAAK,KAAI,aAAgB,OAAM,IAAK;AACpC,eAAU,KAAK,OAAM,KAAM,aAAc,aAAgB;;AAJ7D,eAAA,gBAAA;;;;;;;;;;AClIA,UAAA,SAAA;AAsCA,4BAA8B;eAIW,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACjE,MAAO,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACnE,QAAS,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACpE,SAAU,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAClE,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAClE,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACrE,UAAW,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAClE,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAClE,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACvE,YAAa,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACtE,WAAY,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAClE,OAAQ,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACpE,SAAU,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACnE,QAAS,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAC7E,kBAAmB,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eAC3E,gBAAiB,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACjE,MAAO,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;eACxE,aAAc,GAAM;AAA0B,iBAAO,OAAC,QAAD,MAAC,SAAA,SAAD,EAAG,YAAW,OAAA,KAAK;;YAE5F,SAAM;AAAY,iBAAa,OAAA,KAAK;;;AAvBnD,eAAA,WAAA;AAyBqB,gBAAC,OAAO,eAAgB,EAAC,UAAmB;AAClD,cAAO,WAAW;AAClB,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,UAAS;AAMhB,gCAA0B,UAAmB;QAClC,WAAQ;AAAK,iBAAO;;YAChB,SAAM;AAAK,iBAAO,OAAA,KAAK;;;AAFtC,eAAA,OAAA;AAGqB,YAAC,OAAO,eAAgB,EAAC,UAAe;AACrD,eAAO,MAAM,OAAO,eAAe;SACpC,MAAK;AAqBZ,+BAA0C,UAAW;QACjD,YAA4B,UACA,UAA8B;AACtD;AAFwB,eAAA,WAAA;AACA,eAAA,WAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;YACvB,YAAS;AAChB,kBAAQ,KAAK;iBACH;AAAG,qBAAO,KAAK,WAAY,YAAa;iBACzC;AAAI,qBAAO,KAAK,WAAW,aAAa;iBACxC;AAAI,qBAAO,KAAK,WAAW,aAAa;iBACxC;AAAI,qBAAO,KAAK,WAAW,aAAa;;AAEjD,gBAAM,IAAI,MAAM,gBAAgB,KAAK,OAAO;;QAEzC,WAAQ;AAAK,iBAAO,GAAG,KAAK,WAAW,MAAM,SAAS,KAAK;;;AAQrD,eAAA,MAAA;AAPI,WAAC,OAAO,eAAgB,EAAC,UAAe;AAC9C,cAAO,WAAW;AAClB,cAAO,WAAW;AACzB,eAAO,MAAM,OAAO,eAAe;SACpC,KAAK;AAMZ,gCAA0B,KAAe;QAAG,cAAA;AAAgB,gBAAM,MAAM;;;AAAxE,eAAA,OAAA;AAEA,iCAA2B,KAAgB;QAAG,cAAA;AAAgB,gBAAM,MAAM;;;AAA1E,eAAA,QAAA;AAEA,iCAA2B,KAAgB;QAAG,cAAA;AAAgB,gBAAM,MAAM;;;AAA1E,eAAA,QAAA;AAEA,iCAA2B,KAAgB;QAAG,cAAA;AAAgB,gBAAM,MAAM;;;AAA1E,eAAA,QAAA;AAEA,iCAA2B,KAAgB;QAAG,cAAA;AAAgB,gBAAM,OAAO;;;AAA3E,eAAA,QAAA;AAEA,kCAA4B,KAAiB;QAAG,cAAA;AAAgB,gBAAM,OAAO;;;AAA7E,eAAA,SAAA;AAEA,kCAA4B,KAAiB;QAAG,cAAA;AAAgB,gBAAM,OAAO;;;AAA7E,eAAA,SAAA;AAEA,kCAA4B,KAAiB;QAAG,cAAA;AAAgB,gBAAM,OAAO;;;AAA7E,eAAA,SAAA;AAEA,aAAO,eAAe,MAAK,WAAW,aAAa,EAAE,OAAO;AAC5D,aAAO,eAAe,OAAM,WAAW,aAAa,EAAE,OAAO;AAC7D,aAAO,eAAe,OAAM,WAAW,aAAa,EAAE,OAAO;AAC7D,aAAO,eAAe,OAAM,WAAW,aAAa,EAAE,OAAO;AAC7D,aAAO,eAAe,OAAM,WAAW,aAAa,EAAE,OAAO;AAC7D,aAAO,eAAe,QAAO,WAAW,aAAa,EAAE,OAAO;AAC9D,aAAO,eAAe,QAAO,WAAW,aAAa,EAAE,OAAO;AAC9D,aAAO,eAAe,QAAO,WAAW,aAAa,EAAE,OAAO;AAe9D,iCAAsD,UAAW;QAC7D,YAA4B,WAAoB;AAC5C;AADwB,eAAA,YAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;YACvB,YAAS;AAChB,kBAAQ,KAAK;iBACJ,OAAA,UAAU;AAAM,qBAAO;iBACvB,OAAA,UAAU;AAAQ,qBAAO;iBACzB,OAAA,UAAU;AAAQ,qBAAO;;AAGlC,gBAAM,IAAI,MAAM,gBAAgB,KAAK,OAAO;;QAEzC,WAAQ;AAAK,iBAAO,QAAS,KAAK,aAAa,KAAM;;;AAdhE,eAAA,QAAA;AAeqB,aAAC,OAAO,eAAgB,EAAC,UAAgB;AAC/C,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,OAAM;AAIb,mCAA6B,OAAmB;QAAG,cAAA;AAAgB,gBAAM,OAAA,UAAU;;;AAAnF,eAAA,UAAA;AAEA,mCAA6B,OAAmB;QAAG,cAAA;AAAgB,gBAAM,OAAA,UAAU;;;AAAnF,eAAA,UAAA;AAEA,mCAA6B,OAAmB;QAAG,cAAA;AAAgB,gBAAM,OAAA,UAAU;;;AAAnF,eAAA,UAAA;AAEA,aAAO,eAAe,SAAQ,WAAW,aAAa,EAAE,OAAO;AAC/D,aAAO,eAAe,SAAQ,WAAW,aAAa,EAAE,OAAO;AAC/D,aAAO,eAAe,SAAQ,WAAW,aAAa,EAAE,OAAO;AAK/D,kCAA4B,UAAqB;QAC7C,cAAA;AACI;;YAEO,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO;;;AAL/B,eAAA,SAAA;AAMqB,cAAC,OAAO,eAAgB,EAAC,UAAiB;AAChD,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,QAAO;AAMd,gCAA0B,UAAmB;QACzC,cAAA;AACI;;YAEO,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO;;;AAL/B,eAAA,OAAA;AAMqB,YAAC,OAAO,eAAgB,EAAC,UAAe;AAC9C,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,MAAK;AAMZ,gCAA0B,UAAmB;QACzC,cAAA;AACI;;YAEO,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO;;;AAL/B,eAAA,OAAA;AAMqB,YAAC,OAAO,eAAgB,EAAC,UAAe;AAC9C,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,MAAK;AAMZ,mCAA6B,UAAsB;QAC/C,YAA4B,OACA,WAAiB;AACzC;AAFwB,eAAA,QAAA;AACA,eAAA,YAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,WAAW,KAAK,aAAa,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK;;;AAN7F,eAAA,UAAA;AAOqB,eAAC,OAAO,eAAgB,EAAC,UAAkB;AACjD,cAAO,QAAQ;AACf,cAAO,YAAY;AACnB,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,SAAQ;AAQf,iCAAoD,UAAW;QAC3D,YAA4B,MAAc;AACtC;AADwB,eAAA,OAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,OAAQ,MAAK,OAAO,KAAK,MAAM,OAAA,SAAS,KAAK;;;AAL5E,eAAA,QAAA;AAMqB,aAAC,OAAO,eAAgB,EAAC,UAAgB;AAC/C,cAAO,OAAO;AACd,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,OAAM;AAIb,mCAA6B,OAAmB;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS;;;AAAlF,eAAA,UAAA;AAEA,2CAAqC,OAA2B;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS;;;AAAlG,eAAA,kBAAA;AAgBA,gCAA6C,UAAW;QACpD,YAA4B,MACA,UAAsB;AAC9C;AAFwB,eAAA,OAAA;AACA,eAAA,WAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,OAAO,KAAK,YAAY,OAAA,SAAS,KAAK;;;AASnD,eAAA,OAAA;AARG,YAAC,OAAO,eAAgB,EAAC,UAAgB;AAC/C,cAAO,OAAO;AACd,cAAO,WAAW;AAClB,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,MAAM;AAMb,sCAAgC,MAAsB;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS,QAAQ;;;AAAhG,eAAA,aAAA;AAEA,2CAAqC,MAA2B;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS,aAAa;;;AAA/G,eAAA,kBAAA;AAEA,2CAAqC,MAA2B;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS,aAAa;;;AAA/G,eAAA,kBAAA;AAEA,0CAAoC,MAA0B;QAAG,cAAA;AAAgB,gBAAM,OAAA,SAAS,YAAY;;;AAA5G,eAAA,iBAAA;AAOA,qCAA4D,UAAW;QACnE,YAA4B,MACA,UAAwB;AAChD;AAFwB,eAAA,OAAA;AACA,eAAA,WAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,aAAa,OAAA,SAAS,KAAK,QAAQ,KAAK,WAAW,KAAK,KAAK,aAAa;;;AASlF,eAAA,YAAA;AARF,iBAAC,OAAO,eAAgB,EAAC,UAAqB;AACpD,cAAO,OAAO;AACd,cAAO,WAAW;AAClB,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,WAAW;AAMlB,2CAAqC,WAAgC;QAAG,YAAY,UAAwB;AAAI,gBAAM,OAAA,SAAS,QAAQ;;;AAAvI,eAAA,kBAAA;AAEA,gDAA0C,WAAqC;QAAG,YAAY,UAAwB;AAAI,gBAAM,OAAA,SAAS,aAAa;;;AAAtJ,eAAA,uBAAA;AAEA,gDAA0C,WAAqC;QAAG,YAAY,UAAwB;AAAI,gBAAM,OAAA,SAAS,aAAa;;;AAAtJ,eAAA,uBAAA;AAEA,+CAAyC,WAAoC;QAAG,YAAY,UAAwB;AAAI,gBAAM,OAAA,SAAS,YAAY;;;AAAnJ,eAAA,sBAAA;AAOA,oCAAyD,UAAW;QAChE,YAA4B,MAAkB;AAC1C;AADwB,eAAA,OAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,YAAY,OAAA,aAAa,KAAK;;;AAQvC,eAAA,WAAA;AAPD,gBAAC,OAAO,eAAgB,EAAC,UAAoB;AACnD,cAAO,OAAO;AACd,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,UAAU;AAMjB,2CAAqC,UAA+B;QAAG,cAAA;AAAgB,gBAAM,OAAA,aAAa;;;AAA1G,eAAA,kBAAA;AAEA,6CAAuC,UAAiC;QAAG,cAAA;AAAgB,gBAAM,OAAA,aAAa;;;AAA9G,eAAA,oBAAA;AAKA,gCAAoD,UAA+B;QAC/E,YAAY,OAAe;AACvB;AACA,eAAK,WAAW,CAAC;;YAGV,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,QAAQ,KAAK;;YAC7B,YAAS;AAAQ,iBAAO,KAAK,SAAS,GAAG;;YACzC,aAAU;AAAe,iBAAO,KAAK,SAAS;;YAC9C,YAAS;AAAqB,iBAAO,KAAK,UAAU;;;AAVnE,eAAA,OAAA;AAWqB,YAAC,OAAO,eAAgB,EAAC,UAAe;AAC9C,cAAO,WAAW;AACzB,eAAO,MAAM,OAAO,eAAe;SACpC,MAAK;AAMZ,kCAAyE,UAAwB;QAE7F,YAAY,UAA6B;AACrC;AACA,eAAK,WAAW;;YAET,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK;;;AAP/F,eAAA,SAAA;AAQqB,cAAC,OAAO,eAAgB,EAAC,UAAiB;AAChD,cAAO,WAAW;AACzB,eAAO,MAAM,OAAO,eAAe;SACpC,QAAO;AAQd,iCAAgD,UAAW;QAKvD,YAAY,MACA,SACA,UAAsB;AAC9B;AACA,eAAK,OAAO;AACZ,eAAK,WAAW;AAChB,eAAK,UAAU,UAAU,WAAW,KAAK;AACzC,eAAK,qBAAqB,QAAQ,OAAO,CAAC,oBAAoB,QAAQ,QAAO;AACzE,mBAAQ,oBAAmB,UAAU,QAAQ,sBAAsB;aACpE,uBAAO,OAAO;;YAEV,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAClB,iBAAO,GAAG,KAAK,OAAO,gBACf,KAAK,SAAS,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,KAAK;;;AAahC,eAAA,QAAA;AAVE,aAAC,OAAO,eAAgB,EAAC,UAAiB;AAChD,cAAO,OAAO;AACd,cAAO,UAAU;AACjB,cAAO,WAAW;AAClB,cAAO,qBAAqB;AAC5B,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,OAAO;AAMd,sCAAgC,OAAuB;QACnD,YAAY,SAAgC,UAAiB;AACzD,gBAAM,OAAA,UAAU,OAAO,SAAS;;;AAFxC,eAAA,aAAA;AAOA,uCAAiC,OAAwB;QACrD,YAAY,SAAgC,UAAiB;AACzD,gBAAM,OAAA,UAAU,QAAQ,SAAS;;;AAFzC,eAAA,cAAA;AASA,2CAAqC,UAA8B;QAC/D,YAA4B,WAAiB;AACzC;AADwB,eAAA,YAAA;;YAGjB,SAAM;AAAK,iBAAO,OAAA,KAAK;;QAC3B,WAAQ;AAAK,iBAAO,mBAAmB,KAAK;;;AALvD,eAAA,kBAAA;AAMqB,uBAAC,OAAO,eAAgB,EAAC,UAA0B;AACzD,cAAO,YAAY;AACnB,cAAO,YAAY;AAC1B,eAAO,MAAM,OAAO,eAAe;SACpC,iBAAgB;AAMvB,yCAA6D,UAAwC;QAEjG,YAA4B,UAAkB,OAAe;AACzD;AADwB,eAAA,WAAA;AAExB,eAAK,WAAW,CAAC;;YAEV,SAAM;AAAK,iBAAO,OAAA,KAAK;;YACvB,YAAS;AAAQ,iBAAO,KAAK,SAAS,GAAG;;YACzC,aAAU;AAAe,iBAAO,KAAK,SAAS;;YAC9C,YAAS;AAAqB,iBAAO,KAAK,UAAU;;QACxD,WAAQ;AAAK,iBAAO,iBAAiB,KAAK,aAAa,KAAK;;;AAVvE,eAAA,gBAAA;AAWqB,qBAAC,OAAO,eAAgB,EAAC,UAAwB;AACvD,cAAO,WAAW;AAClB,cAAO,WAAW;AACzB,eAAO,MAAM,OAAO,eAAe;SACpC,eAAc;AAWrB,gCAAsF,UAAkB;QACpG,YAAY,OAAoD,aAAa,OAAK;AAC9E;AACA,eAAK,WAAW,CAAC;AACjB,eAAK,aAAa;;YAIX,SAAM;AAAK,iBAAO,OAAA,KAAK;;YACvB,UAAO;AAAW,iBAAO,KAAK,SAAS,GAAG,KAAK,SAAS,GAAG;;YAC3D,YAAS;AAAa,iBAAO,KAAK,SAAS,GAAG,KAAK,SAAS,GAAG;;QACnE,WAAQ;AAAK,iBAAO,QAAQ,KAAK,SAAS,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK;;;AAX7G,eAAA,OAAA;AAYqB,YAAC,OAAO,eAAgB,EAAC,UAAe;AAC9C,cAAO,WAAW;AAClB,cAAO,aAAa;AAC3B,eAAO,MAAM,OAAO,eAAe;SACpC,MAAK;AAIZ,UAAM,QAAS,EAAC,uBAAuB,MAAM,EAAE,oBAAoB;AAQnE,sCAAsF,UAAyB;QAK3G,YAAY,YAAe,SAAe,IAA2B,WAA0B;AAC3F;AACA,eAAK,UAAU;AACf,eAAK,aAAa;AAClB,eAAK,YAAY,aAAa;AAC9B,eAAK,KAAK,MAAM,OAAO,UAAU,OAAO,OAAO,WAAW,KAAK,GAAG;;YAE3D,SAAM;AAAK,iBAAO,OAAA,KAAK;;YACvB,WAAQ;AAAK,iBAAO,KAAK,WAAW;;YACpC,YAAS;AAAQ,iBAAO,KAAK;;YAC7B,YAAS;AAAqB,iBAAO,KAAK,WAAW;;QACzD,WAAQ;AAAK,iBAAO,cAAc,KAAK,YAAY,KAAK;;;AAhBnE,eAAA,aAAA;AAiBqB,kBAAC,OAAO,eAAgB,EAAC,UAAqB;AACpD,cAAO,KAAK;AACZ,cAAO,UAAU;AACjB,cAAO,YAAY;AACnB,cAAO,aAAa;AAC3B,eAAO,MAAM,OAAO,eAAe;SACpC,YAAW;AAWlB,6BAA8B,MAAc;AACxC,cAAM,IAAS;AACf,gBAAQ,KAAK;eACJ,OAAA,KAAK;AAAS,mBAAO;eACrB,OAAA,KAAK;AAAW,mBAAO;eACvB,OAAA,KAAK;AAAM,mBAAO,IAAK,EAAY;eACnC,OAAA,KAAK;AAAU,mBAAO,IAAK,EAAgB;eAC3C,OAAA,KAAK;AAAK,mBAAO,IAAI,CAAG,GAAW,WAAW;eAC9C,OAAA,KAAK;AAAM,mBAAO,IAAI,CAAG,GAAY,WAAW;eAChD,OAAA,KAAK;AAAe,mBAAQ,EAAoB;eAChD,OAAA,KAAK;AAAiB,mBAAQ,EAAsB;;AAChD,mBAAO;;;AAXxB,eAAA,gBAAA;;;;;;;;;;ACrkBA,UAAA,QAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AAc4B,eAAA,oBAAoB;AAuBhD,wBAAiB;QA4Cb,YAAY,MAAS,QAAgB,QAAgB,WAAoB,SAAyC,WAA+B,YAAmB;AAChK,eAAK,OAAO;AACZ,eAAK,aAAa;AAClB,eAAK,SAAS,KAAK,MAAM,KAAK,IAAI,UAAU,GAAG;AAC/C,eAAK,SAAS,KAAK,MAAM,KAAK,IAAI,UAAU,GAAG;AAC/C,eAAK,aAAa,KAAK,MAAM,KAAK,IAAI,aAAa,GAAG;AACtD,eAAK,YAAa,cAAa,IAAI,IAAI,CAAC,MAAM,aAAa,QAAO,IAAI,EAAE;AACxE,cAAI;AACJ,cAAI,mBAAmB,OAAM;AACzB,iBAAK,SAAS,QAAQ;AACtB,iBAAK,SAAS,QAAQ;AACtB,iBAAK,UAAU,QAAQ;AACvB,iBAAK,aAAa,QAAQ;AAC1B,iBAAK,eAAe,QAAQ;iBACzB;AACH,iBAAK,SAAS,OAAA,cAAc;AAC5B,gBAAI,SAAS;AACT,cAAC,UAAU,QAAuB,OAAQ,MAAK,eAAe;AAC9D,cAAC,UAAU,QAAuB,OAAQ,MAAK,SAAS;AACxD,cAAC,UAAU,QAAuB,OAAQ,MAAK,aAAa;AAC5D,cAAC,UAAU,QAAuB,OAAQ,MAAK,UAAU;;;;YA9C1D,SAAM;AAAiB,iBAAO,KAAK,KAAK;;YACxC,YAAS;AAAqB,iBAAO,KAAK,KAAK;;YAC/C,UAAO;AACd,iBAAO,CAAC,KAAK,cAAc,KAAK,QAAQ,KAAK,YAAY,KAAK;;YAEvD,aAAU;AACjB,cAAI,aAAa;AACjB,gBAAM,EAAE,cAAc,QAAQ,YAAY,YAAY;AACtD,0BAAiB,eAAc,aAAa;AAC5C,oBAAiB,eAAc,OAAO;AACtC,wBAAiB,eAAc,WAAW;AAC1C,qBAAiB,eAAc,QAAQ;AACvC,iBAAO,KAAK,UAAU,OAAO,CAAC,aAAY,UAAU,cAAa,MAAM,YAAY;;YAK5E,YAAS;AAChB,cAAI,YAAY,KAAK;AACrB,cAAI;AACJ,cAAI,aAAa,SAAA,qBAAsB,cAAa,KAAK,aAAa;AAClE,iBAAK,aAAa,YAAY,KAAK,SAAS,MAAA,iBAAiB,YAAY,KAAK,QAAQ,KAAK,SAAS,KAAK;;AAE7G,iBAAO;;QA4BJ,MAA0B,MAAS,SAAS,KAAK,QAAQ,SAAS,KAAK,QAAQ,YAAY,KAAK,YAAY,UAA4B,MAAM,YAA+B,KAAK,WAAS;AAC9L,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,SAAS,WAAW,KAAK;;QAGvE,MAAM,QAAgB,QAAc;AACvC,gBAAM,EAAE,QAAQ,QAAQ,cAAc;AAItC,gBAAM,YAAY,CAAE,MAAK,eAAe,KAAK;AAC7C,gBAAM,cAAc,WAAW,KAAyB,SAAS;AACjE,gBAAM,UAAU,KAAK,cAAc,QAAQ,QAAQ,QAAQ;AAC3D,iBAAO,KAAK,MAAS,KAAK,MAAM,KAAK,SAAS,QAAQ,QAAQ,WAAW,SAEpE,CAAC,UAAU,UAAU,KAAK,eAAgB,YAAY,KAAK,eAAe,WAAW,cAAc,QAAQ,cAAc;;QAG3H,mCAAmC,WAAiB;AACvD,cAAI,KAAK,WAAW,OAAA,KAAK,MAAM;AAC3B,mBAAO,KAAK,MAAM,KAAK,MAAM,GAAG,WAAW;;AAE/C,gBAAM,EAAE,QAAQ,cAAc;AAE9B,gBAAM,SAAS,IAAI,WAAa,aAAY,KAAM,CAAC,OAAO,GAAG,KAAK,KAAK,GAAG,UAAU;AAEpF,iBAAO,UAAU,KAAM,MAAM,SAAU,UAAS,CAAC,MAAO;AAExD,cAAI,YAAY,GAAG;AACf,mBAAO,IAAI,MAAA,eAAe,KAAK,QAAQ,QAAQ,KAAK,aAAa;;AAErE,gBAAM,UAAU,KAAK;AACrB,kBAAQ,OAAA,WAAW,YAAY;AAC/B,iBAAO,KAAK,MAAM,KAAK,MAAM,GAAG,WAAW,YAAa,aAAY,SAAS;;QAGvE,cAAc,QAAgB,QAAgB,QAAgB,QAAkB;AACtF,cAAI;AACJ,gBAAM,EAAE,YAAY;AAEpB,UAAC,OAAM,QAAQ,OAAA,WAAW,UAAW,SAAQ,OAAA,WAAW,QAAQ,IAAI,SAAS,QAAQ,SAAS;AAE9F,UAAC,OAAM,QAAQ,OAAA,WAAW,YAAa,SAAQ,OAAA,WAAW,UAAU,IAAI,SAAS,QAAQ,SAAS,SAAS,OAE1G,OAAM,QAAQ,OAAA,WAAW,UAAW,SAAQ,OAAA,WAAW,QAAQ,WAAW,IAAI,MAAM,IAAI,SAAS,SAAS,QAAQ,SAAU,UAAS;AACtI,iBAAO;;QAGD,eAAe,WAAmB,QAAgB,QAAc;AACtE,iBAAO,UAAU,IAAI,CAAC,UAAU,MAAM,MAAM,QAAQ;;eAO1C,IAAwB,MAAS,QAAgB,QAAgB,WAAoB,SAAyC,WAA+B,YAAmB;AAC1L,cAAI,mBAAmB,OAAM;AAAE,sBAAU,QAAQ;qBAAoB,CAAC,SAAS;AAAE,sBAAU;;AAC3F,kBAAQ,KAAK;iBACJ,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ;iBACxG,OAAA,KAAK;AAAiB,qBAAiB,MAAK,IAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,WAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS,IAAI;iBAC9L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,MAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,QAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,UAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,SAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,gBAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS;iBAC1L,OAAA,KAAK;AAAiB,qBAAiB,MAAK,OAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,WAAW,IAAI,QAAQ,OAAA,WAAW,SAAS;iBAC5N,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,WAAW,IAAI,QAAQ,OAAA,WAAW,SAAS;iBAC5N,OAAA,KAAK;AAAiB,qBAAiB,MAAK,KAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,WAAW,IAAK,cAAa,IAAI;iBAClN,OAAA,KAAK;AAAiB,qBAAiB,MAAK,cAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAY,cAAa,IAAI;iBAChL,OAAA,KAAK;AAAiB,qBAAiB,MAAK,OAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,aAAa;iBAC3K,OAAA,KAAK;AAAiB,qBAAiB,MAAK,IAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,WAAW,IAAK,cAAa,IAAI;iBAClN,OAAA,KAAK;AAAiB,qBAAiB,MAAK,MAA2B,MAAyB,QAAQ,QAAQ,aAAa,GAAG,QAAQ,OAAA,WAAW,WAAW,QAAQ,OAAA,WAAW,SAAS,IAAI,QAAQ,OAAA,WAAW,WAAW,WAAW;;AAEhP,gBAAM,IAAI,MAAM,uBAAuB,KAAK;;eAIlC,KAAqB,MAAS,QAAgB,QAAc;AACtE,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ;;eAG5B,IAAmB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AACpI,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,WAAiC,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAqB,YAAmC;AACvL,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAA+B,KAAK,QAAQ,WAAW,OAAO,SAAA,aAAa,cAAc,IAAI;;eAGhJ,MAAuB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AACxI,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,KAAqB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AACtI,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,QAA2B,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AAC5I,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,KAAsB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AACvI,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,KAAqB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AACtI,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,UAA+B,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AAChJ,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,SAA6B,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AAC9I,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,gBAA2C,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,MAAmB;AAC5J,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,SAAA,kBAAkB,KAAK,WAAW,OAAO,SAAA,aAAa;;eAGzG,OAAyB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,cAAkC,MAAmB;AAC5K,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,SAAA,aAAa,eAAe,SAAA,aAAa,OAAO,SAAA,aAAa;;eAGrG,KAAqB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,cAAkC,MAAmB;AACxK,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,SAAA,aAAa,eAAe,SAAA,aAAa,OAAO,SAAA,aAAa;;eAGrG,KAAqB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,cAAkC,OAAoD;AACzM,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,SAAA,aAAa,eAAe,QAAW,SAAA,aAAa,cAAc,QAAQ,CAAC,SAAS;;eAG5H,cAAuC,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,OAAoD;AACzL,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,QAAW,SAAA,aAAa,cAAc,QAAQ,CAAC,SAAS;;eAG3G,OAAyB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,UAA2B;AAClJ,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,QAAW,QAAW,SAAA,aAAa,cAAc;;eAGzF,IAAoB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,cAAkC,OAAsB;AAC1K,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,CAAC,SAAA,aAAa,eAAe,QAAW,SAAA,aAAa,cAAc,QAAQ,CAAC,SAAS;;eAM5H,MAAuB,MAAS,QAAgB,QAAgB,WAAmB,YAAwB,SAAwB,wBAAgE,UAA4B;AACzO,gBAAM,UAAoB;YACtB;YAAW;YACX,SAAA,aAAa;YACb,SAAA,kBAAkB,KAAK,WAAW;;AAEtC,cAAI,KAAK,SAAS,OAAA,UAAU,QAAQ;AAChC,mBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,SAAS;;AAE9D,kBAAQ,OAAA,WAAW,UAAU,SAAA,aAAkC;AAC/D,iBAAO,IAAI,MAAK,MAAM,QAAQ,QAAQ,WAAW,SAAS;;;AAvOlE,eAAA,OAAA;AA2OC,YAAK,UAAkB,YAAY,OAAO,OAAO;;;;;;;;;;ACrRnC,UAAM,OAAO;AAG5B,6BAA8B,GAAM;AAChC,YAAI,MAAM,MAAM;AAAE,iBAAO;;AACzB,YAAI,MAAM,MAAM;AAAE,iBAAO;;AACzB,gBAAQ,OAAO;eACN;AAAU,mBAAO,GAAG;eACpB;AAAU,mBAAO,GAAG;eACpB;AAAU,mBAAO,IAAI;;AAM9B,YAAI,OAAO,EAAE,OAAO,iBAAiB,YAAY;AAC7C,iBAAO,EAAE,OAAO,aAAa;;AAEjC,eAAO,YAAY,OAAO,KAAK,IAAI,OAAO,KAAK,UAAU;;AAf7D,eAAA,gBAAA;;;;;;;;;;ACFA,UAAA,WAAA;AACA,UAAA,WAAA;AAsBA,qCAA6E,YAAiC;AAE1G,YAAI,CAAC,cAAc,WAAW,UAAU,GAAG;AAEvC,iBAAO,iBAAiB,OAAU;AAAI,mBAAO;;;AAGjD,YAAI,SAAS;AACb,cAAM,SAAS,WAAW,OAAO,CAAC,MAAM,MAAM;AAE9C,YAAI,OAAO,SAAS,GAAG;AACnB,mBAAS;kBACC,OAAO,IAAI,CAAC,MAAM;eACrB,YAAY,OAAO,KAAK;;;;AAOnC,YAAI,WAAW,WAAW,OAAO,QAAQ;AACrC,mBAAS;EAA+B;;AAG5C,eAAO,IAAI,SAAS,KAAK,GAAG;;;AAxBhC,eAAA,wBAAA;AA4BA,2BAAqB,GAAM;AACvB,YAAI,OAAO,MAAM,UAAU;AACvB,iBAAO,SAAA,cAAc;mBACd,SAAA,iBAAiB;AACxB,iBAAO,GAAG,SAAA,cAAc;;AAE5B,eAAO,IAAI,SAAA,cAAc;;;;;;;;;;;AC1D7B,UAAA,WAAA;AACA,UAAA,WAAA;AAcA,UAAM,gCAAgC,CAAC,KAAa,QAAoB,OAAM,MAAO,KAAM,CAAC,MAAO,MAAM;AAEzG,UAAM,qBAAqB,CAAqC,KAAQ,MAAM,MAC1E,IAAI,UAAU,MAAM,IAAI,SAAS,GAAG,OAAO,SAAA,OAAO,IAAK,IAAI,YAAoB,MAAM,KAAK;AAS9F,gCAA0B;QAEtB,YAAY,QAAW,SAAS,GAAC;AAC7B,eAAK,SAAS;AACd,eAAK,SAAS;AACd,eAAK,oBAAoB,OAAO;AAChC,eAAK,YAAY,OAAO;AACxB,eAAK,QAAQ,KAAK,SAAS,OAAO,SAAS,SAAS;;YAS7C,aAAU;AAAK,iBAAO,KAAK,SAAS,KAAK,SAAS,KAAK,oBAAoB;;YAC3E,iBAAc;AAAK,iBAAO,KAAK,OAAO,SAAS,KAAK;;YACpD,qBAAkB;AAAK,iBAAO,KAAK,OAAO;;QAG9C,IAAI,OAAe,OAAa;AAAI,iBAAO;;QAC3C,OAAO,OAAa;AAAI,iBAAO,KAAK,IAAI,KAAK,QAAQ;;QACrD,QAAQ,OAAa;AACxB,cAAI,QAAQ,GAAG;AACX,iBAAK,UAAU;AACf,kBAAM,SAAS,KAAK;AACpB,kBAAM,SAAS,KAAK,SAAS;AAC7B,kBAAM,WAAW,KAAK,OAAO;AAC7B,gBAAI,UAAU,UAAU;AACpB,mBAAK,QAAQ,aAAa,IACpB,8BAA8B,SAAS,GAAG,KAAK,qBAC/C,8BAA8B,SAAS,GAAG,KAAK;;;AAI7D,iBAAO;;QAEJ,MAAM,SAAS,KAAK,QAAM;AAC7B,mBAAS,8BAA8B,SAAS,KAAK,QAAQ,KAAK;AAClE,gBAAM,QAAQ,mBAAsB,KAAK,QAAQ;AACjD,eAAK;AACL,iBAAO;;QAEJ,QAAK;AACR,eAAK,SAAS;AACd,eAAK,QAAQ;AACb,iBAAO;;QAED,QAAQ,WAAiB;AAC/B,iBAAO,KAAK,SAAa,SAAA,OAAO,IAAI,KAAK,UAAU,YAAY,KAAK;;;AAlD5E,eAAA,gBAAA;AAsDC,oBAAc,UAAkB,SAAS;AAG1C,4CAA6D,cAAwB;QAC1E,OAAI;AAAK,iBAAO,KAAK,IAAI,KAAK,SAAS;;QACvC,IAAI,OAAa;AAAI,iBAAO,KAAK,OAAO;;QACxC,IAAI,OAAe,OAAa;AACnC,eAAK,QAAQ,QAAQ,KAAK,SAAS;AACnC,eAAK,OAAO,QAAQ,KAAK,UAAU;AACnC,iBAAO;;;AANf,eAAA,oBAAA;AAWA,8CAAyC,kBAA6B;QAElE,YAAY,OAAO,IAAI,WAAW,IAAE;AAAI,gBAAM,MAAM,IAAI;AAEjD,eAAA,WAAW;;YACP,aAAU;AAAK,iBAAO,KAAK,SAAS,KAAK;;QAC7C,IAAI,KAAW;AAAI,iBAAO,KAAK,OAAO,OAAO,MAAM,MAAM,IAAI;;QAC7D,IAAI,KAAa,KAAW;AAC/B,gBAAM,EAAE,WAAW,KAAK,QAAQ,MAAM,KAAK,SAAS;AACpD,gBAAM,OAAO,OAAO,GAAG,MAAM,MAAM,GAAG,MAAM,OAAO,SAAS,MAAM;AAGlE,gBAAM,QAAQ,KAAO,QAAO,SAAW,KAAK,KAAO,EAAE,KAAK,YACpD,QAAQ,KAAO,QAAO,SAAS,CAAE,MAAK,MAAO,EAAE,KAAK;AAC1D,iBAAO;;QAEJ,QAAK;AACR,eAAK,WAAW;AAChB,iBAAO,MAAM;;;AAlBrB,eAAA,sBAAA;AAuBA,+CAA0C,kBAA6B;QACnE,YAAY,OAAO,IAAI,WAAW,IAAE;AAAI,gBAAM,MAAM;;QAC7C,OAAO,OAAa;AACvB,iBAAO,KAAK,IAAI,KAAK,SAAS,GAAG;;QAE9B,IAAI,OAAe,OAAa;AACnC,gBAAM,SAAS,KAAK,SAAS;AAC7B,gBAAM,SAAS,KAAK,QAAQ,QAAQ,SAAS,GAAG;AAChD,cAAI,SAAS,SAAS;AAClB,mBAAO,KAAK,OAAO,SAAS,QAAQ;;AAExC,iBAAO,SAAS,OAAO,QAAQ,KAAK;AACpC,iBAAO;;QAEJ,MAAM,SAAS,KAAK,SAAS,GAAC;AACjC,cAAI,SAAS,KAAK,QAAQ;AACtB,iBAAK,IAAI,SAAS,GAAG;;AAEzB,iBAAO,MAAM,MAAM,SAAS;;;AAlBpC,eAAA,uBAAA;AAuBA,4CAAoF,cAA8B;YAGnG,cAAW;AAClB,iBAAO,KAAK,gBAAiB,MAAK,eAA4C,KAAK,kBAAkB,aAAa,SAAA,gBAAgB,SAAA;;QAE/H,IAAI,OAAe,OAAmB;AACzC,eAAK,QAAQ,QAAQ,KAAK,SAAS;AACnC,kBAAQ,OAAO;iBACN;AAAU,mBAAK,SAAS,SAAS;AAAO;iBACxC;AAAU,mBAAK,OAAO,QAAQ,KAAK,UAAU;AAAO;;AAChD,mBAAK,OAAO,IAAI,OAAqB,QAAQ,KAAK;;AAE/D,iBAAO;;QAED,QAAQ,WAAiB;AAC/B,gBAAM,OAAO,MAAM,QAAQ;AAC3B,gBAAM,SAAS,KAAK,aAAc,MAAK,oBAAoB,KAAK;AAChE,cAAI,SAAA,iBAAiB;AACjB,iBAAK,WAAW,IAAI,KAAK,YAAY,KAAK,QAAQ,KAAK,YAAY;;AAEvE,iBAAO;;;AArBf,eAAA,oBAAA;;;;;;;;;;;AC7IA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,UAAA;AAEA,UAAA,WAAA;AACA,UAAA,SAAA;AAsFA,2BAA6B;QAuFzB,YAAY,EAAE,QAAQ,MAAM,cAAc,SAAiC;AAoBpE,eAAA,SAAS;AAKT,eAAA,WAAW;AAxBd,eAAK,OAAO;AACZ,eAAK,WAAW;AAChB,eAAK,aAAa;AAClB,eAAK,SAAS,OAAA,cAAc;AAC5B,eAAK,SAAS,IAAI,SAAA;AAClB,cAAI,SAAS,MAAM,SAAS,GAAG;AAC3B,iBAAK,WAAW,QAAA,sBAAsB;;;eAlFhC,IAA2C,SAAiC;;eAI5E,YAAmD,SAAmE;AAChI,gBAAM,IAAI,MAAM;;eAIN,WAAkD,SAAwE;AACpI,gBAAM,IAAI,MAAM;;eA2BN,gBAAuD,SAAyC;AAC1G,iBAAO,gBAAgB;;eA4Bb,qBAA4D,SAAyC;AAC/G,iBAAO,qBAAqB;;QAwDzB,WAAQ;AAAK,iBAAO,SAAA,OAAO,IAAI,KAAK;;YAEhC,YAAS;AAAK,iBAAO,KAAK,KAAK;;YAC/B,YAAS;AAAK,iBAAO,KAAK,OAAO;;YACjC,cAAW;AAAK,iBAAO,KAAK,SAAS;;YAKrC,aAAU;AACjB,cAAI,OAAO;AACX,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,eAAK,WAAY,SAAQ,KAAK,QAAQ;AACtC,eAAK,UAAW,SAAQ,KAAK,OAAO;AACpC,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,iBAAO,KAAK,SAAS,OAAO,CAAC,OAAM,UAAU,QAAO,MAAM,YAAY;;YAM/D,iBAAc;AACrB,iBAAO,KAAK,OAAO;;YAMZ,qBAAkB;AACzB,cAAI,OAAO;AACX,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,eAAK,WAAY,SAAQ,KAAK,QAAQ;AACtC,eAAK,UAAW,SAAQ,KAAK,OAAO;AACpC,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,iBAAO,KAAK,SAAS,OAAO,CAAC,OAAM,UAAU,QAAO,MAAM,oBAAoB;;YAIvE,eAAY;AAAK,iBAAO,KAAK,WAAW,KAAK,SAAS,SAAS;;YAG/D,SAAM;AAAK,iBAAO,KAAK,UAAU,KAAK,QAAQ,SAAS;;YAGvD,aAAU;AAAK,iBAAO,KAAK,SAAS,KAAK,OAAO,SAAS;;YAGzD,UAAO;AAAK,iBAAO,KAAK,WAAW,KAAK,SAAS,SAAS;;QAU9D,OAAO,OAA0B;AAAI,iBAAO,KAAK,IAAI,KAAK,QAAQ;;QAMlE,QAAQ,OAA0B;AAAa,iBAAO,KAAK,SAAS;;QAYpE,IAAI,OAAe,OAA0B;AAChD,cAAI,KAAK,SAAS,OAAO,KAAK,QAAQ,SAAS;AAC3C,iBAAK,SAAS,OAAO;;AAEzB,iBAAO;;QASJ,SAAS,OAAe,OAAkB;AAAI,eAAK,UAAU,MAAM,OAAO;;QAC1E,SAAS,OAAe,OAAc;AACzC,eAAK,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO;AAC7C,iBAAO;;QAIJ,SAAS,OAAgB,OAAO,GAAG,KAAK,eAAa;AACxD,gBAAM,IAAI,MAAM,8CAA8C,KAAK;;QAShE,WAAqC,OAAa;AACrD,iBAAO,KAAK,SAAS,UAAU;;QAS5B,QAAK;AAER,gBAAM,UAAe;AACrB,gBAAM,SAAU,KAAK;AACrB,gBAAM,UAAW,KAAK;AACtB,gBAAM,UAAW,KAAK;AACtB,gBAAM,EAAE,QAAQ,cAAc;AAE9B,cAAI,SAAS;AACT,oBAAQ,OAAA,WAAW,QAAQ,QAAQ,MAAM;AAEzC,uBAAY,SAAQ,OAAA,WAAW,UAAU,QAAQ,MAAM;qBAChD,SAAS;AAEhB,sBAAW,SAAQ,OAAA,WAAW,QAAQ,OAAO,MAAM,QAAQ;AAC3D,oBAAQ,OAAA,WAAW,UAAU,QAAQ,MAAM;qBACpC,QAAQ;AACf,oBAAQ,OAAA,WAAW,QAAQ,OAAO,MAAM;;AAG5C,sBAAY,KAAM,SAAQ,OAAA,WAAW,YAAY,KAAK,OAAO,MAAM;AAEnE,gBAAM,OAAO,OAAA,KAAK,IACd,KAAK,MAAM,GAAG,QAAQ,WAAW,SACjC,KAAK,SAAS,IAAI,CAAC,UAAU,MAAM;AAEvC,eAAK;AAEL,iBAAO;;QAOJ,SAAM;AACT,eAAK,WAAW;AAChB,eAAK,SAAS,QAAQ,CAAC,UAAU,MAAM;AACvC,iBAAO;;QAOJ,QAAK;AACR,eAAK,SAAS;AACd,eAAK,YAAa,KAAK,SAAS;AAChC,eAAK,WAAY,KAAK,QAAQ;AAC9B,eAAK,UAAW,KAAK,OAAO;AAC5B,eAAK,YAAa,KAAK,SAAS;AAChC,eAAK,SAAS,QAAQ,CAAC,UAAU,MAAM;AACvC,iBAAO;;;AA9Sf,eAAA,UAAA;AAkTC,eAAQ,UAAkB,SAAS;AACnC,eAAQ,UAAkB,SAAS;AACnC,eAAQ,UAAkB,WAAW;AACrC,eAAQ,UAAkB,WAAW;AACrC,eAAQ,UAAkB,aAAa;AACvC,eAAQ,UAAkB,WAAW,MAAM;AAG5C,4CAA4J,SAAiB;QACzK,YAAY,MAA8B;AACtC,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA,kBAAkB,IAAI,KAAK,UAAU,IAAI,KAAK;;QAE9D,SAAS,OAAe,OAAkB;AAC7C,gBAAM,SAAS,KAAK;AACpB,iBAAO,QAAQ,QAAQ,OAAO,SAAS;AACvC,iBAAO,MAAM,SAAS,OAAO;;;AARrC,eAAA,oBAAA;AAaA,+CAAuG,SAAiB;QAIpH,YAAY,MAA8B;AACtC,gBAAM;AAJA,eAAA,iBAAiB;AAKvB,eAAK,WAAW,IAAI,SAAA;;QAEjB,SAAS,OAAe,OAAkB;AAC7C,gBAAM,UAAU,KAAK,YAAa,MAAK,WAAW,oBAAI;AACtD,gBAAM,UAAU,QAAQ,IAAI;AAC5B,qBAAY,MAAK,kBAAkB,QAAQ;AAC3C,eAAK,kBAAkB,MAAM;AAC7B,kBAAQ,IAAI,OAAO;;QAEhB,SAAS,OAAe,SAAgB;AAC3C,cAAI,CAAC,MAAM,SAAS,OAAO,UAAU;AACjC,YAAC,MAAK,YAAa,MAAK,WAAW,oBAAI,QAAQ,IAAI,OAAO;AAC1D,mBAAO;;AAEX,iBAAO;;QAEJ,QAAK;AACR,eAAK,iBAAiB;AACtB,eAAK,WAAW;AAChB,iBAAO,MAAM;;QAEV,QAAK;AACR,eAAK;AACL,iBAAO,MAAM;;QAEV,SAAM;AACT,eAAK;AACL,iBAAO,MAAM;;QAEP,SAAM;AACZ,gBAAM,UAAU,KAAK;AACrB,gBAAM,gBAAgB,KAAK;AAC3B,eAAK,iBAAiB;AACtB,eAAK,WAAW;AAChB,cAAI,WAAW,QAAQ,OAAO,GAAG;AAC7B,iBAAK,cAAc,SAAS;;AAEhC,iBAAO;;;AA3Cf,eAAA,uBAAA;AAoDA,+BAAgE,SAAyC;AACrG,cAAM,GAAG,qBAAqB,mBAAmB,YAAY;AAC7D,cAAM,GAAG,kBAAkB,gBAAgB,qBAAqB,UAAU,MAAO,KAAA,IAAA,GAAK,QAAO;AAC7F,cAAM,eAAwC,qBAAqB,UAAU,WAAW;AACxF,eAAO,WAAU,QAAqC;AAClD,cAAI,YAAY;AAChB,gBAAM,UAAU,SAAQ,IAAI;AAC5B,qBAAW,SAAS,QAAQ;AACxB,gBAAI,QAAQ,OAAO,OAAO,iBAAiB,eAAe;AACtD,gBAAE,aAAc,OAAM,QAAQ;;;AAGtC,cAAI,QAAQ,SAAS,SAAS,KAAK,cAAc,GAAG;AAChD,kBAAM,QAAQ;;;;AAS1B,oCAAqE,SAAyC;AAC1G,cAAM,GAAG,qBAAqB,mBAAmB,YAAY;AAC7D,cAAM,GAAG,kBAAkB,gBAAgB,qBAAqB,UAAU,MAAO,KAAA,IAAA,GAAK,QAAO;AAC7F,cAAM,eAAwC,qBAAqB,UAAU,WAAW;AACxF,eAAO,SAAiB,QAA0E;;;AAC9F,gBAAI,YAAY;AAChB,kBAAM,UAAU,SAAQ,IAAI;;AAC5B,uBAA0B,WAAA,QAAA,cAAA,SAAM,YAAA,aAAA,MAAA,QAAA,QAAA,SAAA,SAAA,CAAA,WAAA,QAAA;AAArB,sBAAM,QAAK,WAAA;AAClB,oBAAI,QAAQ,OAAO,OAAO,iBAAiB,eAAe;AACtD,oBAAE,aAAc,OAAA,MAAA,QAAA,QAAM,QAAQ;;;;;;;;;;;;;;AAGtC,gBAAI,QAAQ,SAAS,SAAS,KAAK,cAAc,GAAG;AAChD,oBAAA,MAAA,QAAA,QAAM,QAAQ;;;;;;;;;;;;;;ACzf1B,UAAA,WAAA;AACA,UAAA,YAAA;AAGA,uCAA8C,UAAA,QAAoB;QAC9D,YAAY,SAAoC;AAC5C,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA;;QAEhB,SAAS,OAAe,OAAc;AACzC,eAAK,QAAQ,IAAI,OAAO,CAAC;;;AANjC,eAAA,cAAA;;;;;;;;;;ACJA,UAAA,YAAA;AAGA,uCAA8C,UAAA,QAAoB;QAEvD,SAAS,OAAe,OAAW;;QACnC,SAAS,OAAe,OAAc;AACzC,eAAK,SAAS,KAAK,IAAI,QAAQ,GAAG,KAAK;AACvC,iBAAO;;;AALf,eAAA,cAAA;;;;;;;;;;ACJA,UAAA,YAAA;AAIA,uCAAuE,UAAA,kBAA2B;;AAAlG,eAAA,cAAA;AAEA,0CAAiD,aAA2B;;AAA5E,eAAA,iBAAA;AAEA,kDAAyD,aAAmC;;AAA5F,eAAA,yBAAA;;;;;;;;;;ACPA,UAAA,YAAA;AAGA,0CAAiD,UAAA,kBAAiC;;AAAlF,eAAA,iBAAA;;;;;;;;;;ACFA,UAAA,SAAA;AACA,UAAA,YAAA;AASA,6CAA0E,UAAA,QAAiB;QAQvF,YAAY,EAAE,QAAQ,MAAM,cAAc,OAAO,0BAA0B,UAA4C;AACnH,gBAAM,EAAE,MAAM,IAAI,OAAA,WAAW,KAAK,YAAY,KAAK,SAAS,KAAK,IAAI,KAAK;AAC1E,eAAK,SAAe;AACpB,eAAK,oBAAoB;AACzB,eAAK,iBAAiB,uBAAO,OAAO;AACpC,eAAK,UAAU,UAAA,QAAQ,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,cAAc;AACtE,eAAK,aAAa,UAAA,QAAQ,IAAI,EAAE,QAAQ,KAAK,KAAK,YAAY,cAAc;AAC5E,cAAI,OAAO,WAAW,YAAY;AAC9B,iBAAK,aAAa;;;YAIf,SAAM;AAAK,iBAAO,KAAK,QAAQ;;YAC/B,YAAS;AAAK,iBAAO,KAAK,QAAQ;;YAClC,aAAU;AAAK,iBAAO,KAAK,QAAQ;;YACnC,aAAU;AAAK,iBAAO,KAAK,QAAQ,aAAa,KAAK,WAAW;;YAChE,iBAAc;AAAK,iBAAO,KAAK,QAAQ,iBAAiB,KAAK,WAAW;;YACxE,qBAAkB;AAAK,iBAAO,KAAK,QAAQ,qBAAqB,KAAK,WAAW;;QACpF,QAAQ,OAA0B;AAAI,iBAAO,KAAK,QAAQ,QAAQ;;QAClE,SAAS,OAAe,OAAc;AACzC,gBAAM,UAAU,KAAK;AACrB,kBAAQ,QAAQ,SAAS,OAAO;AAChC,eAAK,SAAS,QAAQ;AACtB,iBAAO;;QAEJ,SAAS,OAAe,OAAkB;AAC7C,gBAAM,gBAAgB,KAAK;AAC3B,gBAAM,MAAM,KAAK,WAAW;AAC5B,cAAI,MAAM,cAAc;AACxB,cAAI,QAAQ,QAAW;AACnB,0BAAc,OAAO,MAAM,KAAK,oBAAoB,KAAK,WAAW,OAAO,OAAO,SAAS;;AAE/F,iBAAO,KAAK,QAAQ,SAAS,OAAO;;QAEjC,QAAK;AACR,gBAAM,OAAO,KAAK;AAClB,gBAAM,OAAO,KAAK;AAClB,gBAAM,OAAO,KAAK,WAAW;AAC7B,gBAAM,OAAO,KAAK,QAAQ,QAAQ,MAAM;AACxC,eAAK,aAAa,OAAO,KAAK,OAAO,QAAQ;AAC7C,eAAK,YAAa,MAAK,qBAAqB,KAAK;AACjD,eAAK,cAAc,KAAK;AACxB,eAAK;AACL,iBAAO;;QAEJ,SAAM;AACT,eAAK,QAAQ;AACb,eAAK,WAAW;AAChB,eAAK,oBAAoB;AACzB,eAAK,iBAAiB,uBAAO,OAAO;AACpC,iBAAO,MAAM;;QAEV,QAAK;AACR,eAAK,QAAQ;AACb,eAAK,WAAW;AAChB,iBAAO,MAAM;;QAEV,WAAW,KAAQ;AACtB,iBAAO,OAAO,QAAQ,WAAW,MAAM,GAAG;;;AAlElD,eAAA,oBAAA;;;;;;;;;;ACXA,UAAA,YAAA;AAGA,kDAAyD,UAAA,kBAAyC;;AAAlG,eAAA,yBAAA;;;;;;;;;;ACJA,UAAM,MAAM,IAAI,aAAa;AAC7B,UAAM,MAAM,IAAI,YAAY,IAAI;AAShC,+BAAgC,GAAS;AACrC,cAAM,OAAQ,KAAI,UAAW;AAC7B,cAAM,OAAQ,KAAI,QAAU;AAC5B,cAAM,OAAO,KAAA,IAAC,IAAS,KAAI,UAAW;AACtC,gBAAQ;eACC;AAAM,mBAAO,OAAQ,QAAO,MAAM,IAAI;eACtC;AAAM,mBAAO,OAAQ,QAAO,iBAAiB,OAAO;;AAE7D,eAAO,OAAQ,KAAA,IAAA,GAAM,OAAO,MAAQ,KAAI;;AAR5C,eAAA,kBAAA;AAkBA,+BAAgC,GAAS;AAErC,YAAI,MAAM,GAAG;AAAE,iBAAO;;AAEtB,YAAI,KAAK;AAOT,cAAM,OAAQ,KAAI,KAAK,eAAe,KAAK;AAC3C,YAAI,OAAQ,IAAI,KAAK,YAAa,OAAO;AAEzC,YAAI,QAAQ,YAAY;AAgBpB,cAAI,IAAI,KAAK,GAAG;AACZ,mBAAO;iBACJ;AACH,mBAAQ,QAAO,eAAe;AAC9B,mBAAQ,KAAI,KAAK,YAAe;;mBAE7B,QAAQ,YAAY;AAO3B,iBAAO,UAAY,KAAI,KAAK;AAC5B,iBAAO,UAAY,SAAU,SAAQ,MAAM,QAAS;AACpD,iBAAO;eACJ;AAQH,iBAAQ,OAAO,cAAe;AAC9B,iBAAS,KAAI,KAAK,WAAc,OAAU;;AAG9C,eAAO,OAAO,OAAO,OAAO;;AA1DhC,eAAA,kBAAA;;;;;;;;;;AC5BA,UAAA,SAAA;AACA,UAAA,YAAA;AAIA,wCAAwE,UAAA,kBAA2B;;AAAnG,eAAA,eAAA;AAGA,0CAAiD,cAA4B;QAClE,SAAS,OAAe,OAAa;AAExC,eAAK,QAAQ,IAAI,OAAO,OAAA,gBAAgB;;;AAHhD,eAAA,iBAAA;AAQA,0CAAiD,cAA4B;QAClE,SAAS,OAAe,OAAa;AACxC,eAAK,QAAQ,IAAI,OAAO;;;AAFhC,eAAA,iBAAA;AAOA,0CAAiD,cAA4B;QAClE,SAAS,OAAe,OAAa;AACxC,eAAK,QAAQ,IAAI,OAAO;;;AAFhC,eAAA,iBAAA;;;;;;;;;;ACvBA,UAAA,WAAA;AAGA,UAAA,WAAA;AAGa,eAAA,sBAAsB,OAAO,IAAI;AAO9C,sBAA2B,MAAW,IAAO;AACzC,YAAI,GAAG,WAAW,GAAG;AACjB,iBAAO,OAAO,eAAe,SAAA,kBAAkB,KAAK,eAAe,IAAI,KAAK,YAAY;;AAE5F,eAAO,OAAO,eAAe,IAAI,KAAK,cAAc,GAAG,GAAG,KAAK,KAAK,YAAY;;AAGpF,aAAO,UAAU,SAAA,uBAAuB;AACxC,aAAO,UAAU,SAAS,WAAA;AAA+C,eAAO,IAAI,SAAA,eAAe;;AACnG,aAAO,UAAU,UAAU,WAAA;AAA+C,eAAO,eAAe;;AAChG,aAAO,UAAU,WAAW,WAAA;AAA+C,eAAO,SAAA,eAAe;;AACjG,aAAO,UAAU,OAAO,eAAe,SAA6C,OAAwC,WAAS;AACjI,gBAAQ;eACC;AAAU,mBAAO,eAAe;eAChC;AAAU,mBAAO,SAAA,eAAe;eAChC;AAAW,mBAAO,SAAA,eAAe;;AAG1C,eAAO,SAAA,eAAe;;AAU1B,+BAAoC,MAA+B;AAAI,eAAO,OAAO,MAAM,MAAM;;AAEjG,iCAAsC,MAA+B;AAAI,eAAO,OAAO,MAAM,MAAM;;AAEnG,gCAAqC,MAA+B;AAAI,eAAO,OAAO,MAAM,MAAM;;AAElG,aAAO,eAAe,aAAa,WAAa,OAAO,OAAO,WAAW;AACzE,aAAO,eAAe,eAAe,WAAW,OAAO,OAAO,YAAY;AAC1E,aAAO,eAAe,cAAc,WAAY,OAAO,OAAO,YAAY;AAC1E,aAAO,OAAO,aAAa,WAAa,OAAO,WAAW,EAAE,eAAe,cAAgB,UAAU,MAAO,cAAc,YAAa,eAAe,SAAA;AACtJ,aAAO,OAAO,eAAe,WAAW,OAAO,WAAW,EAAE,eAAe,gBAAgB,UAAU,OAAO,cAAc,aAAa,eAAe,SAAA;AACtJ,aAAO,OAAO,cAAc,WAAY,OAAO,WAAW,EAAE,eAAe,eAAgB,UAAU,MAAO,cAAc,aAAa,eAAe,SAAA;AAGtJ,8BAAmD,IAAK;AACpD,cAAM,EAAE,QAAQ,YAAY,QAAQ,UAAU,WAAW;AACzD,cAAM,QAAQ,IAAI,WAAW,QAAQ,YAAY;AACjD,YAAI,SAAS,GAAG,IAAI;AACpB,cAAM,IAAI,MAAM;AAChB,YAAI,IAAI;AACR,eAAO,IAAI,GAAG;AACV,eAAK,MAAM;AACX,eAAK,MAAM;AACX,oBAAW,MAAK,OAAO;AACvB,oBAAW,QAAO,KAAM,KAAM,KAAA,IAAA,GAAK;;AAEvC,eAAO;;AAQX,UAAI,CAAC,SAAA,iBAAiB;AAClB,iBAAA,iBAAiB;AACjB,iBAAA,iBAAuB,SAAA;aACpB;AACH,iBAAA,iBAAkB,CAA4B,MAAS,EAAE,eAAe,IAAI,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,GAAG,KAAU,gBAAgB;AACtJ,iBAAA,iBAAkB,CAA4B,MAAS,EAAE,eAAe,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,gBAAgB;;AAI1J,+BAAoD,GAAI;AACpD,YAAI,SAAS;AACb,cAAM,SAAS,IAAI,YAAY;AAC/B,YAAI,SAAS,IAAI,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa;AACpE,cAAM,SAAS,IAAI,YAAa,UAAS,IAAI,YAAY,QAAQ,WAAW;AAC5E,YAAI,IAAI;AACR,cAAM,IAAI,OAAO,SAAS;AAC1B,WAAG;AACC,eAAK,OAAO,KAAK,OAAO,IAAI,IAAI,IAAI,KAAI;AACpC,mBAAO,OAAO,OAAO,KAAK,OAAO,KAAK;AACtC,mBAAO,KAAO,QAAO,KAAK,OAAO,KAAK,MAAO,MAAM,OAAO;;AAE9D,iBAAO,KAAK,OAAO,KAAK,OAAO,KAAK;AACpC,iBAAO,KAAK,OAAO,KAAK,OAAO,KAAK;AACpC,mBAAS,GAAG,OAAO,KAAK;iBACnB,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO;AACvD,eAAO,SAAS,SAAS;;AAI7B,qBAAe;eAEG,IAA2B,KAAQ,UAAkB;AAC/D,kBAAQ;iBACC;AAAM,qBAAO,IAAW,aAAc;iBACtC;AAAO,qBAAO,IAAW,eAAgB;;AAElD,kBAAQ,IAAI;iBACH;iBACA;iBACA;iBACA,SAAA;AACD,qBAAO,IAAW,aAAc;;AAExC,cAAI,IAAI,eAAe,IAAI;AACvB,mBAAO,IAAW,cAAe;;AAErC,iBAAO,IAAW,eAAgB;;eAGxB,OAA2B,KAAM;AAC3C,iBAAO,IAAW,aAAc;;eAGtB,SAA8B,KAAM;AAC9C,iBAAO,IAAW,eAAgB;;eAGxB,QAA6B,KAAM;AAC7C,iBAAO,IAAW,cAAe;;QAErC,YAAY,KAAQ,UAAkB;AAClC,iBAAO,GAAG,IAAI,KAAK;;;AAhC3B,eAAA,KAAA;;;;;;;;;;ACxGA,UAAA,OAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AAIA,sCAAkE,UAAA,kBAA2B;QAClF,SAAS,OAAe,OAAkB;AAC7C,eAAK,QAAQ,IAAI,OAAO;;;AAFhC,eAAA,aAAA;AAOA,uCAA8C,YAAuB;;AAArE,eAAA,cAAA;AAEA,wCAA+C,YAAwB;;AAAvE,eAAA,eAAA;AAEA,wCAA+C,YAAwB;;AAAvE,eAAA,eAAA;AAEA,wCAA+C,YAAwB;QAEnE,YAAY,SAAqC;AAC7C,cAAI,QAAQ,eAAe;AACvB,oBAAQ,gBAAiB,QAAQ,cAA0B,IAAI;;AAEnE,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA,kBAAkB,IAAI,WAAW,IAAI;;YAEjD,WAAQ;AAAK,iBAAO,KAAK,QAAQ;;QACrC,QAAQ,OAAkC;AAAI,iBAAO,MAAM,QAAQ,SAAS;;;AAVvF,eAAA,eAAA;AAcA,wCAA+C,YAAwB;;AAAvE,eAAA,eAAA;AAEA,yCAAgD,YAAyB;;AAAzE,eAAA,gBAAA;AAEA,yCAAgD,YAAyB;;AAAzE,eAAA,gBAAA;AAEA,yCAAgD,YAAyB;QAErE,YAAY,SAAsC;AAC9C,cAAI,QAAQ,eAAe;AACvB,oBAAQ,gBAAiB,QAAQ,cAA0B,IAAI;;AAEnE,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA,kBAAkB,IAAI,YAAY,IAAI;;YAElD,WAAQ;AAAK,iBAAO,KAAK,QAAQ;;QACrC,QAAQ,OAAmC;AAAI,iBAAO,MAAM,QAAQ,SAAS;;;AAVxF,eAAA,gBAAA;AAaA,UAAM,WAAY,EAAC,SAAc,CAAC,UAAc;AAC5C,YAAI,YAAY,OAAO,QAAQ;AAC3B,eAAK,SAAS,MAAM;AACpB,eAAK,aAAa,MAAM;AACxB,eAAK,aAAa,MAAM;AACxB,kBAAQ,KAAA,eAAe;AACvB,eAAK,SAAS;;AAElB,eAAO;SACR,EAAE,eAAe,SAAA;;;;;;;;;;AC9DpB,UAAA,YAAA;AAIA,uCAAqE,UAAA,kBAA2B;;AAAhG,eAAA,cAAA;AAEA,6CAAoD,aAA8B;;AAAlF,eAAA,oBAAA;AAEA,kDAAyD,aAAmC;;AAA5F,eAAA,yBAAA;AAEA,kDAAyD,aAAmC;;AAA5F,eAAA,yBAAA;AAEA,iDAAwD,aAAkC;;AAA1F,eAAA,wBAAA;;;;;;;;;;ACZA,UAAA,YAAA;AAIA,4CAAoF,UAAA,kBAA2B;;AAA/G,eAAA,mBAAA;AAEA,kDAAyD,kBAAwC;;AAAjG,eAAA,yBAAA;AAEA,uDAA8D,kBAA6C;;AAA3G,eAAA,8BAAA;AAEA,uDAA8D,kBAA6C;;AAA3G,eAAA,8BAAA;AAEA,sDAA6D,kBAA4C;;AAAzG,eAAA,6BAAA;;;;;;;;;;ACZA,UAAA,YAAA;AAIA,2CAAiF,UAAA,kBAA2B;;AAA5G,eAAA,kBAAA;AAEA,kDAAyD,iBAAuC;;AAAhG,eAAA,yBAAA;AAEA,oDAA2D,iBAAyC;;AAApG,eAAA,2BAAA;;;;;;;;;;ACPA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AAGA,yCAAgD,UAAA,qBAAmC;QAC/E,YAAY,MAAmC;AAC3C,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA,cAAc,IAAI,WAAW;;YAEzC,aAAU;AACjB,cAAI,OAAO,KAAK,iBAAkB,KAAK,SAAS;AAChD,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,eAAK,WAAY,SAAQ,KAAK,QAAQ;AACtC,eAAK,UAAW,SAAQ,KAAK,OAAO;AACpC,iBAAO;;QAEJ,SAAS,OAAe,OAAiB;AAC5C,iBAAO,MAAM,SAAS,OAAO,SAAA,aAAa;;QAEpC,cAAc,SAA8C,eAAqB;AACvF,gBAAM,UAAU,KAAK;AACrB,gBAAM,OAAO,KAAK,QAAQ,QAAQ,eAAe;AACjD,cAAI,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG;AACvC,eAAK,CAAC,OAAO,UAAU,SAAS;AAC5B,gBAAI,UAAU,QAAW;AACrB,sBAAQ,IAAI,OAAO;mBAChB;AACH,uBAAS,MAAM;AACf,mBAAK,IAAI,OAAO;AAChB,sBAAQ,IAAI,OAAO;AACnB,wBAAU;;;;;AA1B1B,eAAA,gBAAA;;;;;;;;;;ACLA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AAGA,uCAA8C,UAAA,qBAAiC;QAC3E,YAAY,MAAiC;AACzC,gBAAM;AACN,eAAK,UAAU,IAAI,SAAA,cAAc,IAAI,WAAW;;YAEzC,aAAU;AACjB,cAAI,OAAO,KAAK,iBAAkB,KAAK,SAAS;AAChD,eAAK,YAAa,SAAQ,KAAK,SAAS;AACxC,eAAK,WAAY,SAAQ,KAAK,QAAQ;AACtC,eAAK,UAAW,SAAQ,KAAK,OAAO;AACpC,iBAAO;;QAEJ,SAAS,OAAe,OAAa;AACxC,iBAAO,MAAM,SAAS,OAAO,OAAA,WAAW;;QAGlC,cAAc,SAA8C,eAAqB;;;AAhB/F,eAAA,cAAA;AAmBC,mBAAY,UAAkB,gBAAiB,SAAA,cAAc,UAAkB;;;;;;;;;;AC1BhF,UAAA,WAAA;AAIA,sBAAgB;YAED,SAAM;AAAK,iBAAO,KAAK,QAAQ;;QACnC,IAAI,OAAa;AAAI,iBAAO,KAAK,QAAQ;;QACzC,QAAK;AAAK,eAAK,UAAgB;AAAM,iBAAO;;QAC5C,KAAK,QAAkD;AAC1D,cAAI,kBAAkB,SAAA,QAAQ;AAC1B,mBAAO;;AAEX,eAAK,UAAU;AACf,iBAAO;;;AAVf,eAAA,MAAA;;;;;;;;;;ACJA,UAAA,SAAA;AAEA,0BAAmB;QAMf,YAAY,SAAkB,IAClB,UACA,cAA2C;AACnD,eAAK,SAAU,UAAU;AACzB,eAAK,WAAW,YAAY,oBAAI;AAChC,cAAI,CAAC,cAAc;AACf,2BAAe,sBAAsB;;AAEzC,eAAK,eAAe;;aAEZ,OAAO,eAAY;AAAK,iBAAO;;QACpC,WAAQ;AACX,iBAAO,YAAY,KAAK,OAAO,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,KAAK,KAAK;;QAG7D,UAAmC,aAAgB;AACtD,gBAAM,QAAQ,YAAY,OAAO,CAAC,IAAI,MAAO,IAAG,KAAK,SAAS,IAAI,uBAAO,OAAO;AAChF,iBAAO,IAAI,QAA2B,KAAK,OAAO,OAAO,CAAC,MAAM,MAAM,EAAE,QAAQ,KAAK;;QAElF,YAAwC,eAAuB;AAClE,iBAAO,IAAI,QAA6B,cAAc,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,UAAU,KAAK;;QAKpG,UAAuD,MAA6D;AAEvH,gBAAM,QAAS,KAAK,cAAc,UAC5B,KAAK,KACL,MAAM,QAAQ,KAAK,MACf,IAAI,QAAgC,KAAK,MACzC,IAAI,QAAgC;AAE9C,gBAAM,YAAY,CAAC,GAAG,KAAK;AAC3B,gBAAM,WAAW,UAAU,UAAU,oBAAI,OAAO,KAAK,WAAW,MAAM;AACtE,gBAAM,YAAY,MAAM,OAAO,OAAO,CAAC,OAAM;AACzC,kBAAM,IAAI,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG;AACnD,mBAAO,CAAC,IAAK,WAAU,KAAK,GAAG,MAAM;cACjC,UAAU,UAAU,UAAU,oBAAI,OAAO,UAAU,GAAG,WAAW,GAAG;mBACjE,QAAQ;;AAGnB,gBAAM,kBAAkB,sBAAsB,WAAW,oBAAI;AAE7D,iBAAO,IAAI,QACP,CAAC,GAAG,WAAW,GAAG,YAAY,UAC9B,IAAI,IAAI,CAAC,GAAG,KAAK,cAAc,GAAG;;;AApD9C,eAAA,SAAA;AAyDA,yBAAkB;QAqBd,YAAY,MAAc,MAAS,WAAW,OAAO,UAAqC;AACtF,eAAK,OAAO;AACZ,eAAK,OAAO;AACZ,eAAK,WAAW;AAChB,eAAK,WAAW,YAAY,oBAAI;;eApBtB,OAAiC,MAAW;AACtD,cAAI,CAAC,MAAM,MAAM,UAAU,YAAY;AACvC,cAAI,KAAK,MAAM,OAAO,KAAK,OAAO,UAAU;AACxC,YAAC,GAAE,SAAS,KAAK;AACjB,YAAC,SAAS,UAAe,QAAO,KAAK,GAAG;AACxC,YAAC,aAAa,UAAe,YAAW,KAAK,GAAG;AAChD,YAAC,aAAa,UAAe,YAAW,KAAK,GAAG;;AAEpD,iBAAO,IAAI,OAAS,GAAG,QAAQ,MAAM,UAAU;;YAexC,SAAM;AAAK,iBAAO,KAAK,KAAK;;aAC3B,OAAO,eAAY;AAAK,iBAAO;;QACpC,WAAQ;AAAK,iBAAO,GAAG,KAAK,SAAS,KAAK;;QAG1C,SAAiC,MAAW;AAC/C,cAAI,CAAC,MAAM,MAAM,UAAU,YAAY;AACvC,UAAC,CAAC,KAAK,MAAM,OAAO,KAAK,OAAO,WACzB,CAAC,OAAO,KAAK,MAAM,OAAO,KAAK,MAAM,WAAW,KAAK,UAAU,WAAW,KAAK,YAAY,OAC3F,EAAC,OAAO,KAAK,MAAM,OAAO,KAAK,MAAM,WAAW,KAAK,UAAU,WAAW,KAAK,aAAY,KAAK;AACvG,iBAAO,OAAM,IAAO,MAAM,MAAM,UAAU;;;AAtClD,eAAA,QAAA;AA2CA,yBAA+B,IAA6B,IAA2B;AACnF,eAAO,IAAI,IAAI,CAAC,GAAI,MAAM,oBAAI,OAAQ,GAAI,MAAM,oBAAI;;AAIxD,qCAA+B,QAAiB,eAAe,oBAAI,OAAuB;AAEtF,iBAAS,IAAI,IAAI,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC1C,gBAAM,QAAQ,OAAO;AACrB,gBAAM,OAAO,MAAM;AACnB,cAAI,OAAA,SAAS,aAAa,OAAO;AAC7B,gBAAI,CAAC,aAAa,IAAI,KAAK,KAAK;AAC5B,2BAAa,IAAI,KAAK,IAAI,KAAK;uBACxB,aAAa,IAAI,KAAK,QAAQ,KAAK,YAAY;AACtD,oBAAM,IAAI,MAAM;;;AAGxB,cAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AAC3C,kCAAsB,KAAK,UAAU;;;AAI7C,eAAO;;AAKV,cAAO,UAAkB,SAAS;AAClC,cAAO,UAAkB,WAAW;AACpC,cAAO,UAAkB,eAAe;AAExC,aAAM,UAAkB,OAAO;AAC/B,aAAM,UAAkB,OAAO;AAC/B,aAAM,UAAkB,WAAW;AACnC,aAAM,UAAkB,WAAW;;;;;;;;;;ACxIpC,UAAA,QAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AAGA,uCAAwE,UAAA,qBAAoC;QAGxG,YAAY,MAAoC;AAC5C,gBAAM;AAHA,eAAA,OAAO,IAAI,MAAA;AAIjB,eAAK,WAAW,IAAI,SAAA;;QAEjB,SAAS,OAAmB,OAAO,KAAG;AACzC,cAAI,KAAK,cAAc,GAAG;AACtB,kBAAM,IAAI,MAAM;;AAEpB,eAAK,SAAS,KAAK,eAAe;AAClC,eAAK,OAAO,IAAI,OAAA,KAAK,IAAI,SAAA,MAAM,MAAM,MAAM,MAAM;AACjD,iBAAO,KAAK,cAAc;;QAEvB,QAAK;AACR,eAAK,KAAK;AACV,iBAAO,MAAM;;QAEP,cAAc,SAA6C;AACjE,gBAAM,MAAM,KAAK;AACjB,gBAAM,UAAU,KAAK;AACrB,gBAAM,WAAW,KAAK;AACtB,cAAI,QAAQ,GAAG;AACf,eAAK,CAAC,OAAO,UAAU,SAAS;AAC5B,gBAAI,UAAU,QAAW;AACrB,sBAAQ,IAAI,OAAO;mBAChB;AACH,sBAAQ,IAAI,OAAO,MAAM;AACzB,uBAAS,MAAM,OAAO,IAAI,KAAK;;;;;AA7B/C,eAAA,cAAA;;;;;;;;;;ACPA,UAAA,QAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAGA,gDAAiF,UAAA,QAAgC;QAAjH,cAAA;;AACc,eAAA,OAAO,IAAI,MAAA;;QACd,SAAS,OAAe,OAAkB;AAC7C,gBAAM,SAAS,OAAO,KAAK,KAAK,KAAK;;QAElC,SAAS,OAAmB,OAAO,KAAG;AACzC,cAAI,KAAK,cAAc,GAAG;AACtB,kBAAM,IAAI,MAAM;;AAEpB,gBAAM,aAAa,KAAK,SAAS,KAAK;AACtC,eAAK,OAAO,IAAI,OAAA,cAAc,KAAK,KAAK,UAAU,IAAI,SAAA,MAAM,MAAM,MAAM,MAAM;AAC9E,iBAAO;;QAEJ,QAAK;AACR,eAAK,KAAK;AACV,iBAAO,MAAM;;;AAfrB,eAAA,uBAAA;;;;;;;;;;ACNA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,YAAA;AAOA,sCAAiG,UAAA,qBAAuC;QAG7H,IAAI,OAAe,OAAgC;AACtD,iBAAO,MAAM,IAAI,OAAO;;QAGrB,SAAS,OAAe,OAAwB;AACnD,kBAAQ,iBAAiB,MAAM,QAAQ,IAAI,IAAI,OAAO,QAAQ;AAC9D,gBAAM,UAAU,KAAK,YAAa,MAAK,WAAW,oBAAI;AACtD,gBAAM,UAAU,QAAQ,IAAI;AAC5B,qBAAY,MAAK,kBAAkB,QAAQ;AAC3C,eAAK,kBAAkB,MAAM;AAC7B,kBAAQ,IAAI,OAAO;;QAGhB,SAAS,OAA8C,OAAO,GAAG,KAAK,eAAa;AACtF,cAAI,KAAK,cAAc,GAAG;AACtB,kBAAM,IAAI,MAAM;;AAEpB,eAAK,SAAS,KAAK,eAAe;AAClC,eAAK,OAAO,IAAI,OAAA,KAAW,IAAI,SAAA,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,KAAK;AACxE,iBAAO,KAAK,cAAc;;QAGpB,cAAc,SAAwB;AAC5C,gBAAM,UAAU,KAAK;AACrB,gBAAM,WAAW,KAAK;AACtB,kBAAQ,QAAQ,CAAC,OAAO,UAAS;AAC7B,gBAAI,UAAU,QAAW;AACrB,sBAAQ,IAAI,OAAO;mBAChB;AACH,sBAAQ,IAAI,OAAO,MAAM;AACzB,uBAAS,MAAM,OAAO;;;;;AAjCtC,eAAA,aAAA;;;;;;;;;;ACTA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAGA,yCAA6F,UAAA,QAAyB;QAC3G,SAAS,OAAgB,OAAO,GAAG,KAAK,eAAa;AACxD,gBAAM,aAAa,KAAK,SAAS,KAAK;AACtC,eAAK,OAAO,IAAI,OAAA,OAAO,CAAC,GAAG,KAAK,KAAK,UAAU,IAAI,SAAA,MAAM,MAAM,MAAM,MAAM;AAC3E,iBAAO;;;AAJf,eAAA,gBAAA;;;;;;;;;;ACLA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAOA,wCAAyE,UAAA,QAAiB;QAItF,YAAY,SAAsC;AAC9C,gBAAM;AACN,eAAK,WAAW,IAAI,SAAA,kBAAkB,IAAI,UAAU,IAAI;AACxD,cAAI,OAAO,QAAQ,0BAA0B,YAAY;AACrD,iBAAK,sBAAsB,QAAQ;;;YAIhC,qBAAkB;AAAK,iBAAO,KAAK,KAAK;;QAE5C,OAAO,OAA4B,aAAoB;AAC1D,iBAAO,KAAK,IAAI,KAAK,QAAQ,OAAO;;QAGjC,IAAI,OAAe,OAA4B,aAAoB;AACtE,cAAI,gBAAgB,QAAW;AAC3B,0BAAc,KAAK,oBAAoB,MAAM,OAAO;;AAExD,cAAI,KAAK,SAAS,OAAO,KAAK,QAAQ,SAAS;AAC3C,iBAAK,SAAS,OAAO,OAAO;;AAEhC,iBAAO;;QAGJ,SAAS,OAAe,OAAoB,aAAoB;AACnE,eAAK,SAAS,IAAI,OAAO;AACzB,gBAAM,SAAS,OAAO;;QAGnB,SAAS,OAAgB,OAAO,GAAG,KAAK,SAAS,UAAQ;AAC5D,gBAAM,cAAc,KAAK,SAAS,KAAK;AACvC,gBAAM,EAAE,MAAM,EAAE,UAAU,MAAM,cAAc;AAC9C,gBAAM,SAAS,CAAC,GAAG,UAAU,IAAI,SAAA,MAAM,MAAM,MAAM;AACnD,eAAK,OAAW,IAAI,OAAA,MAAM,MAAM,CAAC,GAAG,SAAS,cAAc;AAC3D,iBAAO;;QAKD,oBAAoB,SAAiC,OAAY,QAAc;AACrF,gBAAM,IAAI,MAAM;;;AA5CxB,eAAA,eAAA;AAmDA,8CAA4E,cAAsB;;AAAlG,eAAA,qBAAA;AAEA,6CAA0E,cAAsB;QAI5F,YAAY,SAAsC;AAC9C,gBAAM;AACN,eAAK,WAAW,IAAI,SAAA,kBAAkB,IAAI,WAAW;;QAIlD,SAAS,OAAe,OAAoB,aAAoB;AACnE,gBAAM,aAAa,KAAK,KAAK,mBAAmB;AAChD,eAAK,SAAS,IAAI,OAAO,KAAK,WAAW,YAAa;AACtD,iBAAO,MAAM,SAAS,OAAO,OAAO;;;AAb5C,eAAA,oBAAA;;;;;;;;;;AC/DA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AAEA,2BAA6B;QAClB,UAAU,UAAiB,MAAa;AAC3C,iBAAO,MAAM,IAAI,CAAC,MAAM,MAAM,KAAK,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE;;QAEjE,SAAS,MAAW;AACvB,iBAAO,KAAK,WAAW,KAAK,IAAI,OAAO,MAAM,MAAM;;QAEhD,WAAW,MAAW,kBAAkB,MAAI;AAC/C,iBAAO,WAAW,MAAM,MAAM;;QAE3B,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,SAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,WAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,YAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,qBAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,eAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,aAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,UAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,YAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,WAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,gBAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,cAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,mBAAsB,UAAe,OAAY;AAAS,iBAAO;;QACjE,SAAsB,UAAe,OAAY;AAAS,iBAAO;;;AA3B5E,eAAA,UAAA;AA+BA,0BAAwC,SAAkB,MAAW,kBAAkB,MAAI;AACvF,YAAI,KAAU;AACd,YAAI,QAAoB,OAAA,KAAK;AAC7B,YAAS,gBAAgB,OAAA;AAAU,kBAAQ,WAAW,KAAK;iBAClD,gBAAgB,SAAA;AAAU,kBAAQ,WAAW,KAAK;iBAClD,gBAAgB,OAAA;AAAU,kBAAQ,WAAW;iBAC7C,OAAQ,SAAQ,UAAU;AAAU,kBAAQ,OAAA,KAAK;AAE1D,gBAAQ;eACC,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAU;eAClD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,aAAa,QAAQ;AAAU;eACvE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,cAAc,QAAQ;AAAU;eACxE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,cAAc,QAAQ;AAAU;eACxE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,cAAc,QAAQ;AAAU;eACxE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,cAAc,QAAQ;AAAU;eACxE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,eAAe,QAAQ;AAAU;eACzE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,eAAe,QAAQ;AAAU;eACzE,OAAA,KAAK;AAAsB,iBAAK,QAAQ,eAAe,QAAQ;AAAU;eACzE,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAY;eACpD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,gBAAgB,QAAQ;AAAY;eAC5E,OAAA,KAAK;AAAsB,iBAAK,QAAQ,gBAAgB,QAAQ;AAAY;eAC5E,OAAA,KAAK;AAAsB,iBAAK,QAAQ,gBAAgB,QAAQ;AAAY;eAC5E,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAa;eACrD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAsB;eAC9D,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,gBAAgB,QAAQ;AAAW;eAC3E,OAAA,KAAK;AAAsB,iBAAK,QAAQ,wBAAwB,QAAQ;AAAW;eACnF,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAgB;eACxD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,wBAAwB,QAAQ;AAAgB;eACxF,OAAA,KAAK;AAAsB,iBAAK,QAAQ,6BAA6B,QAAQ;AAAgB;eAC7F,OAAA,KAAK;AAAsB,iBAAK,QAAQ,6BAA6B,QAAQ;AAAgB;eAC7F,OAAA,KAAK;AAAsB,iBAAK,QAAQ,4BAA4B,QAAQ;AAAgB;eAC5F,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,mBAAmB,QAAQ;AAAW;eAC9E,OAAA,KAAK;AAAsB,iBAAK,QAAQ,wBAAwB,QAAQ;AAAW;eACnF,OAAA,KAAK;AAAsB,iBAAK,QAAQ,wBAAwB,QAAQ;AAAW;eACnF,OAAA,KAAK;AAAsB,iBAAK,QAAQ,uBAAuB,QAAQ;AAAW;eAClF,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAc;eACtD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAW;eACnD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAa;eACrD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAY;eACpD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,mBAAmB,QAAQ;AAAY;eAC/E,OAAA,KAAK;AAAsB,iBAAK,QAAQ,oBAAoB,QAAQ;AAAY;eAChF,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAiB;eACzD,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAe;eACvD,OAAA,KAAK;AAAsB,iBAAK,QAAQ,wBAAwB,QAAQ;AAAe;eACvF,OAAA,KAAK;AAAsB,iBAAK,QAAQ,0BAA0B,QAAQ;AAAe;eACzF,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAoB;eAC5D,OAAA,KAAK;AAAsB,iBAAK,QAAQ;AAAU;;AAE3D,YAAI,OAAO,OAAO;AAAY,iBAAO;AACrC,YAAI,CAAC;AAAiB,iBAAO,MAAM;AACnC,cAAM,IAAI,MAAM,sBAAsB,OAAA,KAAK;;AAI/C,0BAAwC,MAAO;AAC3C,gBAAQ,KAAK;eACJ,OAAA,KAAK;AAAM,mBAAO,OAAA,KAAK;eACvB,OAAA,KAAK,KAAK;AACX,kBAAM,EAAE,UAAU,aAAc;AAChC,oBAAQ;mBACE;AAAG,uBAAO,WAAW,OAAA,KAAK,OAAQ,OAAA,KAAK;mBACxC;AAAI,uBAAO,WAAW,OAAA,KAAK,QAAQ,OAAA,KAAK;mBACxC;AAAI,uBAAO,WAAW,OAAA,KAAK,QAAQ,OAAA,KAAK;mBACxC;AAAI,uBAAO,WAAW,OAAA,KAAK,QAAQ,OAAA,KAAK;;AAGjD,mBAAO,OAAA,KAAK;;eAEX,OAAA,KAAK;AACN,oBAAQ,KAAsB;mBACrB,OAAA,UAAU;AAAM,uBAAO,OAAA,KAAK;mBAC5B,OAAA,UAAU;AAAQ,uBAAO,OAAA,KAAK;mBAC9B,OAAA,UAAU;AAAQ,uBAAO,OAAA,KAAK;;AAGvC,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AAAQ,mBAAO,OAAA,KAAK;eACzB,OAAA,KAAK;AAAM,mBAAO,OAAA,KAAK;eACvB,OAAA,KAAK;AAAM,mBAAO,OAAA,KAAK;eACvB,OAAA,KAAK;AAAS,mBAAO,OAAA,KAAK;eAC1B,OAAA,KAAK;AACN,oBAAS,KAAqB;mBACrB,OAAA,SAAS;AAAQ,uBAAO,OAAA,KAAK;mBAC7B,OAAA,SAAS;AAAa,uBAAO,OAAA,KAAK;mBAClC,OAAA,SAAS;AAAa,uBAAO,OAAA,KAAK;mBAClC,OAAA,SAAS;AAAY,uBAAO,OAAA,KAAK;;AAG1C,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AACN,oBAAS,KAA0B;mBAC1B,OAAA,SAAS;AAAQ,uBAAO,OAAA,KAAK;mBAC7B,OAAA,SAAS;AAAa,uBAAO,OAAA,KAAK;mBAClC,OAAA,SAAS;AAAa,uBAAO,OAAA,KAAK;mBAClC,OAAA,SAAS;AAAY,uBAAO,OAAA,KAAK;;AAG1C,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AACN,oBAAS,KAAsB;mBACtB,OAAA,SAAS;AAAK,uBAAO,OAAA,KAAK;mBAC1B,OAAA,SAAS;AAAa,uBAAO,OAAA,KAAK;;AAG3C,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AACN,oBAAS,KAAyB;mBACzB,OAAA,aAAa;AAAU,uBAAO,OAAA,KAAK;mBACnC,OAAA,aAAa;AAAY,uBAAO,OAAA,KAAK;;AAG9C,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AAAK,mBAAO,OAAA,KAAK;eACtB,OAAA,KAAK;AAAM,mBAAO,OAAA,KAAK;eACvB,OAAA,KAAK;AAAQ,mBAAO,OAAA,KAAK;eACzB,OAAA,KAAK;AACN,oBAAS,KAAsB;mBACtB,OAAA,UAAU;AAAO,uBAAO,OAAA,KAAK;mBAC7B,OAAA,UAAU;AAAQ,uBAAO,OAAA,KAAK;;AAGvC,mBAAO,OAAA,KAAK;eACX,OAAA,KAAK;AAAiB,mBAAO,OAAA,KAAK;eAClC,OAAA,KAAK;AAAe,mBAAO,OAAA,KAAK;eAChC,OAAA,KAAK;AAAY,mBAAO,OAAA,KAAK;;AAEtC,cAAM,IAAI,MAAM,sBAAsB,OAAA,KAAK,KAAK;;AAmDnD,eAAQ,UAAkB,YAAY;AACtC,eAAQ,UAAkB,aAAa;AACvC,eAAQ,UAAkB,aAAa;AACvC,eAAQ,UAAkB,aAAa;AACvC,eAAQ,UAAkB,aAAa;AACvC,eAAQ,UAAkB,cAAc;AACxC,eAAQ,UAAkB,cAAc;AACxC,eAAQ,UAAkB,cAAc;AACxC,eAAQ,UAAkB,eAAe;AACzC,eAAQ,UAAkB,eAAe;AACzC,eAAQ,UAAkB,eAAe;AACzC,eAAQ,UAAkB,eAAe;AACzC,eAAQ,UAAkB,uBAAuB;AACjD,eAAQ,UAAkB,uBAAuB;AACjD,eAAQ,UAAkB,4BAA4B;AACtD,eAAQ,UAAkB,4BAA4B;AACtD,eAAQ,UAAkB,2BAA2B;AACrD,eAAQ,UAAkB,kBAAkB;AAC5C,eAAQ,UAAkB,uBAAuB;AACjD,eAAQ,UAAkB,uBAAuB;AACjD,eAAQ,UAAkB,sBAAsB;AAChD,eAAQ,UAAkB,kBAAkB;AAC5C,eAAQ,UAAkB,mBAAmB;AAC7C,eAAQ,UAAkB,uBAAuB;AACjD,eAAQ,UAAkB,yBAAyB;;;;;;;;;;AChPpD,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAEA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AAiEA,qCAAgC,UAAA,QAAO;;AAAvC,eAAA,aAAA;AAGA,UAAM,mBAAmB,CAAC,MAAkB,OAAe,YAAmB;AAAG,aAAK,SAAU,UAAU,QAAY;;AAEtH,UAAM,+BAA+B,CAAC,MAAkB,OAAe,YAAmB;AACtF,aAAK,SAAU,UAAU,aAAc;AACvC,aAAK,QAAQ,KAAM,UAAU,aAAc;;AAG/C,UAAM,+BAA+B,CAAC,MAAkB,OAAe,YAAmB;AACtF,aAAK,SAAW,UAAU,MAAQ,aAAc;AAChD,aAAK,QAAQ,KAAO,UAAU,MAAQ,aAAc;;AAGxD,UAAM,8BAA8B,CAAC,MAAkB,OAAe,YAAmB;AACrF,aAAK,SAAW,UAAU,MAAW,aAAc;AACnD,aAAK,QAAQ,KAAO,UAAU,MAAW,aAAc;;AAI3D,UAAM,wBAAwB,CAAC,QAAoB,cAA0B,OAAe,UAAqB;AAC7G,cAAM,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM;AACvC,YAAI,KAAK,QAAQ,KAAK,MAAM;AACxB,iBAAO,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI;;;AAK7C,UAAM,UAAU,CAAiB,EAAE,QAAQ,UAAyB,OAAe,QAAgB;AAC/F,cAAM,MAAM,SAAS;AACrB,cAAO,OAAO,OAAO,MAAQ,KAAM,MAAM,IAClC,OAAO,OAAO,MAAM,CAAE,MAAM,MAAM;;AAQ7C,UAAM,aAAqB,CAA4B,EAAE,UAAiC,OAAe,UAA4B;AAAG,yBAAiB,QAAQ,OAAO,MAAM;;AAE9K,UAAM,qBAAqB,CAA4B,EAAE,UAAiC,OAAe,UAA4B;AAAG,qCAA6B,QAAQ,QAAQ,GAAG,MAAM;;AAE9L,UAAM,aAAqB,CAA4B,EAAE,QAAQ,UAAyB,OAAe,UAA4B;AAAG,eAAO,SAAS,SAAS;;AAEjK,UAAM,aAAqB,CAA4B,EAAE,QAAQ,UAAyB,OAAe,UAA4B;AAAG,eAAO,SAAS,SAAS,OAAA,gBAAgB;;AAEjL,UAAM,eAAqB,CAA4B,QAAuB,OAAe,UAA4B;AACrH,gBAAQ,OAAO;eACN;AAAU,mBAAO,SAAS,SAAS;AAAO;eAC1C;AAAU,mBAAO,OAAO,QAAQ,OAAO,UAAU;AAAO;mBACpD;AACL,kBAAM,MAAM;AACZ,kBAAM,EAAE,QAAQ,cAAc;AAC9B,kBAAM,OAAO,SAAA,kBAA+B,WAAW;AACvD,mBAAO,OAAO,IAAI,KAAK,SAAS,GAAG,SAAS,SAAS;;;;AAKjE,UAAM,qBAAqB,CAA4B,EAAE,QAAQ,UAAyB,OAAe,UAA4B;AAAG,eAAO,IAAI,MAAM,SAAS,GAAG,SAAS,SAAS;;AAGvL,UAAM,YAAY,CAAmB,EAAE,QAAQ,gBAA+B,OAAe,UAAuB,sBAAsB,QAAQ,cAAc,OAAO;AAEvK,UAAM,UAAU,CAAiB,EAAE,QAAQ,gBAA+B,OAAe,UAAsB;AAC3G,8BAAsB,QAAQ,cAAc,OAAO,OAAA,WAAW;;AAKlE,UAAM,SAAS,CAAgB,QAAuB,OAAe,UAA4B;AAC7F,eAAO,KAAK,WAAW,KACjB,WAAW,QAAiC,OAAO,SACnD,aAAa,QAAiC,OAAO;;AAK/D,UAAM,WAAW,CAAkB,QAAuB,OAAe,UAA4B;AACjG,eAAO,KAAK,cAAc,OAAA,UAAU,OAC9B,WAAW,QAAiC,OAAO,SACnD,WAAW,QAA+B,OAAO;;AAI3D,UAAM,UAAU,CAAmB,QAAuB,OAAe,UAA4B;AACjG,eAAO,KAAK,SAAS,OAAA,SAAS,MACxB,WAAW,QAA+B,OAAO,SACjD,mBAAmB,QAAuC,OAAO;;AAI3E,UAAM,qBAA0B,CAAiC,EAAE,UAAyB,OAAe,UAA6B,6BAA6B,QAAQ,QAAQ,GAAG,QAAQ;AAEhM,UAAM,0BAA0B,CAAiC,EAAE,UAAyB,OAAe,UAA6B,6BAA6B,QAAQ,QAAQ,GAAG;AAExL,UAAM,0BAA0B,CAAiC,EAAE,UAAyB,OAAe,UAA6B,6BAA6B,QAAQ,QAAQ,GAAG;AAExL,UAAM,yBAA0B,CAAiC,EAAE,UAAyB,OAAe,UAA6B,4BAA4B,QAAQ,QAAQ,GAAG;AAGvL,UAAM,eAA0B,CAAsB,QAAuB,OAAe,UAA4B;AACpH,gBAAQ,OAAO,KAAK;eACX,OAAA,SAAS;AAAa,mBAAY,mBAAmB,QAAuC,OAAO;eACnG,OAAA,SAAS;AAAa,mBAAO,wBAAwB,QAA4C,OAAO;eACxG,OAAA,SAAS;AAAa,mBAAO,wBAAwB,QAA4C,OAAO;eACxG,OAAA,SAAS;AAAa,mBAAQ,uBAAuB,QAA2C,OAAO;;;AAKpH,UAAM,gBAAqB,CAA4B,EAAE,QAAQ,UAAyB,OAAe,UAA4B;AAAG,eAAO,SAAS,SAAS;;AAEjK,UAAM,qBAAqB,CAA4B,EAAE,QAAQ,UAAyB,OAAe,UAA4B;AAAG,eAAO,SAAS,SAAS;;AAEjK,UAAM,qBAAqB,CAA4B,EAAE,UAAiC,OAAe,UAA4B;AAAG,eAAO,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI;;AAE7K,UAAM,oBAAqB,CAA4B,EAAE,UAAiC,OAAe,UAA4B;AAAG,eAAO,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI;;AAG7K,UAAM,UAAqB,CAAiB,QAAuB,OAAe,UAA4B;AAC1G,gBAAQ,OAAO,KAAK;eACX,OAAA,SAAS;AAAa,mBAAY,cAAc,QAAkC,OAAO;eACzF,OAAA,SAAS;AAAa,mBAAO,mBAAmB,QAAuC,OAAO;eAC9F,OAAA,SAAS;AAAa,mBAAO,mBAAmB,QAAuC,OAAO;eAC9F,OAAA,SAAS;AAAa,mBAAQ,kBAAkB,QAAsC,OAAO;;;AAK1G,UAAM,aAAa,CAAoB,EAAE,UAAyB,OAAe,UAA4B;AAAG,eAAO,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI;;AAGrJ,UAAM,UAAU,CAAiB,QAAuB,OAAe,UAA4B;AAC/F,cAAM,SAAS,OAAO,WAAW,IAAK,eAAe,OAAO;AAC5D,iBAAS,MAAM,IAAI,MAAM,aAAa,QAAQ,MAAM,aAAa,QAAQ,IAAI,MAAM,OAAM;AACrF,iBAAO,IAAI,OAAO,MAAM,IAAI,EAAE;;;AAKtC,UAAM,SAAS,CAAiB,QAAuB,OAAe,UAAsB;AACxF,cAAM,SAAS,OAAO,WAAW,IAAK,eAAe,OAAO;AAC5D,cAAM,UAAU,iBAAiB,MAAM,CAAC,GAAG,SAAS,OAAO,QAAQ;AACnE,iBAAS,MAAM,IAAI,MAAM,aAAa,QAAQ,MAAM,aAAa,QAAQ,IAAI,MAAM,OAAM;AACrF,iBAAO,IAAI,OAAO,QAAQ,EAAE;;;AAIrB,UAAM,uBAAuB,CAAC,GAAW,MAAa,CAAC,GAAkB,GAAU,MAAc,MAAC,QAAD,MAAC,SAAA,SAAD,EAAG,IAAI,GAAG,EAAE;AAC7G,UAAM,wBAAwB,CAAC,GAAW,MAAc,CAAC,GAAkB,GAAU,MAAc,MAAC,QAAD,MAAC,SAAA,SAAD,EAAG,IAAI,GAAG,EAAE,IAAI;AACnH,UAAM,qBAAqB,CAAC,GAAW,MAAwB,CAAC,GAAkB,GAAU,MAAc,MAAC,QAAD,MAAC,SAAA,SAAD,EAAG,IAAI,GAAG,EAAE,IAAI,EAAE;AAC5H,UAAM,wBAAwB,CAAC,GAAW,MAA8B,CAAC,GAAkB,GAAU,MAAc,MAAC,QAAD,MAAC,SAAA,SAAD,EAAG,IAAI,GAAG,EAAE,EAAE;AAEhJ,UAAM,YAAY,CAAmB,QAAuB,OAAe,UAAsB;AAE7F,cAAM,WAAW,iBAAiB,MAAS,mBAAmB,OAAO,SACpD,iBAAiB,SAAA,SAAS,sBAAsB,OAAO,SACvD,MAAM,QAAQ,SAAY,qBAAqB,OAAO,SAC5B,sBAAsB,OAAO;AAExE,eAAO,KAAK,SAAS,QAAQ,CAAC,GAAU,MAAc,SAAS,OAAO,WAAW,IAAI,GAAG;;AAK5F,UAAM,WAAW,CAEf,QAAW,OAAe,UAAsB;AAC9C,eAAO,KAAK,SAAS,OAAA,UAAU,QAC3B,cAAc,QAAkC,OAAO,SACvD,eAAe,QAAmC,OAAO;;AAIjE,UAAM,gBAAgB,CAAuB,QAAuB,OAAe,UAA4B;AAC3G,cAAM,aAAa,OAAO,mBAAmB,OAAO,QAAQ;AAC5D,cAAM,QAAQ,OAAO,WAAW;AAChC,iBAAS,MAAM,IAAI,OAAO,aAAa,QAAQ;;AAInD,UAAM,iBAAiB,CAAwB,QAAuB,OAAe,UAA4B;AAC7G,cAAM,aAAa,OAAO,mBAAmB,OAAO,QAAQ;AAC5D,cAAM,QAAQ,OAAO,WAAW;AAChC,iBAAS,MAAM,IAAI,OAAO;;AAI9B,UAAM,gBAAgB,CAAuB,QAAuB,OAAe,UAA4B;AAC3G,cAAM,MAAM,OAAO,OAAO;AAC1B,YAAI,QAAQ,MAAM;AACd,iBAAO,SAAS,KAAK;;;AAM7B,UAAM,mBAAmB,CAAqB,QAAuB,OAAe,UAA4B;AAC5G,QAAC,OAAO,KAAK,SAAS,OAAA,aAAa,WAC7B,mBAAmB,QAAuC,OAAO,SACjE,qBAAqB,QAAyC,OAAO;;AAI/E,UAAM,qBAAqB,CAA4B,EAAE,UAAyB,OAAe,UAA4B;AAAG,eAAO,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI;;AAErK,UAAM,uBAAuB,CAA8B,EAAE,UAAyB,OAAe,UAA4B;AAAG,eAAO,SAAU,MAAM,KAAK,KAAO,MAAM,KAAK;;AAGlL,UAAM,mBAAmB,CAA0B,QAAuB,OAAe,UAA4B;AACjH,cAAM,QAAQ,OAAO,WAAW,IAAK,EAAE,WAAW;AAClD,iBAAS,MAAM,IAAI,SAAS,QAAQ,QAAQ,EAAE,MAAM,UAAS;AACzD,gBAAM,IAAI,SAAS,KAAK,MAAM,IAAI;;;AAI1C,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,WAA6C;AAClE,iBAAW,UAAU,YAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,aAAuC;AAC5D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,cAAyC;AAC9D,iBAAW,UAAU,cAAyC;AAC9D,iBAAW,UAAU,cAAuC;AAC5D,iBAAW,UAAU,aAA2C;AAChE,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,cAA0C;AAC/D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,iBAAuC;AAC5D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,4BAA4B;AACjD,iBAAW,UAAU,4BAA4B;AACjD,iBAAW,UAAU,2BAA6B;AAClD,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,sBAAkC;AACvD,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,cAA0C;AAC/D,iBAAW,UAAU,aAA2C;AAChE,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,mBAAqC;AAC1D,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,gBAAmC;AACxD,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,yBAA+B;AACpD,iBAAW,UAAU,qBAAmC;AACxD,iBAAW,UAAU,WAA6C;AAGrD,eAAA,WAAW,IAAI;;;;;;;;;;AC7U5B,UAAA,YAAA;AAEA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,YAAA;AACA,UAAA,eAAA;AACA,UAAA,oBAAA;AACA,UAAA,kBAAA;AACA,UAAA,UAAA;AACA,UAAA,aAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA,SAAA;AACA,UAAA,UAAA;AACA,UAAA,SAAA;AAWA,yCAAoC,UAAA,QAAO;QAChC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,WAAQ;AAAuB,iBAAO,MAAA;;QACtC,YAAS;AAAsB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,cAAW;AAAoB,iBAAO,SAAA;;QACtC,uBAAoB;AAAW,iBAAO,kBAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,eAAY;AAAmB,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,iBAAc;AAAiB,iBAAO,YAAA;;QACtC,uBAAoB;AAAW,iBAAO,YAAA;;QACtC,4BAAyB;AAAM,iBAAO,YAAA;;QACtC,4BAAyB;AAAM,iBAAO,YAAA;;QACtC,2BAAwB;AAAO,iBAAO,YAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,kBAAe;AAAgB,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,sBAAmB;AAAY,iBAAO,OAAA;;QACtC,eAAY;AAAmB,iBAAO,UAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,cAAW;AAAoB,iBAAO,SAAA;;QACtC,aAAU;AAAqB,iBAAO,QAAA;;QACtC,kBAAe;AAAgB,iBAAO,QAAA;;QACtC,mBAAgB;AAAe,iBAAO,QAAA;;QACtC,kBAAe;AAAgB,iBAAO,aAAA;;QACtC,gBAAa;AAAkB,iBAAO,WAAA;;QACtC,uBAAoB;AAAW,iBAAO,WAAA;;QACtC,yBAAsB;AAAS,iBAAO,WAAA;;QACtC,qBAAkB;AAAa,iBAAO,gBAAA;;QACtC,WAAQ;AAAuB,iBAAO,MAAA;;;AA3CjD,eAAA,iBAAA;AA+Ca,eAAA,WAAW,IAAI;;;;;;;;;;AC/E5B,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAa,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAgB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACtC,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,eAAA;AAAS,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,aAAA;;AACT,UAAA,oBAAA;AAAS,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,kBAAA;;AACT,UAAA,UAAA;AAAS,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACvD,UAAA,QAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAY,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAa,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AACxH,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAa,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAmB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAwB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAwB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACzF,UAAA,cAAA;AAAS,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAkB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAwB,aAAA,eAAA,UAAA,+BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAA6B,aAAA,eAAA,UAAA,+BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAA6B,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAC7G,UAAA,aAAA;AAAS,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAAiB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAAwB,aAAA,eAAA,UAAA,4BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAClD,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,kBAAA;AAAS,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,gBAAA;;AACT,UAAA,QAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,UAAA;AAAS,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,sBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAoB,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAE3C,UAAA,SAAA;AAGA,UAAA,SAAA;AAEA,UAAA,YAAA;AACA,UAAA,QAAA;AACA,UAAA,gBAAA;AAGA,gBAAA,QAAQ,MAAM;AAEd,0BAA2D,SAAiC;AAExF,cAAM,OAAO,QAAQ;AACrB,cAAM,UAAU,IAAK,eAAA,SAAsB,WAAc,SAAS;AAElE,YAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AAE3C,gBAAM,WAAW,QAAQ,eAAe;AACxC,gBAAM,iBAAiB,EAAE,cAAc,QAAQ;AAC/C,gBAAM,kBAAkB,MAAM,QAAQ,YAC/B,CAAC,GAAU,MAAc,SAAS,MAAM,iBACxC,CAAC,EAAE,WAAkB,SAAS,SAAS;AAE9C,eAAK,SAAS,QAAQ,CAAC,OAAO,UAAS;AACnC,kBAAM,EAAE,gBAAS;AACjB,kBAAM,OAAO,gBAAgB,OAAO;AACpC,oBAAQ,SAAS,KAAK,WAAU,OAAA,OAAA,OAAA,OAAA,IAAM,OAAI,EAAE;;;AAIpD,eAAO;;AAGV,aAAO,KAAK,OAAA,MACR,IAAI,CAAC,MAAW,OAAA,KAAK,IACrB,OAAO,CAAC,MAAsB,OAAO,MAAM,YAAY,MAAM,OAAA,KAAK,MAClE,QAAQ,CAAC,WAAU;AAChB,cAAM,cAAc,cAAA,SAAsB,MAAM;AAChD,oBAAY,UAAU,YAAY,MAAA,SAAW,WAAW;;AAG/D,aAAA,YAAY,UAAkB,YAAY,MAAA,SAAW;;;;;;;;;;AC/EtD,UAAA,gBAAA;AACA,UAAA,yBAAA;AAQA,yBAAmB;QAAnB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;eAQJ,gBAAgB,IAA4B,KAAY;AAC3D,iBAAQ,QAAO,IAAI,UAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;eAQ9E,4BAA4B,IAA4B,KAAY;AACvE,aAAG,YAAY,GAAG,aAAa,cAAA,YAAY;AAC3C,iBAAQ,QAAO,IAAI,UAAU,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY;;QAMrF,UAAO;AACH,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAkB,KAAK,GAAI,UAAU,KAAK,SAAS,UAAW,uBAAuB,gBAAgB;;QAOhH,OAAO,KAAmC;AACtC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,uBAAuB,UAAU,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS,SAAS,KAAK,MAAO;;QAQ/H,aAAa,OAAe,KAAW;AACnC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,SAAS,OAAO,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMlH,qBAAkB;AACd,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAQlE,cAAc,OAAe,KAAW;AACpC,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,SAAS,OAAO,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMlH,sBAAmB;AACf,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;QAUlE,eAAe,OAAe,KAAqC;AAC/D,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAU,QAAO,IAAI,uBAAuB,YAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAO;;QAMhK,uBAAoB;AAChB,gBAAM,SAAS,KAAK,GAAI,SAAS,KAAK,QAAQ;AAC9C,iBAAO,SAAS,KAAK,GAAI,aAAa,KAAK,SAAS,UAAU;;eAM3D,YAAY,SAA4B;AAC3C,kBAAQ,YAAY;;eAOjB,WAAW,SAA8B,SAA+C;AAC3F,kBAAQ,cAAc,GAAG,SAAS,uBAAuB,gBAAgB;;eAOtE,UAAU,SAA8B,cAAgC;AAC3E,kBAAQ,eAAe,GAAG,cAAc;;eAOrC,gBAAgB,SAA8B,oBAAsC;AACvF,kBAAQ,eAAe,GAAG,oBAAoB;;eAO3C,wBAAwB,SAA8B,UAAgB;AACzE,kBAAQ,YAAY,IAAI,UAAU;;eAO/B,iBAAiB,SAA8B,qBAAuC;AACzF,kBAAQ,eAAe,GAAG,qBAAqB;;eAO5C,yBAAyB,SAA8B,UAAgB;AAC1E,kBAAQ,YAAY,IAAI,UAAU;;eAO/B,kBAAkB,SAA8B,sBAAwC;AAC3F,kBAAQ,eAAe,GAAG,sBAAsB;;eAQ7C,2BAA2B,SAA8B,MAA0B;AACtF,kBAAQ,YAAY,GAAG,KAAK,QAAQ;AACpC,mBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACvC,oBAAQ,UAAU,KAAK;;AAE3B,iBAAO,QAAQ;;eAOZ,0BAA0B,SAA8B,UAAgB;AAC3E,kBAAQ,YAAY,GAAG,UAAU;;eAO9B,UAAU,SAA4B;AACzC,gBAAM,SAAS,QAAQ;AACvB,iBAAO;;eAOJ,mBAAmB,SAA8B,QAA0B;AAC9E,kBAAQ,OAAO;;eAOZ,+BAA+B,SAA8B,QAA0B;AAC1F,kBAAQ,OAAO,QAAQ,QAAW;;eAG/B,aAAa,SAA8B,SAAiD,cAAkC,oBAAwC,qBAAyC,sBAAwC;AAC1P,iBAAO,YAAY;AACnB,iBAAO,WAAW,SAAS;AAC3B,iBAAO,UAAU,SAAS;AAC1B,iBAAO,gBAAgB,SAAS;AAChC,iBAAO,iBAAiB,SAAS;AACjC,iBAAO,kBAAkB,SAAS;AAClC,iBAAO,OAAO,UAAU;;;AA/NhC,eAAA,SAAA;AAqOA,wBAAkB;QAAlB,cAAA;AACI,eAAA,KAAoC;AAEpC,eAAA,SAAiB;;QAMjB,OAAO,GAAW,IAA0B;AACxC,eAAK,SAAS;AACd,eAAK,KAAK;AACV,iBAAO;;QAQX,SAAM;AACF,iBAAO,KAAK,GAAI,UAAU,KAAK;;QAQnC,iBAAc;AACV,iBAAO,KAAK,GAAI,UAAU,KAAK,SAAS;;QAS5C,aAAU;AACN,iBAAO,KAAK,GAAI,UAAU,KAAK,SAAS;;eAUrC,YAAY,SAA8B,QAA0B,gBAAwB,YAA4B;AAC3H,kBAAQ,KAAK,GAAG;AAChB,kBAAQ,WAAW;AACnB,kBAAQ,IAAI;AACZ,kBAAQ,WAAW;AACnB,kBAAQ,WAAW;AACnB,iBAAO,QAAQ;;;AAxDvB,eAAA,QAAA;;;;;;;;;;AC7NA,UAAA,SAAA;AAKA,UAAA,gBAAA;AAEA,UAAO,OAAO,cAAA,YAAY;AAC1B,UAAO,WAAU,cAAA,YAAY;AAC7B,UAAO,aAAa,cAAA,YAAY;AAEhC,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AAIA,0BAAa;QAwCT,YAAmB,QACA,UAA2B,OAAA,gBAAgB,IAClD,eAA6B,mBAA+B;AAFrD,eAAA,SAAA;AACA,eAAA,UAAA;AAEf,2BAAkB,MAAK,iBAAiB;AACxC,+BAAsB,MAAK,qBAAqB;;eAzCtC,OAAO,KAAyB;AAC1C,gBAAM,IAAI,WAAW,SAAA,aAAa;AAClC,gBAAM,SAAS,OAAA,OAAQ,gBAAgB;AACvC,gBAAM,SAAS,SAAA,OAAO,OAAO,OAAO;AACpC,iBAAO,IAAI,cAAc,QAAQ;;eAIvB,OAAO,QAAe;AAEhC,gBAAM,IAAa,IAAI;AACvB,gBAAM,eAAe,SAAA,OAAO,OAAO,GAAG,OAAO;AAE7C,iBAAA,OAAQ,yBAAyB,GAAG,OAAO;AAC3C,WAAC,GAAG,OAAO,iBAAiB,QAAQ,UAAU,QAAQ,CAAC,OAAO,UAAU,OAAO,GAAG;AAClF,gBAAM,sBAAsB,EAAE;AAE9B,iBAAA,OAAQ,wBAAwB,GAAG,OAAO;AAC1C,WAAC,GAAG,OAAO,qBAAqB,QAAQ,UAAU,QAAQ,CAAC,QAAO,UAAU,OAAO,GAAG;AAEtF,gBAAM,0BAA0B,EAAE;AAElC,iBAAA,OAAQ,YAAY;AACpB,iBAAA,OAAQ,UAAU,GAAG;AACrB,iBAAA,OAAQ,WAAW,GAAG,OAAA,gBAAgB;AACtC,iBAAA,OAAQ,iBAAiB,GAAG;AAC5B,iBAAA,OAAQ,gBAAgB,GAAG;AAC3B,iBAAA,OAAQ,mBAAmB,GAAG,OAAA,OAAQ,UAAU;AAEhD,iBAAO,EAAE;;YAKF,mBAAgB;AAAK,iBAAO,KAAK,eAAe;;YAChD,kBAAe;AAAK,iBAAO,KAAK,mBAAmB;;SAStD,gBAAa;AACjB,mBAAS,OAAO,IAAI,IAAI,IAAI,KAAK,kBAAkB,EAAE,IAAI,KAAI;AACzD,gBAAI,QAAQ,KAAK,eAAe,IAAI;AAAE,oBAAM;;;;SAI5C,oBAAiB;AACrB,mBAAS,OAAO,IAAI,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,KAAI;AACxD,gBAAI,QAAQ,KAAK,mBAAmB,IAAI;AAAE,oBAAM;;;;QAIjD,eAAe,OAAa;AAC/B,iBAAO,SAAS,KACT,QAAQ,KAAK,oBACb,KAAK,eAAe,UAAU;;QAGlC,mBAAmB,OAAa;AACnC,iBAAO,SAAS,KACT,QAAQ,KAAK,mBACb,KAAK,mBAAmB,UAAU;;;AAI7B,eAAA,SAAA;AAGpB,wCAA4B,QAAO;QAK/B,YAAY,QAA0B,SAAgB;AAClD,gBAAM,QAAQ,QAAQ;AADY,eAAA,UAAA;;YAH3B,mBAAgB;AAAK,iBAAO,KAAK,QAAQ;;YACzC,kBAAe;AAAK,iBAAO,KAAK,QAAQ;;QAM5C,eAAe,OAAa;AAC/B,cAAI,SAAS,KAAK,QAAQ,KAAK,kBAAkB;AAC7C,kBAAM,YAAY,KAAK,QAAQ,cAAc;AAC7C,gBAAI,WAAW;AAAE,qBAAO,UAAU,OAAO;;;AAE7C,iBAAO;;QAGJ,mBAAmB,OAAa;AACnC,cAAI,SAAS,KAAK,QAAQ,KAAK,iBAAiB;AAC5C,kBAAM,YAAY,KAAK,QAAQ,aAAa;AAC5C,gBAAI,WAAW;AAAE,qBAAO,UAAU,OAAO;;;AAE7C,iBAAO;;;AAKf,4BAAsB;QAmBlB,YAAY,gBAAwB,YAA2B,QAAqB;AAChF,eAAK,iBAAiB;AACtB,eAAK,SAAS,OAAO,WAAW,WAAW,SAAS,OAAO;AAC3D,eAAK,aAAa,OAAO,eAAe,WAAW,aAAa,WAAW;;eAnBjE,OAAO,OAAa;AAC9B,iBAAO,IAAI,UAAU,MAAM,kBAAkB,MAAM,cAAc,MAAM;;eAI7D,OAAO,GAAY,WAAoB;AACjD,gBAAM,EAAE,mBAAmB;AAC3B,gBAAM,SAAS,IAAI,KAAK,UAAU,QAAQ;AAC1C,gBAAM,aAAa,IAAI,KAAK,UAAU,YAAY;AAClD,iBAAO,OAAA,MAAO,YAAY,GAAG,QAAQ,gBAAgB;;;AAZ7D,eAAA,YAAA;;;;;;;;;;;ACzHA,UAAA,aAAA;AACA,UAAA,SAAA;AACA,UAAA,eAAA;AACA,UAAA,WAAA;AAEA,UAAA,WAAA;AAYA,0CAAiF,aAAA,WAAyB;QAC/F,MAAM,OAAwC;AACjD,cAAK,SAAQ,SAAA,aAAa,QAAQ,aAAa,GAAG;AAC9C,mBAAO,MAAM,MAAM;;;QAKpB,SAAS,OAAO,OAAK;AACxB,iBAAO,OACD,OAAA,WAAW,KAAK,aAAa,SAC7B,KAAK,aAAa,OAAO,KAAK,OAAA;;QAIjC,aAAa,OAAO,OAAK;AAC5B,iBAAO,OAAO,SAAA,gBAAgB,KAAK,SAAkB,KAAM,OAAW,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;;AAClE,kBAAM,UAAU;AAChB,gBAAI,aAAa;;AACjB,uBAA0B,KAAA,QAAA,cAAA,OAAI,IAAA,KAAA,MAAA,GAAA,QAAA,CAAA,GAAA,QAAA;AAAnB,sBAAM,QAAK,GAAA;AAClB,wBAAQ,KAAK;AACb,8BAAc,MAAM;;;;;;;;;;;;;AAExB,mBAAO,SAAA,gBAAgB,SAAS,YAAY;;;;AAvBxD,eAAA,iBAAA;AA6BA,8BAAuB;QAEnB,YAAY,QAA8D;AACtE,cAAI,QAAQ;AACR,iBAAK,SAAS,IAAI,iBAAiB,WAAA,QAAe,aAAa;;;SAGtE,OAAO,YAAS;AAAK,iBAAO;;QACtB,KAAK,OAAW;AAAI,iBAAO,KAAK,OAAO,KAAK;;QAC5C,MAAM,OAAW;AAAI,iBAAO,KAAK,OAAO,MAAM;;QAC9C,OAAO,OAAW;AAAI,iBAAO,KAAK,OAAO,OAAO;;QAChD,KAAK,MAAoB;AAAI,iBAAO,KAAK,OAAO,KAAK;;QACrD,KAAK,MAAoB;AAAI,iBAAO,KAAK,OAAO,KAAK;;;AAZhE,eAAA,aAAA;AAgBA,mCAA4B;QAExB,YAAY,QAA2L;AACnM,cAAI,kBAAkB,kBAAiB;AACnC,iBAAK,SAAU,OAA2B;qBACnC,kBAAkB,iBAAgB;AACzC,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,kBAAkB;qBAClE,SAAA,qBAAqB,SAAS;AACrC,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,eAAe;qBAC/D,SAAA,oBAA0C,SAAS;AAC1D,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,cAAc;qBAC9D,SAAA,gBAAgB,SAAS;AAChC,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,cAAc,OAAO;qBACrE,SAAA,WAAiC,SAAS;AACjD,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,aAAa;qBAC7D,SAAA,UAAgC,SAAS;AAChD,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,kBAAkB;qBAClE,SAAA,gBAAsC,SAAS;AACtD,iBAAK,SAAS,IAAI,sBAAsB,WAAA,QAAe,kBAAkB;;;SAGhF,OAAO,iBAAc;AAAK,iBAAO;;QAC3B,KAAK,OAAW;AAAI,iBAAO,KAAK,OAAO,KAAK;;QAC5C,MAAM,OAAW;AAAI,iBAAO,KAAK,OAAO,MAAM;;QAC9C,OAAO,OAAW;AAAI,iBAAO,KAAK,OAAO,OAAO;;YAC5C,SAAM;AAAoB,iBAAO,KAAK,OAAO;;QACjD,OAAO,QAAY;AAAI,iBAAO,KAAK,OAAO,OAAO;;QACjD,KAAK,MAAoB;AAAI,iBAAO,KAAK,OAAO,KAAK;;QACrD,KAAK,MAAoB;AAAI,iBAAO,KAAK,OAAO,KAAK;;;AA5BhE,eAAA,kBAAA;AAqCA,mCAAsB;QAClB,YAAsB,QAAmC;AAAnC,eAAA,SAAA;;QACf,OAAO,QAAY;AAAI,eAAK,OAAO;;QACnC,KAAK,MAAoB;AAAc,iBAAO,KAAK,KAAK,MAAM,QAAQ;;QACtE,KAAK,MAAoB;AAAc,iBAAO,KAAK,KAAK,MAAM,QAAQ;;QACtE,KAAK,MAAsB,MAAuB,QAAM;AAAI,iBAAO,KAAK,OAAO,KAAK,EAAE,KAAK;;QAC3F,MAAM,OAAW;AAAI,iBAAO,OAAO,OAAQ,KAAK,OAAO,SAAS,KAAK,OAAO,MAAM,UAAW,aAAA;;QAC7F,OAAO,OAAW;AAAI,iBAAO,OAAO,OAAQ,KAAK,OAAO,UAAU,KAAK,OAAO,OAAO,UAAW,aAAA;;;AAI3G,wCAA2B;QAIvB,YAAuB,QAAsE;AAAtE,eAAA,SAAA;AACnB,eAAK,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,wBAAwB;;QAE7D,OAAO,QAAY;;AAAI,kBAAM,KAAK,OAAO;;;YAC3C,SAAM;AAAoB,iBAAO,KAAK;;QACpC,KAAK,MAAoB;;AAAuB,mBAAQ,OAAM,KAAK,KAAK,MAAM,SAAS;;;QACvF,KAAK,MAAoB;;AAAuB,mBAAQ,OAAM,KAAK,KAAK,MAAM,SAAS;;;QACvF,KAAK,MAAsB,MAAuB,QAAM;;AAAI,mBAAQ,MAAM,KAAK,OAAO,KAAK,EAAE,KAAK;;;QAClG,MAAM,OAAW;;AAC1B,kBAAM,SAAU,KAAK,OAAO,SAAS,OAAM,KAAK,OAAO,MAAM,WAAW,aAAA;AACxE,iBAAK,yBAAyB,KAAK;AACnC,iBAAK,wBAAwB;AAC7B,mBAAO,OAAO,OAAO;;;QAEZ,OAAO,OAAW;;AAC3B,kBAAM,SAAU,KAAK,OAAO,UAAU,OAAM,KAAK,OAAO,OAAO,WAAW,aAAA;AAC1E,iBAAK,yBAAyB,KAAK;AACnC,iBAAK,wBAAwB;AAC7B,mBAAO,OAAO,OAAO;;;;;;;;;;;;;;ACnI7B,UAAA,WAAA;AACA,UAAA,WAAA;AAGA,2CAAsC,SAAA,WAAU;QAI5C,YAAY,QAA8B,YAAmB;AACzD;AAHG,eAAA,WAAW;AAId,eAAK,SAAS,SAAA,aAAa;AAC3B,eAAK,OAAO,OAAO,eAAe,cAAc,KAAK,OAAO,aAAa;;QAEtE,UAAU,UAAgB;AAC7B,gBAAM,EAAE,QAAQ,eAAe,KAAK,OAAO,UAAU;AACrD,iBAAO,IAAI,SAAS,QAAQ,YAAY,SAAS,GAAG;;QAEjD,KAAK,UAAgB;AACxB,eAAK,WAAW,KAAK,IAAI,UAAU,KAAK;AACxC,iBAAO,WAAW,KAAK;;QAEpB,KAAK,QAAsB;AAC9B,gBAAM,EAAE,QAAQ,MAAM,aAAa;AACnC,cAAI,UAAU,WAAW,MAAM;AAC3B,gBAAI,OAAO,WAAW,UAAU;AAAE,uBAAS;;AAC3C,iBAAK,WAAW,KAAK,IAAI,MACpB,WAAW,KAAK,IAAI,OAAO,UAAU;AAC1C,mBAAO,OAAO,SAAS,UAAU,KAAK;;AAE1C,iBAAO;;QAEJ,OAAO,UAAkB,QAAc;AAC1C,gBAAM,MAAM,KAAK;AACjB,gBAAM,MAAM,KAAK,IAAI,KAAK,MAAM,WAAW;AAC3C,iBAAO,MAAM,IAAI,SAAS,UAAU,OAAO,IAAI,WAAW;;QAEvD,QAAK;AAAK,eAAK,UAAW,MAAK,SAAS;;QACxC,MAAM,OAAW;AAAI,eAAK;AAAS,iBAAO,EAAE,MAAM,MAAM;;QACxD,OAAO,OAAW;AAAI,eAAK;AAAS,iBAAO,EAAE,MAAM,MAAM;;;AAlCpE,eAAA,mBAAA;AAsCA,gDAA2C,SAAA,gBAAe;QAKtD,YAAY,MAAkB,YAAmB;AAC7C;AAJG,eAAA,WAAW;AAKd,eAAK,UAAU;AACf,cAAI,OAAO,eAAe,UAAU;AAChC,iBAAK,OAAO;iBACT;AACH,iBAAK,WAAY,OAAW,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;AACxB,mBAAK,OAAQ,OAAM,KAAK,QAAQ;AAChC,qBAAO,KAAK;;;;QAIX,UAAU,UAAgB;;AACnC,kBAAM,EAAE,QAAQ,eAAe,MAAM,KAAK,OAAO,UAAU;AAC3D,mBAAO,IAAI,SAAS,QAAQ,YAAY,SAAS,GAAG;;;QAE3C,KAAK,UAAgB;;AAC9B,iBAAK,YAAY,OAAM,KAAK;AAC5B,iBAAK,WAAW,KAAK,IAAI,UAAU,KAAK;AACxC,mBAAO,WAAW,KAAK;;;QAEd,KAAK,QAAsB;;AACpC,iBAAK,YAAY,OAAM,KAAK;AAC5B,kBAAM,EAAE,SAAS,MAAM,MAAM,aAAa;AAC1C,gBAAI,QAAQ,WAAW,MAAM;AACzB,kBAAI,OAAO,WAAW,UAAU;AAAE,yBAAS;;AAC3C,kBAAI,MAAM,UAAU,SAAS,GAAG,YAAY;AAC5C,oBAAM,MAAM,KAAK,IAAI,MAAM,MAAM,KAAK,IAAI,OAAO,KAAK;AACtD,oBAAM,SAAS,IAAI,WAAW,KAAK,IAAI,GAAI,MAAK,WAAW,OAAO;AAClE,qBAAQ,QAAO,aAAa,OAAQ,WAAU,aAAa,OAAO,YAAY;AAC1E,gBAAC,GAAE,cAAc,MAAM,KAAK,KAAK,QAAQ,QAAQ,OAAO,aAAa,QAAQ;;AAEjF,qBAAO;;AAEX,mBAAO;;;QAEE,OAAO,UAAkB,QAAc;;AAChD,iBAAK,YAAY,OAAM,KAAK;AAC5B,kBAAM,EAAE,SAAS,MAAM,SAAS;AAChC,gBAAI,QAAS,WAAW,SAAU,MAAM;AACpC,oBAAM,MAAM,KAAK,IAAI,MAAM,WAAW;AACtC,oBAAM,SAAS,IAAI,WAAW,MAAM;AACpC,qBAAQ,OAAM,KAAK,KAAK,QAAQ,GAAG,QAAQ,WAAW;;AAE1D,mBAAO,IAAI,WAAW;;;QAEb,QAAK;;AAAK,kBAAM,IAAI,KAAK;AAAS,iBAAK,UAAU;AAAM,iBAAK,OAAM,EAAE;;;QACpE,MAAM,OAAW;;AAAI,kBAAM,KAAK;AAAS,mBAAO,EAAE,MAAM,MAAM;;;QAC9D,OAAO,OAAW;;AAAI,kBAAM,KAAK;AAAS,mBAAO,EAAE,MAAM,MAAM;;;;AArDhF,eAAA,wBAAA;;;;;;;;;;AC1CA,UAAM,aAAa,KAAK;AAGxB,wBAAkB,OAAa;AAC3B,YAAI,QAAQ,GAAG;AACX,kBAAQ,aAAa,QAAQ;;AAEjC,eAAO,KAAK,MAAM,SAAS;;AAI/B,UAAM,sBAAsB;AAE5B,UAAM,eAAe;QAAC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;AAGtB,4BAAsB;QAClB,YAAuB,QAAmB;AAAnB,eAAA,SAAA;;QAEhB,OAAI;AAAa,iBAAO,KAAK,OAAO;;QACpC,MAAG;AAAc,iBAAO,KAAK,OAAO;;QAEjC,OAAO,OAAgB;AAG7B,gBAAM,IAAI,IAAI,YAAY;YACtB,KAAK,OAAO,OAAO;YACnB,KAAK,OAAO,KAAK;YACjB,KAAK,OAAO,OAAO;YACnB,KAAK,OAAO,KAAK;;AAGrB,gBAAM,IAAI,IAAI,YAAY;YACtB,MAAM,OAAO,OAAO;YACpB,MAAM,OAAO,KAAK;YAClB,MAAM,OAAO,OAAO;YACpB,MAAM,OAAO,KAAK;;AAGtB,cAAI,UAAU,EAAE,KAAK,EAAE;AACvB,eAAK,OAAO,KAAK,UAAU;AAE3B,cAAI,MAAM,YAAY;AAEtB,oBAAU,EAAE,KAAK,EAAE;AACnB,iBAAO;AAEP,oBAAW,EAAE,KAAK,EAAE,OAAQ;AAC5B,iBAAO;AAEP,eAAK,OAAO,MAAM,OAAO;AAEzB,eAAK,OAAO,KAAM,QAAQ,IAAI,UAAU,aAAa;AAErD,eAAK,OAAO,MAAM,QAAQ;AAC1B,eAAK,OAAO,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AACvD,eAAK,OAAO,MAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAO;AAE7E,iBAAO;;QAGD,MAAM,OAAgB;AAC5B,gBAAM,MAAO,KAAK,OAAO,KAAK,MAAM,OAAO,OAAQ;AACnD,eAAK,OAAO,MAAM,MAAM,OAAO;AAC/B,cAAI,MAAO,KAAK,OAAO,OAAO,GAAI;AAChC,cAAE,KAAK,OAAO;;AAEhB,eAAK,OAAO,KAAK;;QAGd,SAAS,OAAgB;AAC5B,iBAAO,KAAK,OAAO,KAAK,MAAM,OAAO,MAChC,KAAK,OAAO,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,KAAK,MAAM,OAAO;;QAGtE,OAAO,OAAgB;AAC1B,iBAAO,KAAK,OAAO,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,MAAM,MAAM,OAAO;;QAGzE,YAAY,OAAgB;AAC/B,iBAAO,MAAM,SAAS;;QAGnB,MAAG;AACN,iBAAO,GAAG,SAAS,KAAK,OAAO,OAAO,SAAS,KAAK,OAAO;;;AApEnE,eAAA,YAAA;AAyEA,kCAA4B,UAAS;QAC1B,MAAM,OAAa;AACtB,eAAK,OAAO;AACZ,iBAAO;;QAGJ,KAAK,OAAa;AACrB,eAAK,MAAM;AACX,iBAAO;;eAIG,KAAK,KAAU,aAAa,IAAI,YAAY,IAAE;AACxD,iBAAO,QAAO,WACV,OAAO,QAAS,WAAW,MAAM,IAAI,YACrC;;eAKM,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AAOjE,iBAAO,QAAO,WAAW,IAAI,YAAY;;eAI/B,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AACjE,gBAAM,SAAS,IAAI;AAEnB,gBAAM,MAAM,IAAI,QAAO;AACvB,mBAAS,OAAO,GAAG,OAAO,UAAS;AAC/B,kBAAM,QAAQ,sBAAsB,SAAS,OAC/B,sBAAsB,SAAS;AAC7C,kBAAM,QAAQ,IAAI,QAAO,IAAI,YAAY,CAAC,SAAS,IAAI,OAAO,MAAM,QAAQ,KAAK;AACjF,kBAAM,WAAW,IAAI,QAAO,IAAI,YAAY,CAAC,aAAa,QAAQ;AAElE,gBAAI,MAAM;AACV,gBAAI,KAAK;AAET,oBAAQ;;AAGZ,iBAAO;;eAIG,aAAa,QAAyB;AAChD,gBAAM,OAAO,IAAI,YAAY,OAAO,SAAS;AAC7C,mBAAS,IAAI,IAAI,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC1C,oBAAO,KAAK,OAAO,IAAI,IAAI,YAAY,KAAK,QAAQ,KAAK,aAAa,IAAI,IAAI,GAAG;;AAErF,iBAAO;;eAIG,SAAS,MAAc,OAAa;AAC9C,gBAAM,OAAO,IAAI,QAAO,IAAI,YAAY,KAAK;AAC7C,iBAAO,KAAK,MAAM;;eAIR,IAAI,MAAc,OAAa;AACzC,gBAAM,OAAO,IAAI,QAAO,IAAI,YAAY,KAAK;AAC7C,iBAAO,KAAK,KAAK;;;AApEzB,eAAA,SAAA;AAyEA,iCAA2B,UAAS;QACzB,SAAM;AACT,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO,KAAK;AACnC,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO;AAE9B,cAAI,KAAK,OAAO,MAAM,GAAG;AAAE,cAAE,KAAK,OAAO;;AACzC,iBAAO;;QAGJ,MAAM,OAAY;AACrB,eAAK,OAAO;AACZ,iBAAO;;QAGJ,KAAK,OAAY;AACpB,eAAK,MAAM;AACX,iBAAO;;QAGJ,SAAS,OAAY;AAExB,gBAAM,YAAY,KAAK,OAAO,MAAM;AACpC,gBAAM,aAAa,MAAM,OAAO,MAAM;AACtC,iBAAO,YAAY,cACd,cAAc,cAAc,KAAK,OAAO,KAAK,MAAM,OAAO;;eAIrD,KAAK,KAAU,aAAa,IAAI,YAAY,IAAE;AACxD,iBAAO,OAAM,WACT,OAAO,QAAS,WAAW,MAAM,IAAI,YACrC;;eAKM,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AAOjE,iBAAO,OAAM,WAAW,IAAI,YAAY;;eAI9B,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AAEjE,gBAAM,SAAS,IAAI,WAAW;AAC9B,gBAAM,SAAS,IAAI;AAEnB,gBAAM,MAAM,IAAI,OAAM;AACtB,mBAAS,OAAO,SAAS,IAAI,GAAG,OAAO,UAAS;AAC5C,kBAAM,QAAQ,sBAAsB,SAAS,OAC/B,sBAAsB,SAAS;AAC7C,kBAAM,QAAQ,IAAI,OAAM,IAAI,YAAY,CAAC,SAAS,IAAI,OAAO,MAAM,QAAQ,KAAK;AAChF,kBAAM,WAAW,IAAI,OAAM,IAAI,YAAY,CAAC,aAAa,QAAQ;AAEjE,gBAAI,MAAM;AACV,gBAAI,KAAK;AAET,oBAAQ;;AAEZ,iBAAO,SAAS,IAAI,WAAW;;eAIrB,aAAa,QAAyB;AAChD,gBAAM,OAAO,IAAI,YAAY,OAAO,SAAS;AAC7C,mBAAS,IAAI,IAAI,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC1C,mBAAM,KAAK,OAAO,IAAI,IAAI,YAAY,KAAK,QAAQ,KAAK,aAAa,IAAI,IAAI,GAAG;;AAEpF,iBAAO;;eAIG,SAAS,MAAa,OAAY;AAC5C,gBAAM,OAAO,IAAI,OAAM,IAAI,YAAY,KAAK;AAC5C,iBAAO,KAAK,MAAM;;eAIR,IAAI,MAAa,OAAY;AACvC,gBAAM,OAAO,IAAI,OAAM,IAAI,YAAY,KAAK;AAC5C,iBAAO,KAAK,KAAK;;;AArFzB,eAAA,QAAA;AA0FA,yBAAmB;QACf,YAAqB,QAAmB;AAAnB,eAAA,SAAA;;QAOd,OAAI;AACP,iBAAO,IAAI,OAAM,IAAI,YAAY,KAAK,OAAO,QAAQ,KAAK,OAAO,aAAa,GAAG;;QAG9E,MAAG;AACN,iBAAO,IAAI,OAAM,IAAI,YAAY,KAAK,OAAO,QAAQ,KAAK,OAAO,YAAY;;QAG1E,SAAM;AACT,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO,KAAK;AACnC,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO;AAC9B,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO;AAC9B,eAAK,OAAO,KAAK,CAAC,KAAK,OAAO;AAE9B,cAAI,KAAK,OAAO,MAAM,GAAG;AAAE,cAAE,KAAK,OAAO;;AACzC,cAAI,KAAK,OAAO,MAAM,GAAG;AAAE,cAAE,KAAK,OAAO;;AACzC,cAAI,KAAK,OAAO,MAAM,GAAG;AAAE,cAAE,KAAK,OAAO;;AACzC,iBAAO;;QAGJ,MAAM,OAAa;AAGtB,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,KAAK,OAAO,IAAK;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,KAAK,OAAO,IAAK;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,KAAK,OAAO,IAAK;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,KAAK,OAAO,IAAK;AAExD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,MAAM,OAAO,IAAI;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,MAAM,OAAO,IAAI;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,MAAM,OAAO,IAAI;AACxD,gBAAM,KAAK,IAAI,QAAO,IAAI,YAAY,CAAC,MAAM,OAAO,IAAI;AAExD,cAAI,UAAU,QAAO,SAAS,IAAI;AAClC,eAAK,OAAO,KAAK,QAAQ;AAEzB,gBAAM,MAAM,IAAI,QAAO,IAAI,YAAY,CAAC,QAAQ,QAAQ;AAExD,oBAAU,QAAO,SAAS,IAAI;AAC9B,cAAI,KAAK;AAET,oBAAU,QAAO,SAAS,IAAI;AAC9B,cAAI,KAAK;AAET,eAAK,OAAO,KAAK,IAAI;AAErB,eAAK,OAAO,KAAM,IAAI,SAAS,WAAW,IAAI;AAE9C,eAAK,OAAO,KAAK,IAAI;AACrB,gBAAM,OAAO,IAAI,QAAO,IAAI,YAAY,KAAK,OAAO,QAAQ,KAAK,OAAO,aAAa,GAAG;AAExF,eAAK,KAAK,QAAO,SAAS,IAAI,KACzB,KAAK,QAAO,SAAS,IAAI,KACzB,KAAK,QAAO,SAAS,IAAI;AAC9B,eAAK,OAAO,MAAM,QAAO,SAAS,IAAI,IACrB,KAAK,QAAO,SAAS,IAAI,KACzB,KAAK,QAAO,SAAS,IAAI,KACzB,KAAK,QAAO,SAAS,IAAI,KAAK;AAE/C,iBAAO;;QAGJ,KAAK,OAAa;AACrB,gBAAM,OAAO,IAAI,YAAY;AAC7B,eAAK,KAAM,KAAK,OAAO,KAAK,MAAM,OAAO,OAAQ;AACjD,eAAK,KAAM,KAAK,OAAO,KAAK,MAAM,OAAO,OAAQ;AACjD,eAAK,KAAM,KAAK,OAAO,KAAK,MAAM,OAAO,OAAQ;AACjD,eAAK,KAAM,KAAK,OAAO,KAAK,MAAM,OAAO,OAAQ;AAEjD,cAAI,KAAK,KAAM,KAAK,OAAO,OAAO,GAAI;AAClC,cAAE,KAAK;;AAEX,cAAI,KAAK,KAAM,KAAK,OAAO,OAAO,GAAI;AAClC,cAAE,KAAK;;AAEX,cAAI,KAAK,KAAM,KAAK,OAAO,OAAO,GAAI;AAClC,cAAE,KAAK;;AAGX,eAAK,OAAO,KAAK,KAAK;AACtB,eAAK,OAAO,KAAK,KAAK;AACtB,eAAK,OAAO,KAAK,KAAK;AACtB,eAAK,OAAO,KAAK,KAAK;AAEtB,iBAAO;;QAGJ,MAAG;AACN,iBAAO,GAAG,SAAS,KAAK,OAAO,OAAO,SAAS,KAAK,OAAO,OAAO,SAAS,KAAK,OAAO,OAAO,SAAS,KAAK,OAAO;;eAIzG,SAAS,MAAc,OAAa;AAC9C,gBAAM,OAAO,IAAI,OAAO,IAAI,YAAY,KAAK;AAC7C,iBAAO,KAAK,MAAM;;eAIR,IAAI,MAAc,OAAa;AACzC,gBAAM,OAAO,IAAI,OAAO,IAAI,YAAY,KAAK;AAC7C,iBAAO,KAAK,KAAK;;eAIP,KAAK,KAAU,aAAa,IAAI,YAAY,IAAE;AACxD,iBAAO,OAAO,WACV,OAAO,QAAS,WAAW,MAAM,IAAI,YACrC;;eAKM,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AAOjE,iBAAO,OAAO,WAAW,IAAI,YAAY;;eAI/B,WAAW,KAAa,aAAa,IAAI,YAAY,IAAE;AAEjE,gBAAM,SAAS,IAAI,WAAW;AAC9B,gBAAM,SAAS,IAAI;AAEnB,gBAAM,MAAM,IAAI,OAAO;AACvB,mBAAS,OAAO,SAAS,IAAI,GAAG,OAAO,UAAS;AAC5C,kBAAM,QAAQ,sBAAsB,SAAS,OAC/B,sBAAsB,SAAS;AAC7C,kBAAM,QAAQ,IAAI,OAAO,IAAI,YAAY,CAAC,SAAS,IAAI,OAAO,MAAM,QAAQ,KAAK,GAAG,GAAG;AACvF,kBAAM,WAAW,IAAI,OAAO,IAAI,YAAY,CAAC,aAAa,QAAQ,GAAG,GAAG;AAExE,gBAAI,MAAM;AACV,gBAAI,KAAK;AAET,oBAAQ;;AAGZ,iBAAO,SAAS,IAAI,WAAW;;eAIrB,aAAa,QAAyB;AAEhD,gBAAM,OAAO,IAAI,YAAY,OAAO,SAAS;AAC7C,mBAAS,IAAI,IAAI,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC1C,mBAAO,KAAK,OAAO,IAAI,IAAI,YAAY,KAAK,QAAQ,KAAK,aAAa,IAAI,IAAI,GAAG;;AAErF,iBAAO;;;AA/Jf,eAAA,SAAA;;;;;;;;;;ACrQA,UAAA,SAAA;AAEA,UAAA,WAAA;AAEA,UAAA,SAAA;AACA,UAAA,YAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AAUA,uCAAkC,UAAA,QAAO;QAOrC,YAAY,OAAmB,OAAoB,SAAyB,cAAsC;AAC9G;AALI,eAAA,aAAa;AAEb,eAAA,eAAe;AAInB,eAAK,QAAQ;AACb,eAAK,QAAQ;AACb,eAAK,UAAU;AACf,eAAK,eAAe;;QAGjB,MAA0B,MAAkB;AAC/C,iBAAO,MAAM,MAAM,gBAAgB,SAAA,QAAQ,KAAK,OAAO;;QAGpD,UAAuD,MAAS,EAAE,WAAsB,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG;;QACrJ,UAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,SAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAmB,OAAA,KAAK,IAAI,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,WAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAiB,OAAA,KAAK,MAAM,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,UAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,SAAS;;QACpP,YAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAgB,OAAA,KAAK,OAAO,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,SAAS;;QACpP,qBAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAO,OAAA,KAAK,gBAAgB,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,UAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,eAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAa,OAAA,KAAK,UAAU,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,UAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,aAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAe,OAAA,KAAK,QAAQ,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,UAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAkB,OAAA,KAAK,KAAK,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,MAAM,KAAK,SAAS;;QAC/P,YAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAgB,OAAA,KAAK,OAAO,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,UAAU,KAAK;;QAClO,WAAuD,MAAO;AAAkD,iBAAO,KAAK,SAAS,OAAA,UAAU,SAAS,KAAK,iBAAiB,QAA4B,KAAK,gBAAgB;;QAC/N,gBAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAiB,OAAA,KAAK,MAAM,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU,KAAK;;QAClR,iBAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAiB,OAAA,KAAK,MAAM,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,UAAU,KAAK;;QAC1P,gBAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAY,OAAA,KAAK,WAAW,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS,KAAK,UAAU,KAAK,eAAe;;QAC/P,cAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAc,OAAA,KAAK,SAAS,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,SAAS;;QAC5N,mBAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAS,OAAA,KAAK,cAAc,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,MAAM,KAAK,SAAS;;QACvO,SAAuD,MAAS,EAAE,QAAQ,cAAc,KAAK,iBAAe;AAAI,iBAAmB,OAAA,KAAK,IAAI,MAAM,GAAG,QAAQ,WAAW,KAAK,eAAe,MAAM,YAAY,KAAK,YAAY,OAAO,KAAK,MAAM,KAAK,SAAS;;QAE5P,gBAAa;AAAK,iBAAO,KAAK,MAAM,EAAE,KAAK;;QAC3C,kBAAe;AAAK,iBAAO,KAAK,QAAQ,EAAE,KAAK;;QAC/C,eAAmC,MAAS,WAAmB,SAAS,KAAK,mBAAiB;AACpG,iBAAO,YAAY,KAAK,KAAK,SAAS,MAAM,WAAW,IAAI,WAAW;;QAEhE,YAAgC,MAAS,QAAqB;AAAI,iBAAO,KAAK,SAAS,MAAM;;QAC7F,YAAgC,MAAS,QAAqB;AAAI,iBAAO,KAAK,SAAS,MAAM;;QAC7F,SAA6B,OAAU,EAAE,QAAQ,WAAW,KAAK,mBAAiB;AACxF,iBAAO,KAAK,MAAM,SAAS,QAAQ,SAAS;;QAEtC,eAA0C,MAAO;AACvD,iBAAO,KAAK,aAAa,IAAI,KAAK;;;AAnD1C,eAAA,eAAA;AAwDA,2CAAsC,aAAY;QAE9C,YAAY,SAAkB,OAAoB,SAAyB,cAAsC;AAC7G,gBAAM,IAAI,WAAW,IAAI,OAAO,SAAS;AACzC,eAAK,UAAU;;QAET,eAAmC,OAAU,WAAmB,EAAE,WAAW,KAAK,mBAAiB;AACzG,iBAAO,aAAa,IAAI,IAAI,WAAW,KAAK,MAAA,UAAU,KAAK,QAAQ;;QAE7D,YAAgC,OAAU,EAAE,WAAW,KAAK,mBAAiB;AACnF,iBAAO,SAAA,kBAAkB,YAAY,SAAA,kBAAkB,YAAY,KAAK,QAAQ;;QAE1E,YAAgC,MAAS,EAAE,WAAW,KAAK,mBAAiB;AAClF,iBAAO,SAAA,kBAAkB,YAAY,SAAA,kBAAkB,KAAK,WAAW,KAAK,QAAQ;;QAE9E,SAA6B,MAAS,EAAE,WAAW,KAAK,mBAAiB;AAC/E,gBAAM,EAAE,YAAY;AACpB,cAAI,OAAA,SAAS,YAAY,OAAO;AAC5B,mBAAO,SAAA,kBAAkB,YAAY,MAAA,MAAM,aAAa,QAAQ;qBACxD,QAAA,SAAS,MAAM,SAAS,OAAA,SAAS,OAAO,UAAU,KAAK,aAAa,IAAI;AAChF,mBAAO,SAAA,kBAAkB,YAAY,MAAA,MAAM,aAAa,QAAQ;qBACzD,OAAA,SAAS,OAAO,SAAS,KAAK,SAAS,OAAA,SAAS,aAAa;AACpE,mBAAO,SAAA,kBAAkB,YAAY,MAAA,MAAM,aAAa,QAAQ;qBACzD,OAAA,SAAS,UAAU,OAAO;AACjC,mBAAO,SAAA,kBAAkB,YAAY,MAAA,OAAO,aAAa,QAAQ;qBAC1D,OAAA,SAAS,SAAS,SAAS,OAAA,SAAS,kBAAkB,OAAO;AACpE,mBAAO,mBAAmB,QAAQ;qBAC3B,OAAA,SAAS,OAAO,OAAO;AAC9B,mBAAO,MAAA,UAAU,QAAQ;qBAClB,OAAA,SAAS,OAAO,OAAO;AAC9B,mBAAO,OAAA,WAAY,QAAQ,QAAqB,KAAK;;AAEzD,iBAAO,SAAA,kBAAkB,YAAY,SAAA,kBAAkB,KAAK,WAAW,QAAQ,QAAQ,IAAI,CAAC,MAAM,CAAC;;;AAhC3G,eAAA,mBAAA;AAqCA,kCAA4B,QAAgB;AAIxC,cAAM,SAAS,OAAO,KAAK;AAC3B,cAAM,OAAO,IAAI,WAAW,OAAO,SAAS;AAC5C,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AACvC,eAAK,KAAK,KAAK,SAAS,OAAO,OAAO,GAAG,IAAI;;AAEjD,eAAO;;;;;;;;;;;ACxHX,UAAA,WAAA;AAGe,UAAM,UAAU,OAAO,IAAI;AAC3B,UAAM,YAAY,OAAO,IAAI;AAC7B,UAAM,YAAY,OAAO,IAAI;AAC7B,UAAM,YAAY,OAAO,IAAI;AAC7B,UAAM,iBAAiB,OAAO,IAAI;AAEjD,sBAAkB;QAUd,YAAY,QAAwB,SAAe;AAC/C,eAAK,WAAW;AAChB,eAAK,OAAO;;QAUT,UAAO;AAAK,iBAAO,KAAK,OAAO;;QAE/B,IAAI,KAAM;AAAI,iBAAO,KAAK,IAAI,SAAS;;QAEvC,IAAI,KAAM;AACb,cAAI,MAAM;AACV,cAAI,OAAO,MAAM;AACb,kBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,oBAAI;AACvD,gBAAI,MAAM,KAAK,IAAI;AACnB,gBAAI,QAAQ,QAAW;AACnB,oBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,IAAI,MAAM,KAAK;AAClE,cAAE,OAAM,KAAK,UAAU,UAAe,MAAK,OAAO,MAAM,KAAK,SAAS;uBAC9D,OAAM,KAAK,SAAS,QAAQ,IAAI;AACxC,mBAAK,IAAI,KAAK;AACd,oBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,IAAI,MAAM,KAAK;AAClE,cAAE,OAAM,KAAK,UAAU,UAAe,MAAK,OAAO,MAAM,KAAK,SAAS;;;AAG9E,iBAAO;;QAGJ,IAAI,KAAQ,KAAM;AACrB,cAAI,OAAO,MAAM;AACb,kBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,oBAAI;AACvD,gBAAI,MAAM,KAAK,IAAI;AACnB,gBAAI,QAAQ,QAAW;AACnB,mBAAK,IAAI,KAAK,MAAM,KAAK,SAAS;;AAEtC,gBAAI,MAAM,IAAI;AACV,oBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,IAAI,MAAM,KAAK;AAClE,mBAAK,OAAa,KAAK,SAAS,KAAK;;;AAG7C,iBAAO;;QAGJ,QAAK;AAAW,gBAAM,IAAI,MAAM,YAAY,KAAK,OAAO;;QAExD,OAAO,GAAI;AAAa,gBAAM,IAAI,MAAM,YAAY,KAAK,OAAO;;UAE9D,OAAO,YAAS;AAErB,gBAAM,KAAK,KAAK;AAChB,gBAAM,KAAK,KAAK;AAChB,gBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,oBAAI;AACvD,gBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,IAAI,MAAM,KAAK;AAElE,mBAAS,GAAM,GAAM,IAAI,GAAG,IAAuB,IAC/C,CAAG,OAAK,GAAG,QAAQ,QAAS,MAAK,GAAG,QAAQ,OAC5C,EAAE,GACJ;AACE,gBAAI,GAAG;AACP,gBAAI,GAAG;AACP,iBAAK,KAAK;AACV,iBAAK,IAAI,MAAM,KAAK,IAAI,GAAG;AAC3B,kBAAM,CAAC,GAAG;;;QAIX,QAAQ,YAAwD,SAAa;AAEhF,gBAAM,KAAK,KAAK;AAChB,gBAAM,KAAK,KAAK;AAChB,gBAAM,WAAW,YAAY,SAAY,aACrC,CAAC,GAAM,GAAM,MAAiB,WAAW,KAAK,SAAS,GAAG,GAAG;AACjE,gBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,oBAAI;AACvD,gBAAM,OAAO,KAAK,cAAe,MAAK,aAAa,IAAI,MAAM,KAAK;AAElE,mBAAS,GAAM,GAAM,IAAI,GAAG,IAAuB,IAC/C,CAAG,OAAK,GAAG,QAAQ,QAAS,MAAK,GAAG,QAAQ,OAC5C,EAAE,GACJ;AACE,gBAAI,GAAG;AACP,gBAAI,GAAG;AACP,iBAAK,KAAK;AACV,iBAAK,IAAI,MAAM,KAAK,IAAI,GAAG;AAC3B,qBAAS,GAAG,GAAG;;;QAIhB,UAAO;AAAK,iBAAO,CAAC,GAAG,KAAK;;QAC5B,SAAM;AACT,gBAAM,MAAM;AACZ,eAAK,QAAQ,CAAC,KAAK,QAAQ,IAAI,OAAO;AACtC,iBAAO;;QAGJ,UAAO;AAAK,iBAAO,KAAK;;SACvB,kBAAe;AAAK,iBAAO,KAAK;;QACjC,WAAQ;AACX,gBAAM,MAAgB;AACtB,eAAK,QAAQ,CAAC,KAAK,QAAO;AACtB,kBAAM,SAAA,cAAc;AACpB,kBAAM,SAAA,cAAc;AACpB,gBAAI,KAAK,GAAG,QAAQ;;AAExB,iBAAO,KAAK,IAAI,KAAK;;;AAGR,UAAC,OAAO,eAAgB,EAAC,UAAc;AACpD,eAAO,iBAAiB,OAAO;UAC3B,QAAQ,EAAE,UAAU,MAAM,YAAY,OAAO,cAAc,OAAO,OAAO;WACxE,UAAU,EAAE,UAAU,MAAM,YAAY,OAAO,cAAc,OAAO,OAAO;WAC3E,YAAY,EAAE,UAAU,MAAM,YAAY,OAAO,cAAc,OAAO,OAAO;;AAElF,eAAQ,MAAc,OAAO,eAAe;SAC7C,IAAI;AAGX,iCAAgF,IAAoC;QAChH,YAAY,OAA2C;AACnD,gBAAM,OAAO,MAAM;AACnB,iBAAO,eAAe;;QAEnB,OAAI;AACP,iBAAO,KAAK,SAAS,WAAW,GAAI,OAAO;;QAExC,SAAM;AACT,iBAAO,KAAK,SAAS,WAAW,GAAI,OAAO;;QAExC,OAAO,KAAW;AACrB,iBAAO,KAAK,SAAS,WAAW,GAAI,IAAI;;QAErC,SAAS,KAAgB;AAC5B,iBAAO,KAAK,SAAS,WAAW,GAAI,QAAQ;;QAEzC,SAAS,OAAa;AACzB,iBAAO,KAAK,SAAS,WAAW,GAAI,IAAI;;QAErC,SAAS,OAAe,OAAyB;AACpD,eAAK,SAAS,WAAW,GAAI,IAAI,OAAO;;;AArBhD,eAAA,SAAA;AAyBA,oCAA4E,IAAyC;QACjH,YAAY,QAAuB;AAC/B,gBAAM,QAAQ,OAAO,KAAK,SAAS;AACnC,iBAAO,yBAAyB;;SAE5B,OAAI;AACR,qBAAW,SAAS,KAAK,SAAS,KAAK,UAAU;AAC7C,kBAAM,MAAM;;;SAGZ,SAAM;AACV,qBAAW,SAAS,KAAK,SAAS,KAAK,UAAU;AAC7C,kBAAO,KAAoB,MAAM;;;QAGlC,OAAO,KAAW;AACrB,iBAAO,KAAK,SAAS,KAAK,SAAS,KAAK;;QAErC,SAAS,KAAY;AACxB,iBAAO,KAAK,SAAS,KAAK,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS;;QAE5D,SAAS,OAAa;AACzB,iBAAO,KAAK,SAAS,WAAW,OAAQ,IAAI,KAAK;;QAE9C,SAAS,OAAe,OAAkC;AAC7D,iBAAO,KAAK,SAAS,WAAW,OAAQ,IAAI,KAAK,YAAY;;;AAzBrE,eAAA,YAAA;AA6BA,aAAO,eAAe,IAAI,WAAW,IAAI;AAGzC,UAAM,2BAA4B,OAAK;AACnC,cAAM,OAAO,EAAE,YAAY,MAAM,cAAc,OAAO,KAAK,MAAa,KAAK;AAC7E,eAAO,CAAgB,QAAU;AAC7B,cAAI,MAAM;AACV,gBAAM,OAAO,IAAI,cAAe,KAAI,aAAa,oBAAI;AACrD,gBAAM,SAAS,CAAC,QAAa,WAAA;AAAoB,mBAAO,KAAK,IAAI;;AACjE,gBAAM,SAAS,CAAC,QAAa,SAAkB,KAAQ;AAAI,mBAAO,KAAK,IAAI,KAAK;;AAChF,qBAAW,OAAO,IAAI,QAAQ;AAC1B,iBAAK,IAAI,KAAK,EAAE;AAChB,iBAAK,MAAM,OAAO;AAClB,iBAAK,MAAM,OAAO;AAClB,mBAAO,UAAU,eAAe,KAAK,KAAK,QAAS,MAAK,aAAa,MAAM,OAAO,eAAe,KAAK,KAAK;AAC3G,mBAAO,UAAU,eAAe,KAAK,KAAK,QAAS,MAAK,aAAa,OAAO,OAAO,eAAe,KAAK,KAAK;;AAEhH,eAAK,MAAM,KAAK,MAAM;AACtB,iBAAO;;;AAKf,UAAM,iBAAkB,OAAK;AACzB,YAAI,OAAO,UAAU,aAAa;AAC9B,iBAAO;;AAEX,cAAM,MAAM,IAAI,UAAU;AAC1B,cAAM,MAAM,IAAI,UAAU;AAC1B,cAAM,MAAM,IAAI,UAAU;AAC1B,cAAM,SAAS,IAAI,UAAU;AAC7B,cAAM,kBAAqC;UACvC,eAAY;AAAK,mBAAO;;UACxB,iBAAc;AAAK,mBAAO;;UAC1B,oBAAiB;AAAK,mBAAO;;UAC7B,QAAQ,KAAQ;AAAI,mBAAO,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,MAAM,GAAG;;UACzD,IAAI,KAAU,KAAgB;AAC1B,oBAAQ;mBACC;mBAAe;mBAAiB;mBAAiB;mBAAiB;mBAAgB;mBAAe;mBACjG;mBAAoB;mBAAsB;mBAA6B;mBAAiB;mBAAuB;mBAC/G;mBAAa;mBAAY;mBAAY;mBAAY;mBAAc;mBAAe;mBAAa;mBAAe;mBAAgB;mBAC1H;mBAAkB;mBAAyB;mBAAyB;mBAAuB;mBAAyB;mBACpH,OAAO;mBAAe,OAAO;mBAAkB;mBAAc;mBAAgB;mBAAgB;mBAAgB;AAC9G,uBAAO;;AAEf,gBAAI,OAAO,QAAQ,YAAY,CAAC,IAAI,IAAI,MAAM;AAC1C,oBAAM,IAAI,OAAO;;AAErB,mBAAO,IAAI,IAAI;;UAEnB,IAAI,KAAU,KAAkB,UAAa;AACzC,oBAAQ;mBACC;mBAAe;mBAAiB;mBAAiB;mBAAiB;mBAAgB;mBAAe;mBACjG;mBAAoB;mBAAsB;mBAA6B;mBAAiB;mBAAuB;mBAC/G;mBAAa;mBAAY;mBAAY;mBAAY;mBAAc;mBAAe;mBAAa;mBAAe;mBAAgB;mBAC1H;mBAAkB;mBAAyB;mBAAyB;mBAAuB;mBAAyB;mBACpH,OAAO;mBAAe,OAAO;mBAAkB;mBAAc;mBAAgB;mBAAgB;mBAAgB;AAC9G,uBAAO,QAAQ,IAAI,KAAK,KAAK;;AAErC,gBAAI,OAAO,QAAQ,YAAY,CAAC,IAAI,KAAK,UAAU,MAAM;AACrD,oBAAM,OAAO,KAAK,UAAU;;AAEhC,mBAAO,IAAI,KAAK,UAAU;;UAE9B,IAAI,KAAU,KAAkB,KAAU,UAAa;AACnD,oBAAQ;mBACC;mBAAc;mBAAgB;mBAAgB;AAC/C,uBAAO,QAAQ,IAAI,KAAK,KAAK,KAAK;mBACjC;mBAAe;mBAAiB;mBAAiB;mBAAiB;mBAAgB;mBAAe;mBACjG;mBAAoB;mBAAsB;mBAA6B;mBAAiB;mBAAuB;mBAC/G;mBAAa;mBAAY;mBAAY;mBAAY;mBAAc;mBAAe;mBAAa;mBAAe;mBAAgB;mBAC1H;mBAAkB;mBAAyB;mBAAyB;mBAAuB;mBAAyB;mBACpH,OAAO;mBAAe,OAAO;AAC9B,uBAAO;;AAEf,gBAAI,OAAO,QAAQ,YAAY,CAAC,IAAI,KAAK,UAAU,MAAM;AACrD,oBAAM,OAAO,KAAK,UAAU;;AAEhC,mBAAO,IAAI,KAAK,UAAU,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,KAAK,OAAO;;;AAG1E,eAAO,CAAgB,QAAW,IAAI,MAAM,KAAK;;;;;;;;;;;ACrRrD,UAAA,WAAA;AACA,UAAA,QAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AAYA,0BAAuF,QAAW,OAAe,MAAQ;AACrH,cAAM,SAAS,OAAO;AACtB,cAAM,SAAS,QAAQ,KAAK,QAAS,SAAU,QAAQ;AACvD,eAAO,OAAO,KAAK,QAAQ,UAAU;;AAHzC,eAAA,aAAA;AAOA,UAAI;AAIJ,0BAAiG,QAAW,OAA2B,KAAyB,MAAQ;AAKpK,cAAM,EAAE,QAAQ,MAAM,MAAM;AAC5B,YAAI,MAAM,OAAO,UAAU,WAAW,IAAI;AAC1C,YAAI,MAAM,OAAO,QAAQ,WAAW,MAAM;AAE1C,QAAC,MAAM,KAAO,OAAQ,OAAM,MAAO,OAAO;AAC1C,QAAC,MAAM,KAAO,OAAQ,OAAM,MAAO,OAAO;AAE1C,QAAC,MAAM,OAAS,OAAM,KAAK,MAAM,KAAK,MAAM;AAE5C,QAAC,MAAM,OAAS,OAAM;AAEtB,eAAO,OAAO,KAAK,QAAQ,KAAK,OAAO,CAAC,KAAK;;AAhBjD,eAAA,aAAA;AAmBA,UAAM,OAAO,SAAA,kBAAkB,SAAA,OAAO,KAAK;AAC3C,UAAM,YAAY,CAAC,UAAe,UAAU;AAG5C,uCAAwC,QAAW;AAC/C,cAAM,eAAe,OAAO;AAE5B,YAAI,iBAAiB,YAAY,WAAW,MAAM;AAE9C,cAAI,UAAU,SAAS;AACnB,mBAAO;;AAEX,iBAAO,iBAAiB,WAClB,CAAC,UAAe,UAAU,SAC1B,CAAC,UAAgB,OAAO,UAAW;;AAG7C,YAAI,kBAAkB,MAAM;AACxB,gBAAM,gBAAgB,OAAO;AAC7B,iBAAO,CAAC,UAAe,iBAAiB,OAAQ,MAAM,cAAc,gBAAiB;;AAGzF,YAAI,YAAY,OAAO,SAAS;AAC5B,iBAAO,CAAC,UAAe,QAAQ,SAAA,iBAAiB,QAAQ,SAAS;;AAGrE,YAAI,kBAAkB,KAAK;AAAE,iBAAO,mBAAmB;;AAEvD,YAAI,MAAM,QAAQ,SAAS;AAAE,iBAAO,0BAA0B;;AAE9D,YAAI,kBAAkB,SAAA,QAAQ;AAAE,iBAAO,uBAAuB;;AAE9D,eAAO,uBAAuB;;AA5BlC,eAAA,0BAAA;AAgCA,yCAAmC,KAAmB;AAClD,cAAM,cAAc;AACpB,iBAAS,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,IAAI,KAAI;AACvC,sBAAY,KAAK,wBAAwB,IAAI;;AAEjD,eAAO,4BAA4B;;AAIvC,kCAA4B,KAAkB;AAC1C,YAAI,IAAI;AACR,cAAM,cAAc;AACpB,YAAI,QAAQ,CAAC,MAAM,YAAY,EAAE,KAAK,wBAAwB;AAC9D,eAAO,4BAA4B;;AAIvC,sCAAgC,KAAgB;AAC5C,cAAM,cAAc;AACpB,iBAAS,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,IAAI,KAAI;AACvC,sBAAY,KAAK,wBAAwB,IAAI,IAAI;;AAErD,eAAO,4BAA4B;;AAIvC,sCAAgC,KAAQ;AACpC,cAAM,OAAO,OAAO,KAAK;AAEzB,YAAI,KAAK,WAAW,GAAG;AAAE,iBAAO,MAAM;;AACtC,cAAM,cAAc;AACpB,iBAAS,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,IAAI,KAAI;AACxC,sBAAY,KAAK,wBAAwB,IAAI,KAAK;;AAEtD,eAAO,4BAA4B,aAAa;;AAGpD,2CAAqC,aAAsC,MAAuB;AAC9F,eAAO,CAAC,QAAY;AAChB,cAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACjC,mBAAO;;AAEX,kBAAQ,IAAI;iBACH;AAAO,qBAAO,aAAa,aAAa;iBACxC;iBACA,MAAA;iBACA,MAAA;AACD,qBAAO,cAAc,aAAa,KAAK,IAAI;iBAC1C;iBACA;AACD,qBAAO,cAAc,aAAa,KAAK,QAAQ,OAAO,KAAK;;AAEnE,iBAAO,eAAe,SAAA,SAAS,cAAc,aAAa,OAAO;;;AAIzE,4BAAsB,aAAsC,KAAU;AAClE,cAAM,IAAI,YAAY;AACtB,YAAI,IAAI,WAAW,GAAG;AAAE,iBAAO;;AAC/B,iBAAS,IAAI,IAAI,EAAE,IAAI,KAAI;AACvB,cAAI,CAAE,YAAY,GAAG,IAAI,KAAM;AAAE,mBAAO;;;AAE5C,eAAO;;AAGX,6BAAuB,aAAsC,KAAW;AACpE,cAAM,IAAI,YAAY;AACtB,YAAI,IAAI,WAAW,GAAG;AAAE,iBAAO;;AAC/B,iBAAS,IAAI,IAAI,EAAE,IAAI,KAAI;AACvB,cAAI,CAAE,YAAY,GAAG,IAAI,IAAI,KAAM;AAAE,mBAAO;;;AAEhD,eAAO;;AAGX,6BAAuB,aAAsC,KAAoB,MAAsB;AAEnG,cAAM,UAAU,KAAK,OAAO;AAC5B,cAAM,UAAU,eAAe,MAAM,IAAI,SAAS,OAAO,KAAK,KAAK,OAAO;AAC1E,cAAM,UAAU,eAAe,MAAM,IAAI,WAAW,OAAO,OAAO,KAAK,OAAO;AAE9E,YAAI,IAAI;AACR,cAAM,IAAI,YAAY;AACtB,YAAI,OAAO,QAAQ;AACnB,YAAI,OAAO,QAAQ;AACnB,YAAI,OAAO,QAAQ;AAEnB,eAAO,IAAI,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK,MAC7C,EAAE,GAAG,OAAO,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,OAAO,QAAQ,QAAQ;AAC3E,cAAI,KAAK,UAAU,KAAK,SAAS,CAAC,YAAY,GAAG,KAAK,QAAQ;AAC1D;;;AAGR,YAAI,MAAM,KAAK,KAAK,QAAQ,KAAK,QAAQ,KAAK,MAAM;AAChD,iBAAO;;AAEX,gBAAQ,UAAU,QAAQ;AAC1B,gBAAQ,UAAU,QAAQ;AAC1B,gBAAQ,UAAU,QAAQ;AAC1B,eAAO;;;;;;;;;;;ACnLX,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,YAAA;AAOA,UAAM,UAAU,MAAM;AAKtB,6BAA6B,KAAQ;AACjC,eAAO,YAAY,OAAO,QAAQ,uBAAuB;;AAD7D,eAAA,eAAA;AASA,mCAAoC,MAAe;AAC/C,gBAAQ;eACC;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;eAC1B;AAAmB,mBAAO,OAAA;;AACtB,mBAAO;;;AAZxB,eAAA,sBAAA;AAiBA,oCAA8B,OAAiB;AAC3C,cAAM,YAAY,oBAAoB,MAAM;AAC5C,YAAI,CAAC,WAAW;AACZ,gBAAM,IAAI,UAAU;;AAExB,cAAM,OAAO,IAAI;AACjB,cAAM,OAAO,OAAA,KAAK,IAAI,MAAM,GAAG,MAAM,QAAQ,GAAG,CAAC,QAAW;AAC5D,eAAO,SAAA,OAAO,IAAI;;AAIT,eAAA,aAAa,CAAI,MAAW,SAAgB,YAAY,MAAM,MAAM,IAAI;AAExE,eAAA,mBAAmB,CAAwC,SAAe;AACnF,cAAM,CAAC,QAAQ,UAAU,iBAAoB,MAAM,CAAC,IAAI;AACxD,eAAO,OAAO,IAAI,CAAC,GAAG,MAClB,aAAa,SAAA,SAAS,SAAA,OAAO,IAAI,EAAE,MAAM,MAAM,OAAO,KAAK,KAC3D,aAAa,SAAA,SAAS,SAAA,OAAO,IAAI,OAAO,IAAI,KAC5C,cAAa,KAAS,SAAA,OAAO,IAAI,OAAO,IAAI,qBAAqB,MAC3C,SAAA,OAAO,IAAI,OAAO,IAAI;;AAIvC,eAAA,kBAAkB,CAAwC,SAAgB,iBAAoB,MAAM,CAAC,IAAI;AAEzG,eAAA,kBAAkB,CAAI,MAAW,SAAgB,iBAAiB,MAAM,MAAM,IAAI;AAElF,eAAA,2BAA2B,CAAmB,MAAuB,SAAgB,0BAA0B,MAAM,MAAM,IAAI;AAE/H,eAAA,2BAA2B,CAAmB,MAAuB,SAAgB,0BAA0B,MAAM,MAAM,IAAI;AAG5I,2BAAwB,MAAW,MAAa,KAAU,KAAW;AACjE,YAAI,OAAY,IAAI;AACpB,YAAI,IAAI;AACR,cAAM,IAAI,KAAK;AACf,eAAO,EAAE,IAAI,GAAG;AACZ,cAAI,QAAQ,QAAQ,KAAK,KAAK;AAC1B,gBAAI,YAAY,MAAM,OAAO,KAAK,GAAG;qBAC9B,iBAAiB,MAAM;AAAE,gBAAI,OAAO;;;AAEnD,eAAO;;AAIX,gCAA6B,MAAW,MAAa,KAAU,KAAW;AACtE,YAAI,OAAY,IAAI;AACpB,YAAI,IAAI;AACR,cAAM,IAAI,KAAK;AACf,eAAO,EAAE,IAAI,GAAG;AACZ,cAAI,QAAQ,QAAQ,KAAK,KAAK;AAC1B,gBAAI,iBAAiB,MAAM,OAAO,KAAK,GAAG;qBACnC,iBAAiB,UAAA,SAAS;AACjC,gBAAI,iBAAiB,MAAM,MAAM,QAAQ,KAAK,GAAG;qBAC1C,iBAAiB,MAAM;AAAE,gBAAI,OAAO;;;AAEnD,eAAO;;AAIX,yCAAqD,MAAuB,MAAa,KAAU,KAAW;AAC1G,YAAI,OAAY,IAAI;AACpB,YAAI,IAAI;AACR,cAAM,IAAI,KAAK;AACf,eAAO,EAAE,IAAI,GAAG;AACZ,cAAI,QAAQ,QAAQ,KAAK,KAAK;AAC1B,gBAAI,0BAA0B,MAAM,OAAO,KAAK,GAAG;qBAC5C,iBAAiB,MAAM;AAC9B,gBAAI,YAAY,SAAA,QAAQ,MAAM,OAAO,OAAO,IAAI,CAAC,GAAG,OAAM,MAAM,WAAW,MAAM,KAAK,GAAG;qBAClF,iBAAiB,SAAA,QAAQ;AAAE,gBAAI,OAAO;;;AAErD,eAAO;;AAIX,yCAAqD,MAAuB,MAAa,KAAU,KAAW;AAC1G,YAAI,OAAY,IAAI;AACpB,YAAI,IAAI;AACR,cAAM,IAAI,KAAK;AACf,eAAO,EAAE,IAAI,GAAG;AACZ,cAAI,QAAQ,QAAQ,KAAK,KAAK;AAC1B,gBAAI,0BAA0B,MAAM,OAAO,KAAK,GAAG;qBAC5C,iBAAiB,MAAM;AAC9B,gBAAI,YAAY,SAAA,QAAQ,MAAM,OAAO,OAAO,IAAI,CAAC,GAAG,OAAM,SAAA,OAAO,IAAI,GAAG,MAAM,WAAW,OAAO,KAAK,GAAG;qBACjG,iBAAiB,SAAA,QAAQ;AAAE,gBAAI,OAAO;;;AAErD,eAAO;;AAIX,UAAM,kBAAkB,CAAC,IAAoB,CAAC,GAAG,IAAgB,MAAe,IAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG;AAG5G,gCAAiE,MAAa,KAA+D;AACzI,YAAI;AACJ,YAAI;AACJ,gBAAQ,IAAI,KAAK;eACR;AAAG,mBAAO;eACV;AACD,mBAAO,IAAI;AACX,gBAAI,CAAE,KAAK,IAAK;AAAE,qBAAO;;AACzB,gBAAI,QAAQ,KAAK,KAAK;AAAE,qBAAO,iBAAiB,KAAK,IAAI;;AACzD,gBAAI,CAAE,MAAK,cAAc,OAAA,QAAQ,KAAK,cAAc,SAAA,UAAU,cAAa,KAAK,OAAO,KAAK,cAAc,OAAA,WAAW;AACjH,eAAC,MAAM,QAAQ,OAAO,QAAQ,KAAK,IAAI,OAAO,iBAAiB;;AAEnE;;AAEA,aAAC,QAAQ,OAAO,KAAK,IAAI,MAClB,QAAO,QAAQ,KAAK,MAAM,KAAK,KAAK,MAAM,OAAO,MACjD,OAAO,QAAQ,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,GAAG,IAAI;;AAGrE,YAAI,aAAa;AACjB,YAAI,aAAa;AACjB,YAAI,MAAM;AACV,cAAM,MAAM,KAAK;AACjB,YAAI;AACJ,YAAI;AACJ,cAAM,CAAC,QAAQ,UAAU;AAEzB,eAAO,EAAE,MAAM,KAAK;AAChB,gBAAM,KAAK;AACX,cAAI,eAAe,SAAA,UAAW,QAAO,EAAE,cAAc,MAAM;AACvD,mBAAO,EAAE,cAAc,IAAI,MAAM,MAAM,KAAK,MAAM,IAAI,MAAM;iBACzD;AACH,YAAC,IAAG,MAAM,QAAQ,QAAQ;AAC1B,gBAAI,eAAe,OAAA,YAAa,QAAO,EAAE,cAAc,MAAM;AACzD,qBAAO,EAAE,cAAc,SAAA,MAAM,IAAI,OAAO,KAAiB;uBAClD,SAAG,QAAH,QAAG,SAAA,SAAH,IAAK,SAAS,QAAO,EAAE,cAAc,MAAM;AAClD,6BAAe,OAAA,QAAS,QAAO,cAAc,MAAM,SAAA,OAAO,IAAI;AAC9D,qBAAO,EAAE,cAAc,SAAA,MAAM,IAAI,OAAO,IAAI,MAAM;;;;AAI9D,eAAO;;;;;;;;;;;AC/KX,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AAEA,UAAA,WAAA;AAYA,kCAAqB;QAIjB,YACY,QAAmB;AAAnB,eAAA,SAAA;AAJJ,eAAA,aAAa;AAMjB,eAAK,gBAAgB,KAAK;;QAG9B,OAAI;AACA,iBAAO,KAAK,aAAa,KAAK,OAAO,QAAQ;AACzC,kBAAM,OAAO,KAAK,cAAc;AAEhC,gBAAI,CAAC,KAAK,MAAM;AACZ,qBAAO;;AAGX,gBAAI,EAAE,KAAK,aAAa,KAAK,OAAO,QAAQ;AACxC,mBAAK,gBAAgB,KAAK;;;AAIlC,iBAAO,EAAC,MAAM,MAAM,OAAO;;QAG/B,mBAAgB;AACZ,iBAAO,KAAK,OAAO,KAAK,YAAY,OAAO;;SAG9C,OAAO,YAAS;AACb,iBAAO;;;AAKf,mCACY,SAAA,eAAiB;QAwBzB,YAAY,MAAS,SAAsB,IAAI,UAAU,iBAAiB,SAAO;AAC7E;AAJM,eAAA,aAAa;AAKnB,eAAK,QAAQ;AACb,eAAK,UAAU;AACf,eAAK,gBAAgB;AACrB,eAAK,UAAU,QAAQ,QAAQ,SAAS;AACxC,eAAK,eAAgB,MAAK,MAAM,YAAY,IAAI;;eAxBtC,WAA+B,SAAoC;AAC7E,iBAAO,OAAA,gBAA2B,SAAA,QAAQ;;eAIhC,UAA8B,SAAoC;AAC5E,gBAAM,SAAS,SAAQ,QAAW,GAAG;AACrC,iBAAO,IAAI,SAAW,OAAO,GAAG,MAAM;;YAoB/B,OAAI;AAAK,iBAAO,KAAK;;YACrB,SAAM;AAAK,iBAAO,KAAK;;YACvB,SAAM;AAAK,iBAAO,KAAK;;YACvB,SAAM;AAAiB,iBAAO,KAAK,MAAM;;YACzC,aAAU;AAAK,iBAAO,WAAW,KAAK;;YACtC,OAAI;AACX,iBAAO,KAAK,QAAQ,KAAK,KAAK,QAAQ,GAAG,OAAa;;YAG/C,YAAS;AAAK,iBAAO,KAAK,MAAM;;YAChC,cAAW;AAAK,iBAAO,KAAK;;YAC5B,SAAM;AAAK,iBAAO,KAAK,QAAQ,KAAK,KAAK,QAAQ,GAAG,SAAS;;YAC7D,aAAU;AACjB,iBAAO,KAAK,QAAQ,OAAO,CAAC,YAAY,UAAU,aAAa,MAAM,YAAY;;YAE1E,YAAS;AAChB,cAAI,YAAY,KAAK;AACrB,cAAI,YAAY,GAAG;AACf,iBAAK,aAAa,YAAY,KAAK,QAAQ,OAAO,CAAC,GAAG,EAAE,4BAAgB,IAAI,YAAW;;AAE3F,iBAAO;;YAIA,UAAO;AACd,cAAI,OAAA,SAAS,aAAa,KAAK,QAAQ;AACnC,gBAAI,CAAC,KAAK,UAAU;AAChB,oBAAM,SAAgB,KAAK;AAC3B,mBAAK,WAAY,OAAO,WAAW,IAC7B,OAAO,GAAG,UACV,SAAQ,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE;;AAEhD,mBAAO,KAAK;;AAEhB,iBAAO;;YAEA,aAAU;AACjB,cAAI,OAAA,SAAS,aAAa,KAAK,QAAQ;AACnC,mBAAO,KAAK,QAAQ,KAAK,QAAQ,SAAS,GAAG,KAAK;;AAEtD,iBAAO;;SAGH,OAAO,YAAS;AACpB,iBAAO,IAAI,gBAAgB,KAAK;;QAG7B,MAAM,SAAS,KAAK,SAAO;AAC9B,iBAAO,IAAI,SAAQ,KAAK,OAAO;;QAG5B,UAAU,QAAmB;AAChC,iBAAO,KAAK,MAAM,SAAQ,QAAQ,MAAM,GAAG;;QAGxC,MAAM,OAAgB,KAAY;AACrC,iBAAO,SAAA,WAAW,MAAM,OAAO,KAAK,KAAK;;QAGtC,WAAqC,OAAa;AAErD,cAAI,QAAQ,KAAK,SAAS,KAAK,cAAc;AAAE,mBAAO;;AAEtD,gBAAM,UAAU,KAAK,aAAc,MAAK,YAAY;AACpD,cAAI,OAAmB,OAAiB;AAExC,cAAI,QAAQ,QAAQ,QAAQ;AAAE,mBAAO;;AACrC,cAAI,QAAU,MAAK,MAAM,YAAY,IAAI,QAAqB;AAC1D,qBAAS,KAAK,QACT,IAAI,CAAC,WAAW,OAAO,WAAc,QACrC,OAAO,CAAC,QAA0B,OAAO;AAC9C,gBAAI,OAAO,SAAS,GAAG;AACnB,qBAAQ,QAAQ,SAAS,IAAI,SAAW,MAAM,MAAM;;;AAI5D,iBAAO;;QAKJ,OAAiD,OAAe,MAAQ;AAC3E,gBAAM,MAAM;AAEZ,gBAAM,UAAU,KAAK;AACrB,cAAI,MAAM,QAAQ,SAAS;AAE3B,cAAI,MAAM,GAAe;AAAE,mBAAO;;AAClC,cAAI,OAAO,QAAQ,MAAM;AAAE,mBAAO;;AAClC,cAAI,OAAO,GAAc;AAAE,mBAAO,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,GAAG;;AAClE,cAAI,MAAM,GAAG,MAAM,GAAG,MAAM;AAC5B,aAAG;AACC,gBAAI,MAAM,MAAM,KAAK;AACjB,qBAAO,OAAO,KAAK,MAAM,KAAK,MAAM,OAAO,CAAC,KAAK,MAAM;;AAE3D,kBAAM,MAAQ,OAAM,OAAO,IAAK;AAChC,mBAAO,QAAQ,OAAQ,MAAM,MAAQ,MAAM;mBACtC,MAAM,QAAQ,QAAQ,OAAQ,OAAM,QAAQ;AACrD,iBAAO;;QAGJ,QAAQ,OAAa;AACxB,iBAAO,CAAC,CAAC,KAAK,OAAO,OAAO,KAAK;;QAG9B,IAAI,OAAa;AACpB,iBAAO,KAAK,OAAO,OAAO,KAAK;;QAG5B,IAAI,OAAe,OAAyB;AAC/C,eAAK,OAAO,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,OAAO,GAAG,IAAI,GAAG;;QAGvD,QAAQ,SAAsB,QAAe;AAChD,cAAI,UAAU,OAAO,WAAW,UAAU;AACtC,mBAAO,KAAK,OAAO,QAAQ,CAAC,OAAM,GAAG,MAAM,KAAK,gBAAgB,OAAM,GAAG,GAAG;;AAEhF,iBAAO,KAAK,gBAAgB,MAAM,GAAG,KAAK,IAAI,GAAG,UAAU,IAAI;;QAG5D,UAAO;AACV,gBAAM,EAAE,WAAW;AACnB,gBAAM,IAAI,OAAO;AACjB,cAAI,YAAiB,KAAK,MAAM;AAChC,cAAI,KAAK,GAAG;AAAE,mBAAO,IAAI,UAAU;;AACnC,cAAI,KAAK,GAAG;AAAE,mBAAO,OAAO,GAAG;;AAC/B,cAAI,MAAM;AACV,gBAAM,MAAM,IAAI,MAAM;AACtB,mBAAS,IAAI,IAAI,EAAE,IAAI,KAAI;AACvB,mBAAQ,KAAI,KAAK,OAAO,GAAG,WAAW;;AAE1C,cAAI,cAAc,IAAI,GAAG,aAAa;AAClC,wBAAY,IAAI,GAAG;;AAEvB,gBAAM,MAAM,IAAI,UAAU;AAC1B,gBAAM,MAAW,cAAc,QAAQ,WAAW;AAClD,mBAAS,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI,KAAI;AAChC,kBAAM,IAAI,IAAI,IAAI,KAAK;;AAE3B,iBAAO;;QAGD,YAAY,EAAE,WAAuB,GAAW,GAAS;AAAI,iBAAO,QAAQ,GAAG,IAAI;;QACnF,gBAAgB,EAAE,WAAuB,GAAW,GAAS;AAAI,iBAAO,QAAQ,GAAG,QAAQ;;QAC3F,gBAAgB,EAAE,WAAuB,YAAoB,WAAmB,SAAoB;AAC1G,cAAI,IAAI,aAAa;AACrB,gBAAM,IAAI,QAAQ;AAClB,cAAI,QAAQ,WAAW,SAAS,GAAG,QAAQ;AAC3C,iBAAO,EAAE,IAAI,GAAG;AACZ,gBAAI,CAAE,SAAQ,QAAQ,GAAG,QAAQ,SAAS,SAAS;AAC/C,qBAAO,SAAS;;AAEpB,oBAAQ;AACR,sBAAU,QAAQ,GAAG;;AAEzB,iBAAO;;QAGD,eAAe,OAAkB,OAAe,KAAW;AACjE,gBAAM,SAAsB;AAC5B,gBAAM,EAAE,QAAQ,eAAe,iBAAiB;AAChD,mBAAS,IAAI,IAAI,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC1C,kBAAM,QAAQ,OAAO;AACrB,kBAAM,cAAc,MAAM;AAC1B,kBAAM,cAAc,aAAa;AAEjC,gBAAI,eAAe,KAAK;AAAE;;AAE1B,gBAAI,SAAS,cAAc,aAAa;AAAE;;AAE1C,gBAAI,eAAe,SAAU,cAAc,eAAgB,KAAK;AAC5D,qBAAO,KAAK;AACZ;;AAGJ,kBAAM,OAAO,KAAK,IAAI,GAAG,QAAQ;AACjC,kBAAM,KAAK,KAAK,IAAI,MAAM,aAAa;AACvC,mBAAO,KAAK,MAAM,MAAM,MAAM;;AAElC,iBAAO,MAAK,MAAM;;;AArN1B,eAAA,UAAA;AA0NA,gCAA8C,SAAoB;AAC9D,cAAM,UAAU,IAAI,YAAa,YAAW,IAAI,SAAS;AACzD,YAAI,SAAS,QAAQ,KAAK;AAC1B,cAAM,SAAS,QAAQ;AACvB,iBAAS,QAAQ,GAAG,EAAE,QAAQ,UAAS;AACnC,kBAAQ,SAAU,UAAU,QAAQ,QAAQ,GAAG;;AAEnD,eAAO;;AAIX,UAAM,WAAW,CAAC,KAAiB,KAAiB,WAAkB;AAClE,YAAI,IAAI,KAAK;AACb,eAAQ,SAAS,IAAI;;AAIzB,UAAM,WAAW,CAAC,KAAY,KAAY,WAAkB;AACxD,YAAI,MAAM;AACV,iBAAS,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,IAAI,KAAI;AACvC,cAAI,SAAS,IAAI;;AAErB,eAAO;;;;;;;;;;;ACrSX,UAAA,WAAA;AAEA,UAAA,WAAA;AAGA,UAAA,YAAA;AAQA,kCACY,UAAA,QAAU;QAqClB,YAAY,OAAiB,UAAuB,IAAI,SAAqB;AACzE,oBAAU,UAAA,QAAQ,QAAW,GAAG;AAChC,gBAAM,MAAM,MAAM,SAAS;AAC3B,eAAK,SAAS;AACd,cAAI,QAAQ,WAAW,KAAK,CAAE,iBAAgB,oBAAoB;AAC9D,mBAAO,IAAI,kBAAkB,OAAO,QAAQ,IAAI,KAAK;;;eAjC/C,OAAiC,MAAW;AAEtD,cAAI,CAAC,OAAO,SAAS,QAAQ;AAM7B,cAAI,OAAO,UAAU,YAAY,CAAE,kBAAiB,SAAA,QAAQ;AACxD,mBAAuD;AACvD,oBAAQ;;AAGZ,gBAAM,SAAS,UAAA,QAAQ,QACnB,MAAM,QAAQ,QAAQ,CAAC,GAAG,MAAM,GAAG,QACnC,gBAAgB,SAAA,SAAS,CAAC,MAAM,GAAG,QACnC,CAAC,SAAA,OAAO,IAAI,MAAM,GAAG;AAGzB,cAAI,OAAO,UAAU,UAAU;AAC3B,kBAAM,OAAO,OAAO,GAAG,KAAK;AAC5B,oBAAQ,IAAI,SAAA,MAAM,OAAO,MAAM;qBACxB,CAAC,MAAM,YAAY,OAAO,KAAK,CAAC,EAAE,gBAAgB,YAAY,IAAI;AACzE,oBAAQ,MAAM,MAAM,EAAE,UAAU;;AAEpC,iBAAO,IAAI,QAAO,OAAO;;YAelB,QAAK;AAAK,iBAAO,KAAK;;YACtB,OAAI;AAAK,iBAAO,KAAK,OAAO;;YAC5B,WAAQ;AAAK,iBAAO,KAAK,OAAO;;YAChC,WAAQ;AAAK,iBAAO,KAAK,OAAO;;QAEpC,MAAM,SAAS,KAAK,SAAO;AAC9B,iBAAO,IAAI,QAAO,KAAK,QAAQ;;QAG5B,WAAqC,OAAa;AAErD,cAAI,QAAQ,KAAK,SAAS,KAAK,aAAa;AAAE,mBAAO;;AAErD,gBAAM,UAAU,KAAK,aAAc,MAAK,YAAY;AACpD,cAAI,QAAmB,OAAiB;AAExC,cAAI,SAAS,QAAQ,QAAQ;AAAE,mBAAO;;AACtC,cAAI,QAAU,MAAK,KAAK,YAAY,IAAI,QAAqB;AACzD,qBAAS,KAAK,QACT,IAAI,CAAC,WAAW,OAAO,WAAc,QACrC,OAAO,CAAC,QAA0B,OAAO;AAC9C,gBAAI,OAAO,SAAS,GAAG;AACnB,qBAAQ,QAAQ,SAAS,IAAI,QAAU,OAAO;;;AAItD,iBAAO;;;AA5Ef,eAAA,SAAA;AAiFA,4CAA0D,QAAS;QAE/D,YAAY,OAAiB,QAAmB,SAAqB;AACjE,gBAAM,OAAO,CAAC,SAAS;AACvB,eAAK,SAAS;;QAIX,OAAiD,OAAe,MAAQ;AAC3E,iBAAO,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG;;QAEtC,QAAQ,OAAa;AACxB,iBAAO,KAAK,OAAO,QAAQ;;QAExB,IAAI,OAAa;AACpB,iBAAO,KAAK,OAAO,IAAI;;QAEpB,IAAI,OAAe,OAAyB;AAC/C,eAAK,OAAO,IAAI,OAAO;;QAEpB,QAAQ,SAAsB,QAAe;AAChD,iBAAO,KAAK,OAAO,QAAQ,SAAS;;;;;;;;;;;;ACpH5C,UAAA,gBAAA;AACA,UAAO,OAAO,cAAA,YAAY;AAI1B,UAAA,YAAA;AAEA,UAAA,WAAA;AA2BA,wCAAmC,UAAA,QAAO;QAC/B,MAA+B,MAAS,SAAgB;AAC3D,iBAAQ,QAAQ,QAAQ,WAAW,OAAQ,SAAY,MAAM,MAAM,MAAM;;QAEtE,UAA+B,OAAU,GAAU;AACtD,mBAAA,KAAK,UAAU;AACf,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,SAA6B,MAAS,GAAU;AACnD,mBAAA,IAAI,SAAS;AACb,mBAAA,IAAI,YAAY,GAAG,KAAK;AACxB,mBAAA,IAAI,YAAY,GAAG,KAAK;AACxB,iBAAO,SAAA,IAAI,OAAO;;QAEf,WAAiC,MAAS,GAAU;AACvD,mBAAA,cAAc,mBAAmB;AACjC,mBAAA,cAAc,aAAa,GAAG,KAAK;AACnC,iBAAO,SAAA,cAAc,iBAAiB;;QAEnC,YAAmC,OAAU,GAAU;AAC1D,mBAAA,OAAO,YAAY;AACnB,iBAAO,SAAA,OAAO,UAAU;;QAErB,UAA+B,OAAU,GAAU;AACtD,mBAAA,KAAK,UAAU;AACf,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,UAA+B,OAAU,GAAU;AACtD,mBAAA,KAAK,UAAU;AACf,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,aAAqC,MAAS,GAAU;AAC3D,mBAAA,QAAQ,aAAa;AACrB,mBAAA,QAAQ,SAAS,GAAG,KAAK;AACzB,mBAAA,QAAQ,aAAa,GAAG,KAAK;AAC7B,iBAAO,SAAA,QAAQ,WAAW;;QAEvB,UAAgC,MAAS,GAAU;AACtD,mBAAA,KAAK,UAAU;AACf,mBAAA,KAAK,QAAQ,GAAG,KAAK;AACrB,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,UAA+B,MAAS,GAAU;AACrD,mBAAA,KAAK,UAAU;AACf,mBAAA,KAAK,QAAQ,GAAG,KAAK;AACrB,mBAAA,KAAK,YAAY,GAAG,KAAK;AACzB,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,eAAyC,MAAS,GAAU;AAC/D,gBAAM,WAAY,KAAK,YAAY,EAAE,aAAa,KAAK,aAAc;AACrE,mBAAA,UAAU,eAAe;AACzB,mBAAA,UAAU,QAAQ,GAAG,KAAK;AAC1B,cAAI,aAAa,QAAW;AACxB,qBAAA,UAAU,YAAY,GAAG;;AAE7B,iBAAO,SAAA,UAAU,aAAa;;QAE3B,cAAuC,MAAS,GAAU;AAC7D,mBAAA,SAAS,cAAc;AACvB,mBAAA,SAAS,QAAQ,GAAG,KAAK;AACzB,iBAAO,SAAA,SAAS,YAAY;;QAEzB,UAA+B,OAAU,GAAU;AACtD,mBAAA,KAAK,UAAU;AACf,iBAAO,SAAA,KAAK,QAAQ;;QAEjB,YAAmC,OAAU,GAAU;AAC1D,mBAAA,QAAO,aAAa;AACpB,iBAAO,SAAA,QAAO,WAAW;;QAEtB,WAAiC,MAAS,GAAU;AACvD,mBAAA,MAAM,mBAAmB,GAAG,KAAK,QAAQ;AACzC,gBAAM,UAAU,SAAA,MAAM,oBAAoB,GAAG,KAAK;AAClD,mBAAA,MAAM,WAAW;AACjB,mBAAA,MAAM,QAAQ,GAAG,KAAK;AACtB,mBAAA,MAAM,WAAW,GAAG;AACpB,iBAAO,SAAA,MAAM,SAAS;;QAEnB,gBAA2C,MAAS,GAAU;AACjE,gBAAM,YAAY,KAAK,MAAM,KAAK,SAAS;AAC3C,mBAAA,mBAAmB,wBAAwB;AAC3C,mBAAA,mBAAmB,MAAM,GAAG,IAAI,KAAK,KAAK,IAAI;AAC9C,mBAAA,mBAAmB,aAAa,GAAG,KAAK;AACxC,cAAI,cAAc,QAAW;AACzB,qBAAA,mBAAmB,aAAa,GAAG;;AAEvC,iBAAO,SAAA,mBAAmB,sBAAsB;;QAE7C,qBAAqD,MAAS,GAAU;AAC3E,mBAAA,gBAAgB,qBAAqB;AACrC,mBAAA,gBAAgB,aAAa,GAAG,KAAK;AACrC,iBAAO,SAAA,gBAAgB,mBAAmB;;QAEvC,mBAAiD,MAAS,GAAU;AACvE,mBAAA,cAAc,mBAAmB;AACjC,mBAAA,cAAc,YAAY,GAAG,KAAK;AAClC,iBAAO,SAAA,cAAc,iBAAiB;;QAEnC,SAA8B,MAAS,GAAU;AACpD,mBAAA,IAAK,SAAS;AACd,mBAAA,IAAK,cAAc,GAAG,KAAK;AAC3B,iBAAO,SAAA,IAAK,OAAO;;;AArG3B,eAAA,gBAAA;AA0Ga,eAAA,WAAW,IAAI;;;;;;;;;;AC1I5B,UAAA,WAAA;AACA,UAAA,SAAA;AAOA,UAAA,YAAA;AACA,UAAA,SAAA;AAGA,8BAA+B,SAAc,eAAsC,oBAAI,OAAK;AACxF,eAAO,IAAI,SAAA,OACP,qBAAqB,SAAS,eAC9B,uBAAuB,QAAQ,oBAC/B;;AAJR,eAAA,iBAAA;AASA,mCAAoC,GAAM;AACtC,eAAO,IAAI,UAAA,YACP,EAAE,UACF,mBAAmB,EAAE,aACrB,gBAAgB,EAAE;;AAJ1B,eAAA,sBAAA;AASA,uCAAwC,GAAM;AAC1C,eAAO,IAAI,UAAA,gBACP,oBAAoB,EAAE,UACtB,EAAE,OAAO,EAAE;;AAHnB,eAAA,0BAAA;AAQA,oCAA8B,SAAc,cAAoC;AAC5E,eAAQ,SAAQ,aAAa,IAAI,OAAO,SAAS,IAAI,CAAC,MAAW,SAAA,MAAM,SAAS,GAAG;;AAIvF,qCAA+B,QAAa,cAAoC;AAC5E,eAAQ,QAAO,eAAe,IAAI,OAAO,SAAS,IAAI,CAAC,MAAW,SAAA,MAAM,SAAS,GAAG;;AAIxF,kCAA4B,IAAS;AACjC,eAAQ,OAAM,IAAI,OAAoB,CAAC,YAAY,WAAgB;UAC/D,GAAG;UACH,IAAI,UAAA,UACA,OAAO,UACP,kBAAkB,OAAO;UAE7B,GAAG,mBAAmB,OAAO;WAC9B;;AAIP,+BAAyB,IAAW,UAA0B,IAAE;AAC5D,iBAAS,IAAI,IAAI,IAAK,OAAM,IAAI,QAAQ,EAAE,IAAI,KAAI;AAC9C,gBAAM,SAAS,GAAG;AAClB,iBAAO,eAAe,QAAQ,KAAK,IAAI,UAAA,aAAa,QAAQ,QAAQ,OAAO,YAAY;AACvF,iBAAO,WAAW,QAAQ,KAAK,IAAI,UAAA,aAAa,QAAQ,QAAQ,OAAO,QAAQ;AAC/E,iBAAO,aAAa,QAAQ,KAAK,IAAI,UAAA,aAAa,QAAQ,QAAQ,OAAO,UAAU;AACnF,iBAAO,WAAW,QAAQ,KAAK,IAAI,UAAA,aAAa,QAAQ,QAAQ,OAAO,QAAQ;AAC/E,oBAAU,gBAAgB,OAAO,aAAa;;AAElD,eAAO;;AAIX,iCAA2B,UAAkB;AACzC,eAAQ,aAAY,IAAI,OAAO,CAAC,KAAK,QAAQ,MAAM,CAAE,SAAQ,IAAI;;AAIrE,6BAA8B,QAAa,cAAoC;AAE3E,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AAGJ,YAAI,CAAC,gBAAgB,CAAE,YAAW,OAAO,gBAAgB;AACrD,iBAAO,aAAa,QAAQ,sBAAsB,QAAQ;AAC1D,kBAAQ,IAAI,SAAA,MAAM,OAAO,SAAS,MAAM,OAAO,aAAa,uBAAuB,OAAO;mBAKrF,CAAC,aAAa,IAAI,KAAK,SAAS,QAAQ;AAE7C,iBAAQ,QAAO,SAAS,gBAAgB,kBAAkB,QAAiB,IAAI,OAAA;AAC/E,uBAAa,IAAI,IAAI,OAAO,aAAa,QAAQ,sBAAsB,QAAQ;AAC/E,qBAAW,IAAI,OAAA,WAAW,MAAM,MAAM,IAAI,SAAS;AACnD,kBAAQ,IAAI,SAAA,MAAM,OAAO,SAAS,UAAU,OAAO,aAAa,uBAAuB,OAAO;eAI7F;AAED,iBAAQ,QAAO,SAAS,gBAAgB,kBAAkB,QAAiB,IAAI,OAAA;AAC/E,qBAAW,IAAI,OAAA,WAAW,aAAa,IAAI,KAAM,MAAM,IAAI,SAAS;AACpE,kBAAQ,IAAI,SAAA,MAAM,OAAO,SAAS,UAAU,OAAO,aAAa,uBAAuB,OAAO;;AAElG,eAAO,SAAS;;AAhCpB,eAAA,gBAAA;AAoCA,sCAAgC,WAAkC;AAC9D,eAAO,IAAI,IAAoB,OAAO,QAAQ,aAAa;;AAI/D,iCAA2B,OAAU;AACjC,eAAO,IAAI,OAAA,IAAI,MAAM,aAAa,MAAM;;AAI5C,4BAAsB,GAAQ,UAAkB;AAE5C,cAAM,SAAS,EAAE,QAAQ;AAEzB,gBAAQ;eACC;AAAU,mBAAO,IAAI,OAAA;eACrB;AAAU,mBAAO,IAAI,OAAA;eACrB;AAAU,mBAAO,IAAI,OAAA;eACrB;AAAU,mBAAO,IAAI,OAAA;eACrB;AAAU,mBAAO,IAAI,OAAA;eACrB;AAAU,mBAAO,IAAI,OAAA,KAAM,aAAY,IAAI;eAC3C;AAAU,mBAAO,IAAI,OAAA,OAAO,YAAY;eACxC;AAAW,mBAAO,IAAI,OAAA,OAAO,YAAY;;AAGlD,gBAAQ;eACC,OAAO;AACR,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,IAAI,EAAE,aAAa,EAAE;;eAE/B,iBAAiB;AAClB,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,MAAM,OAAA,UAAU,EAAE;;eAE5B,WAAW;AACZ,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,QAAQ,EAAE,UAAU,EAAE;;eAEhC,QAAQ;AACT,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,MAAM,OAAA,SAAS,EAAE;;eAE3B,QAAQ;AACT,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,KAAK,OAAA,SAAS,EAAE,UAAiB,EAAE;;eAE7C,aAAa;AACd,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,UAAU,OAAA,SAAS,EAAE,UAAiB,EAAE;;eAElD,YAAY;AACb,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,SAAS,OAAA,aAAa,EAAE;;eAElC,SAAS;AACV,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,MAAM,OAAA,UAAU,EAAE,UAAkB,EAAE,cAAc,IAAK,YAAY;;eAE/E,mBAAmB;AACpB,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,gBAAgB,EAAE;;eAE5B,iBAAiB;AAClB,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,cAAc,EAAE,aAAc,aAAY,IAAI;;eAExD,OAAO;AACR,kBAAM,IAAI,EAAE;AACZ,mBAAO,IAAI,OAAA,KAAM,aAAY,IAAI,IAAI,EAAE;;;AAG/C,cAAM,IAAI,MAAM,uBAAuB;;;;;;;;;;;ACzL3C,UAAA,gBAAA;AAEA,UAAA,WAAA;AAqBA,UAAA,YAAA;AAOA,UAAA,WAAA;AACA,UAAA,WAAA;AAEA,UAAA,SAAA;AACA,UAAA,kBAAA;AACA,UAAA,SAAA;AAEA,UAAO,OAAO,cAAA,YAAY;AAC1B,UAAO,WAAU,cAAA,YAAY;AAC7B,UAAO,aAAa,cAAA,YAAY;AAEhC,UAAA,SAAA;AAWA,2BAAoB;QAqEhB,YAAY,YAA2B,SAA0B,YAAe,QAAY;AACxF,eAAK,WAAW;AAChB,eAAK,cAAc;AACnB,eAAK,OAAO,IAAI,WAAW;AAC3B,oBAAW,MAAK,gBAAgB,MAAM;AACtC,eAAK,cAAc,OAAO,eAAe,WAAW,aAAa,WAAW;;eAvElE,SAAkC,KAAU,YAAa;AACnE,gBAAM,UAAU,IAAI,SAAQ,GAAG,OAAA,gBAAgB,IAAI;AACnD,kBAAQ,gBAAgB,sBAAsB,KAAK;AACnD,iBAAO;;eAIG,OAAO,KAAyB;AAC1C,gBAAM,IAAI,WAAW,SAAA,aAAa;AAClC,gBAAM,WAAW,UAAA,QAAS,iBAAiB;AAC3C,gBAAM,aAAmB,SAAS;AAClC,gBAAM,UAA2B,SAAS;AAC1C,gBAAM,aAA4B,SAAS;AAC3C,gBAAM,UAAU,IAAI,SAAQ,YAAY,SAAS;AACjD,kBAAQ,gBAAgB,oBAAoB,UAAU;AACtD,iBAAO;;eAIG,OAAgC,SAAmB;AAC7D,gBAAM,IAAI,IAAI;AACd,cAAI,eAAe;AACnB,cAAI,QAAQ,YAAY;AACpB,2BAAe,SAAA,OAAO,OAAO,GAAG,QAAQ;qBACjC,QAAQ,iBAAiB;AAChC,2BAAe,aAAY,OAAO,GAAG,QAAQ;qBACtC,QAAQ,qBAAqB;AACpC,2BAAe,gBAAgB,OAAO,GAAG,QAAQ;;AAErD,oBAAA,QAAS,aAAa;AACtB,oBAAA,QAAS,WAAW,GAAG,OAAA,gBAAgB;AACvC,oBAAA,QAAS,UAAU,GAAG;AACtB,oBAAA,QAAS,cAAc,GAAG,QAAQ;AAClC,oBAAA,QAAS,cAAc,GAAG,IAAI,KAAK,QAAQ,YAAY;AACvD,oBAAA,QAAS,oBAAoB,GAAG,UAAA,QAAS,WAAW;AACpD,iBAAO,EAAE;;eAIC,KAAK,QAAgD,aAAa,GAAC;AAC7E,cAAI,kBAAkB,SAAA,QAAQ;AAC1B,mBAAO,IAAI,SAAQ,GAAG,OAAA,gBAAgB,IAAI,OAAA,cAAc,QAAQ;;AAEpE,cAAI,kBAAkB,cAAa;AAC/B,mBAAO,IAAI,SAAQ,YAAY,OAAA,gBAAgB,IAAI,OAAA,cAAc,aAAa;;AAElF,cAAI,kBAAkB,iBAAiB;AACnC,mBAAO,IAAI,SAAQ,YAAY,OAAA,gBAAgB,IAAI,OAAA,cAAc,iBAAiB;;AAEtF,gBAAM,IAAI,MAAM,gCAAgC;;YAOzC,OAAI;AAAK,iBAAO,KAAK;;YACrB,UAAO;AAAK,iBAAO,KAAK;;YACxB,aAAU;AAAK,iBAAO,KAAK;;YAC3B,aAAU;AAAK,iBAAO,KAAK;;QAE/B,SAAM;AAAK,iBAAO,KAAK;;QACvB,WAAQ;AAA4C,iBAAO,KAAK,eAAe,OAAA,cAAc;;QAC7F,gBAAa;AAAiD,iBAAO,KAAK,eAAe,OAAA,cAAc;;QACvG,oBAAiB;AAAqD,iBAAO,KAAK,eAAe,OAAA,cAAc;;;AAnE1H,eAAA,UAAA;AAkFA,+BAAwB;QAOpB,YAAY,QAAuB,OAAoB,SAAuB;AAC1E,eAAK,SAAS;AACd,eAAK,WAAW;AAChB,eAAK,UAAU,OAAO,WAAW,WAAW,SAAS,OAAO;;YANrD,QAAK;AAAK,iBAAO,KAAK;;YACtB,SAAM;AAAK,iBAAO,KAAK;;YACvB,UAAO;AAAK,iBAAO,KAAK;;;AANvC,eAAA,cAAA;AAkBA,kCAA4B;QAYxB,YAAY,MAAmB,IAAmB,UAAU,OAAK;AAC7D,eAAK,QAAQ;AACb,eAAK,WAAW;AAChB,eAAK,MAAM,OAAO,OAAO,WAAW,KAAK,GAAG;;YAVrC,KAAE;AAAK,iBAAO,KAAK;;YACnB,OAAI;AAAK,iBAAO,KAAK;;YACrB,UAAO;AAAK,iBAAO,KAAK;;YACxB,SAAM;AAAa,iBAAO,KAAK,KAAK;;YACpC,QAAK;AAAkB,iBAAO,KAAK,KAAK;;YACxC,UAAO;AAAqB,iBAAO,KAAK,KAAK;;;AAV5D,eAAA,kBAAA;AAuBA,+BAAyB;QAGrB,YAAY,QAAuB,QAAqB;AACpD,eAAK,SAAS,OAAO,WAAW,WAAW,SAAS,OAAO;AAC3D,eAAK,SAAS,OAAO,WAAW,WAAW,SAAS,OAAO;;;AALnE,eAAA,eAAA;AAaA,4BAAsB;QAGlB,YAAY,QAAuB,WAAwB;AACvD,eAAK,SAAS,OAAO,WAAW,WAAW,SAAS,OAAO;AAC3D,eAAK,YAAY,OAAO,cAAc,WAAW,YAAY,UAAU;;;AAL/E,eAAA,YAAA;AAUA,qCAA+B,SAAc,MAAmB;AAC5D,eAAQ,MAAK;AACT,kBAAQ;iBACC,OAAA,cAAc;AAAQ,qBAAO,SAAA,OAAO,SAAS;iBAC7C,OAAA,cAAc;AAAa,qBAAO,aAAY,SAAS;iBACvD,OAAA,cAAc;AAAiB,qBAAO,gBAAgB,SAAS;;AAExE,gBAAM,IAAI,MAAM,sCAAsC,OAAA,cAAc,gBAAgB;;;AAK5F,mCAA6B,SAAmB,MAAmB;AAC/D,eAAQ,MAAK;AACT,kBAAQ;iBACC,OAAA,cAAc;AAAQ,qBAAO,SAAA,OAAO,OAAO,QAAQ,OAAO,IAAI,SAAA;iBAC9D,OAAA,cAAc;AAAa,qBAAO,aAAY,OAAO,QAAQ,OAAO,IAAI,UAAA,gBAAkB,QAAQ;iBAClG,OAAA,cAAc;AAAiB,qBAAO,gBAAgB,OAAO,QAAQ,OAAO,IAAI,UAAA,oBAAsB,QAAQ;;AAEvH,gBAAM,IAAI,MAAM,sCAAsC,OAAA,cAAc,gBAAgB;;;AAI5F,eAAA,MAAM,YAAY;AAClB,eAAA,MAAM,YAAY;AAClB,eAAA,MAAM,cAAc,OAAA;AAEpB,eAAA,OAAO,YAAY;AACnB,eAAA,OAAO,YAAY;AACnB,eAAA,OAAO,cAAc,OAAA;AAErB,mBAAY,YAAY;AACxB,mBAAY,YAAY;AACxB,mBAAY,cAAc,OAAA;AAE1B,sBAAgB,YAAY;AAC5B,sBAAgB,YAAY;AAC5B,sBAAgB,cAAc,OAAA;AAE9B,gBAAU,YAAY;AACtB,gBAAU,YAAY;AAEtB,mBAAa,YAAY;AACzB,mBAAa,YAAY;AAqCzB,4BAAsB,SAAkB,eAAsC,oBAAI,OAAK;AACnF,cAAM,SAAS,mBAAmB,SAAS;AAC3C,eAAO,IAAI,SAAA,OAAO,QAAQ,qBAAqB,UAAU;;AAI7D,iCAA2B,OAAqB,UAAU,OAAA,gBAAgB,IAAE;AACxE,eAAO,IAAI,aAAY,MAAM,UAAU,iBAAiB,QAAQ,cAAc,OAAO;;AAIzF,qCAA+B,OAAyB,UAAU,OAAA,gBAAgB,IAAE;AAChF,eAAO,IAAI,gBAAgB,aAAY,OAAO,MAAM,QAAS,UAAU,MAAM,MAAM,MAAM;;AAI7F,kCAA4B,GAAU;AAClC,eAAO,IAAI,aAAa,EAAE,UAAU,EAAE;;AAI1C,+BAAyB,GAAa;AAClC,eAAO,IAAI,UAAU,EAAE,UAAU,EAAE;;AAIvC,gCAA0B,OAAmB;AACzC,cAAM,QAAQ;AACd,iBAAS,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,eAAe,EAAE,IAAI,KAAI;AAC3D,cAAI,IAAI,MAAM,MAAM,IAAI;AACpB,kBAAM,EAAE,KAAK,UAAU,OAAO;;;AAGtC,eAAO;;AAIX,6BAAuB,OAAqB,SAAwB;AAChE,cAAM,gBAAgB;AACtB,iBAAS,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,iBAAiB,EAAE,IAAI,KAAI;AAC7D,cAAI,IAAI,MAAM,QAAQ,IAAI;AAI1B,gBAAI,UAAU,OAAA,gBAAgB,IAAI;AAC1B,gBAAE,UAAW,IAAK,KAAI;;AAE1B,0BAAc,EAAE,KAAK,aAAa,OAAO;;;AAGjD,eAAO;;AAIX,kCAA4B,QAAiB,cAAoC;AAC7E,cAAM,SAAS;AACf,iBAAS,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,gBAAgB,EAAE,IAAI,KAAI;AAC7D,cAAI,IAAI,OAAO,OAAO,IAAI;AACtB,mBAAO,EAAE,KAAK,SAAA,MAAM,OAAO,GAAG;;;AAGtC,eAAO;;AAIX,mCAA6B,OAAe,cAAoC;AAC5E,cAAM,WAAW;AACjB,iBAAS,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,kBAAkB,EAAE,IAAI,KAAI;AAC9D,cAAI,IAAI,MAAM,SAAS,IAAI;AACvB,qBAAS,EAAE,KAAK,SAAA,MAAM,OAAO,GAAG;;;AAGxC,eAAO;;AAIX,2BAAqB,GAAW,cAAoC;AAEhE,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AAGJ,YAAI,CAAC,gBAAgB,CAAE,YAAW,EAAE,eAAe;AAC/C,iBAAO,gBAAgB,GAAG,oBAAoB,GAAG;AACjD,kBAAQ,IAAI,SAAA,MAAM,EAAE,QAAS,MAAM,EAAE,YAAY,qBAAqB;mBAKjE,CAAC,aAAa,IAAI,KAAK,SAAS,KAAK,MAAM;AAEhD,iBAAQ,QAAO,SAAS,eAAe,gBAAgB,QAAiB,IAAI,OAAA;AAC5E,uBAAa,IAAI,IAAI,OAAO,gBAAgB,GAAG,oBAAoB,GAAG;AACtE,qBAAW,IAAI,OAAA,WAAW,MAAM,MAAM,IAAI,SAAS;AACnD,kBAAQ,IAAI,SAAA,MAAM,EAAE,QAAS,UAAU,EAAE,YAAY,qBAAqB;eAIzE;AAED,iBAAQ,QAAO,SAAS,eAAe,gBAAgB,QAAiB,IAAI,OAAA;AAC5E,qBAAW,IAAI,OAAA,WAAW,aAAa,IAAI,KAAM,MAAM,IAAI,SAAS;AACpE,kBAAQ,IAAI,SAAA,MAAM,EAAE,QAAS,UAAU,EAAE,YAAY,qBAAqB;;AAE9E,eAAO,SAAS;;AAIpB,oCAA8B,QAAgC;AAC1D,cAAM,OAAO,oBAAI;AACjB,YAAI,QAAQ;AACR,mBAAS,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,yBAAyB,GAAG,EAAE,IAAI,KAAI;AAC1E,gBAAK,SAAQ,OAAO,eAAe,OAAQ,OAAM,MAAM,UAAU,MAAM;AACnE,mBAAK,IAAI,KAAK,MAAM;;;;AAIhC,eAAO;;AAIX,+BAAyB,OAAW;AAChC,eAAO,IAAI,OAAA,IAAI,MAAM,YAAY,MAAM;;AAI3C,+BAAyB,GAAW,UAAkB;AAElD,cAAM,SAAS,EAAE;AAEjB,gBAAQ;eACC,SAAA,KAAK;AAAa,mBAAO,IAAI,OAAA;eAC7B,SAAA,KAAK;AAAa,mBAAO,IAAI,OAAA;eAC7B,SAAA,KAAK;AAAa,mBAAO,IAAI,OAAA;eAC7B,SAAA,KAAK;AAAa,mBAAO,IAAI,OAAA;eAC7B,SAAA,KAAK;AAAa,mBAAO,IAAI,OAAA;eAC7B,SAAA,KAAK;AAAY,mBAAO,IAAI,OAAA,KAAM,aAAY,IAAI;eAClD,SAAA,KAAK;AAAY,mBAAO,IAAI,OAAA,OAAO,YAAY;;AAGxD,gBAAQ;eACC,SAAA,KAAK,QAAQ;AACd,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,IAAI,EAAE,YAAY,EAAE;;eAE9B,SAAA,KAAK,kBAAkB;AACxB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,MAAM,EAAE;;eAElB,SAAA,KAAK,YAAY;AAClB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,QAAQ,EAAE,SAAS,EAAE;;eAE/B,SAAA,KAAK,SAAS;AACf,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,MAAM,EAAE;;eAElB,SAAA,KAAK,SAAS;AACf,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,KAAK,EAAE,QAAQ,EAAE;;eAE3B,SAAA,KAAK,cAAc;AACpB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,UAAU,EAAE,QAAQ,EAAE;;eAEhC,SAAA,KAAK,aAAa;AACnB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,SAAS,EAAE;;eAErB,SAAA,KAAK,UAAU;AAChB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,MAAM,EAAE,QAAQ,EAAE,kBAAkB,IAAI,YAAY;;eAE9D,SAAA,KAAK,oBAAoB;AAC1B,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,gBAAgB,EAAE;;eAE5B,SAAA,KAAK,kBAAkB;AACxB,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,cAAc,EAAE,YAAa,aAAY,IAAI;;eAEvD,SAAA,KAAK,QAAQ;AACd,kBAAM,IAAI,EAAE,KAAK,IAAI,SAAA;AACrB,mBAAO,IAAI,OAAA,KAAM,aAAY,IAAI,IAAI,EAAE;;;AAG/C,cAAM,IAAI,MAAM,uBAAuB,SAAA,KAAK,aAAa;;AAI7D,4BAAsB,GAAY,QAAc;AAE5C,cAAM,eAAe,OAAO,OAAO,IAAI,CAAC,MAAM,SAAA,MAAM,OAAO,GAAG;AAE9D,iBAAA,OAAQ,kBAAkB,GAAG,aAAa;AAE1C,cAAM,qBAAqB,SAAA,OAAQ,mBAAmB,GAAG;AAEzD,cAAM,iBAAiB,CAAE,QAAO,YAAY,OAAO,SAAS,OAAO,KAAK,KACpE,SAAA,OAAQ,2BAA2B,GAAG,CAAC,GAAG,OAAO,UAAU,IAAI,CAAC,CAAC,GAAG,OAAM;AACtE,gBAAM,MAAM,EAAE,aAAa,GAAG;AAC9B,gBAAM,MAAM,EAAE,aAAa,GAAG;AAC9B,mBAAA,SAAU,cAAc;AACxB,mBAAA,SAAU,OAAO,GAAG;AACpB,mBAAA,SAAU,SAAS,GAAG;AACtB,iBAAO,SAAA,SAAU,YAAY;;AAGrC,iBAAA,OAAQ,YAAY;AACpB,iBAAA,OAAQ,UAAU,GAAG;AACrB,iBAAA,OAAQ,cAAc,GAAG,yBAAyB,SAAA,WAAY,SAAS,SAAA,WAAY;AAEnF,YAAI,mBAAmB,IAAI;AAAE,mBAAA,OAAQ,kBAAkB,GAAG;;AAE1D,eAAO,SAAA,OAAQ,UAAU;;AAI7B,2BAAqB,GAAY,OAAY;AAEzC,YAAI,aAAa;AACjB,YAAI,aAAa;AACjB,YAAI,mBAAmB;AAEvB,cAAM,OAAO,MAAM;AACnB,YAAI,SAAqB,MAAM;AAE/B,YAAI,CAAC,OAAA,SAAS,aAAa,OAAO;AAC9B,uBAAa,gBAAA,SAAc,MAAM,MAAM;eACpC;AACH,mBAAS,KAAK,WAAW;AACzB,6BAAmB,gBAAA,SAAc,MAAM,MAAM;AAC7C,uBAAa,gBAAA,SAAc,MAAM,KAAK,YAAY;;AAGtD,cAAM,eAAgB,MAAK,YAAY,IAAI,IAAI,CAAC,MAAa,SAAA,MAAM,OAAO,GAAG;AAC7E,cAAM,uBAAuB,SAAA,MAAO,qBAAqB,GAAG;AAE5D,cAAM,iBAAiB,CAAE,OAAM,YAAY,MAAM,SAAS,OAAO,KAAK,KAClE,SAAA,MAAO,2BAA2B,GAAG,CAAC,GAAG,MAAM,UAAU,IAAI,CAAC,CAAC,GAAG,OAAM;AACpE,gBAAM,MAAM,EAAE,aAAa,GAAG;AAC9B,gBAAM,MAAM,EAAE,aAAa,GAAG;AAC9B,mBAAA,SAAU,cAAc;AACxB,mBAAA,SAAU,OAAO,GAAG;AACpB,mBAAA,SAAU,SAAS,GAAG;AACtB,iBAAO,SAAA,SAAU,YAAY;;AAGrC,YAAI,MAAM,MAAM;AACZ,uBAAa,EAAE,aAAa,MAAM;;AAGtC,iBAAA,MAAO,WAAW;AAClB,iBAAA,MAAO,QAAQ,GAAG;AAClB,iBAAA,MAAO,YAAY,GAAG;AACtB,iBAAA,MAAO,YAAY,GAAG;AACtB,iBAAA,MAAO,YAAY,GAAG,CAAC,CAAC,MAAM;AAE9B,YAAI,eAAe,IAAI;AAAE,mBAAA,MAAO,QAAQ,GAAG;;AAC3C,YAAI,qBAAqB,IAAI;AAAE,mBAAA,MAAO,cAAc,GAAG;;AACvD,YAAI,mBAAmB,IAAI;AAAE,mBAAA,MAAO,kBAAkB,GAAG;;AAEzD,eAAO,SAAA,MAAO,SAAS;;AAI3B,iCAA2B,GAAY,aAAwB;AAE3D,cAAM,QAAQ,YAAY,SAAS;AACnC,cAAM,UAAU,YAAY,WAAW;AAEvC,kBAAA,YAAa,iBAAiB,GAAG,MAAM;AACvC,cAAM,QAAQ,UAAU,QAAQ,CAAC,MAAM,UAAU,OAAO,GAAG;AAE3D,cAAM,oBAAoB,EAAE;AAE5B,kBAAA,YAAa,mBAAmB,GAAG,QAAQ;AAC3C,gBAAQ,QAAQ,UAAU,QAAQ,CAAC,OAAO,aAAa,OAAO,GAAG;AAEjE,cAAM,sBAAsB,EAAE;AAE9B,kBAAA,YAAa,iBAAiB;AAC9B,kBAAA,YAAa,UAAU,GAAG,IAAI,KAAK,YAAY,QAAQ;AACvD,kBAAA,YAAa,SAAS,GAAG;AACzB,kBAAA,YAAa,WAAW,GAAG;AAC3B,eAAO,UAAA,YAAa,eAAe;;AAIvC,qCAA+B,GAAY,iBAAgC;AACvE,cAAM,aAAa,aAAY,OAAO,GAAG,gBAAgB;AACzD,kBAAA,gBAAiB,qBAAqB;AACtC,kBAAA,gBAAiB,MAAM,GAAG,IAAI,KAAK,gBAAgB,IAAI;AACvD,kBAAA,gBAAiB,WAAW,GAAG,gBAAgB;AAC/C,kBAAA,gBAAiB,QAAQ,GAAG;AAC5B,eAAO,UAAA,gBAAiB,mBAAmB;;AAI/C,+BAAyB,GAAY,MAAe;AAChD,eAAO,UAAA,UAAW,gBAAgB,GAAG,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,WAAW;;AAI5F,kCAA4B,GAAY,MAAkB;AACtD,eAAO,SAAA,OAAQ,aAAa,GAAG,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,QAAQ;;AAInF,UAAM,yBAA0B,WAAA;AAC5B,cAAM,SAAS,IAAI,YAAY;AAC/B,YAAI,SAAS,QAAQ,SAAS,GAAG,KAAK;AAEtC,eAAO,IAAI,WAAW,QAAQ,OAAO;;;;;;;;;;;;ACrlBzC,UAAA,SAAA;AACA,UAAA,gBAAA;AACA,UAAO,aAAa,cAAA,YAAY;AAChC,UAAA,YAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,eAAA;AAEe,UAAM,qBAA2B,CAAC,SAAwB,YAAY,OAAA,cAAc;AACpF,UAAM,cAA2B,CAAC,SAAwB,wCAAwC,OAAA,cAAc;AAChH,UAAM,yBAA2B,CAAC,UAAkB,WAAmB,oBAAoB,0CAA0C;AACrI,UAAM,2BAA2B,CAAC,UAAkB,WAAmB,oBAAoB,kDAAkD;AAG5J,iCAA0B;QAEtB,YAAY,QAA0E;AAClF,eAAK,SAAS,kBAAkB,SAAA,aAAa,SAAS,IAAI,SAAA,WAAW;;SAEjE,OAAO,YAAS;AAAgC,iBAAO;;QACxD,OAAI;AACP,cAAI;AACJ,cAAK,KAAI,KAAK,sBAAsB,MAAM;AAAE,mBAAO,aAAA;;AAInD,cAAK,EAAE,UAAU,MACZ,KAAI,KAAK,sBAAsB,MAAM;AAAE,mBAAO,aAAA;;AACnD,cAAK,KAAI,KAAK,aAAa,EAAE,QAAQ,MAAM;AAAE,mBAAO,aAAA;;AACpD,iBAAc;;QAEX,MAAM,OAAW;AAAI,iBAAO,KAAK,OAAO,MAAM;;QAC9C,OAAO,OAAW;AAAI,iBAAO,KAAK,OAAO,OAAO;;QAChD,YAAqC,MAAe;AACvD,cAAI;AACJ,cAAK,KAAI,KAAK,QAAQ,MAAM;AAAE,mBAAO;;AACrC,cAAK,QAAQ,QAAS,EAAE,MAAM,eAAe,MAAM;AAC/C,kBAAM,IAAI,MAAM,mBAAmB;;AAEvC,iBAAO,EAAE;;QAEN,gBAAgB,YAAkB;AACrC,cAAI,cAAc,GAAG;AAAE,mBAAO,IAAI,WAAW;;AAC7C,gBAAM,MAAM,SAAA,aAAa,KAAK,OAAO,KAAK;AAC1C,cAAI,IAAI,aAAa,YAAY;AAC7B,kBAAM,IAAI,MAAM,yBAAyB,YAAY,IAAI;;AAI7D,iBAAiB,IAAI,aAAa,MAAM,KACvB,IAAI,aAAa,IAAI,cAAe,IAAI,OAAO,aAAa,MAAM,IAAI;;QAEpF,WAAW,cAAc,OAAK;AACjC,gBAAM,OAAO,OAAA,cAAc;AAC3B,gBAAM,UAAU,KAAK,YAAY;AACjC,gBAAM,SAAS,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS;AACxB,cAAI,eAAe,CAAC,QAAQ;AACxB,kBAAM,IAAI,MAAM,YAAY;;AAEhC,iBAAO;;QAED,qBAAkB;AACxB,gBAAM,MAAM,KAAK,OAAO,KAAK,SAAA;AAC7B,gBAAM,KAAK,OAAO,IAAI,WAAW;AACjC,gBAAM,MAAM,QAAE,QAAF,OAAE,SAAA,SAAF,GAAI,UAAU,OAAM;AAChC,iBAAO,EAAE,MAAM,QAAQ,GAAG,OAAO;;QAE3B,aAAa,gBAAsB;AACzC,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,cAAI,CAAC,KAAK;AAAE,mBAAO,aAAA;;AACnB,cAAI,IAAI,aAAa,gBAAgB;AACjC,kBAAM,IAAI,MAAM,uBAAuB,gBAAgB,IAAI;;AAE/D,iBAAO,EAAE,MAAM,OAAO,OAAO,UAAA,QAAQ,OAAO;;;AA3DpD,eAAA,gBAAA;AAgEA,sCAA+B;QAI3B,YAAY,QAAa,YAAmB;AACxC,eAAK,SAAS,kBAAkB,SAAA,kBAAkB,SAC5C,SAAA,aAAa,UACb,IAAI,OAAA,sBAAsB,QAAQ,cAClC,IAAI,SAAA,gBAAgB;;SAEtB,OAAO,iBAAc;AAAqC,iBAAO;;QAC5D,OAAI;;AACb,gBAAI;AACJ,gBAAK,KAAI,MAAM,KAAK,sBAAsB,MAAM;AAAE,qBAAO,aAAA;;AAIzD,gBAAK,EAAE,UAAU,MACZ,KAAI,MAAM,KAAK,sBAAsB,MAAM;AAAE,qBAAO,aAAA;;AACzD,gBAAK,KAAI,MAAM,KAAK,aAAa,EAAE,QAAQ,MAAM;AAAE,qBAAO,aAAA;;AAC1D,mBAAc;;;QAEL,MAAM,OAAW;;AAAI,mBAAO,MAAM,KAAK,OAAO,MAAM;;;QACpD,OAAO,OAAW;;AAAI,mBAAO,MAAM,KAAK,OAAO,OAAO;;;QACtD,YAAqC,MAAe;;AAC7D,gBAAI;AACJ,gBAAK,KAAI,MAAM,KAAK,QAAQ,MAAM;AAAE,qBAAO;;AAC3C,gBAAK,QAAQ,QAAS,EAAE,MAAM,eAAe,MAAM;AAC/C,oBAAM,IAAI,MAAM,mBAAmB;;AAEvC,mBAAO,EAAE;;;QAEA,gBAAgB,YAAkB;;AAC3C,gBAAI,cAAc,GAAG;AAAE,qBAAO,IAAI,WAAW;;AAC7C,kBAAM,MAAM,SAAA,aAAa,MAAM,KAAK,OAAO,KAAK;AAChD,gBAAI,IAAI,aAAa,YAAY;AAC7B,oBAAM,IAAI,MAAM,yBAAyB,YAAY,IAAI;;AAI7D,mBAAiB,IAAI,aAAa,MAAM,KACvB,IAAI,aAAa,IAAI,cAAe,IAAI,OAAO,aAAa,MAAM,IAAI;;;QAE9E,WAAW,cAAc,OAAK;;AACvC,kBAAM,OAAO,OAAA,cAAc;AAC3B,kBAAM,UAAU,MAAM,KAAK,YAAY;AACvC,kBAAM,SAAS,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS;AACxB,gBAAI,eAAe,CAAC,QAAQ;AACxB,oBAAM,IAAI,MAAM,YAAY;;AAEhC,mBAAO;;;QAEK,qBAAkB;;AAC9B,kBAAM,MAAM,MAAM,KAAK,OAAO,KAAK,SAAA;AACnC,kBAAM,KAAK,OAAO,IAAI,WAAW;AACjC,kBAAM,MAAM,QAAE,QAAF,OAAE,SAAA,SAAF,GAAI,UAAU,OAAM;AAChC,mBAAO,EAAE,MAAM,QAAQ,GAAG,OAAO;;;QAErB,aAAa,gBAAsB;;AAC/C,kBAAM,MAAM,MAAM,KAAK,OAAO,KAAK;AACnC,gBAAI,CAAC,KAAK;AAAE,qBAAO,aAAA;;AACnB,gBAAI,IAAI,aAAa,gBAAgB;AACjC,oBAAM,IAAI,MAAM,uBAAuB,gBAAgB,IAAI;;AAE/D,mBAAO,EAAE,MAAM,OAAO,OAAO,UAAA,QAAQ,OAAO;;;;AAhEpD,eAAA,qBAAA;AAqEA,6CAAuC,eAAa;QAMhD,YAAY,QAAiC;AACzC,gBAAM,IAAI,WAAW;AANjB,eAAA,UAAU;AAEV,eAAA,QAAe;AACf,eAAA,cAAc;AACd,eAAA,mBAAmB;AAGvB,eAAK,QAAQ,kBAAkB,aAAA,YAAY,SAAS,IAAI,aAAA,UAAU;;QAE/D,OAAI;AACP,gBAAM,EAAE,UAAU;AAClB,cAAI,CAAC,KAAK,SAAS;AACf,iBAAK,UAAU;AACf,kBAAM,UAAU,UAAA,QAAQ,SAAS,MAAM,QAAQ,OAAA,cAAc;AAC7D,mBAAO,EAAE,MAAM,OAAO,OAAO;;AAEjC,cAAI,KAAK,mBAAmB,MAAM,aAAa,QAAQ;AACnD,kBAAM,QAAQ,MAAM,aAAa,KAAK;AACtC,iBAAK,QAAQ,MAAM,QAAQ;AAC3B,kBAAM,UAAU,UAAA,QAAQ,SAAS,OAAO,OAAA,cAAc;AACtD,mBAAO,EAAE,MAAM,OAAO,OAAO;;AAEjC,cAAI,KAAK,cAAc,MAAM,QAAQ,QAAQ;AACzC,kBAAM,QAAQ,MAAM,QAAQ,KAAK;AACjC,iBAAK,QAAQ,MAAM;AACnB,kBAAM,UAAU,UAAA,QAAQ,SAAS,OAAO,OAAA,cAAc;AACtD,mBAAO,EAAE,MAAM,OAAO,OAAO;;AAEjC,eAAK,QAAQ;AACb,iBAAO,aAAA;;QAEJ,gBAAgB,aAAoB;AACvC,iBAAO,mBAAmB,KAAK;AAC/B,sCAA4B,IAAS;AACjC,mBAAQ,OAAM,IAAI,OAAgB,CAAC,SAAS,WAAgB;cACxD,GAAG;cACH,GAAI,OAAO,eAAe,CAAC,OAAO,gBAAgB;cAClD,GAAI,OAAO,WAAW,CAAC,OAAO,YAAY;cAC1C,GAAI,OAAO,aAAa,CAAC,OAAO,cAAc;cAC9C,GAAI,OAAO,WAAW,CAAC,OAAO,YAAY;cAC1C,GAAG,mBAAmB,OAAO;eAC9B;;;QAGJ,YAAqC,MAAe;AACvD,cAAI;AACJ,cAAK,KAAI,KAAK,QAAQ,MAAM;AAAE,mBAAO;;AACrC,cAAK,QAAQ,QAAS,EAAE,MAAM,eAAe,MAAM;AAC/C,kBAAM,IAAI,MAAM,mBAAmB;;AAEvC,iBAAO,EAAE;;QAEN,aAAU;AACb,gBAAM,OAAO,OAAA,cAAc;AAC3B,gBAAM,UAAU,KAAK,YAAY;AACjC,gBAAM,SAAS,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS;AACxB,cAAI,CAAC,WAAW,CAAC,QAAQ;AACrB,kBAAM,IAAI,MAAM,YAAY;;AAEhC,iBAAO;;;AA5Df,eAAA,oBAAA;AAiEa,eAAA,UAAU;AAEV,eAAA,YAAY;AAEZ,eAAA,QAAQ,IAAI,WAAW,SAAA,UAAU;AAE9C,eAAS,IAAI,GAAG,IAAI,SAAA,UAAU,QAAQ,KAAK,IAAI,GAAG;AAC9C,iBAAA,MAAM,KAAK,SAAA,UAAU,WAAW;;AAIpC,wCAAyC,QAAoB,QAAQ,GAAC;AAClE,iBAAS,IAAI,IAAI,IAAI,SAAA,MAAM,QAAQ,EAAE,IAAI,KAAI;AACzC,cAAI,SAAA,MAAM,OAAO,OAAO,QAAQ,IAAI;AAChC,mBAAO;;;AAGf,eAAO;;AANX,eAAA,2BAAA;AAUa,eAAA,cAAc,SAAA,MAAM;AAEpB,eAAA,kBAAkB,SAAA,cAAc,SAAA;AAEhC,eAAA,oBAAoB,SAAA,cAAc,IAAI,SAAA;;;;;;;;;;AC9OnD,UAAA,YAAA;AAkEA,yCAAoC,UAAA,QAAO;QACvC,eAAsD,QAAmB,OAAqB;AAC1F,iBAAQ,WAAW,SACf,iBAAiB,OAAO,eACxB,KAAK,kBAAkB,OAAO,QAAQ,MAAM;;QAGpD,kBAAyD,QAA6B,QAAuB;AACzG,iBAAQ,WAAW,UACf,MAAM,QAAQ,WACd,MAAM,QAAQ,WACd,OAAO,WAAW,OAAO,UACzB,OAAO,MAAM,CAAC,GAAG,MAAM,KAAK,cAAc,GAAG,OAAO;;QAG5D,cAAwC,OAAiB,OAAoB;AACzE,iBAAQ,UAAU,SACd,iBAAiB,MAAM,eACvB,MAAM,SAAS,MAAM,QACrB,MAAM,aAAa,MAAM,YACzB,KAAK,MAAM,MAAM,MAAM,MAAM;;;AApBzC,eAAA,iBAAA;AAyBA,kCAAgD,MAAS,OAAuB;AAC5E,eAAO,iBAAiB,KAAK;;AAGjC,0BAAwC,MAAS,OAAuB;AACpE,eAAQ,SAAS,SAAU,mBAAmB,MAAM;;AAGxD,0BAAmC,MAAS,OAAuB;AAC/D,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,aAAa,MAAM,YACxB,KAAK,aAAa,MAAM;;AAIhC,4BAAuC,MAAS,OAAuB;AACnE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,cAAc,MAAM;;AAIjC,sCAA2D,MAAS,OAAuB;AACvF,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,cAAc,MAAM;;AAIjC,2BAAsC,MAAS,OAAuB;AAClE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,MAAM;;AAI5B,gCAA+C,MAAS,OAAuB;AAC3E,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,MAAM,QACpB,KAAK,aAAa,MAAM;;AAIhC,2BAAqC,MAAS,OAAuB;AACjE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,MAAM,QACpB,KAAK,aAAa,MAAM;;AAIhC,2BAAqC,MAAS,OAAuB;AACjE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,WAAW,MAAM,SAAS,UACxC,SAAA,SAAS,kBAAkB,KAAK,UAAU,MAAM;;AAIxD,6BAAyC,MAAS,OAAuB;AACrE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,WAAW,MAAM,SAAS,UACxC,SAAA,SAAS,kBAAkB,KAAK,UAAU,MAAM;;AAIxD,4BAAuC,MAAS,OAAuB;AACnE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,MAAM,QACpB,KAAK,QAAQ,MAAM,CAAC,GAAG,MAAM,MAAM,MAAM,QAAQ,OACjD,SAAA,SAAS,kBAAkB,KAAK,UAAU,MAAM;;AAIxD,iCAAiD,MAAS,OAAuB;AAC7E,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,OAAO,MAAM,MAClB,KAAK,cAAc,MAAM,aACzB,SAAA,SAAS,MAAY,KAAK,SAAS,MAAM,YACzC,SAAA,SAAS,MAAM,KAAK,YAAY,MAAM;;AAI9C,+BAA6C,MAAS,OAAuB;AACzE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,SAAS,MAAM;;AAI5B,oCAAuD,MAAS,OAAuB;AACnF,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,aAAa,MAAM,YACxB,KAAK,SAAS,WAAW,MAAM,SAAS,UACxC,SAAA,SAAS,kBAAkB,KAAK,UAAU,MAAM;;AAIxD,0BAAoC,MAAS,OAAuB;AAChE,eAAQ,SAAS,SACb,mBAAmB,MAAM,UACzB,KAAK,eAAe,MAAM,cAC1B,KAAK,SAAS,WAAW,MAAM,SAAS,UACxC,SAAA,SAAS,kBAAkB,KAAK,UAAU,MAAM;;AAIxD,qBAAe,UAAU,YAAwC;AACjE,qBAAe,UAAU,YAAwC;AACjE,qBAAe,UAAU,WAAwC;AACjE,qBAAe,UAAU,YAAwC;AACjE,qBAAe,UAAU,aAAwC;AACjE,qBAAe,UAAU,aAAwC;AACjE,qBAAe,UAAU,aAAwC;AACjE,qBAAe,UAAU,aAAwC;AACjE,qBAAe,UAAU,cAAwC;AACjE,qBAAe,UAAU,cAAwC;AACjE,qBAAe,UAAU,cAAwC;AACjE,qBAAe,UAAU,aAAsC;AAC/D,qBAAe,UAAU,eAAsC;AAC/D,qBAAe,UAAU,eAAsC;AAC/D,qBAAe,UAAU,eAAsC;AAC/D,qBAAe,UAAU,YAAwC;AACjE,qBAAe,UAAU,cAAwC;AACjE,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,YAAuC;AAChE,qBAAe,UAAU,eAAuC;AAChE,qBAAe,UAAU,uBAAuC;AAChE,qBAAe,UAAU,iBAAkC;AAC3D,qBAAe,UAAU,uBAAkC;AAC3D,qBAAe,UAAU,4BAAkC;AAC3D,qBAAe,UAAU,4BAAkC;AAC3D,qBAAe,UAAU,2BAAkC;AAC3D,qBAAe,UAAU,YAAuC;AAChE,qBAAe,UAAU,kBAAuC;AAChE,qBAAe,UAAU,uBAAuC;AAChE,qBAAe,UAAU,uBAAuC;AAChE,qBAAe,UAAU,sBAAuC;AAChE,qBAAe,UAAU,eAAwC;AACjE,qBAAe,UAAU,YAAuC;AAChE,qBAAe,UAAU,cAAqC;AAC9D,qBAAe,UAAU,aAAsC;AAC/D,qBAAe,UAAU,kBAAsC;AAC/D,qBAAe,UAAU,mBAAsC;AAC/D,qBAAe,UAAU,kBAAiC;AAC1D,qBAAe,UAAU,gBAAmC;AAC5D,qBAAe,UAAU,uBAAmC;AAC5D,qBAAe,UAAU,yBAAmC;AAC5D,qBAAe,UAAU,qBAA8B;AACvD,qBAAe,UAAU,WAAwC;AAGpD,eAAA,WAAW,IAAI;AAE5B,8BAAsE,QAAmB,OAAqB;AAC1G,eAAO,SAAA,SAAS,eAAe,QAAQ;;AAD3C,eAAA,iBAAA;AAIA,6BAAwD,OAAiB,OAAoB;AACzF,eAAO,SAAA,SAAS,cAAc,OAAO;;AADzC,eAAA,gBAAA;AAIA,4BAAuD,MAAS,OAAgB;AAC5E,eAAO,SAAA,SAAS,MAAM,MAAM;;AADhC,eAAA,eAAA;;;;;;;;;;AClQA,UAAA,YAAA;AACA,UAAA,SAAA;AACA,UAAA,gBAAA;AAEA,UAAA,WAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAgCA,0CAAqC,UAAA,QAAO;QAUxC,cAAA;AAAwB;AAiCd,eAAA,cAAc;AACd,eAAA,SAAsB;AACtB,eAAA,WAA8B;AAC9B,eAAA,iBAAiC;;eA3C7B,YAA4C,MAAiB;AACvE,gBAAM,YAAY,IAAI;AACtB,gBAAM,iBAAiB,OAAA,yBAAyB,cAAA,aAAa;AAC7D,gBAAM,CAAC,iBAAiB,aAAa,UAAU,UAAU;AACzD,iBAAO;;QAKJ,MAAwB,QAAS;AACpC,cAAI,CAAC,OAAA,SAAS,aAAa,OAAO,OAAO;AACrC,kBAAM,EAAE,MAAM,QAAQ,cAAc;AACpC,gBAAI,SAAS,YAAY;AAErB,oBAAM,IAAI,WAAW;;AAEzB,gBAAI,CAAC,OAAA,SAAS,OAAO,OAAO,OAAO;AAC/B,wBAAU,KAAK,MAAM,aAAa,IAC5B,IAAI,WAAW,KACf,MAAA,eAAe,KAAK,QAAQ,QAAQ,KAAK;;AAGnD,iBAAK,MAAM,KAAK,IAAI,UAAA,UAAU,QAAQ;;AAE1C,iBAAO,MAAM,MAAM;;QAGhB,UAA0B,QAAY;AACzC,iBAAO;;QAEJ,gBAAsC,QAAY;AAErD,iBAAO,KAAK,MAAM,OAAO;;YAGlB,QAAK;AAAK,iBAAO,KAAK;;YACtB,UAAO;AAAK,iBAAO,KAAK;;YACxB,aAAU;AAAK,iBAAO,KAAK;;YAC3B,gBAAa;AAAK,iBAAO,KAAK;;;AAzC7C,eAAA,kBAAA;AAkDA,yBAA0C,QAAuB;AAC7D,cAAM,aAAc,OAAO,aAAa,IAAK,CAAC;AAC9C,aAAK,QAAQ,KAAK;AAClB,aAAK,cAAc,KAAK,IAAI,UAAA,aAAa,KAAK,aAAa;AAC3D,aAAK,eAAe;AACpB,eAAO;;AAIX,6BAA+D,QAAY;AACvE,cAAM,EAAE,MAAM,QAAQ,SAAS,iBAAiB;AAEhD,kBAAU,KAAK,MAAM;AAErB,YAAI,KAAK,SAAS,OAAA,UAAU,QAAQ;AAChC,iBAAO,qBAAqB,KAAK,MAAM;mBAChC,KAAK,SAAS,OAAA,UAAU,OAAO;AAEtC,cAAI,OAAO,UAAU,GAAG;AAEpB,sBAAU,KAAK,MAAM;AAErB,mBAAO,qBAAqB,KAAK,MAAM;iBACpC;AAIH,kBAAM,iBAAiB,QAAQ,OAAO,CAAC,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,QAAQ;AACxE,kBAAM,eAAe,IAAI,WAAW,iBAAiB;AAErD,kBAAM,eAAe,IAAI,WAAW,iBAAiB,GAAG,KAAK;AAC7D,kBAAM,iBAAiB,IAAI,WAAW;AAItC,kBAAM,mBAAmB,SAAA,mBAAmB,CAAC,aAAa,IAAI,QAAQ;AACtE,qBAAS,QAAQ,OAAO,QAAQ,IAAI,EAAE,QAAQ,UAAS;AACnD,kBAAK,SAAQ,aAAa,SAAS,QAAQ,aAAa,IAAI;AACxD,wBAAQ,aAAa,UAAU,iBAAiB;;AAEpD,6BAAe,SAAS,iBAAiB,SAAS;AAClD,gBAAE,aAAa;;AAEnB,sBAAU,KAAK,MAAM;AAErB,qBAAS,OAAsB,aAAa,IAAI,cAAc,KAAK,SAAS,QAAQ,EAAE,aAAa,eAAc;AAC7G,kBAAI,QAAQ,OAAO,WAAW,aAAa;AACvC,sBAAM,SAAS,KAAK,QAAQ;AAC5B,sBAAM,cAAc,KAAK,IAAI,QAAQ,aAAa;AAClD,qBAAK,MAAM,MAAM,MAAM,aAAa,SAAS;;;;;AAK7D,eAAO;;AAIX,kCAAmE,QAAY;AAE3E,YAAI;AACJ,YAAI,OAAO,aAAa,OAAO,QAAQ;AAEnC,iBAAO,UAAU,KAAK,MAAM,IAAI,WAAW;mBACnC,UAAS,OAAO,mBAAmB,YAAY;AAEvD,iBAAO,UAAU,KAAK,MAAM,MAAA,eAAe,OAAO,QAAQ,OAAO,QAAQ;;AAO7E,eAAO,UAAU,KAAK,MAAM,MAAA,UAAU;;AAI1C,kCAA4I,QAAY;AACpJ,eAAO,UAAU,KAAK,MAAM,OAAO,OAAO,SAAS,GAAG,OAAO,SAAS,OAAO;;AAIjF,sCAAgF,QAAY;AACxF,cAAM,EAAE,QAAQ,QAAQ,iBAAiB;AACzC,cAAM,cAAc,aAAa;AACjC,cAAM,aAAa,aAAa;AAChC,cAAM,aAAa,KAAK,IAAI,aAAa,aAAa,OAAO,aAAa;AAE1E,kBAAU,KAAK,MAAM,SAAA,mBAAmB,CAAC,aAAa,IAAI,QAAQ;AAClE,kBAAU,KAAK,MAAM,OAAO,SAAS,aAAa,cAAc;AAChE,eAAO;;AAIX,kCAA0F,QAAY;AAClG,cAAM,EAAE,QAAQ,iBAAiB;AAEjC,YAAI,cAAc;AACd,oBAAU,KAAK,MAAM,SAAA,mBAAmB,aAAa,IAAI,QAAQ;;AAGrE,eAAO,KAAK,MAAM,OAAO,WAAW;;AAIxC,oCAA+E,QAAY;AACvF,eAAO,KAAK,UAAU,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MAAM,OAAO,WAAW,IAAK,OAAO,UAAU;;AAGrG,sBAAgB,UAAU,YAA2B;AACrD,sBAAgB,UAAU,WAA2B;AACrD,sBAAgB,UAAU,aAA2B;AACrD,sBAAgB,UAAU,YAAuB;AACjD,sBAAgB,UAAU,cAAuB;AACjD,sBAAgB,UAAU,uBAA2B;AACrD,sBAAgB,UAAU,YAA2B;AACrD,sBAAgB,UAAU,iBAA2B;AACrD,sBAAgB,UAAU,YAA2B;AACrD,sBAAgB,UAAU,eAA2B;AACrD,sBAAgB,UAAU,YAA2B;AACrD,sBAAgB,UAAU,cAAyB;AACnD,sBAAgB,UAAU,aAAgC;AAC1D,sBAAgB,UAAU,gBAA2B;AACrD,sBAAgB,UAAU,qBAA2B;AACrD,sBAAgB,UAAU,WAA2B;;;;;;;;;;ACvNrD,UAAA,YAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AAQA,4CAAuC,UAAA,QAAO;QACnC,MAA+B,MAAO;AACzC,iBAAO,QAAQ,OAAO,SAAY,MAAM,MAAM;;QAE3C,UAA+B,EAAE,UAAW;AAC/C,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,SAA6B,EAAE,QAAQ,UAAU,YAAa;AACjE,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,YAAY,UAAU,YAAY;;QAEjF,WAAiC,EAAE,QAAQ,aAAc;AAC5D,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,aAAa,OAAA,UAAU;;QAEtE,YAAmC,EAAE,UAAW;AACnD,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,UAA+B,EAAE,UAAW;AAC/C,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,UAA+B,EAAE,UAAW;AAC/C,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,aAAqC,EAAE,QAAQ,OAAO,aAAc;AACvE,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,SAAS,OAAO,aAAa;;QAE5E,UAAgC,EAAE,QAAQ,QAAS;AACtD,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,QAAQ,OAAA,SAAS;;QAEhE,UAA+B,EAAE,QAAQ,MAAM,YAAa;AAC/D,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,QAAQ,OAAA,SAAS,OAAO;;QAEvE,eAAyC,EAAE,QAAQ,UAAU,QAAS;AACzE,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,QAAQ,OAAA,SAAS,OAAO;;QAEvE,cAAuC,EAAE,QAAQ,QAAS;AAC7D,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,QAAQ,OAAA,aAAa;;QAEpE,UAA+B,EAAE,UAAW;AAC/C,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,YAAmC,EAAE,UAAW;AACnD,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ;;QAEhC,WAAiC,EAAE,QAAQ,MAAM,WAAY;AAChE,iBAAO;YACH,QAAQ,SAAA,KAAU,QAAQ;YAC1B,QAAQ,OAAA,UAAU;YAClB,WAAW,CAAC,GAAG;;;QAGhB,gBAA2C,MAAO;AACrD,iBAAO,KAAK,MAAM,KAAK;;QAEpB,qBAAqD,EAAE,QAAQ,aAAc;AAChF,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,aAAa;;QAE5D,mBAAiD,EAAE,QAAQ,YAAa;AAC3E,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,YAAY;;QAE3D,SAA8B,EAAE,QAAQ,cAAe;AAC1D,iBAAO,EAAE,QAAQ,SAAA,KAAU,QAAQ,eAAe,cAAc;;;AA5DxE,eAAA,oBAAA;;;;;;;;;;ACXA,UAAA,OAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AACA,UAAA,gBAAA;AAEA,UAAA,SAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AAiCA,8CAAyC,UAAA,QAAO;eAG9B,YAA4C,MAAiB;AACvE,iBAAO,IAAI,sBAAsB,UAAU,OAAA,yBAAyB,cAAA,aAAa;;QAG9E,MAAwB,QAAS;AACpC,gBAAM,EAAE,MAAM,MAAM,WAAW;AAC/B,gBAAM,EAAE,QAAQ,WAAW,eAAe;AAC1C,gBAAM,OAAO,OAAA,SAAS,aAAa,OAAO,QAAQ,OAAO,KAAK,UAAU,OAAO;AAC/E,gBAAM,UAAU,OAAO,OAAO,IAAI,KAAK,SAAS,GAAG,OAAA,WAAW,WAAW;AACzE,iBAAA,OAAA,OAAA,EACI,QAAQ,MACR,SAAS,QACT,YAAY,OAAA,SAAS,OAAO,QAAQ,SAC9B,aAAa,IAAI,MAAM,KAAK,EAAE,UAAU,MAAM,KAC9C,CAAC,GAAG,IAAI,MAAA,YAAY,YAAY,QAAQ,QAAQ,MAAM,MAAA,YACzD,MAAM,MAAM,SAAA,OAAO,IAAI,KAAK,MAAM,MAAM,QAAQ,QAAQ,GAAG;;QAG/D,YAAS;AAAK,iBAAO;;QACrB,UAA0B,EAAE,QAAQ,QAAQ,UAAc;AAC7D,iBAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,MAAA,YAAY,QAAQ,QAAQ,QAAQ,MAAM,MAAA;;QAEhE,SAAwB,QAAY;AACvC,iBAAO;YACH,QAAQ,OAAO,KAAK,WAAW,KACzB,CAAC,GAAG,OAAO,UACX,CAAC,GAAG,iBAAiB,OAAO,QAAsC;;;QAGzE,WAA4B,QAAY;AAC3C,iBAAO,EAAE,QAAQ,CAAC,GAAG,OAAO;;QAEzB,UAA0B,QAAY;AACzC,iBAAO,EAAE,QAAQ,CAAC,GAAG,SAAS,UAAU,CAAC,GAAG,OAAO;;QAEhD,YAA8B,QAAY;AAC7C,iBAAO,EAAE,QAAQ,CAAC,GAAG,eAAe,UAAU,QAAQ,CAAC,GAAG,OAAO;;QAE9D,qBAAgD,QAAY;AAC/D,iBAAO,EAAE,QAAQ,CAAC,GAAG,eAAe;;QAEjC,UAA2B,QAAY;AAC1C,iBAAO;YACH,QAAQ,OAAO,KAAK,SAAS,OAAA,SAAS,MAChC,CAAC,GAAG,OAAO,UACX,CAAC,GAAG,iBAAiB,OAAO,QAAQ;;;QAG3C,eAAoC,QAAY;AACnD,iBAAO,EAAE,QAAQ,CAAC,GAAG,iBAAiB,OAAO,QAAQ;;QAElD,UAA0B,QAAY;AACzC,iBAAO;YACH,QAAQ,OAAO,KAAK,OAAO,OAAA,SAAS,cAC9B,CAAC,GAAG,OAAO,UACX,CAAC,GAAG,iBAAiB,OAAO,QAAQ;;;QAG3C,aAAgC,QAAY;AAC/C,iBAAO,EAAE,QAAQ,CAAC,GAAG,iBAAiB,OAAO,QAAQ;;QAElD,UAA0B,QAAY;AACzC,iBAAO;YACH,UAAU,CAAC,GAAG,OAAO;YACrB,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MACrC,KAAK,MAAM,IAAI,SAAA,OAAO,GAAG,CAAC,OAAO,WAAW;;;QAGjD,YAA8B,QAAY;AAC7C,iBAAO;YACH,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MACrC,KAAK,MAAM,IAAI,SAAA,OAAO,GAAG,CAAC,OAAO,WAAW;;;QAGjD,WAA4B,QAAY;AAC3C,iBAAO;YACH,QAAQ,CAAC,GAAG,OAAO;YACnB,UAAU,OAAO,KAAK,SAAS,OAAA,UAAU,QAAQ,CAAC,GAAG,OAAO,gBAAgB;YAC5E,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MAAM,KAAK,MAAM,IAAI,SAAA,OAAO,GAAG,CAAC,OAAO,WAAW;;;QAG5F,cAAkC,QAAY;AACjD,iBAAO,EAAE,QAAQ,CAAC,GAAG,OAAO;;QAEzB,mBAA4C,QAAY;AAC3D,iBAAO;YACH,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MACrC,KAAK,MAAM,IAAI,SAAA,OAAO,GAAG,CAAC,OAAO,WAAW;;;QAGjD,SAAyB,QAAY;AACxC,iBAAO;YACH,UAAU,CAAC,GAAG,OAAO;YACrB,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,MACrC,KAAK,MAAM,IAAI,SAAA,OAAO,GAAG,CAAC,OAAO,WAAW;;;;AAjG5D,eAAA,sBAAA;AAuGA,+BAAyB,QAAgD;AACrE,mBAAW,UAAU,QAAgC;AACjD,gBAAM,OAAO,OAAO,CAAC,KAAK,SAAQ;AAC9B,mBAAO,GAAG,MAAO,OAAO,QAAO,KAAM,SAAS,KAAK,MAAM;aAC1D,IAAI;;;AAKf,iCAA2B,QAAkC,QAAc;AACvE,iBAAS,IAAI,IAAI,IAAI,OAAO,SAAS,QAAQ,EAAE,IAAI,KAAI;AACnD,gBAAM,GAAG,KAAA,GAAG,IAAI,OAAO,SAAU,KAAI,KAAK,QAAS,KAAI,KAAK,SAAS;;;;;;;;;;;;;AC7J7E,UAAA,UAAA;AACA,UAAA,YAAA;AAEA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,mBAAA;AACA,UAAA,WAAA;AACA,UAAA,oBAAA;AACA,UAAA,sBAAA;AACA,UAAA,wBAAA;AACA,UAAA,WAAA;AACA,UAAA,gBAAA;AACA,UAAA,eAAA;AACA,UAAA,WAAA;AAgBA,6CAAoF,aAAA,gBAA2B;QAiB3G,YAAY,SAAwC;AAChD;AAMM,eAAA,YAAY;AACZ,eAAA,WAAW;AAIX,eAAA,QAAQ,IAAI,SAAA;AACZ,eAAA,UAAyB;AACzB,eAAA,oBAAiC;AACjC,eAAA,qBAAkC;AAClC,eAAA,0BAA0B,oBAAI;AAdpC,mBAAA,SAAS,YAAa,WAAU,EAAE,aAAa,MAAM,sBAAsB;AAC3E,eAAK,eAAgB,OAAO,QAAQ,gBAAgB,YAAa,QAAQ,cAAc;AACvF,eAAK,wBAAyB,OAAO,QAAQ,yBAAyB,YAAa,QAAQ,uBAAuB;;eAjBxG,YAAY,SAAmE;AACzF,gBAAM,IAAI,MAAM;;eAGN,WAEV,kBAEA,kBAAyD;AAEzD,gBAAM,IAAI,MAAM;;QAuBb,SAAS,OAAY,OAAK;AAC7B,iBAAO,KAAK,MAAM,SAAS;;QAIxB,aAAa,OAAY,OAAK;AACjC,iBAAO,KAAK,MAAM,aAAa;;QAO5B,SAAS,OAA6F;AACzG,cAAI,SAAA,UAAe,QAAQ;AACvB,mBAAO,MAAM,KAAK,CAAC,MAAM,KAAK,SAAS;qBAChC,SAAA,gBAAgC,QAAQ;AAC/C,mBAAO,cAAc,MAAM;;AAE/B,iBAAO,SAAS,MAAY;;YAGrB,SAAM;AAAK,iBAAO,KAAK,MAAM;;SAChC,OAAO,iBAAc;AAAK,iBAAO,KAAK,MAAM,OAAO;;QACpD,YAAY,SAAkC;AAAI,iBAAO,KAAK,MAAM,YAAY;;QAChF,aAAa,SAA0C;AAAI,iBAAO,KAAK,MAAM,aAAa;;QAE1F,QAAK;AACR,iBAAO,KAAK,QAAQ,MAAM;;QAEvB,MAAM,QAAY;AACrB,iBAAO,KAAK,QAAQ,MAAM,MAAM;;QAE7B,SAAM;AACT,eAAK,eAAe,KAAK,UAAU,KAAK,MAAM,KAAK,OAAO,KAAK;AAC/D,iBAAO;;QAEJ,MAAM,OAA2C,KAAK,OAAO,SAA2B,MAAI;AAC/F,cAAK,SAAS,KAAK,SAAW,gBAAgB,SAAA,gBAAiB;AAC3D,iBAAK,QAAQ;iBACV;AACH,iBAAK,QAAQ,IAAI,SAAA;AACjB,gBAAI,QAAQ,SAAA,oBAAoB,OAAO;AACnC,mBAAK,YAAY,EAAE,MAAM,WAAW,OAAO;uBACpC,QAAQ,SAAA,qBAAqB,OAAO;AAC3C,mBAAK,aAAa,EAAE,YAAY,SAAS,KAAK;;;AAItD,cAAI,KAAK,YAAY,KAAK,SAAS;AAC/B,iBAAK,aAAa,KAAK;;AAG3B,eAAK,WAAW;AAChB,eAAK,oBAAoB;AACzB,eAAK,qBAAqB;AAC1B,eAAK,0BAA0B,oBAAI;AAEnC,cAAI,CAAC,UAAU,CAAE,iBAAA,eAAe,QAAQ,KAAK,UAAW;AACpD,gBAAI,WAAW,MAAM;AACjB,mBAAK,YAAY;AACjB,mBAAK,UAAU;mBACZ;AACH,mBAAK,WAAW;AAChB,mBAAK,UAAU;AACf,mBAAK,aAAa;;;AAI1B,iBAAO;;QAGJ,MAAM,SAAqE;AAC9E,cAAI,SAA2B;AAE/B,cAAI,CAAC,KAAK,OAAO;AACb,kBAAM,IAAI,MAAM;qBACT,WAAW,MAAM;AACxB,mBAAO,KAAK,YAAY;qBACjB,mBAAmB,QAAA,SAAS,CAAE,UAAS,QAAQ,SAAS;AAC/D,mBAAO,KAAK,YAAY;qBACjB,mBAAmB,cAAA,eAAe,CAAE,UAAS,QAAQ,SAAS;AACrE,mBAAO,KAAK,YAAY;;AAG5B,cAAI,UAAU,CAAC,iBAAA,eAAe,QAAQ,KAAK,UAAU;AACjD,gBAAI,KAAK,YAAY,KAAK,cAAc;AACpC,qBAAO,KAAK;;AAEhB,iBAAK,MAAM,KAAK,OAAO;;AAG3B,cAAI,mBAAmB,cAAA,aAAa;AAChC,gBAAI,CAAE,oBAAmB,cAAA,uCAAuC;AAC5D,mBAAK,kBAAkB;;qBAEpB,mBAAmB,QAAA,OAAO;AACjC,iBAAK,SAAS,QAAQ;qBACf,SAAA,WAAW,UAAU;AAC5B,iBAAK,SAAS;;;QAIZ,cAAuC,SAAqB,YAAY,GAAC;AAC/E,gBAAM,IAAI,YAAY;AACtB,gBAAM,SAAS,UAAA,QAAQ,OAAO;AAC9B,gBAAM,iBAAiB,OAAO;AAC9B,gBAAM,aAAa,CAAC,KAAK,wBAAwB,IAAI;AACrD,gBAAM,cAAe,iBAAiB,aAAa,IAAK,CAAC;AACzD,gBAAM,gBAAgB,cAAc,iBAAiB;AAErD,cAAI,QAAQ,eAAe,OAAA,cAAc,aAAa;AAClD,iBAAK,mBAAmB,KAAK,IAAI,OAAA,UAAU,aAAa,QAAQ,YAAY,KAAK;qBAC1E,QAAQ,eAAe,OAAA,cAAc,iBAAiB;AAC7D,iBAAK,kBAAkB,KAAK,IAAI,OAAA,UAAU,aAAa,QAAQ,YAAY,KAAK;;AAIpF,cAAI,CAAC,KAAK,uBAAuB;AAC7B,iBAAK,OAAO,WAAW,GAAG;;AAG9B,eAAK,OAAO,WAAW,GAAG,cAAc;AAExC,cAAI,iBAAiB,GAAG;AAAE,iBAAK,OAAO;;AAEtC,iBAAO,KAAK,cAAc;;QAGpB,OAAO,OAA2B;AACxC,cAAI,KAAK,UAAU;AACf,kBAAM,SAAS,SAAA,aAAa;AAC5B,gBAAI,UAAU,OAAO,aAAa,GAAG;AACjC,mBAAK,MAAM,MAAM;AACjB,mBAAK,aAAa,OAAO;;;AAGjC,iBAAO;;QAGD,aAAa,QAAiB;AACpC,iBAAO,KAAK,cAAc,UAAA,QAAQ,KAAK;;QAIjC,aAAa,QAAiB;AAEpC,iBAAO,KAAK,wBACN,KAAK,OAAO,WAAW,GAAG,MAC1B,KAAK,OAAO,WAAW,GAAG,IAAI;;QAG9B,cAAW;AACjB,iBAAO,KAAK,OAAO,UAAA;;QAGb,cAAc,QAAc;AAClC,iBAAO,SAAS,IAAI,KAAK,OAAO,IAAI,WAAW,WAAW;;QAGpD,kBAAkB,OAAqB;AAC7C,gBAAM,EAAE,YAAY,OAAO,eAAe,YAAY,kBAAA,gBAAgB,SAAS;AAC/E,gBAAM,cAAc,IAAI,SAAS,YAAY,MAAM,QAAQ,OAAO;AAClE,gBAAM,UAAU,UAAA,QAAQ,KAAK,aAAa;AAC1C,iBAAO,KACF,mBAAmB,OACnB,cAAc,SACd,kBAAkB;;QAGjB,sBAAsB,YAAoB,IAAY,UAAU,OAAK;AAC3E,eAAK,wBAAwB,IAAI,IAAI,WAAW,SAAU,MAAK,wBAAwB,IAAI,OAAO;AAClG,gBAAM,EAAE,YAAY,OAAO,eAAe,YAAY,kBAAA,gBAAgB,SAAS;AAC/E,gBAAM,cAAc,IAAI,SAAS,YAAY,WAAW,QAAQ,OAAO;AACvE,gBAAM,kBAAkB,IAAI,SAAS,gBAAgB,aAAa,IAAI;AACtE,gBAAM,UAAU,UAAA,QAAQ,KAAK,iBAAiB;AAC9C,iBAAO,KACF,cAAc,SACd,kBAAkB;;QAGjB,kBAAkB,SAA0B;AAClD,cAAI;AACJ,cAAI,MAAc;AAClB,mBAAS,IAAI,IAAI,IAAI,QAAQ,QAAQ,EAAE,IAAI,KAAI;AAC3C,gBAAK,UAAS,QAAQ,OAAQ,QAAO,OAAO,cAAc,GAAG;AACzD,mBAAK,OAAO;AACZ,kBAAK,WAAY,QAAO,IAAK,CAAC,KAAK,QAAQ,GAAG;AAC1C,qBAAK,cAAc;;;;AAI/B,iBAAO;;QAGD,mBAAmB,OAAqB;AAC9C,mBAAS,CAAC,IAAI,eAAe,MAAM,cAAc;AAC7C,gBAAI,SAAS,KAAK,wBAAwB,IAAI,OAAO;AACrD,gBAAI,WAAW,KAAM,cAAa,WAAW,MAAM,SAAS,SAAS,GAAG;AACpE,oBAAM,SAAS,YAAY,aAAc,WAAmB,SAAS,CAAC;AACtE,yBAAW,SAAS,QAAQ;AACxB,qBAAK,sBAAsB,OAAO,IAAI,SAAS;AAC/C,0BAAU,MAAM;;;;AAI5B,iBAAO;;;AAnPf,eAAA,oBAAA;AAwPA,mDAA0F,mBAAoB;eAM5F,SAAsD,OAAY,SAAwC;AACpH,gBAAM,SAAS,IAAI,yBAA2B;AAC9C,cAAI,SAAA,UAAe,QAAQ;AACvB,mBAAO,MAAM,KAAK,CAAC,MAAM,OAAO,SAAS;qBAClC,SAAA,gBAAgC,QAAQ;AAC/C,mBAAO,cAAc,QAAQ;;AAEjC,iBAAO,SAAS,QAAQ;;;AAbhC,eAAA,0BAAA;AAkBA,iDAAwF,mBAAoB;eAM1F,SAAsD,OAAU;AAC1E,gBAAM,SAAS,IAAI;AACnB,cAAI,SAAA,UAAe,QAAQ;AACvB,mBAAO,MAAM,KAAK,CAAC,MAAM,OAAO,SAAS;qBAClC,SAAA,gBAAgC,QAAQ;AAC/C,mBAAO,cAAc,QAAQ;;AAEjC,iBAAO,SAAS,QAAQ;;QAG5B,cAAA;AACI;AACA,eAAK,eAAe;;QAId,aAAa,QAAiB;AACpC,iBAAO,KAAK,cAAc,cAAc;;QAGlC,aAAa,QAAiB;AACpC,gBAAM,SAAS,OAAA,OAAO,OAAO,IAAI,OAAA,OAC7B,QAAQ,OAAA,gBAAgB,IACxB,KAAK,oBAAoB,KAAK;AAElC,iBAAO,MACF,aAAa,QACb,OAAO,QACP,OAAO,WAAW,GAAG,OAAO,aAC5B;;;AAnCb,eAAA,wBAAA;AAwCA,iDAAwF,mBAAoB;QAexG,cAAA;AACI;AACA,eAAK,eAAe;AACpB,eAAK,iBAAiB;AACtB,eAAK,gBAAgB;;eAXX,SAAsF,OAAU;AAC1G,iBAAO,IAAI,yBAA2B,SAAS;;QAazC,gBAAa;AAAK,iBAAO;;QAEzB,aAAa,QAAiB;AAAI,iBAAO;;QACzC,aAAa,QAAiB;AACpC,iBAAO,KAAK,OAAO;cACf,KAAK,UAAU,EAAE,QAAQ,OAAO,OAAO,IAAI,gBAAgB,MAAM;;QAG/D,mBAAmB,OAAqB;AAC9C,cAAI,MAAM,aAAa,OAAO,GAAG;AAC7B,iBAAK,cAAc,KAAK;;AAE5B,iBAAO;;QAED,sBAAsB,YAAoB,IAAY,UAAU,OAAK;AAC3E,eAAK,wBAAwB,IAAI,IAAI,WAAW,SAAU,MAAK,wBAAwB,IAAI,OAAO;AAClG,eAAK,OAAO,KAAK,kBAAkB,WAAW,IAAI,SAAS;;AAC3D,eAAK,OAAO,GAAG,sBAAsB,YAAY,IAAI;AACrD,eAAK,kBAAkB,KAAK,IAAI,OAAA,UAAU,GAAG,GAAG;AAChD,iBAAO;;QAED,kBAAkB,OAAqB;AAC7C,eAAK,mBAAmB;AACxB,eAAK,eAAe,KAAK;AACzB,iBAAO;;QAEJ,QAAK;AAER,cAAI,KAAK,cAAc,SAAS,GAAG;AAC/B,iBAAK,OAAO;;;AACZ,uBAAW,SAAS,KAAK,eAAe;AACpC,oBAAM,mBAAmB;;AAE7B,iBAAK,OAAO;;;AAGhB,cAAI,KAAK,eAAe,SAAS,GAAG;AAChC,qBAAS,IAAI,IAAI,IAAI,KAAK,eAAe,QAAQ,EAAE,IAAI,KAAI;AACvD,mBAAK,OAAO,MAAM,IAAI;;QAA4B;;AAClD,mBAAK,OAAO,GAAG,kBAAkB,KAAK,eAAe;AACrD,mBAAK,mBAAmB,KAAK,IAAI,OAAA,UAAU,GAAG,GAAG;;AAErD,iBAAK,OAAO;;;AAGhB,cAAI,KAAK,SAAS;AACd,iBAAK,OAAO;;;AAGhB,eAAK,gBAAgB;AACrB,eAAK,iBAAiB;AAEtB,iBAAO,MAAM;;;AA1ErB,eAAA,wBAAA;AA+EA,wBAA+D,QAA8B,OAA0C;AACnI,YAAI,SAAS;AACb,YAAI,iBAAiB,QAAA,OAAO;AACxB,mBAAS,MAAM;AACf,iBAAO,MAAM,QAAW,MAAM;;AAElC,mBAAW,SAAS,QAAQ;AACxB,iBAAO,MAAM;;AAEjB,eAAO,OAAO;;AAIlB,6BAA0E,QAA8B,SAAsC;;;;;AAC1I,iBAA0B,YAAA,QAAA,cAAA,UAAO,cAAA,MAAA,UAAA,QAAA,CAAA,YAAA,QAAA;AAAtB,oBAAM,QAAK,YAAA;AAClB,qBAAO,MAAM;;;;;;;;;;;;;AAEjB,iBAAO,OAAO;;;AAIlB,2BAAqB,EAAE,MAAM,MAAM,YAAiB;AAChD,cAAM,YAAY,IAAI,oBAAA;AACtB,eAAO;UACH,QAAQ;UAAM,YAAY;UAC1B,QAAQ,UAAU,MAAM;UACxB,YAAa,MAAK,YAAY,IAAI,IAAI;UACtC,cAAc,CAAC,OAAA,SAAS,aAAa,QAAQ,SAAY;YACrD,MAAM,KAAK;YACX,aAAa,KAAK;YAClB,aAAa,UAAU,MAAM,KAAK;;;;AAM9C,qCAA+B,YAAoB,IAAY,UAAU,OAAK;AAC1E,cAAM,QAAQ,IAAI,SAAA,MAAM,GAAG,MAAM,WAAW,MAAM,WAAW,YAAY;AACzE,cAAM,UAAU,sBAAA,oBAAoB,SAAS,IAAI,SAAA,OAAO,OAAO,CAAC;AAChE,eAAO,KAAK,UAAU;UAClB,MAAM;UACN,WAAW;UACX,QAAQ;YACJ,SAAS,WAAW;YACpB,WAAW;;WAEhB,MAAM;;AAIb,iCAA2B,SAAoB;AAC3C,eAAO,KAAK,UAAU;UAClB,SAAS,QAAQ;UACjB,WAAW,sBAAA,oBAAoB,SAAS;WACzC,MAAM;;;;;;;;;;;ACtdb,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,gBAAA;AAEA,UAAM,UAAU,IAAI,WAAW;AAC/B,UAAM,WAAW,CAAC,iBAAmC;QACjD;QAAS;QAAS,IAAI,WAAW;QAAe;;AAIpD,oCACI,QACA,QACA,cAAc,OAAO,OAAO,CAAC,GAAG,MAAM,KAAK,IAAI,GAAG,EAAE,SAAS,IAAE;AAE/D,YAAI;AACJ,YAAI;AACJ,YAAI,IAAI;AACR,cAAM,IAAI,OAAO;AACjB,cAAM,SAAS,CAAC,GAAG,OAAO;AAC1B,cAAM,YAAY;AAClB,cAAM,eAAiB,eAAc,KAAM,CAAC,OAAO;AACnD,eAAO,EAAE,IAAI,GAAG;AACZ,cAAK,QAAO,OAAO,OAAO,KAAK,WAAW,aAAa;AACnD,sBAAU,KAAK;iBACZ;AACH,YAAC,SAAQ,OAAO,IAAI,YAAa,QAAO,KAAK,OAAO,GAAG,MAAM,EAAE,UAAU;AACzE,sBAAU,KAAK,OAAO,KAAK,mCAAmC,eACxD,OAAA,KAAK,IAAI,MAAM,MAAM,GAAG,aAAa,aAAa,SAAS;;;AAGzE,eAAO,CAAC,IAAI,SAAA,OAAU,SAAS,aAAa;;AArBhD,eAAA,uBAAA;AAyBA,kDAAgG,SAA6B;AACzH,eAAO,mCAAsC,IAAI,SAAA,OAAU,QAAQ,IAAI,CAAC,EAAE,YAAY,SAAS;;AADnG,eAAA,qCAAA;AAKA,kDAAgG,QAAmB,MAAkD;AACjK,eAAO,6CAAgD,QAAQ,KAAK,IAAI,CAAC,MAAM,aAAa,UAAA,UAAU,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;;AAD3I,eAAA,qCAAA;AAKA,4DAAmG,QAAmB,SAA6B;AAE/I,cAAM,SAAS,CAAC,GAAG,OAAO;AAC1B,cAAM,YAAY;AAClB,cAAM,OAAO,EAAE,YAAY,QAAQ,OAAO,CAAC,GAAG,MAAM,KAAK,IAAI,GAAG,EAAE,SAAS;AAE3E,YAAI,aAAa,GAAG,cAAc;AAClC,YAAI,IAAI;AACR,cAAM,aAAa,QAAQ;AAC3B,YAAI,OAAyB,YAAgC;AAE7D,eAAO,KAAK,eAAe,GAAG;AAE1B,eAAK,cAAc,OAAO,mBAAmB,IAAI,IAAI,EAAE,IAAI,cAAa;AACpE,sBAAU,KAAK,QAAQ,QAAQ,GAAG;AAClC,0BAAc,KAAK,IAAI,aAAa,QAAQ,MAAM,SAAS;;AAG/D,cAAI,SAAS,cAAc;AACvB,wBAAY,oBAAoB,QAAQ,aAAa,WAAW,SAAS;AACzE,gBAAI,cAAc,GAAG;AACjB,wBAAU,gBAAgB,CAAC,aAAa,UAAU;;;;AAI9D,eAAO;UACH,SAAS,IAAI,SAAA,OAAU,QAAQ,OAAO;UACtC,UAAU,IAAI,CAAC,OAAO,IAAI,cAAA,YAAY,QAAQ,GAAG;;;AAKzD,mCAA0E,QAA6B,aAAqB,WAA+B,SAA+B,MAA4B;AAClN,YAAI;AACJ,YAAI;AACJ,YAAI,SAAS,GAAG,IAAI;AACpB,cAAM,IAAI,QAAQ;AAClB,cAAM,eAAiB,eAAc,KAAM,CAAC,OAAO;AACnD,eAAO,EAAE,IAAI,GAAG;AACZ,cAAK,QAAO,UAAU,OAAS,UAAS,KAAK,WAAW,aAAc;AAClE,gBAAI,WAAW,aAAa;AACxB,wBAAU,KAAK;mBACZ;AACH,wBAAU,KAAK,KAAK,MAAM,GAAG;AAC7B,qBAAO,KAAK,MAAM,aAAa,SAAS;AACxC,mBAAK,aAAa,KAAK,IAAI,KAAK,YAAY,QAAQ,GAAG,QAAQ;;iBAEhE;AACH,YAAC,SAAQ,OAAO,IAAI,YAAa,QAAO,KAAK,MAAM,MAAM,EAAE,UAAU;AACrE,sBAAU,KAAK,OAAO,KAAK,mCAAmC,eACxD,OAAA,KAAK,IAAI,MAAM,MAAM,GAAG,aAAa,aAAa,SAAS;;;AAGzE,eAAO;;;;;;;;;;;ACrGX,UAAA,SAAA;AAEA,UAAA,YAAA;AACA,UAAA,WAAA;AAEA,UAAA,WAAA;AAUA,sCAAmE,SAAA,eAAiB;QAKhF,YAAY,MAAe,UAAmB;AAC1C;AACA,eAAK,YAAY;AACjB,eAAK,cAAc,KAAK,UAAU;AAClC,eAAK,mBAAmB,KAAK,OAAO;;YAM7B,OAAI;AAAK,iBAAO,KAAK,KAAK;;YAC1B,SAAM;AAAK,iBAAO,KAAK,KAAK;;YAC5B,SAAM;AAAK,iBAAO,KAAK,KAAK;;YAC5B,SAAM;AAAK,iBAAO,KAAK,KAAK;;YAC5B,SAAM;AAAK,iBAAO,KAAK,KAAK;;YAC5B,YAAS;AAAK,iBAAO,KAAK,KAAK;;YAC/B,aAAU;AAAK,iBAAO,KAAK,KAAK;;YAChC,aAAU;AAAK,iBAAO,GAAG,OAAA,KAAK,KAAK;;YAEnC,YAAS;AAAqB,iBAAO,KAAK,KAAK;;YAE/C,SAAM;AAAK,iBAAO,KAAK,KAAK;;YAC5B,UAAO;AAAK,iBAAO,KAAK,KAAK;;YAC7B,aAAU;AAAK,iBAAO,KAAK,KAAK;;YAChC,eAAY;AAAK,iBAAO,KAAK,KAAK;;aAEjC,OAAO,eAAY;AAAK,iBAAO,GAAG,KAAK,cAAc,KAAK,KAAK,OAAO;;QAE3E,MAA8B,MAAe,WAAW,KAAK,WAAS;AACzE,iBAAO,SAAA,OAAO,IAAO,MAAM;;QAGxB,UAAU,QAAmB;AAChC,iBAAO,UAAA,QAAQ,OAAU,MAAM,GAAG;;QAG/B,MAAM,OAAgB,KAAY;AAIrC,iBAAO,SAAA,WAAW,MAAM,OAAO,KAAK,KAAK;;QAGtC,QAAQ,OAAa;AACxB,cAAI,KAAK,YAAY,GAAG;AACpB,kBAAM,MAAM,KAAK,SAAS;AAC1B,kBAAM,MAAM,KAAK,WAAW,OAAO;AACnC,kBAAM,OAAQ,MAAO,KAAM,MAAM;AACjC,mBAAO,SAAS;;AAEpB,iBAAO;;QAGJ,WAAqC,OAAa;AACrD,iBAAO,QAAQ,KAAK,SAAS,KAAK,cAAc,OAC3C,MAAK,aAAc,MAAK,YAAY,KAAK,UACzC,MAAK,UAAU,SAAS,SAAA,OAAO,IAAO,KAAK,KAAK,UAAU;;QAI5D,SAAM;AAAK,iBAAO,CAAC,GAAG;;QAEnB,eAAe,OAAY,OAAe,KAAW;AAC3D,iBAAO,MAAK,MAAM,MAAK,KAAK,MAAM,OAAO,MAAM,QAAQ;;QAIjD,mBAAmB,MAAa;;;AAxE9C,eAAA,aAAA;AA6EC,kBAAW,UAAkB,OAAO,sBAAsB;;;;;;;;;;AC7F3D,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AAGA,wCAAkC,OAAA,WAAkB;QACzC,SAAM;AACT,iBAAO,SAAA,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,OAAA;;;AAF9C,eAAA,eAAA;;;;;;;;;;ACLA,UAAA,SAAA;AAEA,UAAA,SAAA;AAEA,UAAA,UAAA;AAIA,sCAAgC,OAAA,WAAgB;eAM9B,KAAkB,OAAkK;AAC9L,iBAAO,QAAA,yBAAyB,MAAM,IAAI,OAAA,QAAQ;;;AAP1D,eAAA,aAAA;;;;;;;;;;ACRA,UAAA,SAAA;AAEA,UAAA,SAAA;AAGA,UAAA,UAAA;AAEA,UAAA,SAAA;AAMA,sCAAyD,OAAA,WAAa;eAQpD,QAAsC,MAA+J;AAC/M,cAAI,KAAK,WAAW,GAAG;AACnB,mBAAO,QAAA,yBAAyB,MAAM,KAAK,OAAO,OAAA,SAAS,MAAM,IAAI,OAAA,YAAY,IAAI,OAAA,mBAAwB,KAAK;;AAEtH,iBAAO,QAAA,yBAAyB,MAAM,IAAI,OAAA,mBAAwB,KAAK;;;AAZ/E,eAAA,aAAA;AAiBA,yCAAmC,YAAmB;;AAAtD,eAAA,gBAAA;AAGA,iDAA2C,YAA2B;;AAAtE,eAAA,wBAAA;;;;;;;;;;AChCA,UAAA,SAAA;AAGA,yCAAmC,OAAA,WAAmB;;AAAtD,eAAA,gBAAA;;;;;;;;;;ACJA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AAGA,UAAA,UAAA;AAEA,UAAA,SAAA;AAMA,4CAA4F,OAAA,WAA+B;QAcvH,YAAY,MAA+B;AACvC,gBAAM;AACN,eAAK,UAAU,SAAA,OAAO,IAAI,KAAK,MAAM,KAAK,KAAK;;eAXrC,QAA8D,MAAW;AACnF,cAAI,KAAK,WAAW,GAAG;AACnB,kBAAM,CAAC,QAAQ,SAAS,QAAQ;AAChC,kBAAM,OAAO,IAAI,OAAA,WAAW,OAAO,MAAM,SAAS,MAAM;AACxD,mBAAO,SAAA,OAAO,IAAI,OAAA,KAAK,WAAW,MAAM,GAAG,KAAK,QAAQ,GAAG,MAAM,MAAM;;AAE3E,iBAAO,QAAA,yBAAyB,MAAM,KAAK,GAAG,MAAM,KAAK;;YAUlD,aAAU;AAAK,iBAAmB,KAAK,KAAK;;QAChD,cAAc,OAAQ;AAAI,iBAAO,KAAK,WAAW,QAAQ;;QACzD,OAAO,KAAW;AAA2B,iBAAO,KAAK,QAAQ,IAAI;;QACrE,SAAS,KAAW;AAAwB,iBAAO,KAAK,WAAW,IAAI;;QACvE,OAAO,KAAa,KAA0B;AAAI,iBAAO,KAAK,QAAQ,IAAI,KAAK;;QAC/E,SAAS,KAAa,OAAyB;AAAI,iBAAO,KAAK,WAAW,IAAI,KAAK;;;AA1B9F,eAAA,mBAAA;AA6BC,wBAAiB,UAAkB,UAAU;;;;;;;;;;AC1C9C,UAAA,SAAA;AAIA,iDAA2C,OAAA,WAA2B;;AAAtE,eAAA,wBAAA;;;;;;;;;;ACJA,UAAA,SAAA;AAIA,+CAAmE,OAAA,WAA4B;;AAA/F,eAAA,sBAAA;;;;;;;;;;ACJA,UAAA,SAAA;AACA,UAAA,WAAA;AAEA,UAAA,SAAA;AAEA,UAAA,UAAA;AAEA,UAAA,SAAA;AAsBA,uCAA0D,OAAA,WAAa;eAmBrD,KAAkE,OAA0B;AAEtG,cAAI,YAAY,qBAAqB;AAErC,cAAK,iBAAiB,eAAgB,YAAY,OAAO,QAAQ;AAC7D,kBAAM,YAAY,oBAAoB,MAAM,gBAAkC;AAG9E,gBAAI,cAAc,MAAM;AACpB,0BAAY;;AAIhB,gBAAI,aAAa,cAAc,WAAW;AACtC,oBAAM,OAAO,IAAI;AACjB,oBAAM,SAAS,MAAM,aAAa,KAAK,UAAU;AAGjD,kBAAI,CAAC,eAAe,WAAW,MAAM,cAAc;AAC/C,uBAAO,SAAA,OAAO,IAAI,OAAA,KAAK,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM;;;;AAKnE,cAAI,WAAW;AAIX,mBAAO,QAAA,yBAAyB,MAAM,IAAI,aAAmB;;AAGjE,cAAK,iBAAiB,YAAc,iBAAiB,aAAc;AAC/D,kBAAM,IAAI,UAAU,4CAA4C,MAAM,YAAY;;AAGtF,gBAAM,IAAI,UAAU;;;AAtD5B,eAAA,cAAA;AA2DA,yCAAmC,aAAoB;QAO5C,iBAAc;AAAK,iBAAO,IAAI,aAAa;;QAC3C,iBAAc;AAAK,iBAAO,IAAI,aAAa;;;AARtD,eAAA,gBAAA;AAYA,yCAAmC,aAAoB;;AAAvD,eAAA,gBAAA;AAEA,yCAAmC,aAAoB;;AAAvD,eAAA,gBAAA;AAEA,UAAM,iBAAiB,CAAC,UAAe,aAAiB;AACpD,eAAQ,aAAa,OAAA,WAAa,aAAa;;AAInD,UAAM,sBAAsB,CAAC,SAAwB;AACjD,gBAAQ;eACC;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,OAAA;;AACnB,mBAAO;;;AAKxB,UAAM,uBAAuB,CAAC,SAAiC;AAC3D,gBAAQ;eACC;AAAe,mBAAO,OAAA;eACtB;AAAe,mBAAO,OAAA;eACtB;AAAe,mBAAO,OAAA;;AAClB,mBAAO;;;;;;;;;;;;AC5HxB,UAAA,SAAA;AAIA,0CAAmE,OAAA,WAAa;;AAAhF,eAAA,iBAAA;AAEA,iDAA2C,gBAA+B;;AAA1E,eAAA,wBAAA;AAEA,mDAA6C,gBAAiC;;AAA9E,eAAA,0BAAA;;;;;;;;;;ACRA,UAAA,SAAA;AACA,UAAA,WAAA;AAEA,UAAA,SAAA;AAEA,UAAA,UAAA;AAEA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AA8BA,qCAAoD,OAAA,WAAa;eA+B/C,QAAiE,MAAwB;AAEnG,gBAAM,CAAC,OAAO,UAAU,SAAS;AACjC,cAAI,YAAY,qBAAqB,MAAM;AAE3C,cAAK,iBAAiB,eAAgB,YAAY,OAAO,QAAQ;AAC7D,kBAAM,YAAY,oBAAoB,MAAM,aAA6B,YAAY;AAGrF,gBAAI,cAAc,MAAM;AACpB,0BAAY;;AAIhB,gBAAI,aAAa,cAAc,WAAW;AACtC,oBAAM,OAAO,IAAI;AACjB,kBAAI,SAAS,MAAM,aAAa,KAAK,UAAU;AAE/C,kBAAI,iBAAiB,WAAW,MAAM,cAAc;AAChD,0BAAU;;AAEd,qBAAO,SAAA,OAAO,IAAI,OAAA,KAAK,IAAI,MAAM,GAAG,QAAQ,GAAG,MAAM;;;AAI7D,cAAI,WAAW;AAIX,mBAAO,QAAA,yBAAyB,MAAM,IAAI,aAAmB;;AAGjE,cAAK,iBAAiB,YAAc,iBAAiB,aAAc;AAC/D,kBAAM,IAAI,UAAU,8CAA8C,MAAM,YAAY;;AAGxF,gBAAM,IAAI,UAAU;;;AAnE5B,eAAA,YAAA;AAwEA,sCAAgC,WAAe;;AAA/C,eAAA,aAAA;AAEA,uCAAiC,WAAgB;;AAAjD,eAAA,cAAA;AAEA,uCAAiC,WAAgB;;AAAjD,eAAA,cAAA;AAEA,uCAAiC,WAAgB;QACtC,kBAAe;AAClB,iBAAO,SAAA,gBAAgB,KAAK;;YAGrB,WAAQ;AACf,iBAAO,KAAK,aAAc,MAAK,YAAY,KAAK;;;AANxD,eAAA,cAAA;AAWA,uCAAiC,WAAgB;;AAAjD,eAAA,cAAA;AAEA,wCAAkC,WAAiB;;AAAnD,eAAA,eAAA;AAEA,wCAAkC,WAAiB;;AAAnD,eAAA,eAAA;AAEA,wCAAkC,WAAiB;QACxC,mBAAgB;AACnB,iBAAO,SAAA,iBAAiB,KAAK;;YAGtB,WAAQ;AACf,iBAAO,KAAK,aAAc,MAAK,YAAY,KAAK;;;AANxD,eAAA,eAAA;AAUA,UAAM,mBAAmB,CAAC,UAAe,aAAiB;AACtD,eAAQ,cAAa,OAAA,SAAS,aAAa,OAAA,WACnC,cAAa,cAAc,aAAa;;AAIpD,UAAM,sBAAsB,CAAC,MAAoB,YAAoB;AACjE,gBAAQ;eACC;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,UAAU,OAAA,QAAQ,OAAA;eACzC,SAAA;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,OAAA;eACvB;AAAgB,mBAAO,UAAU,OAAA,SAAS,OAAA;eAC1C,SAAA;AAAgB,mBAAO,OAAA;;AACnB,mBAAO;;;AAKxB,UAAM,uBAAuB,CAAC,MAA6B,YAAoB;AAC3E,gBAAQ;eACC;AAAc,mBAAO,OAAA;eACrB;AAAc,mBAAO,OAAA;eACrB;AAAc,mBAAO,UAAU,OAAA,QAAQ,OAAA;eACvC;AAAc,mBAAO,OAAA;eACrB;AAAc,mBAAO,OAAA;eACrB;AAAc,mBAAO,OAAA;eACrB;AAAc,mBAAO,UAAU,OAAA,SAAS,OAAA;eACxC;AAAc,mBAAO,OAAA;;AACjB,mBAAO;;;;;;;;;;;;AC/KxB,UAAA,SAAA;AAIA,sCAA0D,OAAA,WAAmB;;AAA7E,eAAA,aAAA;;;;;;;;;;ACJA,UAAA,QAAA;AAEA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AAGA,qCAAmF,OAAA,WAAsB;QAC9F,SAAM;AACT,gBAAM,QAAQ,KAAK,KAAK,SAAS;AACjC,iBAAO,SAAA,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,OAAA,KAAmC;;QAEtE,KAAK,OAAa;AACrB,gBAAM,QAAQ,KAAK,WAAyC;AAC5D,gBAAM,GAAG,QAAQ,QAAQ,QAAQ,IAAI,QAAQ,KAAK;AAClD,iBAAO,IAAI,MAAA,OAAO,MAAM,MAAM,OAAO;;;AAR7C,eAAA,YAAA;;;;;;;;;;ACNA,UAAA,SAAA;AAGA,sCAAgC,OAAA,WAAgB;;AAAhD,eAAA,aAAA;;;;;;;;;;ACJA,UAAA,QAAA;AACA,UAAA,SAAA;AAGe,UAAM,YAAY,OAAO,IAAI;AAE5C,wCAA+E,OAAA,WAAqB;QAEzF,KAAK,OAAa;AACrB,gBAAM,QAAQ,KAAK,QAAS,MAAK,OAAO,IAAI,MAAA,UAAa;AACzD,gBAAM,QAAQ,OAAO,OAAO;AAC5B,gBAAM,aAAa;AACnB,iBAAO;;;AANf,eAAA,eAAA;;;;;;;;;;ACNA,UAAA,SAAA;AAIA,2CAAsE,OAAA,WAAa;;AAAnF,eAAA,kBAAA;AAEA,iDAA2C,iBAAgC;;AAA3E,eAAA,wBAAA;AAEA,sDAAgD,iBAAqC;;AAArF,eAAA,6BAAA;AAEA,sDAAgD,iBAAqC;;AAArF,eAAA,6BAAA;AAEA,qDAA+C,iBAAoC;;AAAnF,eAAA,4BAAA;;;;;;;;;;ACZA,UAAA,SAAA;AAIA,sCAAuD,OAAA,WAAa;;AAApE,eAAA,aAAA;AAEA,4CAAsC,YAAsB;;AAA5D,eAAA,mBAAA;AAEA,iDAA2C,YAA2B;;AAAtE,eAAA,wBAAA;AAEA,iDAA2C,YAA2B;;AAAtE,eAAA,wBAAA;AAEA,gDAA0C,YAA0B;;AAApE,eAAA,uBAAA;;;;;;;;;;ACZA,UAAA,SAAA;AAIA,uCAA0D,OAAA,WAAa;YACxD,qBAAkB;AAAK,iBAAO,KAAK,KAAK,KAAK;;;AAD5D,eAAA,cAAA;AAKA,4CAAsC,aAAuB;YAC9C,eAAY;AAAK,iBAAO,KAAK,KAAK;;;AADjD,eAAA,mBAAA;AAKA,6CAAuC,aAAwB;;AAA/D,eAAA,oBAAA;;;;;;;;;;ACdA,UAAA,WAAA;AAEA,UAAA,SAAA;AACA,UAAA,SAAA;AAEA,UAAA,UAAA;AAIA,sCAAgC,OAAA,WAAgB;eAM9B,KAAkB,OAA8J;AAC1L,iBAAO,QAAA,yBAAyB,MAAM,IAAI,OAAA,QAAQ;;QAE/C,WAAQ;AACX,iBAAO,SAAA,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,OAAA;;;AAV9C,eAAA,aAAA;;;;;;;;;;ACRA,wBAA4B,OAAuB;AAC/C,eAAO,WAAA;AAAoB,iBAAO,MAAM;;;AAD5C,eAAA,WAAA;AAKA,wBAA4B,OAA+B;AACvD,eAAO,SAAkB,GAAM;AAAI,iBAAO,MAAM,MAAM;;;AAD1D,eAAA,WAAA;AAKA,wBAA4B,OAAuC;AAC/D,eAAO,SAAkB,GAAQ,GAAM;AAAI,iBAAO,MAAM,MAAM,GAAG;;;AADrE,eAAA,WAAA;;;;;;;;;;ACVA,UAAA,OAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AAEA,UAAA,SAAA;AACA,UAAA,SAAA;AAiEA,qCAAgC,UAAA,QAAO;;AAAvC,eAAA,aAAA;AAEc,UAAM,gBAAgB,CAAC,MAAkB,UAAkB,QAAW,KAAK;AAC3E,UAAM,4BAA4B,CAAC,MAAkB,UAAkB,aAAc,KAAK,QAAQ,KAAO,MAAK,WAAW;AACzH,UAAM,4BAA4B,CAAC,MAAkB,UAAkB,aAAc,MAAK,QAAQ,KAAK,OAAU,MAAK,WAAW,KAAK;AACtI,UAAM,2BAA2B,CAAC,MAAkB,UAAkB,aAAc,MAAK,QAAQ,KAAK,OAAa,MAAK,WAAW,KAAK;AAExI,UAAM,0BAA0B,CAAC,YAAoB,IAAI,KAAK;AAC9D,UAAM,kBAAkB,CAAC,MAAkB,UAAkB,wBAAwB,cAAc,MAAM;AACzG,UAAM,8BAA8B,CAAC,MAAkB,UAAkB,wBAAwB,0BAA0B,MAAM;AAG/I,UAAM,UAAU,CAAiB,SAAwB,WAAgC;AAEzF,UAAM,wBAAwB,CAAC,QAAoB,cAA0B,UAAiB;AAC1F,cAAM,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM;AACvC,eAAO,KAAK,QAAQ,KAAK,OAAO,OAAO,SAAS,GAAG,KAAK;;AAI5D,UAAM,UAAU,CAAiB,EAAE,QAAQ,UAAyB,UAA8B;AAC9F,cAAM,MAAM,SAAS;AACrB,cAAM,OAAO,OAAO,OAAO;AAC3B,eAAQ,QAAO,KAAM,MAAM,OAAQ;;AASvC,UAAM,aAAqB,CAA4B,EAAE,UAAiC,UAA+B,gBAAgB,QAAQ;AAEjJ,UAAM,qBAAqB,CAA4B,EAAE,UAAiC,UAA+B,4BAA4B,QAAQ,QAAQ;AAErK,UAAM,aAAqB,CAA4B,EAAE,QAAQ,UAAyB,UAA+B,OAAO,SAAS;AAEzI,UAAM,aAAqB,CAA4B,EAAE,QAAQ,UAAyB,UAA+B,OAAA,gBAAgB,OAAO,SAAS;AAEzJ,UAAM,aAAqB,CAAsB,EAAE,QAAQ,QAAQ,QAAuB,UAAqC,KAAA,GAAG,IAAI,OAAO,SAAS,SAAS,OAAO,SAAU,SAAQ,KAAK,KAAK;AAElM,UAAM,qBAAqB,CAA4B,EAAE,QAAQ,UAAyB,UAA+B,OAAO,SAAS,SAAS,OAAO,SAAU,SAAQ;AAG3K,UAAM,YAAY,CAAmB,EAAE,QAAQ,gBAA+B,UAA+B,sBAAsB,QAAQ,cAAc;AAEzJ,UAAM,UAAU,CAAiB,EAAE,QAAQ,gBAA+B,UAA8B;AACpG,cAAM,QAAQ,sBAAsB,QAAQ,cAAc;AAC1D,eAAO,UAAU,OAAO,OAAA,WAAW,SAAS;;AAKhD,UAAM,SAAS,CAAgB,QAAuB,UAClD,OAAO,KAAK,WAAW,KACjB,WAAW,QAAiC,SAC5C,WAAW,QAAiC;AAKtD,UAAM,WAAW,CAAmB,QAAuB,UACvD,OAAO,KAAK,cAAc,OAAA,UAAU,OAC9B,WAAW,QAAiC,SAC5C,WAAW,QAA+B;AAKpD,UAAM,UAAU,CAAmB,QAAuB,UACtD,OAAO,KAAK,SAAS,OAAA,SAAS,MACxB,WAAW,QAA+B,SAC1C,mBAAmB,QAAuC;AAIpE,UAAM,qBAA0B,CAAiC,EAAE,UAAyB,UAA+B,MAAO,0BAA0B,QAAQ,QAAQ;AAE5K,UAAM,0BAA0B,CAAiC,EAAE,UAAyB,UAA+B,0BAA0B,QAAQ,QAAQ;AAErK,UAAM,0BAA0B,CAAiC,EAAE,UAAyB,UAA+B,0BAA0B,QAAQ,QAAQ;AAErK,UAAM,yBAA0B,CAAiC,EAAE,UAAyB,UAA+B,yBAAyB,QAAQ,QAAQ;AAGpK,UAAM,eAA0B,CAAsB,QAAuB,UAA8B;AACvG,gBAAQ,OAAO,KAAK;eACX,OAAA,SAAS;AAAa,mBAAY,mBAAmB,QAAuC;eAC5F,OAAA,SAAS;AAAa,mBAAO,wBAAwB,QAA4C;eACjG,OAAA,SAAS;AAAa,mBAAO,wBAAwB,QAA4C;eACjG,OAAA,SAAS;AAAa,mBAAQ,uBAAuB,QAA2C;;;AAK7G,UAAM,gBAAqB,CAA4B,EAAE,QAAQ,UAAyB,UAA+B,OAAO,SAAS;AAEzI,UAAM,qBAAqB,CAA4B,EAAE,QAAQ,UAAyB,UAA+B,OAAO,SAAS;AAEzI,UAAM,qBAAqB,CAA4B,EAAE,UAAiC,UAA+B,KAAA,GAAG,OAAO,OAAO,SAAS,IAAI,OAAO,IAAK,SAAQ;AAE3K,UAAM,oBAAqB,CAA4B,EAAE,UAAiC,UAA+B,KAAA,GAAG,OAAO,OAAO,SAAS,IAAI,OAAO,IAAK,SAAQ;AAG3K,UAAM,UAAqB,CAAiB,QAAuB,UAA8B;AAC7F,gBAAQ,OAAO,KAAK;eACX,OAAA,SAAS;AAAa,mBAAY,cAAc,QAAkC;eAClF,OAAA,SAAS;AAAa,mBAAO,mBAAmB,QAAuC;eACvF,OAAA,SAAS;AAAa,mBAAO,mBAAmB,QAAuC;eACvF,OAAA,SAAS;AAAa,mBAAQ,kBAAkB,QAAsC;;;AAKnG,UAAM,aAAa,CAAoB,EAAE,UAAyB,UAA+B,KAAA,GAAG,QAAQ,OAAO,SAAS,IAAI,OAAO,IAAK,SAAQ;AAGpJ,UAAM,UAAU,CAAiB,QAAuB,UAA8B;AAClF,cAAM,QAAQ,OAAO,WAAW,IAAK,EAAE,cAAc,WAAW;AAChE,eAAO,MAAM,MAAM,aAAa,QAAQ,SAAS,aAAc,QAAQ,SAAU;;AAIrF,UAAM,SAAS,CAAiB,QAAuB,UAA8B;AACjF,eAAO,OAAO,KAAK;;AAIvB,UAAM,YAAY,CAAmB,QAAuB,UAA8B;AACtF,eAAO,OAAO,KAAK;;AAKvB,UAAM,WAAW,CAEf,QAAW,UAA8B;AACvC,eAAO,OAAO,KAAK,SAAS,OAAA,UAAU,QAClC,cAAc,QAAkC,SAChD,eAAe,QAAmC;;AAI1D,UAAM,gBAAgB,CAAuB,QAAuB,UAA8B;AAC9F,cAAM,aAAa,OAAO,mBAAmB,OAAO,QAAQ;AAC5D,cAAM,QAAQ,OAAO,WAAW;AAChC,eAAO,QAAQ,MAAM,IAAI,OAAO,aAAa,UAAU;;AAI3D,UAAM,iBAAiB,CAAwB,QAAuB,UAA8B;AAChG,cAAM,aAAa,OAAO,mBAAmB,OAAO,QAAQ;AAC5D,cAAM,QAAQ,OAAO,WAAW;AAChC,eAAO,QAAQ,MAAM,IAAI,SAAS;;AAItC,UAAM,gBAAgB,CAAuB,QAAuB,UAA8B;AAC9F,eAAO,OAAO,SAAS,OAAO,OAAO;;AAKzC,UAAM,cAAc,CAAqB,QAAuB,UAC3D,OAAO,KAAK,SAAS,OAAA,aAAa,WAC7B,mBAAmB,QAAuC,SAC1D,qBAAqB,QAAyC;AAGxE,UAAM,qBAAqB,CAA4B,EAAE,UAAyB,UAA+B,OAAO,SAAS,IAAI,OAAO,IAAK,SAAQ;AAGzJ,UAAM,uBAAuB,CAA8B,EAAE,UAAyB,UAA8B;AAChH,cAAM,WAAW,OAAO;AACxB,cAAM,SAAS,IAAI,WAAW;AAC9B,eAAO,KAAK,WAAW,KAAK;AAC5B,eAAO,KAAK,WAAW,KAAK;AAC5B,eAAO;;AAIX,UAAM,mBAAmB,CAA0B,QAAuB,UAA8B;AACpG,cAAM,QAAQ,OAAO,WAAW,IAAK,EAAE,WAAW;AAClD,eAAO,MAAM,MAAM,QAAQ,QAAS,SAAQ,KAAK;;AAGrD,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,WAA6C;AAClE,iBAAW,UAAU,YAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,aAAyC;AAC9D,iBAAW,UAAU,cAAyC;AAC9D,iBAAW,UAAU,cAAyC;AAC9D,iBAAW,UAAU,cAAyC;AAC9D,iBAAW,UAAU,aAA2C;AAChE,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,cAA0C;AAC/D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,iBAAuC;AAC5D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,4BAA4B;AACjD,iBAAW,UAAU,4BAA4B;AACjD,iBAAW,UAAU,2BAA6B;AAClD,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,sBAAkC;AACvD,iBAAW,UAAU,eAAyC;AAC9D,iBAAW,UAAU,YAA4C;AACjE,iBAAW,UAAU,cAA0C;AAC/D,iBAAW,UAAU,aAA2C;AAChE,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,mBAAqC;AAC1D,iBAAW,UAAU,kBAAsC;AAC3D,iBAAW,UAAU,gBAAwC;AAC7D,iBAAW,UAAU,uBAAiC;AACtD,iBAAW,UAAU,yBAA+B;AACpD,iBAAW,UAAU,qBAAmC;AACxD,iBAAW,UAAU,WAA6C;AAGrD,eAAA,WAAW,IAAI;;;;;;;;;;AC7S5B,UAAA,YAAA;AAEA,UAAA,QAAA;AACA,UAAA,WAAA;AAiEA,yCAAoC,UAAA,QAAO;;AAA3C,eAAA,iBAAA;AAGA,2BAAqB,QAA0B,eAAoB;AAE/D,eAAO,kBAAkB,QAAQ,OAAO,SAAS,IAAI,IAAI;;AAI7D,2BAAyC,QAAuB,WAAkB;AAC9E,cAAM,EAAE,eAAe,OAAO;AAC9B,YAAI,CAAC,cAAc,OAAO,aAAa,GAAG;AACtC,iBAAO;;AAEX,YAAI,IAAI;AACR,mBAAW,WAAW,IAAI,MAAA,YAAY,YAAY,OAAO,KAAK,SAAU,cAAa,IAAI,OAAO,QAAQ,YAAY,MAAA,UAAU;AAC1H,cAAI,CAAC,SAAS;AAAE,mBAAO;;AACvB,YAAE;;AAEN,eAAO;;AAIX,4BAA0C,QAAuB,eAAoC,WAAkB;AACnH,YAAI,kBAAkB,QAAW;AAAE,iBAAO;;AAC1C,YAAI,kBAAkB,MAAM;AAAE,iBAAO,YAAY,QAAQ;;AACzD,cAAM,UAAU,SAAA,wBAAwB;AACxC,iBAAS,IAAK,cAAa,KAAK,GAAG,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC5D,cAAI,QAAQ,OAAO,IAAI,KAAK;AACxB,mBAAO;;;AAGf,eAAO;;AAIX,4BAA0C,QAAuB,eAAoC,WAAkB;AAKnH,cAAM,UAAU,SAAA,wBAAwB;AACxC,iBAAS,IAAK,cAAa,KAAK,GAAG,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAI;AAC5D,cAAI,QAAQ,OAAO,IAAI,KAAK;AACxB,mBAAO;;;AAGf,eAAO;;AAGX,qBAAe,UAAU,YAA6B;AACtD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,WAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,iBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,4BAA4B;AACrD,qBAAe,UAAU,4BAA4B;AACrD,qBAAe,UAAU,2BAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,sBAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,mBAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,gBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,yBAA4B;AACrD,qBAAe,UAAU,qBAA4B;AACrD,qBAAe,UAAU,WAA4B;AAGxC,eAAA,WAAW,IAAI;;;;;;;;;;ACpK5B,UAAA,SAAA;AACA,UAAA,YAAA;AAEA,UAAA,QAAA;AACA,UAAA,QAAA;AAiEA,0CAAqC,UAAA,QAAO;;AAA5C,eAAA,kBAAA;AAGA,gCAA8C,QAAqB;AAC/D,cAAM,QAAQ,MAAA,SAAW,WAAW;AACpC,eAAO,IAAI,MAAA,YACP,OAAO,KAAK,YAAY,OAAO,KAAK,QAAQ,OAAO,QAAQ,QAC3D,CAAC,KAAoB,KAAa,UAAkB,YAC9C,YAAW,KAAK,aAAa,IAAK,MAAM,KAAK,OAAO;;AAKlE,iCAAoB;QAGhB,YACY,QACA,OAAwE;AADxE,eAAA,SAAA;AACA,eAAA,QAAA;AAJJ,eAAA,QAAQ;;QAOhB,OAAI;AACA,cAAI,KAAK,QAAQ,KAAK,OAAO,QAAQ;AACjC,mBAAO;cACH,OAAO,KAAK,MAAM,KAAK,QAAQ,KAAK;;;AAI5C,iBAAO,EAAC,MAAM,MAAM,OAAO;;SAG9B,OAAO,YAAS;AACb,iBAAO;;;AAKf,8BAA4C,QAAqB;AAG7D,YAAI,OAAO,YAAY,GAAG;AACtB,iBAAO,iBAAoB;;AAG/B,cAAM,EAAE,MAAM,QAAQ,WAAW;AAGjC,YAAI,OAAO,WAAW,KACjB,YAAW,OAAA,KAAK,aAChB,WAAW,OAAA,KAAK,OAAQ,KAAa,aAAa,MAClD,WAAW,OAAA,KAAK,QAAS,KAAc,aAAa,MACpD,WAAW,OAAA,KAAK,SAAU,KAAe,YAAY,IACvD;AACC,iBAAO,OAAO,KAAK,OAAO,SAAS,GAAG,QAAQ,OAAO;;AAIzD,eAAO,IAAI,eAAe,QAAQ,MAAA,SAAW,WAAW;;AAG5D,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,WAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,cAA4B;AACtD,sBAAgB,UAAU,cAA4B;AACtD,sBAAgB,UAAU,cAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,eAA4B;AACtD,sBAAgB,UAAU,eAA4B;AACtD,sBAAgB,UAAU,eAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,cAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,eAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,iBAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,4BAA4B;AACtD,sBAAgB,UAAU,4BAA4B;AACtD,sBAAgB,UAAU,2BAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,kBAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,sBAA4B;AACtD,sBAAgB,UAAU,eAA4B;AACtD,sBAAgB,UAAU,YAA4B;AACtD,sBAAgB,UAAU,cAA4B;AACtD,sBAAgB,UAAU,aAA4B;AACtD,sBAAgB,UAAU,kBAA4B;AACtD,sBAAgB,UAAU,mBAA4B;AACtD,sBAAgB,UAAU,kBAA4B;AACtD,sBAAgB,UAAU,gBAA4B;AACtD,sBAAgB,UAAU,uBAA4B;AACtD,sBAAgB,UAAU,yBAA4B;AACtD,sBAAgB,UAAU,qBAA4B;AACtD,sBAAgB,UAAU,WAA4B;AAGzC,eAAA,WAAW,IAAI;;;;;;;;;;AC9K5B,UAAA,SAAA;AACA,UAAA,YAAA;AAEA,UAAA,aAAA;AAiEA,yCAAoC,UAAA,QAAO;;AAA3C,eAAA,iBAAA;AAGA,6BAA2C,QAAqB;AAE5D,cAAM,EAAE,MAAM,QAAQ,WAAW;AAGjC,gBAAQ,KAAK;eACJ,OAAA,KAAK;eACL,OAAA,KAAK;eAAY,OAAA,KAAK;eACtB,OAAA,KAAK;eAAW,OAAA,KAAK;AACtB,mBAAO,OAAO,KAAK,OAAO,SAAS,GAAG,SAAS;;AAIvD,eAAO,CAAC,GAAG,WAAA,SAAgB,MAAM;;AAGrC,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,WAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,iBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,4BAA4B;AACrD,qBAAe,UAAU,4BAA4B;AACrD,qBAAe,UAAU,2BAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,sBAA4B;AACrD,qBAAe,UAAU,eAA4B;AACrD,qBAAe,UAAU,YAA4B;AACrD,qBAAe,UAAU,cAA4B;AACrD,qBAAe,UAAU,aAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,mBAA4B;AACrD,qBAAe,UAAU,kBAA4B;AACrD,qBAAe,UAAU,gBAA4B;AACrD,qBAAe,UAAU,uBAA4B;AACrD,qBAAe,UAAU,yBAA4B;AACrD,qBAAe,UAAU,qBAA4B;AACrD,qBAAe,UAAU,WAA4B;AAGxC,eAAA,WAAW,IAAI;;;;;;;;;;AClI5B,UAAA,YAAA;AAEA,UAAA,SAAA;AASe,UAAM,MAAM,CAAC,GAAW,MAAc,IAAI;AAC1C,UAAM,kCAAkC,CAAC,SAAmB,0DAA0D;AAWrI,2CAAsC,UAAA,QAAO;QAClC,UAAsB,MAAU;AAAgB,iBAAO;;QACvD,SAAsB,MAAS;AAAiB,iBAAO,KAAK,WAAW;;QACvE,WAAsB,MAAW;AAAe,iBAAO,KAAK,UAAU;;QACtE,YAAsB,MAAY;AAAc,gBAAM,IAAI,MAAM,gCAAgC;;QAChG,UAAsB,MAAU;AAAgB,gBAAM,IAAI,MAAM,gCAAgC;;QAChG,UAAsB,MAAU;AAAgB,iBAAO,IAAI;;QAC3D,aAAsB,MAAa;AAAa,iBAAO;;QACvD,UAAsB,MAAW;AAAe,iBAAQ,MAAK,OAAO,KAAK;;QACzE,UAAsB,MAAU;AAAgB,iBAAO,KAAK,WAAW;;QACvE,eAAsB,MAAe;AAAW,iBAAO,KAAK,SAAS,OAAA,SAAS,SAAS,IAAI;;QAC3F,cAAsB,MAAc;AAAY,iBAAQ,MAAK,OAAO,KAAK;;QACzE,UAAsB,MAAU;AAAgB,gBAAM,IAAI,MAAM,gCAAgC;;QAChG,YAAsB,MAAY;AAAc,iBAAO,KAAK,YAAY,KAAK,UAAU,OAAO,KAAK;;QACnG,WAAsB,MAAW;AAAe,iBAAO,KAAK,YAAY,KAAK,UAAU,OAAO,KAAK;;QACnG,qBAAsB,MAAqB;AAAK,iBAAO,KAAK;;QAC5D,mBAAsB,MAAmB;AAAO,iBAAO,KAAK,WAAW,KAAK,YAAY,KAAK,UAAU,OAAO,KAAK;;QACnH,SAAsB,MAAU;AAAgB,iBAAO,KAAK,YAAY,KAAK,UAAU,OAAO,KAAK;;QACnG,gBAAsB,MAAgB;AAAU,iBAAO,KAAK,MAAM,KAAK;;QACvE,YAAsB,QAAe;AAAW,iBAAQ,WAAU,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,MAAM;;QACtG,YAAsB,QAAc;AAAY,iBAAO,KAAK,YAAY,OAAO,QAAQ,OAAO,KAAK;;;AApB9G,eAAA,mBAAA;AAwBa,eAAA,WAAW,IAAI;;;;;;;;;;AC/C5B,UAAA,YAAA;AAGA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,YAAA;AACA,UAAA,eAAA;AACA,UAAA,oBAAA;AACA,UAAA,kBAAA;AACA,UAAA,UAAA;AACA,UAAA,aAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,QAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA,SAAA;AACA,UAAA,UAAA;AACA,UAAA,SAAA;AAWA,+CAA0C,UAAA,QAAO;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,WAAQ;AAAuB,iBAAO,MAAA;;QACtC,YAAS;AAAsB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,cAAW;AAAoB,iBAAO,MAAA;;QACtC,aAAU;AAAqB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,eAAY;AAAmB,iBAAO,QAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,cAAW;AAAoB,iBAAO,SAAA;;QACtC,uBAAoB;AAAW,iBAAO,kBAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,eAAY;AAAmB,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,iBAAc;AAAiB,iBAAO,YAAA;;QACtC,uBAAoB;AAAW,iBAAO,YAAA;;QACtC,4BAAyB;AAAM,iBAAO,YAAA;;QACtC,4BAAyB;AAAM,iBAAO,YAAA;;QACtC,2BAAwB;AAAO,iBAAO,YAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,kBAAe;AAAgB,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,uBAAoB;AAAW,iBAAO,OAAA;;QACtC,sBAAmB;AAAY,iBAAO,OAAA;;QACtC,eAAY;AAAmB,iBAAO,UAAA;;QACtC,YAAS;AAAsB,iBAAO,OAAA;;QACtC,cAAW;AAAoB,iBAAO,SAAA;;QACtC,aAAU;AAAqB,iBAAO,QAAA;;QACtC,kBAAe;AAAgB,iBAAO,QAAA;;QACtC,mBAAgB;AAAe,iBAAO,QAAA;;QACtC,kBAAe;AAAgB,iBAAO,aAAA;;QACtC,gBAAa;AAAkB,iBAAO,WAAA;;QACtC,uBAAoB;AAAW,iBAAO,WAAA;;QACtC,yBAAsB;AAAS,iBAAO,WAAA;;QACtC,qBAAkB;AAAa,iBAAO,gBAAA;;QACtC,WAAQ;AAAuB,iBAAO,MAAA;;;AA3CjD,eAAA,uBAAA;AA+Ca,eAAA,WAAW,IAAI;;;;;;;;;;;ACjF5B,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAY,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAe,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACpC,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,eAAA;AAAS,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,aAAA;;AACT,UAAA,oBAAA;AAAS,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,kBAAA;;AACT,UAAA,kBAAA;AAAS,aAAA,eAAA,UAAA,uBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,gBAAA;;AACT,UAAA,UAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACpD,UAAA,aAAA;AAAS,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAAgB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAAuB,aAAA,eAAA,UAAA,2BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,WAAA;;AAChD,UAAA,QAAA;AAAS,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAW,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAY,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAa,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAChH,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,QAAA;AAAS,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AACT,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,cAAA;AAAS,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAiB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAuB,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAA4B,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAA4B,aAAA,eAAA,UAAA,6BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AACzG,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAY,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAkB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAuB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAuB,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACrF,UAAA,UAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAkB,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACxC,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,QAAA;AAAS,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAAQ,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,MAAA;;AAEjB,UAAA,KAAA;AAEA,UAAA,SAAA;AACA,UAAA,WAAA;AAEA,UAAA,YAAA;AACA,UAAA,SAAA;AACA,UAAA,QAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AAEA,UAAA,QAAA;AACA,UAAA,QAAA;AACA,UAAA,YAAA;AACA,UAAA,YAAA;AACA,UAAA,aAAA;AACA,UAAA,cAAA;AACA,UAAA,eAAA;AAwBA,eAAA,OAAO,MAAM;AAGb,eAAA,OAAO,OAAO;AAGd,yBAAuC,SAAkB,MAA0B;AAC/E,eAAO,IAAK,cAAA,SAAqB,WAAc,SAAS,MAAM,GAAG;;AASrE,wCAA0E,aAAsB,OAAgJ;AAC5O,YAAI,SAAA,WAAW,QAAQ;AACnB,iBAAO,SAAA,OAAO,KAAK,EAAE,cAAc,CAAC,MAAM,SAAY,MAAM,eAAe,UAAU;mBAC9E,SAAA,gBAAgB,QAAQ;AAC/B,iBAAO,SAAA,OAAO,KAAK,EAAE,cAAc,CAAC,MAAM,SAAY,MAAM,eAAe,UAAU;;AAEzF,cAAM,EACF,UAAU,SAAS,IACnB,QAAQ,OAAO,eACf,cAAc,aAAa,CAAC,MAAM,YACrC,OAAA,OAAA,IAAQ;AACT,eAAO,SAAA,WAAW,UACZ,SAAA,OAAO,KAAK,OAAA,OAAA,OAAA,OAAA,EAAE,cAAe,QAAK,EAAE,WACpC,SAAA,OAAO,KAAK,OAAA,OAAA,OAAA,OAAA,EAAE,cAAe,QAAK,EAAE;;AAb9C,eAAA,2BAAA;AAmBA,0BAA2D,OAA2E;AAClI,cAAM,KAAwC,OAAA,OAAA,EAAE,cAAc,CAAC,MAAM,WAAe,QAA9E,EAAE,UAAU,SAAS,OAAE,IAAK,UAAO,QAAA,OAAA,IAAnC,CAAA;AACN,YAAI,SAAA,WAAgC,SAAS;AACzC,gBAAM,SAAS,CAAC,GAAG,UAAA,QAAQ,gBAAgB,SAAS;AACpD,iBAAQ,OAAO,WAAW,IAAI,OAAO,KAAK,UAAA,QAAQ,OAAU;;AAEhE,eAAQ,EAAO,WAAkB,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;;AAC7B,gBAAM,YAAY,UAAA,QAAQ,qBAAqB;;AAC/C,qBAA0B,KAAA,QAAA,cAAA,UAAU,UAAO,IAAA,KAAA,MAAA,GAAA,QAAA,CAAA,GAAA,QAAA;AAAhC,oBAAM,QAAK,GAAA;AAClB,qBAAO,KAAK;;;;;;;;;;;;;AAEhB,iBAAQ,OAAO,WAAW,IAAI,OAAO,KAAK,UAAA,QAAQ,OAAU;YAC7D;;AAWP,aAAA,WAAW,UAAU,MAAM,uBAAgE,OAAa;AACpG,eAAO,MAAA,SAAW,MAAM,MAAM;;AAGlC,aAAA,WAAW,UAAU,MAAM,uBAAgE,OAAe,OAAyB;AAC/H,eAAO,MAAA,SAAW,MAAM,MAAM,OAAO;;AAGzC,aAAA,WAAW,UAAU,UAAU,2BAAoE,OAA2B,WAAkB;AAC5I,eAAO,UAAA,SAAe,MAAM,MAAM,OAAO;;AAG7C,aAAA,WAAW,UAAU,UAAU,6BAA0B;AACrD,eAAO,UAAA,SAAe,MAAM;;AAGhC,aAAA,WAAW,UAAU,eAAe,kCAA+B;AAC/D,eAAO,YAAA,SAAiB,MAAM,KAAK;;AAGvC,aAAA,WAAW,UAAU,OAAO,YAAY,oCAAiC;AACrE,eAAO,WAAA,SAAgB,MAAM;;AAGhC,aAAA,WAAW,UAAkB,qBAAqB;AAGlD,aAAO,KAAK,OAAA,MACR,IAAI,CAAC,MAAW,OAAA,KAAK,IACrB,OAAO,CAAC,MAAsB,OAAO,MAAM,UAC3C,OAAO,CAAC,WAAW,WAAW,OAAA,KAAK,MACnC,QAAQ,CAAC,WAAU;AAChB,cAAM,aAAa,aAAA,SAAqB,MAAM;AAC9C,mBAAW,UAAU,SAAS,GAAG,SAAS,MAAA,SAAW,WAAW;AAChE,mBAAW,UAAU,SAAS,GAAG,SAAS,MAAA,SAAW,WAAW;AAChE,mBAAW,UAAU,aAAa,GAAG,SAAS,UAAA,SAAe,WAAW;AACxE,mBAAW,UAAU,aAAa,GAAG,SAAS,UAAA,SAAe,WAAW;AACxE,mBAAW,UAAU,kBAAkB,aAAa,YAAA,SAAiB,WAAW;AAChF,mBAAW,UAAU,OAAO,YAAY,GAAG,SAAS,WAAA,SAAgB,WAAW;;AAIvF,4BAAwC,OAA+B;AACnE,eAAO,WAAA;AAAoB,iBAAO,MAAM,KAAK;;;AAIjD,+BAAgG,KAAK;AACjG,eAAO,SAAkB,GAAS;AAAI,iBAAO,KAAK,QAAQ,KAAK,IAAG,KAAK,MAAM,KAAK;;;AAItF,+BAA6G,KAAK;AAC9G,eAAO,SAAkB,GAAW,GAAM;AACtC,cAAI,MAAA,QAAQ,KAAK,YAAY,KAAK,SAAS,GAAG,CAAG,MAAK,QAAS;AAC3D,gBAAG,KAAK,MAAM,GAAG;;;;AAM7B,6CAAoC;AAChC,cAAM,aAAa,KAAK;AACxB,YAAI,cAAc,WAAW,aAAa,GAAG;AACzC,eAAK,MAAM,gBAAgB,KAAK;AAChC,eAAK,MAAM,gBAAgB,KAAK;;;;;;;;;;;;;AC3LxC,UAAA,WAAA;AAGA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,gBAAA;AACA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,WAAA;AACA,UAAA,gBAAA;AAEA,UAAA,UAAA;AAiBA,iCACY,QAAA,QAAkB;QA8H1B,eAAe,MAAW;;AAEtB,cAAI,SAAoB;AAExB,cAAI,KAAK,cAAc,SAAA,QAAQ;AAAE,qBAAS,KAAK;;AAE/C,gBAAM,SAAS,KAAK,cAAc,SAAS,KAAK,GAAgB,SAAS,OAAA,WAA2B,cAAA,aAAa;AAEjH,cAAI,CAAC,UAAU,CAAE,UAAM,MAAG,OAAO,QAAE,QAAA,OAAA,SAAA,SAAA,GAAE,SAAS;AAC1C,kBAAM,IAAI,UAAU;;AAGxB,iBAAO,MAAO,QAAO,KAAK,IAAI,cAAA,qCAAqC;AAEnE,gBAAM,IAAI,OAAA,OAAO,OAAO,SAAS;AAEjC,eAAK,UAAU;AACf,eAAK,UAAU;;eAzIL,MAAqE,SAAS,IAAI,SAAA,OAAU,KAAG;AAAI,iBAAO,IAAI,OAAS,QAAQ;;eAc/H,KAA+D,OAAW;AAEpF,cAAI,CAAC,OAAO;AAAE,mBAAO,OAAM;;AAE3B,cAAI,OAAO,UAAU,UAAU;AAC3B,kBAAM,QAAQ,SAAA,WAAW,MAAM,aAAa,kBAA4B,SACjE,SAAA,gBAAgB,MAAM,aAAa,uBAAiC,SACjC;AAC1C,gBAAI,UAAU,MAAM;AAAE,qBAAO;;;AAGjC,cAAI,SAAS,SAAA,kBAAkB,KAAQ;AAEvC,cAAI,SAAA,UAAgC,SAAS;AACzC,mBAAQ,OAAW,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;AAAC,qBAAA,MAAM,OAAM,KAAK,MAAM;;;AAE/C,cAAI,OAAO,YAAa,UAAS,OAAO,SAAS;AAC7C,mBAAO,CAAC,OAAO,SAAS,OAAM,UAAU,IAAI,OAAS,OAAO,QAAQ,CAAC,GAAG;;AAE5E,iBAAQ,EAAO,YAAW,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;;AACtB,kBAAM,UAAS,MAAM;AACrB,kBAAM,SAAS,QAAO;AACtB,kBAAM,UAAyB;AAC/B,gBAAI,QAAQ;;AACR,yBAA0B,WAAA,QAAA,cAAA,UAAM,YAAA,aAAA,MAAA,SAAA,QAAA,CAAA,WAAA,QAAA;AAArB,wBAAM,QAAK,WAAA;AAClB,0BAAQ,KAAK;;;;;;;;;;;;;AAEjB,qBAAO,IAAI,OAAS,QAAQ;;AAEhC,mBAAO,OAAM;cACd,OAAO;;eAIM,UAAuD,QAAuC;;AAC9G,mBAAO,MAAM,OAAM,KAAQ;;;eAIjB,WAAwD,QAAyB;AAC3F,iBAAO,OAAM,IAAO,OAAO,KAAK,WAAiC,OAAO,KAAK;;eAyDnE,OAAO,MAAW;AAC5B,iBAAO,IAAI,OAAM,GAAG,cAAA,mCAAmC,OAAA,iBAAiB;;YAiCjE,SAAM;AAAK,iBAAO,KAAK;;YACvB,SAAM;AAAK,iBAAO,KAAK;;YACvB,SAAM;AAAK,iBAAO,KAAK;;YACvB,UAAO;AAAK,iBAAO,KAAK;;QAE5B,MAAM,SAAS,KAAK,SAAO;AAC9B,iBAAO,IAAI,OAAS,KAAK,SAAS;;QAG/B,UAA6B,MAAO;AACvC,iBAAO,KAAK,YAAY,KAAK,eAAe;;QAEzC,YAAsC,OAAa;AACtD,iBAAO,KAAK,WAAW;;QAEpB,eAAkC,MAAO;AAC5C,iBAAO,KAAK,QAAQ,OAAO,UAAU,CAAC,MAAM,EAAE,SAAS;;QAEpD,WAAqC,OAAa;AACrD,cAAI,QAAQ,KAAK,SAAS,KAAK,aAAa;AAAE,mBAAO;;AACrD,cAAI,OAAiB;AACrB,gBAAM,SAAU,KAAK,QAAwB;AAC7C,gBAAM,UAAU,KAAK,aAAc,MAAK,YAAY;AACpD,cAAI,QAAQ,QAAQ,QAAQ;AAAE,mBAAO;;AACrC,cAAI,QAAQ,OAAO,QAAQ;AACvB,kBAAM,SAAS,KAAK,QACf,IAAI,CAAC,UAAU,MAAM,WAAc,QACnC,OAAO,CAAC,QAA0B,OAAO;AAC9C,gBAAI,OAAO,SAAS,GAAG;AACnB,qBAAQ,QAAQ,SAAS,IAAI,SAAA,OAAU,OAAO;;;AAGtD,iBAAO;;QAIJ,UAAU,WAAW,UAAU,SAAS,MAAI;AAC/C,gBAAM,SAAS,CAAC,SACV,SAAA,wBACA,SAAA;AACN,iBAAO,OAAO,SAAS,MAAM,aAAa;;QAEvC,QAAK;AACR,iBAAO,KAAK;;QAET,UAAmC,aAAgB;AACtD,gBAAM,cAAc,KAAK,QAAQ,OAAO,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,MAAW,IAAI,oBAAI;AACvF,iBAAO,KAAK,SAAS,GAAG,YAAY,IAAI,CAAC,eAAe,YAAY,IAAI,aAAc,OAAO,CAAC,MAAM,IAAI;;QAErG,YAAwC,eAAuB;AAClE,gBAAM,SAAS,KAAK,QAAQ,SAAY,GAAG;AAC3C,iBAAO,IAAI,OAAM,QAAQ,KAAK,QAAQ,IAAI,CAAC,EAAE,QAAQ,MAAM,EAAE,kBAAiB;AAC1E,mBAAO,IAAI,cAAA,YAAY,QAAQ,QAAQ,cAAc,IAAI,CAAC,MAAM,UAAU,IAAI,OAAO;;;QAGtF,OAAoD,OAAe;AAEtE,gBAAM,SAAS,KAAK,QAAQ;AAC5B,gBAAM,CAAC,SAAS,YAAY,MAAM,OAAO,OAAO,OAAO,CAAC,MAAM,IAAI,WAAU;AACxE,kBAAM,CAAC,UAAS,aAAY;AAC5B,kBAAM,IAAI,OAAO,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG;AAChD,aAAC,IAAK,UAAS,KAAK,SAAU,SAAQ,KAAK;AAC3C,mBAAO;aACR,CAAC,IAAI;AAER,gBAAM,SAAS,KAAK,QAAQ,OAAO,MAAM;AACzC,gBAAM,UAAU;YACZ,GAAG,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,SAAS,OACnC,MAAM,SAAY,KAAK,YAAY,KAAK,MAAM,YAAY;YAC/D,GAAG,QAAQ,IAAI,CAAC,MAAM,MAAM,YAAY;YAC1C,OAAO;AAET,iBAAO,IAAI,OAAa,GAAG,cAAA,mCAAwC,QAAQ;;;AAhOnF,eAAA,QAAA;AAoOA,iCAAqF,OAA6C;AAC9H,cAAM,EAAE,SAAS;AACjB,YAAI,gBAAgB,OAAA,QAAQ;AACxB,iBAAO,OAAM,WAAW,QAAA,aAAa,KAAK;;AAE9C,eAAO;;AAGX,sCAA0F,OAAkD;AACxI,cAAM,EAAE,SAAS;AACjB,YAAI,gBAAgB,OAAA,QAAQ;AACxB,iBAAO,QAAA,aAAa,KAAK,OAAsD,KAAK,CAAC,WAAW,OAAM,WAAW;;AAErH,eAAO;;;;;;;;;;;AC9QX,UAAA,SAAA;AACA,UAAA,UAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,WAAA;AACA,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AACA,UAAA,SAAA;AACA,UAAA,gBAAA;AAEA,UAAA,UAAA;AAYA,uCACY,QAAA,aAAe;QA6BvB,eAAe,MAAW;AACtB,cAAI;AACJ,gBAAM,SAAS,KAAK;AACpB,cAAI;AACJ,cAAI,KAAK,cAAc,OAAA,MAAM;AACzB,aAAC,EAAE,MAAM,YAAa;iBACnB;AACH,kBAAM,SAAS,OAAO;AACtB,kBAAM,CAAC,EAAE,QAAQ,aAAa;AAC9B,mBAAO,OAAA,KAAK,OAAO,IAAI,OAAA,OAAU,SAAS,GAAG,QAAQ,GAAG,MAAM;;AAElE,gBAAM,MAAM;AACZ,eAAK,UAAU;;eAjCL,KAA+D,SAA6F;AACtK,cAAI,SAAA,WAA0C,QAAQ,YAAY;AAC9D,mBAAO,QAAA,MAAM,KAAK;;AAEtB,iBAAO,QAAA,MAAM,KAAK;;eAMR,OAAoD,MAAW;AACzE,gBAAM,CAAC,IAAI,MAAM,OAAA,gBAAmB;AACpC,gBAAM,KAAK,GAAG,OAAO,CAAC,MAA+B,aAAa,SAAA;AAClE,iBAAO,IAAI,aAAY,GAAG,cAAA,qBAAqB,IAAI,SAAA,OAAU,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;;QAuB/E,MAAM,MAAuB,WAAW,KAAK,WAAS;AACzD,iBAAO,IAAI,aAAe,KAAK,SAAS,MAAM;;QAG3C,UAAU,QAA2B;AACxC,gBAAM,SAAS,KAAK,SAAS,SAAS,UAAA,QAAQ,QAAQ,MAAM,GAAG;AAC/D,iBAAO,IAAI,QAAA,MAAM,QAAQ,OAAO,IAAI,CAAC,EAAE,WAAW,IAAI,aAAY,QAAQ;;YAGnE,SAAM;AAAK,iBAAO,KAAK;;YACvB,UAAO;AAAK,iBAAO,KAAK,QAAQ,OAAO;;YACvC,eAAY;AACnB,iBAAO,KAAK,iBAAkB,MAAK,gBAAgB,oBAAoB,QAAQ;;QAG5E,UAAmC,aAAgB;AACtD,gBAAM,cAAc,KAAK,QAAQ,OAAO,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,MAAW,IAAI,oBAAI;AACvF,iBAAO,KAAK,SAAS,GAAG,YAAY,IAAI,CAAC,eAAe,YAAY,IAAI,aAAc,OAAO,CAAC,MAAM,IAAI;;QAErG,YAAwC,eAAuB;AAClE,gBAAM,SAAS,KAAK,QAAQ,SAAS,GAAG;AACxC,gBAAM,YAAY,cAAc,IAAI,CAAC,MAAM,KAAK,KAAK,UAAU,IAAI,OAAO;AAC1E,iBAAO,IAAI,aAAkC,QAAQ,KAAK,QAAQ;;;AAnE1E,eAAA,cAAA;AAgFA,+DAAuG,aAAc;QACjH,YAAY,QAAiB;AACzB,gBAAM,QAAQ,GAAG,OAAO,OAAO,IAAI,CAAC,MAAM,OAAA,KAAK,IAAI,EAAE,MAAM,GAAG,GAAG;;;AAFzE,eAAA,uCAAA;AAOA,8CAAkC,UAAA,QAAO;QAAzC,cAAA;;AACW,eAAA,eAAe,oBAAI;;eACZ,QAA+B,OAAQ;AACjD,iBAAO,IAAI,sBAAsB,MAC7B,MAAM,MAAM,IAAI,OAAA,OAAO,MAAM,OAAO,SACtC;;QAEC,MAAM,MAAY,MAAc;AACnC,cAAI,OAAA,SAAS,aAAa,OAAO;AAC7B,mBAAO,KAAK,gBAAgB,MAAM;iBAC/B;AACH,iBAAK,UAAU,QAAQ,CAAC,OAAO,MAC3B,KAAK,MAAM,OAAO,KAAK,SAAS,GAAG;;AAE3C,iBAAO;;QAEJ,gBAAgB,MAAY,MAAgB;AAC/C,gBAAM,aAAa,KAAK;AACxB,cAAI,cAAc,WAAW,SAAS,GAAG;AACrC,iBAAK,aAAa,IAAI,KAAK,IAAI;;AAEnC,iBAAO;;;;;;;;;;;;;ACnIf,UAAA,WAAA;AAEA,UAAA,SAAA;AACA,UAAA,SAAA;AAEA,UAAA,aAAA;AAIA,UAAA,WAAA;AACA,UAAA,SAAA;AACA,UAAA,iBAAA;AACA,UAAA,gBAAA;AACA,UAAA,eAAA;AAMA,UAAA,YAAA;AAIA,UAAA,WAAA;AAsBA,6CAAoF,aAAA,gBAA+B;QAG/G,YAAsB,MAA+B;AACjD;AACA,eAAK,QAAQ;;YAGN,SAAM;AAAK,iBAAO,KAAK,MAAM;;YAC7B,SAAM;AAAK,iBAAO,KAAK,MAAM;;YAC7B,cAAW;AAAK,iBAAO,KAAK,MAAM;;YAClC,eAAY;AAAK,iBAAO,KAAK,MAAM;;YACnC,kBAAe;AAAK,iBAAO,KAAK,MAAM;;YACtC,mBAAgB;AAAK,iBAAO,KAAK,MAAM;;YACvC,SAAM;AAAoB,iBAAO,KAAK,MAAM,WAAW,KAAK,MAAM,SAAS;;QAE/E,SAAM;AAAoC,iBAAO,KAAK,MAAM;;QAC5D,UAAO;AAAyC,iBAAO,KAAK,MAAM;;QAClE,SAAM;AAAwC,iBAAO,KAAK,MAAM;;QAChE,WAAQ;AAA0C,iBAAO,KAAK,MAAM;;QAEpE,OAAI;AACP,iBAAO,KAAK,MAAM;;QAEf,MAAM,OAAW;AACpB,iBAAO,KAAK,MAAM,MAAM;;QAErB,OAAO,OAAW;AACrB,iBAAO,KAAK,MAAM,OAAO;;QAEtB,SAAM;AACT,iBAAO,KAAK,MAAM;;QAEf,MAAM,QAAyB;AAClC,eAAK,MAAM,MAAM;AACjB,eAAK,aAAa;AAClB,eAAK,cAAc;AACnB,iBAAO;;QAEJ,KAAK,SAAqB;AAC7B,gBAAM,UAAU,KAAK,MAAM,KAAK;AAChC,iBAAO,SAAA,UAAU,WAAW,QAAQ,KAAK,MAAM,QAAQ;;QAEpD,gBAAgB,OAAa;AAChC,iBAAO,KAAK,MAAM,WAAW,KAAK,MAAM,gBAAgB,SAAS;;SAE7D,OAAO,YAAS;AACpB,iBAA2C,KAAK,MAAO,OAAO;;SAE1D,OAAO,iBAAc;AACzB,iBAAgD,KAAK,MAAO,OAAO;;QAEhE,cAAW;AACd,iBAAO,WAAA,QAAe,YACjB,KAAK,WACA,GAAG,OAAO,WAAW,MAAM,SAC3B,GAAG,OAAO,gBAAgB,MAAM;;QAEvC,eAAY;AACf,iBAAO,WAAA,QAAe,aACjB,KAAK,WACA,GAAG,OAAO,WAAW,MAAM,SAC3B,GAAG,OAAO,gBAAgB,MAAM,QACtC,EAAE,YAAY;;eAKR,YAAY,SAAmE;AACzF,gBAAM,IAAI,MAAM;;eAGN,WAEV,kBAEA,kBAA2C;AAE3C,gBAAM,IAAI,MAAM;;eAWN,KAAkD,QAAW;AACvE,cAAI,kBAAkB,oBAAmB;AACrC,mBAAO;qBACA,SAAA,YAAY,SAAS;AAC5B,mBAAO,cAAiB;qBACjB,SAAA,aAAa,SAAS;AAC7B,mBAAO,eAAkB;qBAClB,SAAA,UAAe,SAAS;AAC/B,mBAAQ,OAAW,QAAA,UAAA,MAAA,QAAA,QAAA,aAAA;AAAC,qBAAA,MAAM,mBAAkB,KAAU,MAAM;;qBACrD,SAAA,gBAAgB,WAAW,SAAA,oBAAoB,WAAW,SAAA,qBAAqB,WAAW,SAAA,gBAAgB,SAAS;AAC1H,mBAAO,oBAAuB,IAAI,SAAA,gBAAgB;;AAEtD,iBAAO,eAAkB,IAAI,SAAA,WAAW;;eAW9B,QAAqD,QAAW;AAC1E,cAAI,kBAAkB,oBAAmB;AACrC,mBAAO,OAAO,WAAW,YAAY,UAAU,aAAa;qBACrD,SAAA,YAAY,WAAW,YAAY,OAAO,WAAW,SAAA,WAAiC,WAAW,SAAA,iBAAiB,SAAS;AAClI,mBAAO,YAAe;;AAE1B,iBAAO,aAAgB;;;AAtH/B,eAAA,oBAAA;AA+IA,mDAA0F,mBAAoB;QAC1G,YAAsB,OAAqC;AAAI,gBAAO;AAAhD,eAAA,QAAA;;SACd,OAAO,YAAS;AAAK,iBAAQ,KAAK,MAA2C,OAAO;;SAC7E,OAAO,iBAAc;AAAA,iBAAA,QAAA,iBAAA,MAAA,WAAA,eAAA;AAA4C,kBAAA,QAAA,QAAA,OAAO,QAAA,iBAAA,QAAA,cAAA,KAAK,OAAO;;;;AAHvG,eAAA,0BAAA;AAMA,wDAA+F,mBAAoB;QAC/G,YAAsB,OAA0C;AAAI,gBAAO;AAArD,eAAA,QAAA;;SACd,OAAO,YAAS;AAAuC,gBAAM,IAAI,MAAM;;SACvE,OAAO,iBAAc;AAAK,iBAAQ,KAAK,MAAgD,OAAO;;;AAH1G,eAAA,+BAAA;AAMA,iDAAwF,yBAA0B;QAC9G,YAAsB,OAAmC;AAAI,gBAAO;AAA9C,eAAA,QAAA;;;AAD1B,eAAA,wBAAA;AAIA,sDAA6F,8BAA+B;QACxH,YAAsB,OAAwC;AAAI,gBAAO;AAAnD,eAAA,QAAA;;;AAD1B,eAAA,6BAAA;AAiGA,wCAAoC;QAYhC,YAAY,eAAe,oBAAI,OAAqB;AAT7C,eAAA,SAAS;AACT,eAAA,cAAc;AAGX,eAAA,mBAAmB;AACnB,eAAA,oBAAoB;AAK1B,eAAK,eAAe;;YAJb,kBAAe;AAAK,iBAAO,KAAK;;YAChC,mBAAgB;AAAK,iBAAO,KAAK;;QAMrC,SAAM;AAAoC,iBAAO;;QACjD,UAAO;AAAyC,iBAAO;;QACvD,SAAM;AAAwC,iBAAO;;QACrD,WAAQ;AAA0C,iBAAO;;QAEzD,MAAM,QAAyB;AAClC,eAAK,mBAAmB;AACxB,eAAK,oBAAoB;AACzB,eAAK,SAAe;AACpB,eAAK,eAAe,oBAAI;AACxB,iBAAO;;QAGD,iBAAiB,QAA8B,MAAS;AAC9D,iBAAO,IAAI,cAAA,YAAe,KAAK,QAAQ,OAAO,QAAQ,KAAK,aAAa,QAAQ,MAAM,KAAK,OAAO;;QAE5F,qBAAqB,QAAkC,MAAS;AACtE,gBAAM,EAAE,IAAI,SAAS,SAAS;AAC9B,gBAAM,EAAE,cAAc,WAAW;AACjC,gBAAM,aAAa,aAAa,IAAI;AACpC,cAAI,WAAW,CAAC,YAAY;AACxB,kBAAM,OAAO,OAAO,aAAa,IAAI;AACrC,mBAAQ,cAAc,UAAU,WAAW,OACvC,SAAA,OAAO,IAAI,KAAK,aAAa,MAAM,MAAM,CAAC,OAAO,OACjD,SAAA,OAAO,IAAI,KAAK,aAAa,MAAM,MAAM,CAAC,OAAO;;AAEzD,iBAAO;;QAED,aAAa,QAA8B,MAAW,OAA2B;AACvF,iBAAO,IAAI,eAAA,aAAa,MAAM,OAAO,OAAO,OAAO,SAAS,KAAK,cAAc,UAAU;;;AAKjG,sDAAuF,sBAAwB;QAK3G,YAAY,QAAoC,cAAkC;AAC9E,gBAAM;AACN,eAAK,UAAU,CAAC,SAAA,YAAY,UACtB,IAAI,UAAA,cAAc,KAAK,UAAU,UACjC,IAAI,UAAA,kBAAkB,KAAK,UAAU;;QAGxC,SAAM;AAAoC,iBAAO;;QACjD,WAAQ;AAA0C,iBAAO;;SACxD,OAAO,YAAS;AACpB,iBAAO;;QAEJ,SAAM;AACT,cAAI,CAAC,KAAK,UAAW,MAAK,SAAS,OAAO;AACtC,iBAAK,QAAQ,QAAQ;AACrB,iBAAK,UAAgB;AACrB,iBAAK,eAAqB;;;QAG3B,KAAK,SAAqB;AAC7B,cAAI,CAAC,KAAK,QAAQ;AACd,iBAAK,cAAc,kBAAkB,MAAM;AAC3C,gBAAI,CAAE,MAAK,UAAW,MAAK,SAAS,KAAK,QAAQ,gBAAiB;AAC9D,mBAAK;;;AAGb,iBAAO;;QAEJ,MAAM,OAAW;AACpB,cAAI,CAAC,KAAK,UAAU,KAAK,eAAgB,MAAK,SAAS,OAAO;AAC1D,mBAAO,KAAK,QAAQ,QAAQ,MAAM;;AAEtC,iBAAO,aAAA;;QAEJ,OAAO,OAAW;AACrB,cAAI,CAAC,KAAK,UAAU,KAAK,eAAgB,MAAK,SAAS,OAAO;AAC1D,mBAAO,KAAK,QAAQ,QAAQ,OAAO;;AAEvC,iBAAO,aAAA;;QAEJ,OAAI;AACP,cAAI,KAAK,QAAQ;AAAE,mBAAO,aAAA;;AAC1B,cAAI;AACJ,gBAAM,EAAE,SAAS,WAAW;AAC5B,iBAAO,UAAU,KAAK,+BAA+B;AACjD,gBAAI,QAAQ,YAAY;AACpB,mBAAK,MAAM,QAAQ;uBACZ,QAAQ,iBAAiB;AAChC,mBAAK;AACL,oBAAM,SAAS,QAAQ;AACvB,oBAAM,SAAS,OAAO,gBAAgB,QAAQ;AAC9C,oBAAM,cAAc,KAAK,iBAAiB,QAAQ;AAClD,qBAAO,EAAE,MAAM,OAAO,OAAO;uBACtB,QAAQ,qBAAqB;AACpC,mBAAK;AACL,oBAAM,SAAS,QAAQ;AACvB,oBAAM,SAAS,OAAO,gBAAgB,QAAQ;AAC9C,oBAAM,SAAS,KAAK,qBAAqB,QAAQ;AACjD,mBAAK,aAAa,IAAI,OAAO,IAAI;;;AAGzC,cAAI,KAAK,UAAU,KAAK,sBAAsB,GAAG;AAC7C,iBAAK;AACL,mBAAO,EAAE,MAAM,OAAO,OAAO,IAAI,cAAA,qCAAwC,KAAK;;AAElF,iBAAO,KAAK;;QAEN,4BAAqD,MAAe;AAC1E,iBAAO,KAAK,QAAQ,YAAe;;;AAK3C,2DAA4F,sBAAwB;QAKhH,YAAY,QAAyB,cAAkC;AACnE,gBAAM;AACN,eAAK,UAAU,IAAI,UAAA,mBAAmB,KAAK,UAAU;;QAElD,UAAO;AAAyC,iBAAO;;QACvD,WAAQ;AAA0C,iBAAO;;SACxD,OAAO,iBAAc;AACzB,iBAAO;;QAEE,SAAM;;AACf,gBAAI,CAAC,KAAK,UAAW,MAAK,SAAS,OAAO;AACtC,oBAAM,KAAK,QAAQ,QAAQ;AAC3B,mBAAK,UAAgB;AACrB,mBAAK,eAAqB;;;;QAGrB,KAAK,SAAqB;;AACnC,gBAAI,CAAC,KAAK,QAAQ;AACd,mBAAK,cAAc,kBAAkB,MAAM;AAC3C,kBAAI,CAAE,MAAK,UAAW,MAAK,SAAU,MAAM,KAAK,QAAQ,gBAAkB;AACtE,sBAAM,KAAK;;;AAGnB,mBAAO;;;QAEE,MAAM,OAAW;;AAC1B,gBAAI,CAAC,KAAK,UAAU,KAAK,eAAgB,MAAK,SAAS,OAAO;AAC1D,qBAAO,MAAM,KAAK,QAAQ,QAAQ,MAAM;;AAE5C,mBAAO,aAAA;;;QAEE,OAAO,OAAW;;AAC3B,gBAAI,CAAC,KAAK,UAAU,KAAK,eAAgB,MAAK,SAAS,OAAO;AAC1D,qBAAO,MAAM,KAAK,QAAQ,QAAQ,OAAO;;AAE7C,mBAAO,aAAA;;;QAEE,OAAI;;AACb,gBAAI,KAAK,QAAQ;AAAE,qBAAO,aAAA;;AAC1B,gBAAI;AACJ,kBAAM,EAAE,SAAS,WAAW;AAC5B,mBAAO,UAAU,MAAM,KAAK,+BAA+B;AACvD,kBAAI,QAAQ,YAAY;AACpB,sBAAM,KAAK,MAAM,QAAQ;yBAClB,QAAQ,iBAAiB;AAChC,qBAAK;AACL,sBAAM,SAAS,QAAQ;AACvB,sBAAM,SAAS,MAAM,OAAO,gBAAgB,QAAQ;AACpD,sBAAM,cAAc,KAAK,iBAAiB,QAAQ;AAClD,uBAAO,EAAE,MAAM,OAAO,OAAO;yBACtB,QAAQ,qBAAqB;AACpC,qBAAK;AACL,sBAAM,SAAS,QAAQ;AACvB,sBAAM,SAAS,MAAM,OAAO,gBAAgB,QAAQ;AACpD,sBAAM,SAAS,KAAK,qBAAqB,QAAQ;AACjD,qBAAK,aAAa,IAAI,OAAO,IAAI;;;AAGzC,gBAAI,KAAK,UAAU,KAAK,sBAAsB,GAAG;AAC7C,mBAAK;AACL,qBAAO,EAAE,MAAM,OAAO,OAAO,IAAI,cAAA,qCAAwC,KAAK;;AAElF,mBAAO,MAAM,KAAK;;;QAEN,4BAAqD,MAAe;;AAChF,mBAAO,MAAM,KAAK,QAAQ,YAAe;;;;AAKjD,oDAAqF,4BAA8B;QAQ/G,YAAY,QAAiD,cAAkC;AAC3F,gBAAM,kBAAkB,OAAA,mBAAmB,SAAS,IAAI,OAAA,iBAAiB,SAAS;;YAL3E,SAAM;AAAK,iBAAO,KAAK;;YACvB,kBAAe;AAAK,iBAAO,KAAK,UAAU,KAAK,QAAQ,kBAAkB;;YACzE,mBAAgB;AAAK,iBAAO,KAAK,UAAU,KAAK,QAAQ,mBAAmB;;QAK/E,SAAM;AAAoC,iBAAO;;QACjD,SAAM;AAAwC,iBAAO;;QACrD,KAAK,SAAqB;AAC7B,cAAI,CAAC,KAAK,UAAU,CAAC,KAAK,SAAS;AAC/B,iBAAK,SAAU,MAAK,UAAU,KAAK,eAAe;AAClD,uBAAW,SAAS,KAAK,QAAQ,qBAAqB;AAClD,uBAAS,KAAK,qBAAqB,KAAK;;;AAGhD,iBAAO,MAAM,KAAK;;QAEf,gBAAgB,OAAa;AAChC,cAAI,KAAK,QAAQ;AAAE,mBAAO;;AAC1B,cAAI,CAAC,KAAK,SAAS;AAAE,iBAAK;;AAC1B,gBAAM,QAAQ,KAAK,WAAW,KAAK,QAAQ,eAAe;AAC1D,cAAI,SAAS,KAAK,QAAQ,KAAK,MAAM,SAAS;AAC1C,kBAAM,UAAU,KAAK,QAAQ,YAAY,OAAA,cAAc;AACvD,gBAAI,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS,iBAAiB;AAC1B,oBAAM,SAAS,QAAQ;AACvB,oBAAM,SAAS,KAAK,QAAQ,gBAAgB,QAAQ;AACpD,oBAAM,cAAc,KAAK,iBAAiB,QAAQ;AAClD,qBAAO;;;AAGf,iBAAO;;QAED,qBAAqB,OAAa;AACxC,gBAAM,QAAQ,KAAK,WAAW,KAAK,QAAQ,mBAAmB;AAC9D,cAAI,SAAS,KAAK,QAAQ,KAAK,MAAM,SAAS;AAC1C,kBAAM,UAAU,KAAK,QAAQ,YAAY,OAAA,cAAc;AACvD,gBAAI,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS,qBAAqB;AAC9B,oBAAM,SAAS,QAAQ;AACvB,oBAAM,SAAS,KAAK,QAAQ,gBAAgB,QAAQ;AACpD,oBAAM,SAAS,KAAK,qBAAqB,QAAQ;AACjD,mBAAK,aAAa,IAAI,OAAO,IAAI;;;;QAInC,cAAW;AACjB,gBAAM,EAAE,YAAY;AACpB,gBAAM,SAAS,QAAQ,OAAO,UAAA;AAC9B,gBAAM,SAAS,QAAQ,UAAU;AACjC,gBAAM,SAAS,QAAQ,OAAO,SAAS,QAAQ;AAC/C,iBAAO,OAAA,OAAO,OAAO;;QAEf,4BAAqD,MAAe;AAC1E,cAAI,CAAC,KAAK,SAAS;AAAE,iBAAK;;AAC1B,cAAI,KAAK,WAAW,KAAK,oBAAoB,KAAK,kBAAkB;AAChE,kBAAM,QAAQ,KAAK,WAAW,KAAK,QAAQ,eAAe,KAAK;AAC/D,gBAAI,SAAS,KAAK,QAAQ,KAAK,MAAM,SAAS;AAC1C,qBAAO,KAAK,QAAQ,YAAY;;;AAGxC,iBAAO;;;AAKf,yDAA0F,iCAAmC;QAWzH,YAAY,WAA+C,MAAW;AAClE,gBAAM,aAAa,OAAO,KAAK,OAAO,WAAoB,KAAK,UAAU;AACzE,gBAAM,eAAe,KAAK,cAAc,MAA4B,KAAK,UAAU;AACnF,gBAAM,kBAAkB,OAAA,wBAAwB,SAAS,IAAI,OAAA,sBAAsB,QAAQ,aAAa;;YATjG,SAAM;AAAK,iBAAO,KAAK;;YACvB,kBAAe;AAAK,iBAAO,KAAK,UAAU,KAAK,QAAQ,kBAAkB;;YACzE,mBAAgB;AAAK,iBAAO,KAAK,UAAU,KAAK,QAAQ,mBAAmB;;QAS/E,SAAM;AAAwC,iBAAO;;QACrD,UAAO;AAAyC,iBAAO;;QACjD,KAAK,SAAqB;;;;;AACnC,gBAAI,CAAC,KAAK,UAAU,CAAC,KAAK,SAAS;AAC/B,mBAAK,SAAU,MAAK,UAAU,MAAM,KAAK,eAAe;AACxD,yBAAW,SAAS,KAAK,QAAQ,qBAAqB;AAClD,yBAAS,OAAM,KAAK,qBAAqB,KAAK;;;AAGtD,mBAAO,MAAM,OAAM,KAAI,KAAA,MAAC;;;QAEf,gBAAgB,OAAa;;AACtC,gBAAI,KAAK,QAAQ;AAAE,qBAAO;;AAC1B,gBAAI,CAAC,KAAK,SAAS;AAAE,oBAAM,KAAK;;AAChC,kBAAM,QAAQ,KAAK,WAAW,KAAK,QAAQ,eAAe;AAC1D,gBAAI,SAAU,OAAM,KAAK,QAAQ,KAAK,MAAM,UAAU;AAClD,oBAAM,UAAU,MAAM,KAAK,QAAQ,YAAY,OAAA,cAAc;AAC7D,kBAAI,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS,iBAAiB;AAC1B,sBAAM,SAAS,QAAQ;AACvB,sBAAM,SAAS,MAAM,KAAK,QAAQ,gBAAgB,QAAQ;AAC1D,sBAAM,cAAc,KAAK,iBAAiB,QAAQ;AAClD,uBAAO;;;AAGf,mBAAO;;;QAEK,qBAAqB,OAAa;;AAC9C,kBAAM,QAAQ,KAAK,WAAW,KAAK,QAAQ,mBAAmB;AAC9D,gBAAI,SAAU,OAAM,KAAK,QAAQ,KAAK,MAAM,UAAU;AAClD,oBAAM,UAAU,MAAM,KAAK,QAAQ,YAAY,OAAA,cAAc;AAC7D,kBAAI,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS,qBAAqB;AAC9B,sBAAM,SAAS,QAAQ;AACvB,sBAAM,SAAS,MAAM,KAAK,QAAQ,gBAAgB,QAAQ;AAC1D,sBAAM,SAAS,KAAK,qBAAqB,QAAQ;AACjD,qBAAK,aAAa,IAAI,OAAO,IAAI;;;;;QAI7B,cAAW;;AACvB,kBAAM,EAAE,YAAY;AACpB,oBAAQ,YAAY,OAAM,QAAQ;AAClC,kBAAM,SAAS,QAAQ,OAAO,UAAA;AAC9B,kBAAM,SAAS,MAAM,QAAQ,UAAU;AACvC,kBAAM,SAAS,MAAM,QAAQ,OAAO,SAAS,QAAQ;AACrD,mBAAO,OAAA,OAAO,OAAO;;;QAET,4BAAqD,MAAe;;AAChF,gBAAI,CAAC,KAAK,SAAS;AAAE,oBAAM,KAAK;;AAChC,gBAAI,KAAK,WAAW,KAAK,oBAAoB,KAAK,kBAAkB;AAChE,oBAAM,QAAQ,KAAK,QAAQ,eAAe,KAAK;AAC/C,kBAAI,SAAS,OAAM,KAAK,QAAQ,KAAK,MAAM,UAAS;AAChD,uBAAO,MAAM,KAAK,QAAQ,YAAY;;;AAG9C,mBAAO;;;;AAKf,oDAAqF,4BAA8B;QAC/G,YAAY,QAAuB,cAAkC;AACjE,gBAAM,QAAQ;;QAER,aAAa,QAA8B,MAAW,OAA2B;AACvF,iBAAO,IAAI,eAAA,iBAAiB,MAAM,OAAO,OAAO,OAAO,SAAS,KAAK,cAAc,UAAU;;;AAWrG,iCAA2B,OAAgC,SAAqB;AAC5E,eAAO,WAAY,OAAO,QAAQ,mBAAmB,YAAa,QAAQ,iBAAiB,MAAK;;AAIpG,4BAAmE,QAAmD;AAClH,cAAM,SAAS,mBAAkB,KAAc;AAC/C,YAAI;AACA,cAAI,CAAC,OAAO,KAAK,EAAE,aAAa,SAAS,QAAQ;AAC7C,eAAG;AAAE,oBAAM;qBAAiB,CAAE,OAAO,QAAQ,OAAQ;;;AAEjD,iBAAO;;;AAIvB,4BAA0E,QAA8E;;AACpJ,gBAAM,SAAS,MAAA,QAAA,QAAM,mBAAkB,KAAc;AACrD,cAAI;AACA,gBAAI,CAAE,OAAA,QAAA,QAAM,OAAO,KAAK,EAAE,aAAa,WAAU,QAAQ;AACrD,iBAAG;AAAE,sBAAA,MAAA,QAAA,QAAM;uBAAiB,CAAE,OAAA,QAAA,QAAM,OAAO,QAAQ,SAAQ;;;AAEvD,kBAAA,QAAA,QAAM,OAAO;;;;AAI7B,6BAA8D,QAAqB;AAC/E,eAAO,IAAI,yBAAwB,IAAI,0BAA6B;;AAIxE,8BAA+D,QAAkB;AAC7E,cAAM,QAAQ,OAAO,KAAM,UAAA,cAAc,IAAK,CAAC;AAC/C,eAAO,SAAS,MAAM,cAAc,IAAI,CAAC,UAAA,yBAAyB,SAC5D,IAAI,yBAAwB,IAAI,4BAA+B,WAC/D,IAAI,uBAAsB,IAAI,0BAA6B,OAAO,WAClE,IAAI,yBAAwB,IAAI,4BAA+B,aAAS;;;AAIlF,mCAA0E,QAAuB;;AAC7F,gBAAM,QAAQ,MAAM,OAAO,KAAM,UAAA,cAAc,IAAK,CAAC;AACrD,iBAAO,SAAS,MAAM,cAAc,IAAI,CAAC,UAAA,yBAAyB,SAC5D,IAAI,8BAA6B,IAAI,iCAAoC,WACzE,IAAI,uBAAsB,IAAI,0BAA6B,MAAM,OAAO,WACxE,IAAI,8BAA6B,IAAI,iCAAoC,WAAA;AAAA,mBAAA,QAAA,iBAAA,MAAA,WAAA,aAAA;;;;;AAInF,8BAAqE,QAAkB;;AACnF,gBAAM,EAAE,SAAS,MAAM,OAAO;AAC9B,gBAAM,OAAO,IAAI,OAAA,sBAAsB,QAAQ;AAC/C,cAAI,QAAQ,UAAA,mBAAmB;AAC3B,gBAAI,UAAA,yBAAyB,MAAM,KAAK,OAAO,GAAI,UAAA,cAAc,IAAK,CAAC,KAAK;AACxE,qBAAO,IAAI,4BAA2B,IAAI,+BAAkC;;;AAGpF,iBAAO,IAAI,8BAA6B,IAAI,iCAAoC;;;;;;;;;;;;;AChtBpF,UAAA,WAAA;AAEA,UAAA,WAAA;AAQA,4BAA+B,QAAwC,SAAkC;AACrG,YAAI,SAAA,gBAAmB,SAAS;AAAE,iBAAO,iCAAiC,QAAQ;;AAClF,YAAI,SAAA,WAAc,SAAS;AAAE,iBAAO,4BAA4B,QAAQ;;AAExE,cAAM,IAAI,MAAM;;AAJpB,eAAA,cAAA;AAQA,2CAAwC,QAAqB,SAAkC;AAE3F,YAAI,MAA+B;AACnC,cAAM,KAAM,aAAO,QAAP,YAAO,SAAA,SAAP,QAAS,UAAS,WAAY;AAC1C,cAAM,MAAM,aAAO,QAAP,YAAO,SAAA,SAAP,QAAS,kBAAkB,KAAA,IAAA,GAAK;AAE5C,eAAO,IAAI,eAAc,OAAA,OAAA,OAAA,OAAA,IAClB,UAAc,EACjB,MAAM,YAAU;AAAI,eAAK,YAAY,OAAO,OAAK,OAAO,OAAO;WAC/D,KAAK,YAAU;AAAI,gBAAM,KAAK,YAAY,OAAO,WAAW;WAC5D,SAAM;AAAK,UAAC,UAAE,QAAF,QAAE,SAAA,SAAF,IAAI,WAAU,IAAG,YAAY,SAAU,OAAK;cAAQ,OAAA,OAAA,EAC/D,eAAe,KAAK,MAAM,UAAc;AAE7C,sBAAc,YAAgD,KAAqB;AAC/E,cAAI;AACJ,cAAI,IAA8B;AAClC,cAAI,OAAO,WAAW,eAAe;AACrC,iBAAO,CAAE,KAAI,IAAG,KAAK,KAAK,OAAO,OAAO,MAAM;AAC1C,gBAAI,YAAY,OAAO,EAAE,UAAW,OAAM,SAAA,aAAa,EAAE,SAAS;AAC9D,sBAAQ,QAAQ,MAAO,QAAO,OAAO,IAAI,aAAa;AACtD,gBAAE,QAAc;;AAEpB,uBAAW,QAAQ,EAAE;AACrB,gBAAI,QAAQ,QAAQ,EAAE,QAAQ,GAAG;AAAE;;;AAEvC,qBAAW;;;AAKnB,gDAA6C,QAA0B,SAAkC;AAErG,YAAI,MAAoC;AACxC,cAAM,KAAM,aAAO,QAAP,YAAO,SAAA,SAAP,QAAS,UAAS,WAAY;AAC1C,cAAM,MAAM,aAAO,QAAP,YAAO,SAAA,SAAP,QAAS,kBAAkB,KAAA,IAAA,GAAK;AAE5C,eAAO,IAAI,eAAc,OAAA,OAAA,OAAA,OAAA,IAClB,UAAc;UACX,MAAM,YAAU;;AAAI,oBAAM,KAAK,YAAY,OAAO,OAAK,OAAO,OAAO;;;UACrE,KAAK,YAAU;;AAAI,oBAAM,MAAM,KAAK,YAAY,OAAO,WAAW;;;UAClE,SAAM;;AAAK,cAAC,UAAE,QAAF,QAAE,SAAA,SAAF,IAAI,WAAU,OAAM,IAAG,aAAY,SAAU,OAAK;;;YAAQ,OAAA,OAAA,EAC3E,eAAe,KAAK,MAAM,UAAc;AAE7C,sBAAoB,YAAgD,KAA0B;;AAC1F,gBAAI;AACJ,gBAAI,IAA8B;AAClC,gBAAI,OAAO,WAAW,eAAe;AACrC,mBAAO,CAAE,KAAI,MAAM,IAAG,KAAK,KAAK,OAAO,OAAO,MAAM;AAChD,kBAAI,YAAY,OAAO,EAAE,UAAW,OAAM,SAAA,aAAa,EAAE,SAAS;AAC9D,wBAAQ,QAAQ,MAAO,QAAO,OAAO,IAAI,aAAa;AACtD,kBAAE,QAAc;;AAEpB,yBAAW,QAAQ,EAAE;AACrB,kBAAI,QAAQ,QAAQ,EAAE,QAAQ,GAAG;AAAE;;;AAEvC,uBAAW;;;;;;;;;;;;;;ACtEnB,UAAA,UAAA;AAYA,wCAA+E,SAA0C;AACrH,eAAO,IAAI,iBAAiB;;AADhC,eAAA,0BAAA;AAKA,mCAA6B;QAYzB,YAAY,SAA0C;AAN9C,eAAA,aAAa;AACb,eAAA,YAAY;AACZ,eAAA,gBAAgB;AAQpB,gBAAM,GACD,qBAAqB,mBACrB,qBAAqB,mBACrB,qBAAqB,mBAAmB,YAEzC,SADG,iBAAc,QAAA,OACjB,SALE,CAAA,oBAAA,oBAAA;AAON,eAAK,cAAc;AACnB,eAAK,WAAW,QAAA,QAAQ,IAAc;AACtC,eAAK,WAAW,qBAAqB,UAAU,cAAc;AAE7D,gBAAM,GAAG,kBAAkB,wBAAwB,qBAAqB,UAAU,KAAA,IAAA,GAAK,MAAK,QAAM,OAAA,OAAA,IAAQ;AAC1G,gBAAM,GAAG,kBAAkB,wBAAwB,qBAAqB,UAAU,KAAA,IAAA,GAAK,MAAK,QAAM,OAAA,OAAA,IAAQ;AAE1G,eAAK,cAAc,IAAI,eAAqB;aACvC,WAAW,MAAM;AAAG,mBAAK,SAAS;;aAClC,SAAS,CAAC,MAAK;AAAG,mBAAK,YAAY,KAAK,UAAU,KAAK,cAAc;;aACrE,UAAU,CAAC,MAAK;AAAG,mBAAK,YAAY,KAAK,UAAU,KAAK,cAAc;;aACxE;YACC,iBAAiB;YACjB,QAAQ,qBAAqB,UAAU,cAAc;;AAGzD,eAAK,cAAc,IAAI,eAAe;aACjC,UAAU,MAAK;AAAG,mBAAK,SAAS;;aAChC,UAAU,MAAK;AAAG,mBAAK,YAAY,KAAK,UAAU,KAAK;;aACvD,UAAU,MAAK;AAAG,mBAAK,YAAY,KAAK,SAAS,UAAU,KAAK;;aAClE;YACC,iBAAiB;YACjB,QAAQ,CAAC,UAA+B,KAAK,8BAA8B;;;QAI3E,8BAA8B,OAA0B;AAC5D,gBAAM,eAAe,KAAK;AAC1B,eAAK,gBAAgB,KAAK,SAAS,KAAK,SAAS,OAAO;AACxD,iBAAO,KAAK,gBAAgB;;QAGxB,YAAY,SAA4B,YAAwD;AACpG,cAAI,eAAe,MAAM;AAAE;;AAC3B,cAAI,KAAK,iBAAiB,WAAW,aAAc;AAC/C,cAAE,KAAK,cAAc,KAAK,SAAS,YAAY,QAAQ;;AAE3D,cAAI,QAAQ,UAAU;AAClB,gBAAI,QAAQ,SAAS,KAAK,KAAK,eAAe,GAAG;AAC7C,gBAAE,KAAK,cAAc,KAAK,SAAS,YAAY,QAAQ;;AAE3D,gBAAI,CAAC,KAAK,aAAc,MAAK,YAAY,OAAO;AAC5C,mBAAK,SAAS,YAAY;;;;QAK9B,SAAS,YAAmD,OAAkB;AAClF,eAAK,gBAAgB;AACrB,eAAK,cAAc;AACnB,oBAAU,OAAO,WAAW,UAAU,WAAW,QAAQ;;;AAzEjE,eAAA,mBAAA;AA6Ee,UAAM,cAAc,CAA2B,UAAkC,MAAM;AACvF,UAAM,kBAAkB,CAA2B,UAAkC,MAAM;;;;;;;;;;;AChG1G,UAAA,WAAA;AACA,UAAA,WAAA;AAGA,kDAA+F,kBAA8C,kBAA2C;AAEpL,cAAM,QAAQ,IAAI,SAAA;AAClB,YAAI,SAAsC;AAE1C,cAAM,WAAW,IAAI,eAA+B;UAC1C,SAAM;;AAAK,oBAAM,MAAM;;;UACvB,MAAM,YAAU;;AAAI,oBAAM,KAAK,YAAY,UAAW,UAAS,MAAM;;;UACrE,KAAK,YAAU;;AAAI,uBAAS,MAAM,KAAK,YAAY,UAAU,WAAW;;;;AAGlF,eAAO,EAAE,UAAU,IAAI,eAAe,OAAK,OAAA,OAAA,EAAI,iBAAiB,KAAA,IAAA,GAAK,OAAO,oBAAqB;AAEjG,wBAAmB;;AACf,mBAAO,MAAO,OAAM,SAAA,kBAAkB,KAAQ,QAAQ,KAAK;;;AAG/D,sBAAoB,YAA6D,SAA4B;;AACzG,gBAAI,OAAO,WAAW;AACtB,gBAAI,IAA2C;AAC/C,mBAAO,CAAE,KAAI,MAAM,QAAO,QAAQ,MAAM;AACpC,yBAAW,QAAQ,EAAE;AACrB,kBAAI,QAAQ,QAAQ,EAAE,QAAQ,GAAG;AAC7B;;;AAGR,uBAAW;;;;AA1BnB,eAAA,oCAAA;;;;;;;;;;;ACJA,UAAA,WAAA;AAIA,kDAEI,kBACA,kBAAyD;AAGzD,cAAM,SAAS,IAAI,KAAQ;AAC3B,cAAM,SAAS,IAAI,SAAA,gBAAgB;AACnC,cAAM,WAAW,IAAI,eAAe;UAChC,MAAM;UACA,SAAM;;AAAK,oBAAM,OAAO;;;UACxB,KAAK,YAAU;;AAAI,oBAAM,KAAK;;;UAC9B,MAAM,YAAU;;AAAI,oBAAM,KAAK;;;WACxC,OAAA,OAAA,EAAI,iBAAiB,KAAA,IAAA,GAAK,OAAO;AAElC,eAAO,EAAE,UAAU,IAAI,eAAe,QAAQ,mBAAmB;AAEjE,sBAAoB,YAAuD;;AACvE,gBAAI,MAAyB;AAC7B,gBAAI,OAAO,WAAW;AACtB,mBAAO,MAAM,MAAM,OAAO,KAAK,QAAQ,OAAO;AAC1C,yBAAW,QAAQ;AACnB,kBAAI,QAAQ,QAAS,SAAQ,IAAI,eAAe,GAAG;AAAE;;;AAEzD,uBAAW;;;;AAxBnB,eAAA,oCAAA;;;;;;;;;;ACJA,UAAA,eAAA;AAQA,wBAA2B;QACvB,GAAG,OAAmB;AAClB,cAAI,CAAE,kBAAiB,QAAQ;AAAE,oBAAQ,IAAI,QAAQ;;AACrD,iBAAO,IAAI,OAAO,MAAM;;QAE5B,GAAG,OAAmB;AAClB,cAAI,CAAE,kBAAiB,QAAQ;AAAE,oBAAQ,IAAI,QAAQ;;AACrD,iBAAO,IAAI,KAAK,MAAM;;QAE1B,GAAG,OAAmB;AAClB,cAAI,CAAE,kBAAiB,QAAQ;AAAE,oBAAQ,IAAI,QAAQ;;AACrD,iBAAO,IAAI,KAAK,MAAM;;QAE1B,GAAG,OAAmB;AAClB,iBAAO,IAAI,IAAI,KAAK,GAAG;;QAE3B,GAAG,OAAmB;AAClB,iBAAO,IAAI,IAAI,KAAK,GAAG;;QAE3B,GAAG,OAAmB;AAClB,iBAAO,IAAI,IAAI,KAAK,GAAG;;;AApB/B,eAAA,QAAA;AAyBA,kCAAqC,MAAQ;QACzC,YAAmB,GAAI;AAAI;AAAR,eAAA,IAAA;;;AADvB,eAAA,UAAA;AAKA,8BAAiC,MAAQ;QAIrC,YAAmB,MAAY;AAAI;AAAhB,eAAA,OAAA;;QACnB,KAAK,OAAkB;AACnB,cAAI,CAAC,KAAK,QAAQ;AAGd,iBAAK,SAAS;AACd,kBAAM,SAAS,MAAM,OAAO;AAC5B,qBAAS,MAAM,IAAI,EAAE,MAAM,OAAO,UAAS;AACvC,kBAAI,OAAO,KAAK,SAAS,KAAK,MAAM;AAChC,qBAAK,SAAS;AACd;;;AAGR,gBAAI,KAAK,SAAS,GAAG;AAAE,oBAAM,IAAI,MAAM,uBAAuB,KAAK;;;AAGvE,gBAAM,MAAM,KAAK,SAAS,MAAM,WAAW,KAAK;AAChD,iBAAO,CAAC,QAAgB,IAAI,IAAI;;;AArBxC,eAAA,MAAA;AA0BA,4BAA+B;QAE3B,OAAO,MAAiB;AAAS,iBAAO,IAAI,IAAI,MAAM,GAAG;;QACzD,MAAM,MAAiB;AAAQ,iBAAO,IAAI,GAAG,MAAM,GAAG;;QACtD,MAAG;AAAgB,iBAAO,IAAI,IAAI;;;AAJtC,eAAA,YAAA;AAQA,8CAA0D,UAAS;QAC/D,YAA4B,MAAgC,OAAe;AACvE;AADwB,eAAA,OAAA;AAAgC,eAAA,QAAA;;QAI5D,KAAK,OAAkB;AACnB,cAAI,KAAK,gBAAgB,SAAS;AAC9B,gBAAI,KAAK,iBAAiB,SAAS;AAC/B,qBAAO,KAAK,YAAY,OAAO,KAAK,MAAM,KAAK;mBAC5C;AAEH,qBAAO,KAAK,YAAY,OAAO,KAAK,MAAM,KAAK;;iBAEhD;AACH,gBAAI,KAAK,iBAAiB,SAAS;AAC/B,qBAAO,KAAK,YAAY,OAAO,KAAK,MAAa,KAAK;mBACnD;AACH,qBAAO,KAAK,YAAY,OAAO,KAAK,MAAa,KAAK;;;;;AAjBtE,eAAA,sBAAA;AA6BA,+CAAmD,UAAS;QAExD,eAAe,UAAqB;AAChC;AACA,eAAK,WAAW;;;AAJxB,eAAA,uBAAA;AAQO,2BAAqB,UAAW,WAAW,OAAO,OAAO;AAGhE,8BAAyB,qBAAoB;QACzC,eAAe,UAAqB;AAEhC,qBAAW,SAAS,OAAO,CAAC,OAAoB,MAA6B;AACzE,mBAAO,MAAM,OAAO,aAAa,MAAM,EAAE,WAAW;aACrD;AACH,gBAAM,GAAG;;QAEb,KAAK,OAAkB;AACnB,gBAAM,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK;AAC9C,iBAAO,CAAC,KAAa,WAAuB,MAAM,MAAM,CAAC,MAAM,EAAE,KAAK;;;AAV9E,eAAA,MAAA;AAeA,6BAAwB,qBAAoB;QACxC,eAAe,UAAqB;AAEhC,qBAAW,SAAS,OAAO,CAAC,OAAoB,MAA6B;AACzE,mBAAO,MAAM,OAAO,aAAa,KAAK,EAAE,WAAW;aACpD;AACH,gBAAM,GAAG;;QAEb,KAAK,OAAkB;AACnB,gBAAM,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK;AAC9C,iBAAO,CAAC,KAAa,WAAuB,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK;;;AAV7E,eAAA,KAAA;AAeA,iCAA4B,oBAAmB;QAKjC,YAAY,QAAqB,MAAe,OAAc;AACpE,gBAAM,OAAgB,KAAK,KAAK,MAAM;AACtC,iBAAO,MAAM;;QAGP,YAAY,OAAoB,MAAW,OAAU;AAC3D,gBAAM,YAAY,KAAK,KAAK;AAC5B,gBAAM,aAAa,MAAM,KAAK;AAC9B,iBAAO,CAAC,KAAa,WAAuB,UAAU,KAAK,WAAU,WAAW,KAAK;;QAG/E,YAAY,OAAoB,MAAU,MAAY;AAC5D,gBAAM,WAAW,KAAI,KAAK;AAC1B,cAAI,KAAI,kBAAkB,aAAA,kBAAkB;AACxC,gBAAI;AACJ,kBAAM,SAAS,KAAI;AACnB,gBAAI,OAAO,eAAe,KAAK,gBAAgB;AAC3C,oBAAM,OAAO,cAAc,KAAI;AAC/B,mBAAK,iBAAiB,OAAO;AAC7B,mBAAK,UAAU;mBACZ;AACH,oBAAM,KAAK;;AAGf,gBAAI,QAAQ,IAAI;AAMZ,qBAAO,MAAM;mBACV;AACH,qBAAO,CAAC,QAAe;AACnB,uBAAO,OAAO,OAAO,SAAS;;;iBAGnC;AACH,mBAAO,CAAC,KAAa,SAAsB,SAAS,KAAK,SAAS,KAAI;;;QAIpE,YAAY,OAAoB,MAAc,MAAQ;AAE5D,iBAAO,KAAK,YAAY,OAAO,MAAK;;;AAhD5C,eAAA,SAAA;AAqDA,+BAA0B,oBAAmB;QAC/B,YAAY,QAAqB,MAAe,OAAc;AACpE,gBAAM,OAAgB,KAAK,KAAK,MAAM;AACtC,iBAAO,MAAM;;QAGP,YAAY,OAAoB,MAAW,OAAU;AAC3D,gBAAM,YAAY,KAAK,KAAK;AAC5B,gBAAM,aAAa,MAAM,KAAK;AAC9B,iBAAO,CAAC,KAAa,SAAsB,UAAU,KAAK,SAAS,WAAW,KAAK;;QAG7E,YAAY,OAAoB,MAAU,MAAY;AAC5D,gBAAM,WAAW,KAAI,KAAK;AAC1B,iBAAO,CAAC,KAAa,SAAsB,SAAS,KAAK,SAAS,KAAI;;QAGhE,YAAY,OAAoB,MAAc,MAAQ;AAC5D,gBAAM,WAAW,KAAI,KAAK;AAC1B,iBAAO,CAAC,KAAa,SAAsB,KAAI,KAAK,SAAS,KAAK;;;AAnB1E,eAAA,OAAA;AAwBA,+BAA0B,oBAAmB;QAC/B,YAAY,QAAqB,MAAe,OAAc;AACpE,gBAAM,OAAgB,KAAK,KAAK,MAAM;AACtC,iBAAO,MAAM;;QAGP,YAAY,OAAoB,MAAW,OAAU;AAC3D,gBAAM,YAAY,KAAK,KAAK;AAC5B,gBAAM,aAAa,MAAM,KAAK;AAC9B,iBAAO,CAAC,KAAa,SAAsB,UAAU,KAAK,SAAS,WAAW,KAAK;;QAG7E,YAAY,OAAoB,MAAU,MAAY;AAC5D,gBAAM,WAAW,KAAI,KAAK;AAC1B,iBAAO,CAAC,KAAa,SAAsB,SAAS,KAAK,SAAS,KAAI;;QAGhE,YAAY,OAAoB,MAAc,MAAQ;AAC5D,gBAAM,WAAW,KAAI,KAAK;AAC1B,iBAAO,CAAC,KAAa,SAAsB,KAAI,KAAK,SAAS,KAAK;;;AAnB1E,eAAA,OAAA;AAwBA,8BAAyB,UAAS;QAC9B,YAA4B,OAAgB;AACxC;AADwB,eAAA,QAAA;;QAI5B,KAAK,OAAkB;AACnB,gBAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,iBAAO,CAAC,KAAa,WAAuB,CAAC,KAAK,KAAK;;;AAP/D,eAAA,MAAA;AAYA,0CAAqC,UAAS;QAC1C,YAAoB,MAA6B,OAAmC;AAChF;AADgB,eAAA,OAAA;AAA6B,eAAA,QAAA;;QAIjD,KAAK,OAAkB;AACnB,eAAK,MAAM;AACX,iBAAO,KAAK;;;AAPpB,eAAA,kBAAA;AAWA,mBAAoB,GAAM;AAAgB,eAAO,IAAI,QAAQ;;AAA7D,eAAA,MAAA;AACA,mBAAoB,GAAS;AAAc,eAAO,IAAI,IAAI;;AAA1D,eAAA,MAAA;AACA,sBAAuB,GAAc;AAAS,eAAO,IAAI,IAAI,GAAG;;AAAhE,eAAA,MAAA;AACA,qBAAsB,GAAc;AAAQ,eAAO,IAAI,GAAG,GAAG;;AAA7D,eAAA,KAAA;AACA,sBAAuB,MAAqB,MAAkC;AAC1E,eAAO,IAAI,gBAAgB,MAAM;;AADrC,eAAA,SAAA;;;;;;;;;;AChRA,UAAA,UAAA;AAEA,UAAA,QAAA;AACA,UAAA,WAAA;AACA,UAAA,cAAA;AACA,UAAA,gBAAA;AAEA,UAAA,SAAA;AAiBA,qCAA4E,QAAA,MAAQ;QACzE,OAAO,YAAoB;AAC9B,iBAAO,IAAI,mBAAqB,KAAK,QAAQ;;QAE1C,KAAK,MAAgB,MAAe;AACvC,gBAAM,UAAU,KAAK,QAAQ,aAAa,QAAQ;AAClD,mBAAS,aAAa,IAAI,EAAE,aAAa,cAAa;AAElD,kBAAM,QAAQ,QAAQ;AACtB,gBAAI,MAAM;AAAE,mBAAK;;AAEjB,qBAAS,QAAQ,IAAI,UAAU,MAAM,QAAQ,EAAE,QAAQ,WAAU;AAC7D,mBAAK,OAAO;;;;QAIjB,YAAY,MAAgB,MAAe;AAC9C,gBAAM,UAAU,KAAK,QAAQ,aAAa,QAAQ;AAClD,mBAAS,aAAa,YAAY,EAAE,cAAc,KAAI;AAElD,kBAAM,QAAQ,QAAQ;AACtB,gBAAI,MAAM;AAAE,mBAAK;;AAEjB,qBAAS,QAAQ,MAAM,QAAQ,EAAE,SAAS,KAAI;AAC1C,mBAAK,OAAO;;;;QAIjB,QAAQ,MAAkB;AAC7B,gBAAM,UAAU,KAAK,QAAQ,aAAa,QAAQ;AAClD,gBAAM,WAAW,OAAO,SAAS,WAAW,IAAI,YAAA,IAAI,QAAQ;AAG5D,mBAAS,KAAK,QAAQ,aAAa;AACnC,gBAAM,SAAS,SAAS;AACxB,cAAI,CAAC,OAAA,SAAS,aAAa,OAAO,OAAO;AACrC,kBAAM,IAAI,MAAM;;AAGpB,gBAAM,kBAAkB,KAAK,KAAK,KAAK,IAAI,OAAO,UAAU,KAAK,IAAI;AACrE,gBAAM,kBAAkB,mBAAmB,IAAI,cACvB,mBAAmB,IAAI,cAAc;AAE7D,gBAAM,SAAS,IAAI,gBAAgB,OAAO,WAAW;AACrD,mBAAS,aAAa,IAAI,EAAE,aAAa,cAAa;AAElD,kBAAM,QAAQ,QAAQ;AAEtB,qBAAS,KAAK;AACd,kBAAM,OAAQ,SAAS,OAAyB;AAEhD,qBAAS,QAAQ,IAAI,UAAU,MAAM,QAAQ,EAAE,QAAQ,WAAU;AAC7D,oBAAM,MAAM,KAAK,IAAI;AACrB,kBAAI,QAAQ,MAAM;AAAE,uBAAO;;;;AAGnC,iBAAO,IAAI,eAAc,OAAO,YAAY,MAAA,UAAU,KAAK;;;AAxDnE,eAAA,YAAA;AA6DA,yCAAuF,QAAA,MAAqC;QACxH,YAAY,QAAmB,QAAiB;AAE5C,gBAAM,SAAS,IAAI,SAAA,OAAU;YACzB,IAAI,SAAA,MAAM,UAAU,OAAO;YAC3B,IAAI,SAAA,MAAM,UAAU,OAAO;;AAE/B,gBAAM,IAAI,cAAA,YAAe,QAAQ,OAAO,QAAQ,CAAC,QAAQ;;QAEtD,SAAM;AACT,gBAAM,SAAS,KAAK,YAAY;AAChC,gBAAM,SAAS,KAAK,YAAY;AAChC,gBAAM,SAAS;AACf,mBAAS,IAAI,IAAI,EAAE,IAAI,KAAK,UAAS;AACjC,mBAAO,OAAO,IAAI,MAAM,OAAO,IAAI;;AAEvC,iBAAO;;;AAhBf,eAAA,gBAAA;AAqBA,wCAA2B;QAMvB,YACY,SACA,YAAoB;AADpB,eAAA,UAAA;AACA,eAAA,YAAA;AAPJ,eAAA,aAAa;AAEb,eAAA,QAAQ;AAUZ,eAAK,QAAQ,KAAK,QAAQ,KAAK;AAC/B,eAAK,gBAAgB,KAAK,UAAU,KAAK,KAAK;;QAGlD,OAAI;AACA,iBAAO,KAAK,aAAa,KAAK,QAAQ,QAAQ;AAC1C,mBAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ;AACnC,kBAAI,KAAK,cAAc,KAAK,OAAO,KAAK,QAAQ;AAC5C,uBAAO;kBACH,OAAO,KAAK,MAAM,IAAI,KAAK;;;AAGnC,mBAAK;;AAGT,gBAAI,EAAE,KAAK,aAAa,KAAK,QAAQ,QAAQ;AACzC,mBAAK,QAAQ;AACb,mBAAK,QAAQ,KAAK,QAAQ,KAAK;AAC/B,mBAAK,gBAAgB,KAAK,UAAU,KAAK,KAAK;;;AAItD,iBAAO,EAAC,MAAM,MAAM,OAAO;;SAG9B,OAAO,YAAS;AACb,iBAAO;;;AAKf,6CAAoF,WAAY;QAE5F,YAAa,SAA2B,YAAoB;AACxD,gBAAM;AACN,eAAK,aAAa;;QAEf,KAAK,MAAgB,MAAe;AAKvC,gBAAM,UAAU,KAAK;AACrB,gBAAM,aAAa,QAAQ;AAC3B,mBAAS,aAAa,IAAI,EAAE,aAAa,cAAa;AAElD,kBAAM,QAAQ,QAAQ;AACtB,kBAAM,aAAY,KAAK,WAAW,KAAK;AACvC,gBAAI,UAAU;AAEd,qBAAS,QAAQ,IAAI,UAAU,MAAM,QAAQ,EAAE,QAAQ,WAAU;AAC7D,kBAAI,WAAU,OAAO,QAAQ;AAGzB,oBAAI,QAAQ,CAAC,SAAS;AAClB,uBAAK;AACL,4BAAU;;AAEd,qBAAK,OAAO;;;;;QAKrB,YAAY,MAAgB,MAAe;AAC9C,gBAAM,UAAU,KAAK;AACrB,gBAAM,aAAa,QAAQ;AAC3B,mBAAS,aAAa,YAAY,EAAE,cAAc,KAAI;AAElD,kBAAM,QAAQ,QAAQ;AACtB,kBAAM,aAAY,KAAK,WAAW,KAAK;AACvC,gBAAI,UAAU;AAEd,qBAAS,QAAQ,MAAM,QAAQ,EAAE,SAAS,KAAI;AAC1C,kBAAI,WAAU,OAAO,QAAQ;AAGzB,oBAAI,QAAQ,CAAC,SAAS;AAClB,uBAAK;AACL,4BAAU;;AAEd,qBAAK,OAAO;;;;;QAKrB,QAAK;AAOR,cAAI,MAAM;AACV,gBAAM,UAAU,KAAK;AACrB,gBAAM,aAAa,QAAQ;AAC3B,mBAAS,aAAa,IAAI,EAAE,aAAa,cAAa;AAElD,kBAAM,QAAQ,QAAQ;AACtB,kBAAM,aAAY,KAAK,WAAW,KAAK;AACvC,qBAAS,QAAQ,IAAI,UAAU,MAAM,QAAQ,EAAE,QAAQ,WAAU;AAC7D,kBAAI,WAAU,OAAO,QAAQ;AAAE,kBAAE;;;;AAGzC,iBAAO;;SAGH,OAAO,YAAS;AAKpB,iBAAO,IAAI,sBAAyB,KAAK,SAAS,KAAK;;QAEpD,OAAO,YAAoB;AAC9B,iBAAO,IAAI,mBACP,KAAK,SACL,KAAK,WAAW,IAAI;;QAGrB,QAAQ,MAAkB;AAC7B,gBAAM,UAAU,KAAK,SAAS,aAAa,QAAQ;AACnD,gBAAM,WAAW,OAAO,SAAS,WAAW,IAAI,YAAA,IAAI,QAAQ;AAG5D,mBAAS,KAAK,QAAQ,aAAa;AACnC,gBAAM,SAAS,SAAS;AACxB,cAAI,CAAC,OAAA,SAAS,aAAa,OAAO,OAAO;AACrC,kBAAM,IAAI,MAAM;;AAGpB,gBAAM,kBAAkB,KAAK,KAAK,KAAK,IAAI,OAAO,UAAU,KAAK,IAAI;AACrE,gBAAM,kBAAkB,mBAAmB,IAAI,cACvB,mBAAmB,IAAI,cAAc;AAE7D,gBAAM,SAAS,IAAI,gBAAgB,OAAO,WAAW;AAErD,mBAAS,aAAa,IAAI,EAAE,aAAa,cAAa;AAElD,kBAAM,QAAQ,QAAQ;AACtB,kBAAM,aAAY,KAAK,WAAW,KAAK;AAEvC,qBAAS,KAAK;AACd,kBAAM,OAAQ,SAAS,OAAyB;AAEhD,qBAAS,QAAQ,IAAI,UAAU,MAAM,QAAQ,EAAE,QAAQ,WAAU;AAC7D,oBAAM,MAAM,KAAK,IAAI;AACrB,kBAAI,QAAQ,QAAQ,WAAU,OAAO,QAAQ;AAAE,uBAAO;;;;AAG9D,iBAAO,IAAI,eAAc,OAAO,YAAY,MAAA,UAAU,KAAK;;;AAtHnE,eAAA,oBAAA;;;;;;;;;;ACtJA,UAAA,WAAA;AACI,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACA,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAGJ,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AAET,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAM,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAEf,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACT,UAAA,SAAA;AACI,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,OAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAK,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAM,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAQ,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAQ,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACvD,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACzB,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAS,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAChB,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAW,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAiB,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAsB,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAsB,aAAA,eAAA,UAAA,uBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACxE,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAM,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAY,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAiB,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAiB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACpD,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAO,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAY,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACnB,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,YAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAU,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAAiB,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAC3B,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AACA,aAAA,eAAA,UAAA,QAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;AAGJ,UAAA,UAAA;AAAS,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACT,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAQ,aAAA,eAAA,UAAA,SAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACjB,UAAA,UAAA;AACI,aAAA,eAAA,UAAA,UAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAY,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC3B,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,uBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC3C,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAuB,aAAA,eAAA,UAAA,2BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACvC,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAW,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAY,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACvG,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAiB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAuB,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAA4B,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAA4B,aAAA,eAAA,UAAA,6BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAChG,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAY,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAkB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAuB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAuB,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC5E,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAkB,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC/B,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAGJ,UAAA,UAAA;AACI,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC7B,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,wBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAgB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC9C,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAiB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAwB,aAAA,eAAA,UAAA,4BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACzC,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAY,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAe,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAC/G,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACA,aAAA,eAAA,UAAA,oBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAkB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAwB,aAAA,eAAA,UAAA,+BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAA6B,aAAA,eAAA,UAAA,+BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAA6B,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACpG,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAa,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAmB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAwB,aAAA,eAAA,UAAA,0BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAwB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAChF,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAc,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAAmB,aAAA,eAAA,UAAA,sBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AACjC,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,QAAA;;AAGJ,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,cAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAY,aAAA,eAAA,UAAA,mBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAiB,aAAA,eAAA,UAAA,kBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACtC,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAmB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAuB,aAAA,eAAA,UAAA,2BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAyB,aAAA,eAAA,UAAA,8BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAA4B,aAAA,eAAA,UAAA,gCAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AACxG,UAAA,WAAA;AAAS,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAmB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAuB,aAAA,eAAA,UAAA,2BAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAAyB,aAAA,eAAA,UAAA,yBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,SAAA;;AAC5E,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AAAe,aAAA,eAAA,UAAA,sBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AAAoB,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AAC5C,UAAA,YAAA;AAAS,aAAA,eAAA,UAAA,WAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,UAAA;;AACT,UAAA,gBAAA;AAAS,aAAA,eAAA,UAAA,eAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,cAAA;;AAET,UAAA,cAAA;AAAS,aAAA,eAAA,UAAA,aAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAW,aAAA,eAAA,UAAA,qBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAAmB,aAAA,eAAA,UAAA,iBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,YAAA;;AAEvC,UAAA,WAAA;AACA,UAAA,YAAA;AACA,UAAA,YAAA;AACA,UAAA,aAAA;AACA,UAAA,eAAA;AACA,UAAA,eAAA;AACA,UAAA,aAAA;AAGS,eAAA,YAAA;AAFT,UAAA,mBAAA;AAIa,eAAA,OAAI,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,IACV,WACA,YACA,YACA,aACA,eACA,eAAY;QACf,gBAAA,iBAAA;QACA,eAAA,iBAAA;QACA,cAAA,iBAAA;;AAGJ,UAAA,SAAA;AAAS,aAAA,eAAA,UAAA,gBAAA,EAAA,YAAA,MAAA,KAAA,WAAA;AAAA,eAAA,OAAA;;;;;;ACvIT;AAAA;AASA,MAAC,YAAY;AACX;AAEA,YAAI,QAAQ;AACZ,YAAI,SAAS,OAAO,WAAW;AAC/B,YAAI,OAAO,SAAS,SAAS;AAC7B,YAAI,KAAK,qBAAqB;AAC5B,mBAAS;AAAA;AAEX,YAAI,aAAa,CAAC,UAAU,OAAO,SAAS;AAC5C,YAAI,UAAU,CAAC,KAAK,wBAAwB,OAAO,YAAY,YAAY,QAAQ,YAAY,QAAQ,SAAS;AAChH,YAAI,SAAS;AACX,iBAAO;AAAA,mBACE,YAAY;AACrB,iBAAO;AAAA;AAET,YAAI,YAAY,CAAC,KAAK,0BAA0B,OAAO,WAAW,YAAY,OAAO;AACrF,YAAI,MAAM,OAAO,WAAW,cAAc,OAAO;AACjD,YAAI,eAAe,CAAC,KAAK,6BAA6B,OAAO,gBAAgB;AAC7E,YAAI,YAAY,mBAAmB,MAAM;AACzC,YAAI,QAAQ,CAAC,aAAa,SAAS,OAAO;AAC1C,YAAI,QAAQ,CAAC,IAAI,IAAI,GAAG;AACxB,YAAI,IAAI;AAAA,UACN;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UACpF;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA,UAAY;AAAA;AAEtF,YAAI,eAAe,CAAC,OAAO,SAAS,UAAU;AAE9C,YAAI,SAAS;AAEb,YAAI,KAAK,wBAAwB,CAAC,MAAM,SAAS;AAC/C,gBAAM,UAAU,SAAU,KAAK;AAC7B,mBAAO,OAAO,UAAU,SAAS,KAAK,SAAS;AAAA;AAAA;AAInD,YAAI,gBAAiB,MAAK,qCAAqC,CAAC,YAAY,SAAS;AACnF,sBAAY,SAAS,SAAU,KAAK;AAClC,mBAAO,OAAO,QAAQ,YAAY,IAAI,UAAU,IAAI,OAAO,gBAAgB;AAAA;AAAA;AAI/E,YAAI,qBAAqB,SAAU,YAAY,QAAO;AACpD,iBAAO,SAAU,SAAS;AACxB,mBAAO,IAAI,OAAO,QAAO,MAAM,OAAO,SAAS;AAAA;AAAA;AAInD,YAAI,eAAe,SAAU,QAAO;AAClC,cAAI,UAAS,mBAAmB,OAAO;AACvC,cAAI,SAAS;AACX,sBAAS,SAAS,SAAQ;AAAA;AAE5B,kBAAO,SAAS,WAAY;AAC1B,mBAAO,IAAI,OAAO;AAAA;AAEpB,kBAAO,SAAS,SAAU,SAAS;AACjC,mBAAO,QAAO,SAAS,OAAO;AAAA;AAEhC,mBAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;AAC5C,gBAAI,OAAO,aAAa;AACxB,oBAAO,QAAQ,mBAAmB,MAAM;AAAA;AAE1C,iBAAO;AAAA;AAGT,YAAI,WAAW,SAAU,QAAQ,OAAO;AACtC,cAAI,SAAS,KAAK;AAClB,cAAI,SAAS,KAAK;AAClB,cAAI,YAAY,QAAQ,WAAW;AACnC,cAAI,aAAa,SAAU,SAAS;AAClC,gBAAI,OAAO,YAAY,UAAU;AAC/B,qBAAO,OAAO,WAAW,WAAW,OAAO,SAAS,QAAQ,OAAO;AAAA,mBAC9D;AACL,kBAAI,YAAY,QAAQ,YAAY,QAAW;AAC7C,sBAAM,IAAI,MAAM;AAAA,yBACP,QAAQ,gBAAgB,aAAa;AAC9C,0BAAU,IAAI,WAAW;AAAA;AAAA;AAG7B,gBAAI,MAAM,QAAQ,YAAY,YAAY,OAAO,YAC/C,QAAQ,gBAAgB,QAAQ;AAChC,qBAAO,OAAO,WAAW,WAAW,OAAO,IAAI,OAAO,UAAU,OAAO;AAAA,mBAClE;AACL,qBAAO,OAAO;AAAA;AAAA;AAGlB,iBAAO;AAAA;AAGT,YAAI,yBAAyB,SAAU,YAAY,QAAO;AACxD,iBAAO,SAAU,KAAK,SAAS;AAC7B,mBAAO,IAAI,WAAW,KAAK,QAAO,MAAM,OAAO,SAAS;AAAA;AAAA;AAI5D,YAAI,mBAAmB,SAAU,QAAO;AACtC,cAAI,UAAS,uBAAuB,OAAO;AAC3C,kBAAO,SAAS,SAAU,KAAK;AAC7B,mBAAO,IAAI,WAAW,KAAK;AAAA;AAE7B,kBAAO,SAAS,SAAU,KAAK,SAAS;AACtC,mBAAO,QAAO,OAAO,KAAK,OAAO;AAAA;AAEnC,mBAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;AAC5C,gBAAI,OAAO,aAAa;AACxB,oBAAO,QAAQ,uBAAuB,MAAM;AAAA;AAE9C,iBAAO;AAAA;AAGT,wBAAgB,QAAO,cAAc;AACnC,cAAI,cAAc;AAChB,mBAAO,KAAK,OAAO,MAAM,OAAO,KAAK,OAAO,KAAK,OAAO,KACtD,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAC3C,OAAO,KAAK,OAAO,KAAK,OAAO,MAAM,OAAO,MAC5C,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM;AACtD,iBAAK,SAAS;AAAA,iBACT;AACL,iBAAK,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAGjE,cAAI,QAAO;AACT,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AAAA,iBACL;AACL,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AACV,iBAAK,KAAK;AAAA;AAGZ,eAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS;AACrD,eAAK,YAAY,KAAK,SAAS;AAC/B,eAAK,QAAQ;AACb,eAAK,QAAQ;AAAA;AAGf,eAAO,UAAU,SAAS,SAAU,SAAS;AAC3C,cAAI,KAAK,WAAW;AAClB;AAAA;AAEF,cAAI,WAAW,OAAO,OAAO;AAC7B,cAAI,SAAS,UAAU;AACrB,gBAAI,SAAS,UAAU;AACrB,kBAAI,YAAY,MAAM;AACpB,sBAAM,IAAI,MAAM;AAAA,yBACP,gBAAgB,QAAQ,gBAAgB,aAAa;AAC9D,0BAAU,IAAI,WAAW;AAAA,yBAChB,CAAC,MAAM,QAAQ,UAAU;AAClC,oBAAI,CAAC,gBAAgB,CAAC,YAAY,OAAO,UAAU;AACjD,wBAAM,IAAI,MAAM;AAAA;AAAA;AAAA,mBAGf;AACL,oBAAM,IAAI,MAAM;AAAA;AAElB,wBAAY;AAAA;AAEd,cAAI,MAAM,QAAQ,GAAG,GAAG,SAAS,QAAQ,QAAQ,UAAS,KAAK;AAE/D,iBAAO,QAAQ,QAAQ;AACrB,gBAAI,KAAK,QAAQ;AACf,mBAAK,SAAS;AACd,sBAAO,KAAK,KAAK;AACjB,sBAAO,MAAM,QAAO,KAAK,QAAO,KAAK,QAAO,KAC1C,QAAO,KAAK,QAAO,KAAK,QAAO,KAAK,QAAO,KAC3C,QAAO,KAAK,QAAO,KAAK,QAAO,MAAM,QAAO,MAC5C,QAAO,MAAM,QAAO,MAAM,QAAO,MAAM,QAAO,MAAM;AAAA;AAGxD,gBAAI,WAAW;AACb,mBAAK,IAAI,KAAK,OAAO,QAAQ,UAAU,IAAI,IAAI,EAAE,OAAO;AACtD,wBAAO,KAAK,MAAM,QAAQ,UAAU,MAAM,MAAM;AAAA;AAAA,mBAE7C;AACL,mBAAK,IAAI,KAAK,OAAO,QAAQ,UAAU,IAAI,IAAI,EAAE,OAAO;AACtD,uBAAO,QAAQ,WAAW;AAC1B,oBAAI,OAAO,KAAM;AACf,0BAAO,KAAK,MAAM,QAAQ,MAAM,MAAM;AAAA,2BAC7B,OAAO,MAAO;AACvB,0BAAO,KAAK,MAAO,OAAQ,QAAQ,MAAO,MAAM,MAAM;AACtD,0BAAO,KAAK,MAAO,OAAQ,OAAO,OAAU,MAAM,MAAM;AAAA,2BAC/C,OAAO,SAAU,QAAQ,OAAQ;AAC1C,0BAAO,KAAK,MAAO,OAAQ,QAAQ,OAAQ,MAAM,MAAM;AACvD,0BAAO,KAAK,MAAO,OAAS,QAAQ,IAAK,OAAU,MAAM,MAAM;AAC/D,0BAAO,KAAK,MAAO,OAAQ,OAAO,OAAU,MAAM,MAAM;AAAA,uBACnD;AACL,yBAAO,QAAa,SAAO,SAAU,KAAO,QAAQ,WAAW,EAAE,SAAS;AAC1E,0BAAO,KAAK,MAAO,OAAQ,QAAQ,OAAQ,MAAM,MAAM;AACvD,0BAAO,KAAK,MAAO,OAAS,QAAQ,KAAM,OAAU,MAAM,MAAM;AAChE,0BAAO,KAAK,MAAO,OAAS,QAAQ,IAAK,OAAU,MAAM,MAAM;AAC/D,0BAAO,KAAK,MAAO,OAAQ,OAAO,OAAU,MAAM,MAAM;AAAA;AAAA;AAAA;AAK9D,iBAAK,gBAAgB;AACrB,iBAAK,SAAS,IAAI,KAAK;AACvB,gBAAI,KAAK,IAAI;AACX,mBAAK,QAAQ,QAAO;AACpB,mBAAK,QAAQ,IAAI;AACjB,mBAAK;AACL,mBAAK,SAAS;AAAA,mBACT;AACL,mBAAK,QAAQ;AAAA;AAAA;AAGjB,cAAI,KAAK,QAAQ,YAAY;AAC3B,iBAAK,UAAU,KAAK,QAAQ,cAAc;AAC1C,iBAAK,QAAQ,KAAK,QAAQ;AAAA;AAE5B,iBAAO;AAAA;AAGT,eAAO,UAAU,WAAW,WAAY;AACtC,cAAI,KAAK,WAAW;AAClB;AAAA;AAEF,eAAK,YAAY;AACjB,cAAI,UAAS,KAAK,QAAQ,IAAI,KAAK;AACnC,kBAAO,MAAM,KAAK;AAClB,kBAAO,KAAK,MAAM,MAAM,IAAI;AAC5B,eAAK,QAAQ,QAAO;AACpB,cAAI,KAAK,IAAI;AACX,gBAAI,CAAC,KAAK,QAAQ;AAChB,mBAAK;AAAA;AAEP,oBAAO,KAAK,KAAK;AACjB,oBAAO,MAAM,QAAO,KAAK,QAAO,KAAK,QAAO,KAC1C,QAAO,KAAK,QAAO,KAAK,QAAO,KAAK,QAAO,KAC3C,QAAO,KAAK,QAAO,KAAK,QAAO,MAAM,QAAO,MAC5C,QAAO,MAAM,QAAO,MAAM,QAAO,MAAM,QAAO,MAAM;AAAA;AAExD,kBAAO,MAAM,KAAK,UAAU,IAAI,KAAK,UAAU;AAC/C,kBAAO,MAAM,KAAK,SAAS;AAC3B,eAAK;AAAA;AAGP,eAAO,UAAU,OAAO,WAAY;AAClC,cAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IACzF,IAAI,KAAK,IAAI,UAAS,KAAK,QAAQ,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAE7E,eAAK,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG;AAExB,iBAAK,QAAO,IAAI;AAChB,iBAAO,QAAO,IAAM,MAAM,MAAS,QAAO,KAAO,MAAM,MAAQ,OAAO;AACtE,iBAAK,QAAO,IAAI;AAChB,iBAAO,QAAO,KAAO,MAAM,MAAS,QAAO,KAAO,MAAM,MAAQ,OAAO;AACvE,oBAAO,KAAK,QAAO,IAAI,MAAM,KAAK,QAAO,IAAI,KAAK,MAAM;AAAA;AAG1D,eAAK,IAAI;AACT,eAAK,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG;AAC1B,gBAAI,KAAK,OAAO;AACd,kBAAI,KAAK,OAAO;AACd,qBAAK;AACL,qBAAK,QAAO,KAAK;AACjB,oBAAI,KAAK,aAAa;AACtB,oBAAI,KAAK,YAAY;AAAA,qBAChB;AACL,qBAAK;AACL,qBAAK,QAAO,KAAK;AACjB,oBAAI,KAAK,cAAc;AACvB,oBAAI,KAAK,aAAa;AAAA;AAExB,mBAAK,QAAQ;AAAA,mBACR;AACL,mBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,mBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,mBAAK,IAAI;AACT,oBAAM,KAAM,IAAI,IAAK;AACrB,mBAAM,IAAI,IAAM,CAAC,IAAI;AACrB,mBAAK,IAAI,KAAK,KAAK,EAAE,KAAK,QAAO;AACjC,mBAAK,KAAK;AACV,kBAAI,IAAI,MAAM;AACd,kBAAI,KAAK,MAAM;AAAA;AAEjB,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAK,IAAI;AACT,kBAAM,KAAM,IAAI,IAAK;AACrB,iBAAM,IAAI,IAAM,CAAC,IAAI;AACrB,iBAAK,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,QAAO,IAAI;AACzC,iBAAK,KAAK;AACV,gBAAI,IAAI,MAAM;AACd,gBAAI,KAAK,MAAM;AACf,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAK,IAAI;AACT,kBAAM,KAAM,IAAI,IAAK;AACrB,iBAAM,IAAI,IAAM,CAAC,IAAI;AACrB,iBAAK,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,QAAO,IAAI;AACzC,iBAAK,KAAK;AACV,gBAAI,IAAI,MAAM;AACd,gBAAI,KAAK,MAAM;AACf,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAO,OAAM,IAAM,KAAK,MAAS,OAAM,KAAO,KAAK,MAAS,OAAM,KAAO,KAAK;AAC9E,iBAAK,IAAI;AACT,kBAAM,KAAM,IAAI,IAAK;AACrB,iBAAM,IAAI,IAAM,CAAC,IAAI;AACrB,iBAAK,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,QAAO,IAAI;AACzC,iBAAK,KAAK;AACV,gBAAI,IAAI,MAAM;AACd,gBAAI,KAAK,MAAM;AAAA;AAGjB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AACzB,eAAK,KAAK,KAAK,KAAK,KAAK;AAAA;AAG3B,eAAO,UAAU,MAAM,WAAY;AACjC,eAAK;AAEL,cAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAClF,KAAK,KAAK,IAAI,KAAK,KAAK;AAE1B,cAAI,MAAM,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MAC9D,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK,MAC7C,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK;AAC/C,cAAI,CAAC,KAAK,OAAO;AACf,mBAAO,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MAC3D,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,KAAM,MACtD,UAAW,MAAM,KAAM,MAAQ,UAAW,MAAM,IAAK,MACrD,UAAW,MAAM,IAAK,MAAQ,UAAU,KAAK;AAAA;AAEjD,iBAAO;AAAA;AAGT,eAAO,UAAU,WAAW,OAAO,UAAU;AAE7C,eAAO,UAAU,SAAS,WAAY;AACpC,eAAK;AAEL,cAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAClF,KAAK,KAAK,IAAI,KAAK,KAAK;AAE1B,cAAI,MAAM;AAAA,YACP,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA,YAC5D,MAAM,KAAM;AAAA,YAAO,MAAM,KAAM;AAAA,YAAO,MAAM,IAAK;AAAA,YAAM,KAAK;AAAA;AAE/D,cAAI,CAAC,KAAK,OAAO;AACf,gBAAI,KAAM,MAAM,KAAM,KAAO,MAAM,KAAM,KAAO,MAAM,IAAK,KAAM,KAAK;AAAA;AAExE,iBAAO;AAAA;AAGT,eAAO,UAAU,QAAQ,OAAO,UAAU;AAE1C,eAAO,UAAU,cAAc,WAAY;AACzC,eAAK;AAEL,cAAI,SAAS,IAAI,YAAY,KAAK,QAAQ,KAAK;AAC/C,cAAI,WAAW,IAAI,SAAS;AAC5B,mBAAS,UAAU,GAAG,KAAK;AAC3B,mBAAS,UAAU,GAAG,KAAK;AAC3B,mBAAS,UAAU,GAAG,KAAK;AAC3B,mBAAS,UAAU,IAAI,KAAK;AAC5B,mBAAS,UAAU,IAAI,KAAK;AAC5B,mBAAS,UAAU,IAAI,KAAK;AAC5B,mBAAS,UAAU,IAAI,KAAK;AAC5B,cAAI,CAAC,KAAK,OAAO;AACf,qBAAS,UAAU,IAAI,KAAK;AAAA;AAE9B,iBAAO;AAAA;AAGT,4BAAoB,KAAK,QAAO,cAAc;AAC5C,cAAI,GAAG,OAAO,OAAO;AACrB,cAAI,SAAS,UAAU;AACrB,gBAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,QAAQ,GAAG;AAChD,iBAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC3B,qBAAO,IAAI,WAAW;AACtB,kBAAI,OAAO,KAAM;AACf,sBAAM,WAAW;AAAA,yBACR,OAAO,MAAO;AACvB,sBAAM,WAAY,MAAQ,QAAQ;AAClC,sBAAM,WAAY,MAAQ,OAAO;AAAA,yBACxB,OAAO,SAAU,QAAQ,OAAQ;AAC1C,sBAAM,WAAY,MAAQ,QAAQ;AAClC,sBAAM,WAAY,MAAS,QAAQ,IAAK;AACxC,sBAAM,WAAY,MAAQ,OAAO;AAAA,qBAC5B;AACL,uBAAO,QAAa,SAAO,SAAU,KAAO,IAAI,WAAW,EAAE,KAAK;AAClE,sBAAM,WAAY,MAAQ,QAAQ;AAClC,sBAAM,WAAY,MAAS,QAAQ,KAAM;AACzC,sBAAM,WAAY,MAAS,QAAQ,IAAK;AACxC,sBAAM,WAAY,MAAQ,OAAO;AAAA;AAAA;AAGrC,kBAAM;AAAA,iBACD;AACL,gBAAI,SAAS,UAAU;AACrB,kBAAI,QAAQ,MAAM;AAChB,sBAAM,IAAI,MAAM;AAAA,yBACP,gBAAgB,IAAI,gBAAgB,aAAa;AAC1D,sBAAM,IAAI,WAAW;AAAA,yBACZ,CAAC,MAAM,QAAQ,MAAM;AAC9B,oBAAI,CAAC,gBAAgB,CAAC,YAAY,OAAO,MAAM;AAC7C,wBAAM,IAAI,MAAM;AAAA;AAAA;AAAA,mBAGf;AACL,oBAAM,IAAI,MAAM;AAAA;AAAA;AAIpB,cAAI,IAAI,SAAS,IAAI;AACnB,kBAAO,IAAI,OAAO,QAAO,MAAO,OAAO,KAAK;AAAA;AAG9C,cAAI,UAAU,IAAI,UAAU;AAC5B,eAAK,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;AACvB,gBAAI,IAAI,IAAI,MAAM;AAClB,oBAAQ,KAAK,KAAO;AACpB,oBAAQ,KAAK,KAAO;AAAA;AAGtB,iBAAO,KAAK,MAAM,QAAO;AAEzB,eAAK,OAAO;AACZ,eAAK,UAAU;AACf,eAAK,QAAQ;AACb,eAAK,eAAe;AAAA;AAEtB,mBAAW,YAAY,IAAI;AAE3B,mBAAW,UAAU,WAAW,WAAY;AAC1C,iBAAO,UAAU,SAAS,KAAK;AAC/B,cAAI,KAAK,OAAO;AACd,iBAAK,QAAQ;AACb,gBAAI,YAAY,KAAK;AACrB,mBAAO,KAAK,MAAM,KAAK,OAAO,KAAK;AACnC,iBAAK,OAAO,KAAK;AACjB,iBAAK,OAAO;AACZ,mBAAO,UAAU,SAAS,KAAK;AAAA;AAAA;AAInC,YAAI,UAAU;AACd,gBAAQ,SAAS;AACjB,gBAAQ,SAAS,aAAa;AAC9B,gBAAQ,OAAO,OAAO;AACtB,gBAAQ,OAAO,OAAO,iBAAiB;AAEvC,YAAI,WAAW;AACb,iBAAO,UAAU;AAAA,eACZ;AACL,eAAK,SAAS,QAAQ;AACtB,eAAK,SAAS,QAAQ;AACtB,cAAI,KAAK;AACP,mBAAO,WAAY;AACjB,qBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACjgBf;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAeA,cAAO,UAAU;AAAA;AAAA;;;ACEjB,wBAA2B;AAC3B,uBAAwB;AACxB,sBAAmF;AACnF,sBAAmF;AACnF,wBAA4B;AAC5B,wBAAwC;AACxC,uBAAkD;AAClD,uBAAkD;AAWlD,qBA6EO;AAtFP,0BAAe,cAAc;AAC7B,yBAAQ,gBAAgB;AACxB,kCAAkB,gBAAgB;AAClC,sCAAsB,gBAAgB;AACtC,wCAAwB,gBAAgB;AACxC,kCAAkB,gBAAgB;AAClC,sCAAsB,gBAAgB;AACtC,wCAAwB,gBAAgB;;;AC5BjC,+BAAuB;AAAA,IAO1B,YAAY,UAA0B,MAAc;AAChD,WAAK,YAAY;AACjB,WAAK,QAAQ;AAAA;AAAA,IAIV,QAAc;AACjB,WAAK,UAAU,WAAW,KAAK;AAAA;AAAA,IAI5B,UAAa,UAAyD;AACzE,aAAO,SAAS,KAAK,WAAW,KAAK;AAAA;AAAA,IAIlC,MAAyD,MAA8B;AAC1F,YAAM,SAAS,KAAK,UAAU,SAAS,KAAK,OAAO;AACnD,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO,AAAM,mBAAM,KAAK;AAAA;AAAA,IAIrB,KAAwD,MAAgD;AAC3G,YAAM,SAAS,KAAK,UAAU,UAAU,KAAK,OAAO;AACpD,YAAM,OAAO,IAAI,qBAAqB,KAAK,WAAW,KAAK,OAAO;AAClE,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO;AAAA;AAAA,IAIJ,cAAc,OAAyB;AAC1C,aAAO,KAAK,UAAU,cAAc,KAAK,OAAO;AAAA;AAAA,IAI7C,QAA2D,MAAiC;AAC/F,YAAM,OAAO,KAAK,UAAU,eAAe,KAAK,OAAO;AACvD,aAAO,IAAI,kBAAqB,KAAK,WAAW,KAAK,OAAO;AAAA;AAAA,IAIzD,qBAAqB,MAAc,SAAyB,MAAsC;AACrG,WAAK,UAAU,qBAAqB,KAAK,OAAO,MAAM,SAAS;AAAA;AAAA,IAI5D,iBAAiB,OAAoB,SAAmC;AAC3E,YAAM,SAAS,MAAM,UAAU,UAAU;AACzC,WAAK,yBAAyB,QAAQ;AAAA;AAAA,IAGnC,yBAAyB,QAAoB,SAAmC;AACnF,WAAK,UAAU,yBAAyB,KAAK,OAAO,QAAQ;AAAA;AAAA,IAIzD,kBAAkB,MAAc,SAAiC;AACpE,WAAK,UAAU,kBAAkB,KAAK,OAAO,MAAM;AAAA;AAAA,IAGhD,mBAAmB,MAAc,SAAkC;AACtE,WAAK,UAAU,mBAAmB,KAAK,OAAO,MAAM;AAAA;AAAA;AAKrD,mCAA2D;AAAA,IAM9D,YAAsB,UAAoC,MAAwB,QAAoB;AAAhF;AAAoC;AAAwB;AAC9E,WAAK,SAAS;AACd,WAAK,YAAY;AAAA;AAAA,IAGrB,OAAmC;AAC/B,UAAI,KAAK,QAAQ;AACb,aAAK,SAAS;AACd,eAAO,EAAE,MAAM,OAAO,OAAO,KAAK;AAAA;AAEtC,UAAI,KAAK,WAAW;AAChB,eAAO,EAAE,MAAM,MAAM,OAAO;AAAA;AAEhC,YAAM,WAAW,KAAK,SAAS,kBAAkB,KAAK;AACtD,WAAK,YAAY,SAAS,UAAU;AACpC,aAAO;AAAA,QACH,MAAM,KAAK;AAAA,QACX,OAAO;AAAA;AAAA;AAAA,KAId,OAAO,YAAY;AAChB,aAAO;AAAA;AAAA;AAKR,gCAA2E;AAAA,IAS9E,YAAY,UAA0B,cAAsB,aAAqB;AAC7E,WAAK,WAAW;AAChB,WAAK,eAAe;AACpB,WAAK,cAAc;AAAA;AAAA,IAIhB,QAAQ;AACX,WAAK,SAAS,cAAc,KAAK,cAAc,KAAK;AAAA;AAAA,IAIjD,SAAS,QAA+B;AAC3C,YAAM,SAAS,KAAK,SAAS,YAAY,KAAK,cAAc,KAAK,aAAa;AAC9E,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO,AAAM,mBAAM,KAAK;AAAA;AAAA,IAIrB,QAAQ,QAAiD;AAC5D,YAAM,SAAS,KAAK,SAAS,aAAa,KAAK,cAAc,KAAK,aAAa;AAC/E,YAAM,OAAO,IAAI,qBAAqB,KAAK,UAAU,KAAK,cAAc;AACxE,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO;AAAA;AAAA;;;ACrJf,MAAM,eAAe,IAAI;AAEzB,sBAAoB,KAAmB,UAAkB,SAAiB;AACtE,UAAM,YAAY,aAAa,OAAO;AACtC,UAAM,WAAW,IAAI,QAAQ,UAAU;AACvC,UAAM,YAAY,IAAI,OAAO,SAAS,UAAU,WAAW,UAAU;AACrE,cAAU,IAAI;AAEd,QAAI,QAAS,aAAY,KAAK,KAAK;AACnC,QAAI,QAAS,aAAY,KAAK,KAAK;AACnC,QAAI,QAAS,aAAY,KAAK,KAAK,UAAU;AAAA;AAGjD,qBAAmB,OAAe;AAC9B,YAAO;AAAA,WACE;AAAA,WACA;AACD,eAAO;AAAA,WACN;AAAA,WACA;AACD,eAAO;AAAA,WACN;AAAA,WACA;AAAA,WACA;AAAA,WACA;AACD,eAAO;AAAA;AAEP,eAAO;AAAA;AAAA;AAInB,sBAAoB,KAAmB,KAAa,OAAe,GAAU;AACzE,UAAM,SAAS,IAAI,OAAO,SAAS,KAAK,MAAM,IAAI,UAAU;AAE5D,YAAO;AAAA,WACE,SAAS;AACV,eAAO,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA,WAEvD,QAAQ;AACT,eAAO,IAAI,UAAU,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA,WAEtD,SAAS;AACV,eAAO,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA,WAEvD,SAAS;AACV,eAAO,IAAI,aAAa,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA,WAEzD,UAAU;AACX,eAAO,IAAI,aAAa,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA,WAEzD,WAAW;AACZ,eAAO,IAAI,aAAa,OAAO,QAAQ,OAAO,YAAY;AAAA;AAAA;AAG1D,eAAO,IAAI,MAAc;AAAA;AAAA;AAK9B,yBACH,SACA,KACA,UACA,QACA,SACA,UACA,SACA,UACF;AACE,QAAI;AACA,YAAM,MAAM,QAAQ,cAAc,IAAI;AACtC,UAAI,CAAC,KAAK;AACN,mBAAW,KAAK,UAAU,0BAA0B;AACpD;AAAA;AAIJ,YAAM,WAAW,IAAI,cAAc,OAAO,IAAI,OAAO,SAAS,SAAS,UAAU;AACjF,YAAM,OAAO,KAAK,MAAM;AAIxB,YAAM,OAAO,WAAW,KAAK,SAAS,UAAU,WAAS;AAEzD,YAAM,eAAe;AACrB,YAAM,WAAW;AAGjB,iBAAW,OAAO,KAAK,MAAM;AACzB,cAAM,MAAM,KAAK,KAAK;AACtB,cAAM,UAAU,WAAW,KAAK,KAAK,IAAI,cAAwB,IAAI,eAAe,KAAK;AACzF,cAAM,WAAW,WAAW,KAAK,KAAK,IAAI,kBAA4B,SAAS,KAAK;AAEpF,YAAI,QAAQ,UAAU,KAAK,SAAS,UAAU,GAAG;AAC7C,qBAAW,KAAK,UAAU,+CAA+C,IAAI;AAC7E;AAAA;AAEJ,qBAAa,KAAK;AAGlB,YAAI,IAAI,iBAAiB,WAAW;AAChC,gBAAM,aAAa,WAAW,KAAK,KAAK,IAAI,gBAA0B,UAAU,KAAK;AAErF,gBAAM,kBAAkB;AACxB,gBAAM,WAAU,IAAI;AACpB,mBAAS,IAAI,GAAG,IAAI,KAAK,MAAM,EAAE,GAAG;AAChC,gBAAI,CAAC,SAAS,IAAI;AACd,8BAAgB,KAAK;AACrB;AAAA;AAEJ,kBAAM,WAAW,IAAI,OAAO,SAAS,QAAQ,IAAe,QAAQ,KAAiB,WAAW;AAChG,kBAAM,MAAM,SAAQ,OAAO;AAC3B,4BAAgB,KAAK;AAAA;AAEzB,mBAAS,KAAK;AAAA,eAEX;AACH,mBAAS,KAAK;AAAA;AAAA;AAMrB,YAAM,eAAe,KAAK,OAAO,UAAU,KAAK,IAAI;AACrD,YAAM,eAAe,IAAI,QAAQ;AACjC,UAAI,WAAW,WAAW,KAAK,cAAc,KAAK,IAAI,eAAe,KAAK;AAE1E,YAAM,mBAAmB,IAAI,QAAQ,KAAK;AAC1C,YAAM,eAAe,WAAW,KAAK,kBAAkB,SAAS,KAAK;AAGrE,UAAI,SAAS,UAAU,KAAK,aAAa,UAAU,GAAG;AAClD,mBAAW,KAAK,UAAU;AAC1B;AAAA;AAGJ,YAAM,eAAe;AACrB,UAAI,KAAK,IAAI,iBAAiB,WAAW;AACrC,mBAAW,IAAI,MAAc,KAAK;AAAA;AAGtC,cAAQ,KAAK,KAAK;AAAA,aACT;AACD,mBAAS,IAAI,GAAG,IAAI,KAAK,MAAM,EAAE,GAAG;AAChC,kBAAM,MAAM,IAAI;AAChB,qBAAS,KAAK;AACd,yBAAa,KAAK,OAAO,SAAY,IAAI;AAAA;AAE7C;AAAA,aACC;AACD,mBAAS,IAAI,GAAG,IAAI,KAAK,MAAM,EAAE,GAAG;AAChC,kBAAM,MAAM,IAAI,KAAK,aAAa,GAAG,KAAK,SAAS,GAAG,KAAK;AAC3D,qBAAS,KAAK;AACd,yBAAa,KAAK,OAAO,SAAY,IAAI;AAAA;AAE7C;AAAA,aACC;AACD,mBAAS,IAAI,GAAG,IAAI,KAAK,MAAM,EAAE,GAAG;AAChC,kBAAM,MAAM,IAAI,KAAK,aAAa,GAAG,KAAK,SAAS,GAAG,KAAK,QAAW,aAAa,GAAG,KAAK,SAAS,GAAG,KAAK;AAC5G,qBAAS,KAAK;AACd,yBAAa,KAAK,OAAO,SAAY,IAAI;AAAA;AAE7C;AAAA;AAEA,qBAAW,KAAK,UAAU,qCAAqC,KAAK,KAAK;AACzE;AAAA;AAIR,UAAI,cAAc;AAClB,UAAI,KAAK,IAAI,iBAAiB,WAAW;AACrC,cAAM,MAAM,IAAI;AAChB,cAAM,WAAW,IAAI,MAAkB;AACvC,YAAI,YAAY;AAChB,sBAAc,IAAI,QAAQ,KAAK,OAAO,UAAU;AAChD,cAAM,WAAU,WAAW,KAAK,aAAa,UAAU,KAAK;AAG5D,iBAAS,UAAU,GAAG,UAAU,KAAK,MAAM,EAAE,SAAS;AAClD,mBAAS,WAAW,IAAI,OAAO,SAAS;AACxC,uBAAa,SAAS,SAAS;AAC/B,mBAAQ,WAAW,SAAS,SAAS;AAAA;AAIzC,cAAM,iBAAiB,IAAI,QAAQ;AACnC,cAAM,iBAAiB,IAAI,OAAO,SAAS,gBAAgB,iBAAiB;AAE5E,YAAI,aAAa;AACjB,mBAAW;AAEX,iBAAS,UAAU,GAAG,UAAU,KAAK,MAAM,EAAE,SAAS;AAClD,mBAAS,WAAW,iBAAiB;AACrC,mBAAS,WAAW,GAAG,WAAW,SAAS,SAAS,QAAQ,YAAY;AACpE,2BAAe,aAAa,YAAY,SAAS,SAAS;AAAA;AAE9D,wBAAc,SAAS,SAAS;AAAA;AAAA;AAIxC,YAAM,UAAU,IAAE;AAElB,YAAM,UAAU,IAAI,QAAQ;AAC5B,YAAM,UAAU,WAAW,KAAK,SAAS,UAAU;AAEnD,cAAQ,KAAK;AACb,cAAQ,KAAK;AACb,cAAQ,KAAK;AAEb,UAAI,QAAS,aAAY,KAAK,KAAK;AACnC,UAAI,QAAS,aAAY,KAAK,KAAK;AACnC,UAAI,QAAS,aAAY,KAAK,KAAK;AAAA,aAC9B,GAAP;AACE,iBAAW,KAAK,UAAU,EAAE;AAAA;AAAA;;;ACnNpC,gCAAgE;AAC5D,UAAM,WAAU,IAAI;AACpB,WAAO,CAAC,SAAc;AAClB,UAAI,OAAO,sBAAsB,eAAe,KAAK,kBAAkB,mBAAmB;AACtF,eAAO,IAAI,WAAW;AAAA;AAE1B,aAAO,SAAQ,OAAO;AAAA;AAAA;AAIvB,MAAM,aAAa;AAGnB,oBAAkB,KAAmB,KAAmB;AAC3D,QAAI,MAAM,wBAAwB,MAAM,CAAC,WAAW,CAAC;AAAA;AAIlD,sBAAoB,KAAmB,OAAe,QAA4B;AACrF,UAAM,SAAS,IAAI,OAAO,SAAS,OAAO,QAAQ;AAClD,UAAM,OAAO,IAAI,WAAW,IAAI,YAAY,OAAO;AACnD,SAAK,IAAI;AACT,WAAO;AAAA;AAIJ,sBAAoB,KAAmB,OAAe,QAAwB;AACjF,WAAO,WAAW,IAAI,OAAO,SAAS,OAAO,QAAQ;AAAA;AAwDlD,oBACH,KACA,UACA,UACA,MACwB;AACxB,UAAM,eAAe,IAAI;AAGzB,UAAM,WAAW,IAAI,WAAW,IAAI;AACpC,aAAS,QAAQ;AACjB,SAAK,QAAQ;AAGb,QAAI,MAAM,UAAU,MAAM,UAAU;AAGpC,UAAM,SAAS,IAAI,QAAS,aAAY,KAAK;AAC7C,UAAM,OAAO,IAAI,QAAS,aAAY,KAAK;AAC3C,UAAM,WAAW,IAAI,QAAS,aAAY,KAAK;AAG/C,QAAI,aAAa;AACjB,WAAO,CAAC,QAAQ,MAAM;AAAA;AAInB,+BAA6B,KAAyB;AACzD,QAAI,MAAM,6BAA6B,MAAM,IAAI;AAAA;;;ACpG9C,6BAAqB;AAAA,IAkBxB,YAAY,SAAqB;AAC7B,YAAM,MAAM,IAAI,aAAa,QAAQ,QAAQ,QAAQ,YAAY,QAAQ,aAAa;AACtF,YAAM,UAAS,IAAI,WAAW,IAAI,YAAY,QAAQ;AACtD,cAAO,IAAI,QAAQ,SAAS,IAAI;AAChC,WAAK,qBAAqB,IAAI;AAC9B,WAAK,sBAAsB,IAAI;AAC/B,WAAK,uBAAuB,IAAI;AAChC,WAAK,kBAAkB,IAAI;AAC3B,WAAK,oBAAoB,IAAI;AAC7B,WAAK,iBAAiB,IAAI;AAC1B,WAAK,YAAY,IAAI;AACrB,WAAK,aAAa;AAAA;AAAA,IAIf,cAAc,OAAe,KAAgD;AAChF,YAAM,OAAO;AAAA,QACT,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,mBAAmB;AAAA,QACnB,aAAa;AAAA,QACb,eAAe;AAAA,QACf,YAAY;AAAA;AAEhB,UAAI,cAAc,KAAK,WAAW,QAAQ,IAAI,KAAK;AACnD,UAAI,kBAAkB,KAAK,WAAW,QAAQ,IAAI,MAAM;AACxD,UAAI,mBAAmB,KAAK,WAAW,QAAQ,IAAI,KAAK;AACxD,UAAI,oBAAoB,KAAK,WAAW,QAAQ,IAAI,MAAM;AAC1D,UAAI,gBAAgB,KAAK,WAAW,QAAQ,IAAI,KAAK;AACrD,UAAI,aAAa,KAAK,WAAW,QAAQ,IAAI,MAAM;AACnD,aAAO;AAAA;AAAA;;;AC7CR,4BAA0B,MAAqC;AAClE,YAAQ,KAAK;AAAA,WACJ,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK,SAAS;AACrB,cAAM,MAAM;AACZ,eAAO,EAAE,MAAM,WAAW,WAAW,IAAI,WAAW,OAAO,IAAI;AAAA;AAAA,WAE9D,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK,MAAM;AAClB,cAAM,OAAO;AACb,eAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,CAAC,kBAAkB,KAAK,WAAW,MAAM,KAAK,WAAW;AAAA;AAAA;AAAA,WAGtE,AAAM,kBAAK,iBAAiB;AAC7B,cAAM,MAAM;AACZ,eAAO,EAAE,MAAM,mBAAmB,WAAW,IAAI;AAAA;AAAA,WAEhD,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK,QAAQ;AACpB,cAAM,UAAU;AAChB,eAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,QAAQ,SAAS,IAAI,OAAK,kBAAkB,EAAE,MAAM,EAAE;AAAA;AAAA;AAAA,WAGnE,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK;AACZ,eAAO,EAAE,MAAM;AAAA,WACd,AAAM,kBAAK,WAAW;AACvB,cAAM,KAAK;AACX,eAAO,EAAE,MAAM,aAAa,UAAU,GAAG,YAAY;AAAA;AAAA,WAEpD,AAAM,kBAAK,iBAAiB;AAC7B,cAAM,KAAK;AACX,eAAO,EAAE,MAAM,gBAAgB,UAAU,GAAG,YAAY;AAAA;AAAA,WAEvD,AAAM,kBAAK,sBAAsB;AAClC,cAAM,KAAK;AACX,eAAO,EAAE,MAAM,iBAAiB,UAAU,GAAG,YAAY;AAAA;AAAA,WAExD,AAAM,kBAAK,qBAAqB;AACjC,cAAM,KAAK;AACX,eAAO,EAAE,MAAM,iBAAiB,UAAU,GAAG,YAAY;AAAA;AAAA,WAExD,AAAM,kBAAK,sBAAsB;AAClC,cAAM,KAAK;AACX,eAAO,EAAE,MAAM,iBAAiB,UAAU,GAAG,YAAY;AAAA;AAAA;AAGjE,UAAM,IAAI,MAAM,2BAA2B,KAAK;AAAA;AAK7C,6BAA2B,MAAc,MAAsC;AAClF,UAAM,IAAI,iBAAiB;AAC3B,MAAE,OAAO;AACT,WAAO;AAAA;;;AC5GX,MAAM,gBAAe,IAAI;AAiBlB,iCAA4D;AAAA,IAc/D,YAAY,QAAgB,SAAwB;AAR1C,uBAAiC;AAEjC,0BAAqC;AAErC,kCAAmC,MAAM;AAAA;AA0BzC,qCAAkE;AArBxE,WAAK,UAAU;AACf,WAAK,WAAW;AAChB,WAAK,aAAa;AAAA;AAAA,QAIX,SAAiB;AACxB,aAAO,KAAK;AAAA;AAAA,QAGL,MAAoB;AAC3B,aAAO,KAAK;AAAA;AAAA,QAGL,UAA0B;AACjC,aAAO,KAAK,IAAI,WAAW;AAAA;AAAA,UAQlB,YAAY,aAAwD,OAAK;AAAA,OAAmB;AAErG,UAAI,KAAK,aAAa,MAAM;AACxB,eAAO;AAAA;AAGX,UAAI,KAAK,gBAAgB,MAAM;AAC3B,aAAK,wBAAwB,KAAK;AAClC,cAAM,KAAK;AAAA;AAGf,WAAK,eAAe,IAAI,QAAQ,aAAW;AACvC,aAAK,uBAAuB;AAAA;AAGhC,WAAK,0BAA0B,CAAC;AAEhC,WAAK,YAAY,MAAM,KAAK,gBAAgB;AAAA,QACxC,OAAO,QAAQ,IAAI,KAAK;AAAA,QACxB,UAAU,QAAQ,IAAI,KAAK;AAAA,QAC3B,sBAAsB,KAAK;AAAA;AAG/B,YAAM,KAAK;AACX,WAAK,eAAe;AAEpB,WAAK,0BAA0B,KAAK,wBAAwB,OAAO,OAAK,KAAK;AAC7E,aAAO;AAAA;AAAA,IAGJ,KAAK,QAA4B;AACpC,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,mBAAmB,CAAC,WAAW,CAAC,KAAK,UAAU;AACpF,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAItB,QAAc;AACjB,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,oBAAoB,IAAI;AAC7D,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAItB,aAAqB;AACxB,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,0BAA0B,IAAI;AACnE,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,UAAU,WAAW,KAAK,KAAK,GAAG;AACxC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAGJ,kBAA0B;AAC7B,aAAO,KAAK,IAAI,MAAM,gCAAgC,UAAU,IAAI;AAAA;AAAA,IAIjE,SAAS,MAA4B;AACxC,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,uBAAuB,CAAC,WAAW,CAAC;AACzE,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO,KAAK,MAAM;AAAA;AAAA,IAIf,UAA4B;AAC/B,YAAM,OAAO,KAAK,IAAI,MAAM,sBAAsB,UAAU,IAAI;AAChE,aAAO,IAAI,iBAAiB,MAAM;AAAA;AAAA,IAG/B,WAAW,MAAoB;AAClC,WAAK,IAAI,MAAM,yBAAyB,MAAM,CAAC,WAAW,CAAC;AAC3D,UAAI,KAAK,SAAS;AACd,mBAAW,WAAU,CAAC,GAAG,KAAK,QAAQ,gBAAgB,GAAG,KAAK,QAAQ,gBAAgB;AAClF,kBAAO,YAAY;AAAA,YACf,KAAK;AAAA,YACL,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,IAOvB,SAAS,MAAc,MAA0B;AACpD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,wBAAwB,CAAC,UAAU,WAAW,CAAC,MAAM;AAC1F,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAGJ,UAAU,MAAc,MAA0B;AACrD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,yBAAyB,CAAC,UAAU,WAAW,CAAC,MAAM;AAC3F,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAGJ,kBAAkB,MAA0B;AAC/C,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,kCAAkC,CAAC,WAAW,CAAC;AACpF,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAGJ,cAAc,MAAc,MAAwB;AACvD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,6BAA6B,CAAC,UAAU,WAAW,CAAC,MAAM;AAC/F,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO,KAAK,MAAM;AAAA;AAAA,IAIf,qBACH,MACA,MACA,SACA,MACI;AACJ,YAAM,OAA+B;AAAA,QACjC,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,YAAY,iBAAiB;AAAA;AAEjC,YAAM,MAAmB;AAAA,QACrB,YAAY,KAAK;AAAA,QACjB,cAAc;AAAA,QACd;AAAA,QACA,YAAY;AAAA,QACZ;AAAA;AAEJ,WAAK,cAAc;AACnB,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,gCACA,CAAC,UAAU,WACX,CAAC,MAAM,KAAK,UAAU;AAE1B,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AACzB,iBAAW,eAAe,gBAAiB,YAAW,eAAe,iBAAiB,oBAAI,OAAO,IAC7F,IAAI,YACJ;AAEJ,UAAI,KAAK,SAAS;AACd,mBAAW,WAAU,CAAC,GAAG,KAAK,QAAQ,gBAAgB,GAAG,KAAK,QAAQ,gBAAgB;AAClF,kBAAO,YAAY;AAAA,YACf,KAAK;AAAA,YACL,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,IAOd,eAAe,MAAc,MAAsB;AACtD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,8BAA8B,CAAC,UAAU,WAAW,CAAC,MAAM;AAChG,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAIJ,cAAc,MAAc,WAAyB;AACxD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,6BAA6B,CAAC,UAAU,WAAW,CAAC,MAAM;AAC/F,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAItB,YAAY,MAAc,WAAmB,QAA2B;AAC3E,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,2BACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,WAAW,KAAK,UAAU;AAErC,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAIJ,aAAa,MAAc,WAAmB,QAA2B;AAC5E,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,4BACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,WAAW,KAAK,UAAU;AAErC,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,MAAM,WAAW,KAAK,KAAK,GAAG;AACpC,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAIJ,yBAAyB,MAAc,QAAoB,SAAoC;AAClG,UAAI,OAAO,UAAU;AAAG;AAExB,YAAM,YAAY,KAAK,IAAI,QAAQ,OAAO;AAC1C,YAAM,YAAY,KAAK,IAAI,OAAO,SAAS,WAAW,YAAY,OAAO;AACzE,gBAAU,IAAI;AACd,YAAM,UAAU,UAAU,KAAK,UAAU,WAAW;AAGpD,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,2CACA,CAAC,UAAU,UAAU,UAAU,WAC/B,CAAC,MAAM,WAAW,OAAO,QAAQ;AAErC,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAAA;AAAA,IAKzC,kBAAkB,MAAc,MAAc,SAAiC;AAElF,UAAI,QAAQ,YAAY,QAAW;AAC/B,gBAAQ,cAAc;AACtB,mBAAW,KAAK,QAAQ,SAAS;AAC7B,kBAAQ,YAAY,KAAK,kBAAkB,GAAG,QAAQ,QAAQ;AAAA;AAAA;AAGtE,YAAM,MAAM,KAAK;AACjB,UAAI,UAAU,IAAI;AAClB,aAAO,IAAI;AACX,YAAM,UAAU,KAAK,UAAU;AAG/B,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,mCACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,MAAM;AAEjB,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAAA;AAAA,IAIzC,mBAAmB,MAAc,MAAc,SAAkC;AAEpF,UAAI,QAAQ,YAAY,QAAW;AAC/B,gBAAQ,cAAc;AACtB,mBAAW,KAAK,QAAQ,SAAS;AAC7B,kBAAQ,YAAY,KAAK,kBAAkB,GAAG,QAAQ,QAAQ;AAAA;AAAA;AAGtE,YAAM,MAAM,KAAK;AACjB,UAAI,UAAU,IAAI;AAClB,aAAO,IAAI;AACX,YAAM,UAAU,KAAK,UAAU;AAG/B,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,oCACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,MAAM;AAEjB,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAAA;AAAA,IAIzC,UAAU,MAAyB;AACtC,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,iCAAiC,CAAC,WAAW,CAAC;AACnF,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,UAAU,WAAW,KAAK,KAAK,GAAG;AACxC,0BAAoB,KAAK;AACzB,YAAM,OAAO,KAAK,MAAM;AACxB,UAAI,QAAQ,MAAM;AACd,eAAO;AAAA;AAEX,aAAO;AAAA;AAAA,IAGJ,gBAAgB,MAAc,KAAoB;AACrD,UAAI,QAAQ,QAAW;AACnB,cAAM;AAAA;AAEV,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,mCACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,KAAK;AAEhB,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAGtB,iBAAiB,MAAc,MAAoB;AACtD,YAAM,SAAS,cAAa,OAAO;AACnC,WAAK,mBAAmB,MAAM;AAAA;AAAA,IAG3B,mBAAmB,MAAc,QAA0B;AAC9D,YAAM,MAAM,KAAK,IAAI,QAAQ,OAAO;AACpC,YAAM,MAAM,KAAK,IAAI,OAAO,SAAS,KAAK,MAAM,OAAO;AACvD,UAAI,IAAI;AACR,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,sCACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,KAAK,OAAO;AAEvB,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAGtB,mBAA+B,MAAc,QAA0B;AAC1E,YAAM,CAAC,GAAG,GAAG,KAAK,SACd,KAAK,KACL,mCACA,CAAC,UAAU,UAAU,WACrB,CAAC,MAAM,MAAM;AAEjB,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AACzB,iBAAW,eAAe,SAAU,YAAW,eAAe,UAAU,oBAAI,OAAO,IAAI,MAAM;AAC7F,UAAI,KAAK,SAAS;AACd,mBAAW,WAAU,KAAK,QAAQ,gBAAgB;AAC9C,kBAAO,YAAY;AAAA,YACf,KAAK;AAAA,YACL,UAAU;AAAA,YACV,YAAY;AAAA;AAAA;AAGpB,mBAAW,WAAU,KAAK,QAAQ,eAAe;AAC7C,kBAAO,YAAY;AAAA,YACf,KAAK;AAAA,YACL,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnB,SAAS,MAAoB;AAChC,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,2BAA2B,CAAC,WAAW,CAAC;AAC7E,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAGtB,YAAkB;AACrB,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,4BAA4B,IAAI;AACrE,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAGtB,aAAmB;AACtB,WAAK,IAAI,MAAM,0BAA0B,MAAM,IAAI;AAAA;AAAA,IAGhD,eAAe,MAAc,MAAoB;AACpD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,gCAAgC,CAAC,UAAU,WAAW,CAAC,MAAM;AAClG,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,0BAAoB,KAAK;AAAA;AAAA,IAGtB,iBAAiB,MAA0B;AAC9C,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,kCAAkC,CAAC,WAAW,CAAC;AACpF,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,YAAM,SAAS,KAAK,IAAI,OAAO,SAAS,GAAG,IAAI;AAC/C,YAAM,OAAO,IAAI,WAAW,OAAO;AACnC,WAAK,IAAI;AACT,0BAAoB,KAAK;AACzB,aAAO;AAAA;AAAA,IAIJ,sBAAsB,MAAc,QAAuB;AAC9D,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,iCAAiC,CAAC,UAAU,YAAY,CAAC,MAAM;AACpG,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAAA;AAAA,IAIzC,qBAAqB,MAA8B;AACtD,YAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,KAAK,gCAAgC,CAAC,WAAW,CAAC;AAClF,UAAI,MAAM,iBAAoB;AAC1B,cAAM,IAAI,MAAM,WAAW,KAAK,KAAK,GAAG;AAAA;AAE5C,aAAO,IAAI,eAAe,KAAK,IAAI,OAAO,SAAS,GAAG,IAAI;AAAA;AAAA;;;AC1b3D,yBAAmC;AAAA,IAC/B,IAAI,QAA+B;AAAA;AAAA;;;AC9DvC,MAA+O,aAAW,YAAS,YAAY,SAAS,IAAI,WAAW,CAAC,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,GAAE,GAAE;AAAnY,MAAyY,aAAW,YAAS,YAAY,SAAS,IAAI,WAAW,CAAC,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG;AAAlgB,MAAwrC,OAAK,YAAS,YAAY,SAAS,IAAI,WAAW,CAAC,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,KAAI,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG;AAAxzC,MAAq7C,UAAQ,MAAK,QAAM,MAAG;AAAC,QAAG;AAAC,aAAM,AAAa,OAAO,kBAApB,eAAqC,IAAI,iBAAgB,MAAM,YAAY,IAAI,kBAAkB,KAAI,YAAY,SAAS;AAAA,aAAS,IAAN;AAAS,aAAM;AAAA;AAAA,KAAM,IAAI,WAAW,CAAC,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,KAAI,IAAG,GAAE,GAAE,IAAG;;;ACiDptD,MAAI,gBAAgC;AACpC,MAAI,iBAAiC;AACrC,MAAI,cAA8B;AAClC,MAAI,WAA2B;AAC/B,MAAI,iBAAiC;AAOrC,oBAA2B;AACvB,WAAO,OAAO,YAAY,eAAe,QAAQ,QAAQ,SAAS;AAAA;AAGtE,uCAAuE;AACnE,QAAI,iBAAiB,MAAM;AACvB,sBAAgB,OAAO,iBAAiB;AAAA;AAE5C,QAAI,kBAAkB,MAAM;AACxB,uBAAiB,MAAM,AAAM;AAAA;AAEjC,QAAI,eAAe,MAAM;AACrB,oBAAc,MAAM,AAAM;AAAA;AAE9B,QAAI,YAAY,MAAM;AAClB,iBAAW,MAAM,AAAM;AAAA;AAE3B,QAAI,kBAAkB,MAAM;AACxB,uBAAiB,MAAM,AAAM;AAAA;AAEjC,WAAO;AAAA,MACH;AAAA,MACA,qBAAqB,YAAY,WAAW,uBAAuB;AAAA,MACnE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAIR,8BAAmC,SAA+C;AAC9E,UAAM,WAAW,MAAM;AACvB,QAAI,SAAS,gBAAgB;AACzB,UAAI,SAAS,YAAY,SAAS,eAAe,SAAS,uBAAuB,QAAQ,KAAK;AAC1F,eAAO;AAAA,UACH,YAAY,QAAQ,IAAI;AAAA,UACxB,YAAY,QAAQ,IAAI;AAAA,UACxB,eAAe,QAAQ,IAAI;AAAA;AAAA;AAGnC,UAAI,QAAQ,IAAI;AACZ,eAAO;AAAA,UACH,YAAY,QAAQ,GAAG;AAAA,UACvB,YAAY,QAAQ,GAAG;AAAA,UACvB,eAAe;AAAA;AAAA;AAAA;AAI3B,WAAO;AAAA,MACH,YAAY,QAAQ,IAAI;AAAA,MACxB,YAAY,QAAQ,IAAI;AAAA,MACxB,eAAe;AAAA;AAAA;;;AC9GvB,yBAAqB;AAqBrB,MAAM,cAAc,SAAU,QAA+B,KAAc,QAA0B;AACjG,QAAI,QAAQ,UAAU,WAAW,SAAS;AAEtC,YAAM,WAAW,GAAG,QAAQ;AAC5B,YAAM,SAAS,SAAS,QAAQ,SAAO;AACvC,aAAO,SAAS,UAAU;AAAA,eACnB,QAAQ,UAAU;AAEzB,aAAO,GAAG,UAAU,QAAQ;AAAA,WACzB;AAEH,aAAO,GAAG;AAAA;AAAA;AAIX,uBAAsB,QAA+B,KAAa,SAA4B;AACjG,UAAM,cAAc,WAAW;AAC/B,WAAO;AAAA,MACH,KAAK,YAAY;AAAA,MACjB,OAAO;AAAA,MACP,MAAM,YAAY,QAAQ,KAAK,YAAY;AAAA,MAC3C,QAAS,QAAQ,UAAW;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAc,QAAQ,eAAgB;AAAA,MACtC,iBAAkB,QAAQ,mBAAoB;AAAA,MAC9C,cAAe,QAAQ,gBAAiB;AAAA,MACxC,SAAS,IAAI,OAAO,cAAc,QAAQ,MAAK,IAAI,MAAM,KAAK;AAAA,MAC9D,aAAa,IAAI,OAAO,cAAc,QAAQ,MAAK,IAAI,QAAQ,MAAK,IAAI,MAAM,KAAK,KAAI;AAAA;AAAA;AAIxF,qBAAmB,OAAgB,eAAe,OAAO;AAG5D,UAAM,WAAW;AACjB,QAAI,SAAS;AAEb,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,YAAM,KAAc,MAAM;AAE1B,UAAK,MAAM,OAAO,MAAM,OAAS,MAAM,OAAO,MAAM,OAAS,MAAM,OAAO,MAAM,OAAQ,MAAM,OAC1F,MAAM,OAAO,MAAM,OAAO,MAAM,KAAK;AACrC,kBAAU;AAAA,iBACH,MAAM,KAAK;AAClB,YAAI,cAAc;AACd,oBAAU;AAAA,eACP;AACH,oBAAU;AAAA;AAAA,aAEX;AACH,kBAAU;AACV,kBAAU,SAAS,GAAG,WAAW,MAAM;AACvC,kBAAU,SAAS,GAAG,WAAW,KAAK;AAAA;AAAA;AAG9C,WAAO;AAAA;AAGJ,2BAAyB,QAAkB,gBAAyC,MAA4B;AAEnH,UAAM,cAAe,eAAe,eAAgB;AAEpD,UAAM,MAAM,oBAAI;AAEhB,QAAI,IAAI,cAAc,OAAO;AAC7B,QAAI,IAAI,wBAAwB;AAEhC,QAAI,OAAO,cAAc;AACrB,UAAI,IAAI,wBAAwB,OAAO;AAAA;AAI3C,QAAI,gBAAgB;AACpB,QAAI,eAAe,aAAa;AAC5B,uBAAiB;AAAA;AAErB,qBAAiB;AACjB,QAAI,OAAO,cAAc;AACrB,uBAAiB;AAAA;AAGrB,QAAI,mBAAmB,OAAO,SAAS,OAAO,UAAU,OAAO,OAAO,OAAO,OAAO;AACpF,QAAI,eAAe,aAAa;AAC5B,0BAAoB,oBAAoB,eAAe;AAAA;AAE3D,wBAAoB,YAAY,OAAO,OACnC,4BAA4B,cAAc,kBAAkB,OAAO;AACvE,QAAI,OAAO,gBAAgB,OAAO,aAAa,SAAS,GAAG;AACvD,0BAAoB,4BAA4B,OAAO;AAAA;AAG3D,wBAAoB,SAAS,gBAAgB,OAAO;AACpD,UAAM,0BAA0B,6BAAO;AAEvC,UAAM,eAAe,uBAAuB,OAAO,cAAc,OAAO,OAAO,UAAU,MAAM,OAAO,SAAS,MAAM,OAAO,UACxH,oBAAoB;AAGxB,UAAM,UAAU,SAAS,OAAO;AAChC,UAAM,QAAQ,wBAAO,KAAK,YAAY,SAAS,OAAO;AAMtD,UAAM,UAAU,wBAAO,KAAK,YAAY,OAAO,OAAO;AAGtD,UAAM,WAAW,wBAAO,KAAK,YAAY,SAAS,OAAO;AAGzD,UAAM,aAAa,wBAAO,KAAK,YAAY,UAAU;AAGrD,UAAM,YAAY,wBAAO,KAAK,YAAY;AAE1C,QAAI,IAAI,iBAAiB,iCAAiC,OAAO,cAAc,MAAM,OAAO,UAAU,MAAM,OAAO,SAAS,MACxH,OAAO,UAAU,kCAAkC,gBACnD,iBAAiB;AAErB,WAAO;AAAA;AAGX,MAAM,8BAA8B,SAAU,QAA+B,KAAc,SAAiB,cAA6B,MAAM,UAA8B,MAA4B;AACrM,UAAM,SAAS,YAAY,QAAQ,KAAK;AACxC,UAAM,gBAAgB;AAAA,MAClB;AAAA,MACA,aAAa,UAAU,wBAAO,IAAI,WAAY;AAAA;AAElD,WAAO,gBAAgB,QAAQ;AAAA;AAG5B,wBAAsB,KAAqB,QAA+B,KAAc,SAAgB,cAA6B,MAAM,UAA8B,MAAM;AAClL,QAAI,QAAQ,eAAe,QAAQ,cAAc;AAC7C,YAAM,UAAU,4BAA4B,QAAQ,KAAK,SAAQ,aAAa;AAC9E,cAAQ,QAAQ,CAAC,OAAe,WAAmB;AAC/C,YAAI,iBAAiB,QAAQ;AAAA;AAGjC,UAAI,aAAa;AACb,YAAI,iBAAiB,gBAAgB;AAAA;AAAA;AAAA;AAK1C,sBAAqB,KAAgD;AACxE,QAAI,IAAI,QAAQ,YAAY,GAAG;AAC3B,YAAM,IAAI,MAAM;AAAA;AAEpB,UAAM,WAAW,IAAI,QAAQ,KAAK;AAElC,QAAI,YAAY,IAAI;AAChB,YAAM,IAAI,MAAM;AAAA;AAGpB,UAAM,SAAS,IAAI,UAAU,GAAG;AAChC,QAAI,CAAC,QAAQ;AACT,YAAM,IAAI,MAAM;AAAA;AAEpB,UAAM,OAAO,IAAI,UAAU;AAC3B,QAAI,CAAC,MAAM;AACP,YAAM,IAAI,MAAM;AAAA;AAGpB,WAAO,EAAC,QAAgB;AAAA;AAGrB,sBAAoB,QAA+B,KAAuB;AAC7E,UAAM,YAAY,WAAW;AAC7B,QAAI,QAAQ,UAAU,WAAW,SAAS;AAEtC,aAAO,GAAG,QAAQ,YAAY,UAAU,WAAW,UAAU;AAAA,WAC1D;AACH,aAAO,aAAa,YAAY,QAAQ,KAAK,UAAU,UAAU,UAAU;AAAA;AAAA;;;ACnL5E,MAAM,kBAMT;AAAA,IACA,QAAQ,oBAAI;AAAA,IACZ,gBAAgB,oBAAI;AAAA,IACpB,eAAe,oBAAI;AAAA,IACnB,iBAAiB;AAAA,IAEjB,YAAY,KAAmB,QAAuC;AAClE,UAAI;AACA,cAAM,SAAS,gBAAgB,eAAe,IAAI;AAClD,cAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,qCAAqC,CAAC,UAAU,WAAW,CAAC,QAAQ,QAAQ,cAAc;AAC1H,YAAI,MAAM,iBAAoB;AAC1B,iBAAO;AAAA,mBACA,MAAM,GAAG;AAEhB,iBAAO;AAAA;AAEX,cAAM,UAAU,WAAW,KAAK,GAAG;AACnC,4BAAoB;AACpB,cAAM,OAAO,KAAK,MAAM;AACxB,YAAI,QAAQ,MAAM;AACd,iBAAO;AAAA;AAEX,cAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,wBAAgB,eAAe,IAAI,QAAQ;AAC3C,eAAO;AAAA,eACF,GAAP;AACE,eAAO;AAAA;AAAA;AAAA,IAIf,kBAAkB,KAAgD;AAC9D,UAAI;AACA,cAAM,CAAC,GAAG,GAAG,KAAK,SAAS,KAAK,mCAAmC,CAAC,WAAW,CAAC,gBAAgB,iBAAiB,cAAc;AAC/H,YAAI,MAAM,iBAAoB;AAC1B,iBAAO;AAAA,mBACA,MAAM,GAAG;AAEhB,iBAAO,gBAAgB;AAAA;AAE3B,cAAM,UAAU,WAAW,KAAK,GAAG;AACnC,4BAAoB;AACpB,cAAM,OAAO,KAAK,MAAM;AACxB,YAAI,QAAQ,MAAM;AACd,iBAAO;AAAA;AAEX,wBAAgB,kBAAkB,KAAK,MAAM,MAAM;AAEnD,eAAO,gBAAgB;AAAA,eAClB,GAAP;AACE,eAAO;AAAA;AAAA;AAAA,IAIf,qBAAqB,CAAC,MAAoB,YAA6B;AACnE,cAAQ;AAAA,aACC;AACD,iBAAO,OAAO,kBAAkB;AAAA;AAEhC,kBAAQ,KAAK,6BAA6B;AAC1C,iBAAO;AAAA;AAAA;AAAA,IAInB,UAAU,CAAC,KAAmB,QAAgB,UAA6B;AACvE,UAAI;AACA,wBAAgB,eAAe,OAAO;AACtC,cAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,gBAAQ,MAAM;AAAA,eACL;AAAA,eACA,YAAuB;AACxB,gBAAI,QAAQ,2BAA6B,QAAQ,0BAA4B;AACzE,oBAAM,IAAI,MAAM,gBAAgB,KAAK;AAAA,uBAC9B,QAAQ,4BAA4B;AAC3C,oBAAM,IAAI,MAAM,gBAAgB,KAAK;AAAA,uBAC9B,QAAQ,0BAA4B;AAE3C,oBAAM,MAAM,IAAI;AAChB,kBAAI,KAAK,gBAAgB,YAAuB;AAC5C,oBAAI,KAAK,QAAQ,WAAW,KAAK,UAAU,KAAK,UAAW;AAC3D,6BAAa,KAAK,KAAK,UAAU,KAAK,SAAU;AAAA,qBAC7C;AACH,oBAAI,KAAK,QAAQ,KAAK,SAAU;AAAA;AAEpC,kBAAI,KAAK;AAGT,kBAAI,IAAI,UAAU,OAAO,IAAI,UAAU,KAAK;AACxC,sBAAM,IAAI,MAAM,gBAAgB,KAAK,0DAA0D,IAAI;AAAA,yBAC5F,IAAI,UAAU,OAAM,CAAE,SAAQ,kCAAoC,QAAQ,sCAAuC;AACxH,sBAAM,IAAI,MAAM,gBAAgB,KAAK;AAAA;AAGzC,oBAAM,OAAO,IAAI,QAAQ;AACzB,oBAAM,MAAM,IAAI;AAChB,kBAAI,OAAO,IAAI,KAAK;AACpB,oBAAM,SAAS,IAAI,QAAQ,IAAI;AAC/B,kBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,kBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,qBAAO;AAAA,uBACA,SAAS,yBAA2B;AAC3C,oBAAM,IAAI,MAAM,gBAAgB,KAAK,4CAA4C;AAAA;AAIrF,gBAAI,QAAoB;AACxB,gBAAI;AAEA,oBAAM,MAAM,IAAI;AAChB,kBAAI,KAAK,gBAAgB,YAAuB;AAC5C,oBAAI,KAAK,QAAQ,WAAW,KAAK,UAAU,KAAK,UAAW;AAC3D,6BAAa,KAAK,KAAK,UAAU,KAAK,SAAU;AAAA,qBAC7C;AACH,oBAAI,KAAK,QAAQ,KAAK,SAAU;AAAA;AAEpC,kBAAI,iBAAiB,SAAS;AAC9B,kBAAI,KAAK;AAGT,oBAAM,gBAAgB,IAAI,kBAAkB;AAC5C,kBAAI,IAAI,UAAU,OAAO,kBAAkB,MAAM;AAC7C,sBAAM,SAAS,IAAI,QAAQ,IAAI;AAC/B,oBAAI,QAAS,WAAU,KAAK,KAAK,CAAC;AAClC,oBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,uBAAO;AAAA;AAAA,qBAEN,GAAP;AACE,sBAAQ;AACR,sBAAQ,KAAK,0CAA0C;AAAA;AAI3D,gBAAI,KAAK,oBAAoB;AACzB,sBAAQ,KAAK,uCAAuC,KAAK;AAGzD,oBAAM,MAAM,IAAI;AAChB,kBAAI,KAAK,gBAAgB,YAAuB;AAC5C,oBAAI,KAAK,OAAO,WAAW,KAAK,UAAU,KAAK,UAAW;AAC1D,6BAAa,KAAK,KAAK,UAAU,KAAK,SAAU;AAAA,qBAC7C;AACH,oBAAI,KAAK,OAAO,KAAK,SAAU;AAAA;AAEnC,kBAAI,eAAe;AACnB,kBAAI,KAAK;AAGT,kBAAI,IAAI,UAAU,KAAK;AACnB,sBAAM,OAAO,IAAI,QAAQ,IAAI,SAAS;AACtC,sBAAM,MAAM,IAAI,WAAW,IAAI,UAAU,GAAG,IAAI,SAAS;AACzD,oBAAI,OAAO,IAAI,KAAK;AACpB,sBAAM,SAAS,IAAI,QAAQ,IAAI;AAC/B,oBAAI,QAAS,WAAU,KAAK,KAAK,IAAI,SAAS;AAC9C,oBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,uBAAO;AAAA;AAAA;AAKf,gBAAI,SAAS,MAAM;AACf,oBAAM,IAAI,MAAM,gBAAgB,KAAK,+BAA+B;AAAA;AAExE,mBAAO;AAAA;AAAA,eAGN,gBAA2B;AAC5B,kBAAM,SAAS,gBAAgB,QAAQ,IAAI,KAAK;AAChD,gBAAI,QAAQ;AACR,oBAAM,UAAS,IAAI,QAAQ,IAAI;AAC/B,kBAAI,QAAS,YAAU,KAAK,KAAK,OAAO;AACxC,kBAAI,QAAS,YAAU,KAAK,KAAK;AACjC,qBAAO;AAAA;AAIX,oBAAQ,KAAK,2BAA2B,KAAK;AAC7C,kBAAM,SAAS,IAAI,QAAQ,IAAI;AAC/B,kBAAM,SAAS,IAAI,QAAQ;AAC3B,gBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,gBAAI,QAAS,WAAU,KAAK,KAAK;AACjC,mBAAO;AAAA;AAAA;AAAA,eAGV,GAAP;AAEE,gBAAQ,MAAM,EAAE;AAChB,iBAAS,KAAK,EAAE;AAAA;AAEpB,aAAO;AAAA;AAAA,IAEX,MAAM,CAAC,KAAmB,SAAiB,YAAoB;AAC3D,UAAI;AACA,cAAM,OAAO,WAAW,KAAK,SAAS;AAGtC,YAAI,KAAK,WAAW,WAAW,KAAK,WAAW,UAAU;AAErD,gBAAM,MAAM,IAAI;AAChB,cAAI,KAAK,WAAW,UAAU;AAC1B,kBAAM,aAAa,gBAAgB,kBAAkB;AACrD,gBAAI,KAAK,QAAQ,WAAW,YAAY,UAAU,OAAO;AACzD,yBAAa,KAAK,YAAY,UAAU,MAAM;AAAA,iBAC3C;AACH,gBAAI,KAAK,QAAQ,MAAO;AAAA;AAE5B,cAAI,KAAK;AACT,cAAI,IAAI,UAAU,OAAO,IAAI,WAAW,KAAK;AACzC,qBAAS,KAAK,wBAAwB;AACtC;AAAA;AAEJ,cAAI,MAAM,+BAA+B,MAAM,CAAC,WAAW,CAAC;AAAA;AAAA,eAE3D,GAAP;AACE,iBAAS,KAAK,EAAE;AAChB,eAAO;AAAA;AAAA;AAAA,IAGf,WAAW,CAAC,KAAmB,SAAiB,YAA6B;AACzE,UAAI;AACA,cAAM,OAAO,WAAW,KAAK,SAAS;AAGtC,YAAI,KAAK,WAAW,WAAW,KAAK,WAAW,UAAU;AAErD,gBAAM,MAAM,IAAI;AAChB,cAAI,KAAK,WAAW,UAAU;AAC1B,kBAAM,aAAa,gBAAgB,kBAAkB;AACrD,gBAAI,KAAK,QAAQ,WAAW,YAAY,UAAU,OAAO;AACzD,yBAAa,KAAK,YAAY,UAAU,MAAM;AAAA,iBAC3C;AACH,gBAAI,KAAK,QAAQ,MAAO;AAAA;AAG5B,cAAI,iBAAiB,SAAS;AAC9B,cAAI,KAAK;AACT,cAAI,iBAAiB;AACrB,cAAI,IAAI,UAAU,KAAK;AACnB,6BAAiB;AAAA,qBACV,IAAI,UAAU,KAAK;AAC1B,kBAAM,SAAS,IAAI,kBAAkB;AACrC,6BAAiB,WAAW;AAAA,iBACzB;AACH,mBAAO;AAAA;AAEX,cAAI,CAAC,gBAAgB;AACjB,mBAAO;AAAA;AAIX,iBAAO;AAAA;AAAA,eAEN,GAAP;AACE,eAAO;AAAA;AAEX,aAAO;AAAA;AAAA,IAEX,UAAU,CAAC,MAAoB,YAAoB;AAAA;AAAA,IACnD,WAAW,CAAC,KAAmB,WAAmB;AAC9C,YAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,sBAAgB,eAAe,OAAO;AACtC,cAAQ,MAAM;AAAA,aACL;AAAA,aACA;AACD;AAAA,aACC;AAED;AAAA;AAAA;AAAA,IAGZ,cAAc,CAAC,KAAmB,QAAgB,YAAoB;AAClE,YAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,cAAQ,MAAM;AAAA,aACL;AACD,mBAAS,KAAK;AACd;AAAA,aACC;AACD,mBAAS,KAAK;AACd;AAAA,aACC;AACD,mBAAS,KAAK;AACd;AAAA;AAER,aAAO;AAAA;AAAA,IAEX,SAAS,KAAmB,QAAgB,KAAa,OAAe,UAAkB;AACtF,UAAI;AACA,cAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,gBAAQ,MAAM;AAAA,eAGL;AAAA,eACA,YAAuB;AACxB,gBAAI,CAAC,KAAK,SAAS;AACf,oBAAM,IAAI,MAAM,6BAA6B;AAAA;AAEjD,gBAAI;AACA,oBAAM,MAAM,IAAI;AAChB,kBAAI,KAAK,gBAAgB,YAAuB;AAC5C,oBAAI,KAAK,OAAO,WAAW,MAAM,UAAU,KAAK,UAAW;AAC3D,6BAAa,KAAK,MAAM,UAAU,KAAK,SAAU;AAAA,qBAC9C;AACH,oBAAI,KAAK,OAAO,KAAK,SAAU;AAAA;AAEnC,kBAAI,eAAe;AACnB,kBAAI,iBAAiB,SAAS,SAAS,YAAY,WAAW,QAAQ;AACtE,kBAAI,KAAK;AACT,kBACI,IAAI,UAAU,OACb,IAAI,UAAU,OAAO,SAAS,IAAI,SAAS,cAAc,YAAY,GACxE;AACE,sBAAM,MAAM,IAAI,WAAW,IAAI,UAAU,GAAG,KAAK,IAAI,IAAI,SAAS,YAAY;AAC9E,oBAAI,OAAO,IAAI,KAAK;AACpB,uBAAO,IAAI;AAAA,yBACJ,IAAI,UAAU,KAAK;AAC1B,sBAAM,IAAI,MACN,qBAAqB,KAAK,8CAA8C,IAAI,WAAW,IAAI;AAAA,qBAE5F;AACH,sBAAM,IAAI,MACN,qBAAqB,KAAK,4CAA4C,IAAI,WAAW,IAAI;AAAA;AAAA,qBAG5F,GAAP;AACE,oBAAM,IAAI,MAAM,qBAAqB,KAAK,8BAA8B;AAAA;AAAA;AAAA,eAG3E,gBAA2B;AAC5B,kBAAM,SAAS,gBAAgB,QAAQ,IAAI,KAAK;AAChD,gBAAI,CAAC,QAAQ;AACT,oBAAM,IAAI,MAAM,iCAAiC,KAAK;AAAA;AAE1D,kBAAM,SAAS,OAAQ,MAAM,UAAU,WAAW;AAClD,kBAAM,OAAO,IAAI,WAAW,IAAI,iBAAiB,kBAAkB;AACnE,gBAAI,OAAO,IAAI,MAAM;AACrB,mBAAO,KAAK;AAAA;AAAA;AAGpB,eAAO;AAAA,eACF,GAAP;AACE,iBAAS,KAAK,EAAE;AAChB,eAAO;AAAA;AAAA;AAAA,IAGf,WAAW,CAAC,KAAmB,QAAgB,KAAa,OAAe,aAAqB;AAC5F,YAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,cAAQ,MAAM;AAAA,aACL;AACD,mBAAS,KAAK;AACd,iBAAO;AAAA,aACN,YAAuB;AACxB,gBAAM,SAAS,IAAI,OAAO,SAAS,KAAK,MAAM;AAC9C,gBAAM,MAAM,IAAI;AAChB,cAAI,KAAK,OAAO,WAAW,MAAM,UAAU,KAAK,UAAW;AAC3D,uBAAa,KAAK,MAAM,UAAU,KAAK,SAAU,OAAO,IAAI;AAC5D,cAAI,KAAK;AACT,iBAAO;AAAA;AAAA,aAEN;AACD,mBAAS,KAAK;AACd,iBAAO;AAAA;AAEf,aAAO;AAAA;AAAA,IAEX,6BAA6B,CAAC,KAAmB,WAAmB;AAChE,YAAM,OAAO,gBAAgB,YAAY,KAAK;AAC9C,cAAQ,MAAM;AAAA,aACL,gBAA2B;AAC5B,gBAAM,SAAS,gBAAgB,QAAQ,IAAI,KAAK;AAChD,cAAI,CAAC,QAAQ;AACT,kBAAM,MAAM,iCAAiC,KAAK;AAAA;AAEtD,iBAAO;AAAA;AAAA,aAGN;AAAA,aACA;AACD,iBAAO,IAAI,OAAO;AAAA;AAE1B,aAAO;AAAA;AAAA,IAEX,gBAAgB,CAAC,KAAmB,SAAiB,YAAoB;AACrE,YAAM,OAAO,WAAW,KAAK,SAAS;AACtC,cAAQ,IAAI,mBAAmB;AAC/B,aAAO;AAAA;AAAA,IAEX,iBAAiB,CAAC,KAAmB,SAAiB,YAAoB;AACtE,YAAM,OAAO,WAAW,KAAK,SAAS;AACtC,cAAQ,IAAI,oBAAoB;AAAA;AAAA,IAEpC,iBAAiB,CAAC,KAAmB,SAAiB,YAAoB;AACtE,YAAM,OAAO,WAAW,KAAK,SAAS;AACtC,cAAQ,IAAI,oBAAoB;AAAA;AAAA,IAEpC,sBAAsB,CAAC,KAAmB,SAAiB,YAAoB;AAC3E,YAAM,OAAO,WAAW,KAAK,SAAS;AACtC,cAAQ,IAAI,yBAAyB;AACrC,aAAO;AAAA;AAAA,IAEX,UAAU,CAAC,MAAoB,UAAkB,UAAkB,QAAgB,WAAmB;AAAA;AAAA,IACtG,YAAY,CAAC,MAAoB,UAAkB,aAAqB;AAAA;AAAA,IACxE,eAAe,CACX,KACA,UACA,QACA,SACA,UACA,SACA,aACO;AACP,MAAI,cAAc,iBAAiB,KAAK,UAAU,QAAQ,SAAS,UAAU,SAAS;AAAA;AAAA;AAI9F,MAAO,0BAAQ;;;ACnbf;AACA,MAAI,SAAU,OAAM;AAClB,QAAI,aAAa,YAAY;AAE7B,WACF,SAAS,SAAQ;AACf,gBAAS,WAAU;AAErB,UAAI,SAAO,OAAO,YAAS,cAAY,UAAO;AAAG,UAAI,YAAU,OAAO;AAAO,UAAI,qBAAoB;AAAmB,aAAO,WAAS,IAAI,QAAQ,SAAS,SAAQ,QAAO;AAAC,8BAAoB;AAAQ,6BAAmB;AAAA;AAAS,UAAI,kBAAgB,UAAU,IAAG;AAAQ,UAAI,aAAW;AAAG,UAAI,cAAY;AAAiB,UAAI,QAAM,CAAC,QAAO,YAAU;AAAC,cAAM;AAAA;AAAS,UAAI,qBAAmB,OAAO,WAAS;AAAS,UAAI,wBAAsB,OAAO,kBAAgB;AAAW,UAAI,sBAAoB,OAAO,YAAU,YAAU,OAAO,QAAQ,aAAW,YAAU,OAAO,QAAQ,SAAS,SAAO;AAAS,UAAI,kBAAgB;AAAG,0BAAoB,MAAK;AAAC,YAAG,OAAO,eAAc;AAAC,iBAAO,OAAO,cAAc,MAAK;AAAA;AAAiB,eAAO,kBAAgB;AAAA;AAAK,UAAI,OAAM,WAAU,YAAW;AAAe,kCAA4B,GAAE;AAAC,YAAG,aAAa;AAAW;AAAO,YAAI,QAAM;AAAE,YAAI,+BAA6B;AAAA;AAAO,UAAI;AAAG,UAAI;AAAS,UAAI;AAAc,UAAG,qBAAoB;AAAC,YAAG,uBAAsB;AAAC,4BAAgB,eAAgB,QAAQ,mBAAiB;AAAA,eAAQ;AAAC,4BAAgB,YAAU;AAAA;AAAI,wBAAc,WAAU;AAAC,cAAG,CAAC,UAAS;AAAC,iBAAG;AAAc,uBAAS;AAAA;AAAA;AAAkB,gBAAM,oBAAoB,UAAS,QAAO;AAAC;AAAgB,qBAAS,SAAS,aAAa;AAAU,iBAAO,GAAG,aAAa,UAAS,SAAO,OAAK;AAAA;AAAS,qBAAW,qBAAoB,UAAS;AAAC,cAAI,MAAI,MAAM,UAAS;AAAM,cAAG,CAAC,IAAI,QAAO;AAAC,kBAAI,IAAI,WAAW;AAAA;AAAK,iBAAO;AAAA;AAAK,oBAAU,oBAAmB,UAAS,QAAO,SAAQ;AAAC;AAAgB,qBAAS,SAAS,aAAa;AAAU,aAAG,SAAS,UAAS,SAAS,MAAI,MAAK;AAAC,gBAAG;AAAI,sBAAQ;AAAA;AAAU,qBAAO,KAAK;AAAA;AAAA;AAAW,YAAG,QAAQ,QAAQ,SAAO,GAAE;AAAC,wBAAY,QAAQ,QAAQ,GAAG,QAAQ,OAAM;AAAA;AAAK,qBAAW,QAAQ,QAAQ,MAAM;AAAG,gBAAQ,MAAM,qBAAoB,SAAS,IAAG;AAAC,cAAG,CAAE,eAAc,aAAY;AAAC,kBAAM;AAAA;AAAA;AAAM,gBAAQ,MAAM,sBAAqB,SAAS,QAAO;AAAC,gBAAM;AAAA;AAAS,gBAAO,CAAC,QAAO,YAAU;AAAC,cAAG,oBAAmB;AAAC,oBAAQ,cAAY;AAAO,kBAAM;AAAA;AAAQ,6BAAmB;AAAS,kBAAQ,QAAQ;AAAA;AAAU,eAAO,aAAW,WAAU;AAAC,iBAAM;AAAA;AAAA,iBAAsC,sBAAoB,uBAAsB;AAAC,YAAG,uBAAsB;AAAC,4BAAgB,KAAK,SAAS;AAAA,mBAAa,OAAO,aAAW,eAAa,SAAS,eAAc;AAAC,4BAAgB,SAAS,cAAc;AAAA;AAAI,YAAG,YAAW;AAAC,4BAAgB;AAAA;AAAW,YAAG,gBAAgB,QAAQ,aAAW,GAAE;AAAC,4BAAgB,gBAAgB,OAAO,GAAE,gBAAgB,QAAQ,UAAS,IAAI,YAAY,OAAK;AAAA,eAAO;AAAC,4BAAgB;AAAA;AAAG;AAAC,kBAAM,SAAS,KAAI;AAAC,gBAAI,MAAI,IAAI;AAAe,gBAAI,KAAK,OAAM,KAAI;AAAO,gBAAI,KAAK;AAAM,mBAAO,IAAI;AAAA;AAAc,cAAG,uBAAsB;AAAC,yBAAW,SAAS,KAAI;AAAC,kBAAI,MAAI,IAAI;AAAe,kBAAI,KAAK,OAAM,KAAI;AAAO,kBAAI,eAAa;AAAc,kBAAI,KAAK;AAAM,qBAAO,IAAI,WAAW,IAAI;AAAA;AAAA;AAAW,sBAAU,SAAS,KAAI,QAAO,SAAQ;AAAC,gBAAI,MAAI,IAAI;AAAe,gBAAI,KAAK,OAAM,KAAI;AAAM,gBAAI,eAAa;AAAc,gBAAI,SAAO,WAAU;AAAC,kBAAG,IAAI,UAAQ,OAAK,IAAI,UAAQ,KAAG,IAAI,UAAS;AAAC,uBAAO,IAAI;AAAU;AAAA;AAAO;AAAA;AAAW,gBAAI,UAAQ;AAAQ,gBAAI,KAAK;AAAA;AAAA;AAAO,yBAAgB,WAAO,SAAS,QAAM;AAAA,aAAW;AAAA;AAAE,UAAI,MAAI,OAAO,YAAU,QAAQ,IAAI,KAAK;AAAS,UAAI,MAAI,OAAO,eAAa,QAAQ,KAAK,KAAK;AAAS,gBAAU,QAAO;AAAiB,wBAAgB;AAAK,UAAG,OAAO;AAAa,qBAAW,OAAO;AAAa,UAAG,OAAO;AAAe,sBAAY,OAAO;AAAe,UAAG,OAAO;AAAQ,gBAAM,OAAO;AAAQ,UAAI,WAAS;AAAE,UAAI,cAAY,SAAS,OAAM;AAAC,mBAAS;AAAA;AAAO,UAAI,cAAY,WAAU;AAAC,eAAO;AAAA;AAAU,UAAI;AAAW,UAAG,OAAO;AAAc,qBAAW,OAAO;AAAc,UAAI,gBAAc,OAAO,oBAAkB;AAAK,UAAG,OAAO,gBAAc,UAAS;AAAC,cAAM;AAAA;AAAmC,UAAI;AAAW,UAAI,QAAM;AAAM,UAAI;AAAW,sBAAgB,WAAU,MAAK;AAAC,YAAG,CAAC,WAAU;AAAC,gBAAM;AAAA;AAAA;AAAO,wBAAkB,OAAM;AAAC,YAAI,OAAK,OAAO,MAAI;AAAO,eAAO;AAAA;AAAK,qBAAe,OAAM,YAAW,UAAS,MAAK,MAAK;AAAC,YAAI,MAAI,EAAC,UAAS,SAAS,KAAI;AAAC,cAAI,OAAI;AAAE,cAAG,QAAM,QAAM,QAAM,UAAW,QAAM,GAAE;AAAC,gBAAI,MAAK,KAAI,UAAQ,KAAG;AAAE,mBAAI,WAAW;AAAK,yBAAa,KAAI,MAAI;AAAA;AAAK,iBAAO;AAAA,WAAK,SAAQ,SAAS,KAAI;AAAC,cAAI,OAAI,WAAW,IAAI;AAAQ,6BAAmB,KAAI;AAAK,iBAAO;AAAA;AAAM,oCAA4B,MAAI;AAAC,cAAG,eAAa;AAAS,mBAAO,aAAa;AAAK,cAAG,eAAa;AAAU,mBAAO,QAAQ;AAAK,iBAAO;AAAA;AAAI,YAAI,OAAK,SAAS;AAAO,YAAI,QAAM;AAAG,YAAI,QAAM;AAAE,YAAG,MAAK;AAAC,mBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAAC,gBAAI,YAAU,IAAI,SAAS;AAAI,gBAAG,WAAU;AAAC,kBAAG,UAAQ;AAAE,wBAAM;AAAY,oBAAM,KAAG,UAAU,KAAK;AAAA,mBAAQ;AAAC,oBAAM,KAAG,KAAK;AAAA;AAAA;AAAA;AAAK,YAAI,MAAI,KAAK,MAAM,MAAK;AAAO,wBAAgB,MAAI;AAAC,cAAG,UAAQ;AAAE,yBAAa;AAAO,iBAAO,mBAAmB;AAAA;AAAK,cAAI,OAAO;AAAK,eAAO;AAAA;AAAI,UAAI,cAAY,OAAO,gBAAc,cAAY,IAAI,YAAY,UAAQ;AAAU,iCAA2B,MAAK,KAAI,gBAAe;AAAC,YAAI,SAAO,MAAI;AAAe,YAAI,SAAO;AAAI,eAAM,KAAK,WAAS,CAAE,WAAQ;AAAQ,YAAE;AAAO,YAAG,SAAO,MAAI,MAAI,KAAK,YAAU,aAAY;AAAC,iBAAO,YAAY,OAAO,KAAK,SAAS,KAAI;AAAA,eAAa;AAAC,cAAI,MAAI;AAAG,iBAAM,MAAI,QAAO;AAAC,gBAAI,KAAG,KAAK;AAAO,gBAAG,CAAE,MAAG,MAAK;AAAC,qBAAK,OAAO,aAAa;AAAI;AAAA;AAAS,gBAAI,KAAG,KAAK,SAAO;AAAG,gBAAI,MAAG,QAAM,KAAI;AAAC,qBAAK,OAAO,aAAc,MAAG,OAAK,IAAE;AAAI;AAAA;AAAS,gBAAI,KAAG,KAAK,SAAO;AAAG,gBAAI,MAAG,QAAM,KAAI;AAAC,mBAAI,MAAG,OAAK,KAAG,MAAI,IAAE;AAAA,mBAAO;AAAC,mBAAI,MAAG,MAAI,KAAG,MAAI,KAAG,MAAI,IAAE,KAAK,SAAO;AAAA;AAAG,gBAAG,KAAG,OAAM;AAAC,qBAAK,OAAO,aAAa;AAAA,mBAAQ;AAAC,kBAAI,KAAG,KAAG;AAAM,qBAAK,OAAO,aAAa,QAAM,MAAI,IAAG,QAAM,KAAG;AAAA;AAAA;AAAA;AAAQ,eAAO;AAAA;AAAI,4BAAsB,KAAI,gBAAe;AAAC,eAAO,MAAI,kBAAkB,QAAO,KAAI,kBAAgB;AAAA;AAAG,iCAA2B,KAAI,MAAK,QAAO,iBAAgB;AAAC,YAAG,CAAE,mBAAgB;AAAG,iBAAO;AAAE,YAAI,WAAS;AAAO,YAAI,SAAO,SAAO,kBAAgB;AAAE,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,cAAI,IAAE,IAAI,WAAW;AAAG,cAAG,KAAG,SAAO,KAAG,OAAM;AAAC,gBAAI,KAAG,IAAI,WAAW,EAAE;AAAG,gBAAE,QAAQ,MAAE,SAAO,MAAI,KAAG;AAAA;AAAK,cAAG,KAAG,KAAI;AAAC,gBAAG,UAAQ;AAAO;AAAM,iBAAK,YAAU;AAAA,qBAAU,KAAG,MAAK;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAE,iBAAK,YAAU,MAAI,IAAE;AAAA,qBAAW,KAAG,OAAM;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,IAAE;AAAG,iBAAK,YAAU,MAAI,IAAE;AAAA,iBAAO;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,IAAE;AAAG,iBAAK,YAAU,MAAI,IAAE;AAAA;AAAA;AAAI,aAAK,UAAQ;AAAE,eAAO,SAAO;AAAA;AAAS,4BAAsB,KAAI,QAAO,iBAAgB;AAAC,eAAO,kBAAkB,KAAI,QAAO,QAAO;AAAA;AAAiB,+BAAyB,KAAI;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,cAAI,IAAE,IAAI,WAAW;AAAG,cAAG,KAAG,SAAO,KAAG;AAAM,gBAAE,QAAQ,MAAE,SAAO,MAAI,IAAI,WAAW,EAAE,KAAG;AAAK,cAAG,KAAG;AAAI,cAAE;AAAA,mBAAY,KAAG;AAAK,mBAAK;AAAA,mBAAU,KAAG;AAAM,mBAAK;AAAA;AAAO,mBAAK;AAAA;AAAE,eAAO;AAAA;AAAI,kCAA4B,OAAM,SAAO;AAAC,cAAM,IAAI,OAAM;AAAA;AAAQ,kCAA4B,KAAI,SAAO,aAAY;AAAC,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,gBAAM,aAAU,KAAG,IAAI,WAAW;AAAA;AAAG,YAAG,CAAC;AAAY,gBAAM,WAAQ,KAAG;AAAA;AAAE,uBAAiB,GAAE,UAAS;AAAC,YAAG,IAAE,WAAS,GAAE;AAAC,eAAG,WAAS,IAAE;AAAA;AAAS,eAAO;AAAA;AAAE,UAAI,QAAO,OAAM,QAAO,QAAO,SAAQ,QAAO,SAAQ,SAAQ;AAAQ,0CAAoC,KAAI;AAAC,iBAAO;AAAI,eAAO,WAAS,QAAM,IAAI,UAAU;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,aAAW,UAAQ,IAAI,YAAY;AAAK,eAAO,aAAW,UAAQ,IAAI,YAAY;AAAK,eAAO,aAAW,UAAQ,IAAI,aAAa;AAAK,eAAO,aAAW,UAAQ,IAAI,aAAa;AAAA;AAAK,UAAI,iBAAe,OAAO,qBAAmB;AAAS,UAAI;AAAU,UAAI,eAAa;AAAG,UAAI,aAAW;AAAG,UAAI,aAAW;AAAG,UAAI,gBAAc;AAAG,UAAI,qBAAmB;AAAM,UAAI,gBAAc;AAAM,UAAI,0BAAwB;AAAE,kCAA2B;AAAC,eAAO,iBAAe,0BAAwB;AAAA;AAAE,wBAAiB;AAAC,YAAG,OAAO,WAAU;AAAC,cAAG,OAAO,OAAO,aAAW;AAAW,mBAAO,YAAU,CAAC,OAAO;AAAW,iBAAM,OAAO,UAAU,QAAO;AAAC,wBAAY,OAAO,UAAU;AAAA;AAAA;AAAU,6BAAqB;AAAA;AAAc,6BAAsB;AAAC,6BAAmB;AAAK,6BAAqB;AAAA;AAAY,yBAAkB;AAAC,6BAAqB;AAAA;AAAY,6BAAsB;AAAC,wBAAc;AAAA;AAAK,yBAAkB;AAAC,YAAG,OAAO,YAAW;AAAC,cAAG,OAAO,OAAO,cAAY;AAAW,mBAAO,aAAW,CAAC,OAAO;AAAY,iBAAM,OAAO,WAAW,QAAO;AAAC,yBAAa,OAAO,WAAW;AAAA;AAAA;AAAU,6BAAqB;AAAA;AAAe,2BAAqB,IAAG;AAAC,qBAAa,QAAQ;AAAA;AAAI,yBAAmB,IAAG;AAAC,mBAAW,QAAQ;AAAA;AAAI,4BAAsB,IAAG;AAAC,sBAAc,QAAQ;AAAA;AAAI,UAAI,kBAAgB;AAAE,UAAI,uBAAqB;AAAK,UAAI,wBAAsB;AAAK,gCAA0B,IAAG;AAAC;AAAkB,YAAG,OAAO,2BAA0B;AAAC,iBAAO,0BAA0B;AAAA;AAAA;AAAkB,mCAA6B,IAAG;AAAC;AAAkB,YAAG,OAAO,2BAA0B;AAAC,iBAAO,0BAA0B;AAAA;AAAiB,YAAG,mBAAiB,GAAE;AAAC,cAAG,yBAAuB,MAAK;AAAC,0BAAc;AAAsB,mCAAqB;AAAA;AAAK,cAAG,uBAAsB;AAAC,gBAAI,WAAS;AAAsB,oCAAsB;AAAK;AAAA;AAAA;AAAA;AAAa,aAAO,qBAAmB;AAAG,aAAO,qBAAmB;AAAG,qBAAe,MAAK;AAAC;AAAC,cAAG,OAAO,YAAW;AAAC,mBAAO,WAAW;AAAA;AAAA;AAAO,eAAK,aAAW,OAAK;AAAI,YAAI;AAAM,gBAAM;AAAK,qBAAW;AAAE,gBAAM;AAA8C,YAAI,IAAE,IAAI,YAAY,aAAa;AAAM,2BAAmB;AAAG,cAAM;AAAA;AAAE,UAAI,gBAAc;AAAwC,yBAAmB,UAAS;AAAC,eAAO,SAAS,WAAW;AAAA;AAAe,UAAI;AAAe,UAAG,OAAO,eAAc;AAAC,yBAAe;AAAoB,YAAG,CAAC,UAAU,iBAAgB;AAAC,2BAAe,WAAW;AAAA;AAAA,aAAqB;AAAC,yBAAe,IAAI,IAAI,qBAAoB,YAAY,KAAK;AAAA;AAAW,yBAAmB,MAAK;AAAC,YAAG;AAAC,cAAG,QAAM,kBAAgB,YAAW;AAAC,mBAAO,IAAI,WAAW;AAAA;AAAY,cAAG,YAAW;AAAC,mBAAO,WAAW;AAAA,iBAAU;AAAC,kBAAK;AAAA;AAAA,iBAAyD,MAAN;AAAW,gBAAM;AAAA;AAAA;AAAM,kCAA2B;AAAC,YAAG,CAAC,cAAa,uBAAoB,wBAAuB;AAAC,cAAG,OAAO,UAAQ,YAAW;AAAC,mBAAO,MAAM,gBAAe,EAAC,aAAY,iBAAgB,KAAK,SAAS,UAAS;AAAC,kBAAG,CAAC,SAAS,OAAM;AAAC,sBAAK,yCAAuC,iBAAe;AAAA;AAAI,qBAAO,SAAS;AAAA,eAAmB,MAAM,WAAU;AAAC,qBAAO,UAAU;AAAA;AAAA;AAAA;AAAmB,eAAO,QAAQ,UAAU,KAAK,WAAU;AAAC,iBAAO,UAAU;AAAA;AAAA;AAAkB,4BAAqB;AAAC,YAAI,OAAK,EAAC,KAAI;AAAe,iCAAyB,UAAS,SAAO;AAAC,cAAI,WAAQ,SAAS;AAAQ,iBAAO,SAAO;AAAQ,uBAAW,OAAO,OAAO;AAAM,qCAA2B,WAAW;AAAQ,sBAAU,OAAO,OAAO;AAAM,oBAAU,OAAO,OAAO;AAAO,8BAAoB;AAAA;AAAoB,yBAAiB;AAAoB,4CAAoC,QAAO;AAAC,0BAAgB,OAAO;AAAA;AAAa,wCAAgC,UAAS;AAAC,iBAAO,mBAAmB,KAAK,SAAS,QAAO;AAAC,mBAAO,YAAY,YAAY,QAAO;AAAA,aAAQ,KAAK,SAAS,UAAS;AAAC,mBAAO;AAAA,aAAW,KAAK,UAAS,SAAS,QAAO;AAAC,gBAAI,4CAA0C;AAAQ,kBAAM;AAAA;AAAA;AAAU,oCAA2B;AAAC,cAAG,CAAC,cAAY,OAAO,YAAY,yBAAuB,cAAY,CAAC,UAAU,mBAAiB,OAAO,UAAQ,YAAW;AAAC,mBAAO,MAAM,gBAAe,EAAC,aAAY,iBAAgB,KAAK,SAAS,UAAS;AAAC,kBAAI,SAAO,YAAY,qBAAqB,UAAS;AAAM,qBAAO,OAAO,KAAK,4BAA2B,SAAS,QAAO;AAAC,oBAAI,oCAAkC;AAAQ,oBAAI;AAA6C,uBAAO,uBAAuB;AAAA;AAAA;AAAA,iBAAoC;AAAC,mBAAO,uBAAuB;AAAA;AAAA;AAA6B,YAAG,OAAO,oBAAmB;AAAC,cAAG;AAAC,gBAAI,WAAQ,OAAO,mBAAmB,MAAK;AAAiB,mBAAO;AAAA,mBAAc,GAAN;AAAS,gBAAI,wDAAsD;AAAG,mBAAO;AAAA;AAAA;AAAO,2BAAmB,MAAM;AAAoB,eAAM;AAAA;AAAG,oCAA8B,WAAU;AAAC,eAAM,UAAU,SAAO,GAAE;AAAC,cAAI,WAAS,UAAU;AAAQ,cAAG,OAAO,YAAU,YAAW;AAAC,qBAAS;AAAQ;AAAA;AAAS,cAAI,OAAK,SAAS;AAAK,cAAG,OAAO,SAAO,UAAS;AAAC,gBAAG,SAAS,QAAM,QAAU;AAAC,gCAAkB;AAAA,mBAAY;AAAC,gCAAkB,MAAM,SAAS;AAAA;AAAA,iBAAU;AAAC,iBAAK,SAAS,QAAM,SAAU,OAAK,SAAS;AAAA;AAAA;AAAA;AAAO,UAAI,kBAAgB;AAAG,iCAA2B,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAS,YAAG,CAAC,MAAK;AAAC,cAAG,WAAS,gBAAgB;AAAO,4BAAgB,SAAO,UAAQ;AAAE,0BAAgB,WAAS,OAAK,UAAU,IAAI;AAAA;AAAS,eAAO;AAAA;AAAK,+BAAyB,GAAE;AAAC,YAAG,aAAa,cAAY,KAAG,UAAS;AAAC,iBAAO;AAAA;AAAW,cAAM,GAAE;AAAA;AAAG,8BAAwB,WAAU,UAAS,MAAK,MAAK;AAAC,cAAM,uBAAqB,aAAa,aAAW,WAAS,CAAC,WAAS,aAAa,YAAU,oBAAmB,MAAK,OAAK,aAAa,QAAM;AAAA;AAAqB,yCAAmC,MAAK;AAAC,eAAO,QAAQ,OAAK,MAAI;AAAA;AAAG,6BAAuB,QAAO;AAAC,aAAK,SAAO;AAAO,aAAK,MAAI,SAAO;AAAG,aAAK,WAAS,SAAS,MAAK;AAAC,iBAAO,KAAK,MAAI,KAAG,KAAG;AAAA;AAAM,aAAK,WAAS,WAAU;AAAC,iBAAO,OAAO,KAAK,MAAI,KAAG;AAAA;AAAI,aAAK,iBAAe,SAAS,YAAW;AAAC,iBAAO,KAAK,MAAI,KAAG,KAAG;AAAA;AAAY,aAAK,iBAAe,WAAU;AAAC,iBAAO,OAAO,KAAK,MAAI,KAAG;AAAA;AAAI,aAAK,eAAa,SAAS,UAAS;AAAC,iBAAO,KAAK,OAAK,KAAG;AAAA;AAAU,aAAK,aAAW,SAAS,QAAO;AAAC,mBAAO,SAAO,IAAE;AAAE,gBAAM,KAAK,MAAI,MAAI,KAAG;AAAA;AAAQ,aAAK,aAAW,WAAU;AAAC,iBAAO,MAAM,KAAK,MAAI,MAAI,MAAI;AAAA;AAAG,aAAK,eAAa,SAAS,UAAS;AAAC,qBAAS,WAAS,IAAE;AAAE,gBAAM,KAAK,MAAI,MAAI,KAAG;AAAA;AAAU,aAAK,eAAa,WAAU;AAAC,iBAAO,MAAM,KAAK,MAAI,MAAI,MAAI;AAAA;AAAG,aAAK,OAAK,SAAS,MAAK,YAAW;AAAC,eAAK,SAAS;AAAM,eAAK,eAAe;AAAY,eAAK,aAAa;AAAG,eAAK,WAAW;AAAO,eAAK,aAAa;AAAA;AAAQ,aAAK,UAAQ,WAAU;AAAC,cAAI,QAAM,OAAO,KAAK,OAAK;AAAG,iBAAO,KAAK,OAAK,KAAG,QAAM;AAAA;AAAG,aAAK,cAAY,WAAU;AAAC,cAAI,OAAK,OAAO,KAAK,OAAK;AAAG,iBAAO,KAAK,OAAK,KAAG,OAAK;AAAE,iBAAO,SAAO;AAAA;AAAA;AAAG,yBAAmB,KAAI;AAAC,aAAK,OAAK,WAAU;AAAC,gBAAM,KAAK;AAAK,eAAK,MAAI;AAAA;AAAG,aAAK,eAAa,SAAS,SAAQ;AAAC,iBAAO,KAAK,OAAK,KAAG;AAAA;AAAS,aAAK,eAAa,WAAU;AAAC,iBAAO,OAAO,KAAK,OAAK;AAAA;AAAI,aAAK,mBAAiB,SAAS,aAAY;AAAC,iBAAO,KAAK,MAAI,KAAG,KAAG;AAAA;AAAa,aAAK,wBAAsB,WAAU;AAAC,iBAAO,KAAK,MAAI;AAAA;AAAG,aAAK,mBAAiB,WAAU;AAAC,iBAAO,OAAO,KAAK,MAAI,KAAG;AAAA;AAAI,aAAK,oBAAkB,WAAU;AAAC,cAAI,YAAU,uBAAuB,KAAK,qBAAqB;AAAY,cAAG,WAAU;AAAC,mBAAO,OAAO,KAAK,kBAAgB;AAAA;AAAG,cAAI,WAAS,KAAK;AAAmB,cAAG,aAAW;AAAE,mBAAO;AAAS,iBAAO,KAAK;AAAA;AAAgB,aAAK,qBAAmB,WAAU;AAAC,iBAAO,IAAI,cAAc,KAAK;AAAA;AAAiB,YAAG,QAAM,QAAU;AAAC,eAAK,MAAI,QAAQ;AAAG,eAAK,iBAAiB;AAAA,eAAO;AAAC,eAAK,MAAI;AAAA;AAAA;AAAK,UAAI,kBAAgB;AAAG,gCAA0B,MAAK;AAAC,aAAK;AAAA;AAAU,UAAI,yBAAuB;AAAE,kCAA4B,KAAI;AAAC,YAAI,YAAU,IAAI,UAAU;AAAK,YAAI,OAAK,UAAU;AAAqB,YAAG,CAAC,KAAK,cAAa;AAAC,eAAK,WAAW;AAAM;AAAA;AAAyB,aAAK,aAAa;AAAO,wBAAgB,KAAK;AAAW,yBAAiB;AAAM,eAAO,UAAU;AAAA;AAAoB,UAAI,gBAAc;AAAE,qCAA+B,KAAI;AAAC,eAAO,MAAM,IAAI,cAAc,KAAK;AAAA;AAAK,gCAA0B,MAAK;AAAC,YAAG,KAAK,iBAAe,CAAC,KAAK,gBAAe;AAAC,cAAI,aAAW,KAAK;AAAiB,cAAG,YAAW;AAAC,8BAAkB,YAAY,KAAK;AAAA;AAAQ,gCAAsB,KAAK;AAAA;AAAA;AAAS,kCAA2B;AAAC,kBAAU;AAAG,YAAI,YAAU,gBAAgB;AAAM,yBAAiB,UAAU;AAAsB,kBAAU;AAAO,wBAAc;AAAA;AAAE,kCAA4B,cAAa;AAAC,YAAI,YAAU,IAAI,UAAU;AAAc,YAAI,MAAI,UAAU;AAAe,YAAG,CAAC,eAAc;AAAC,0BAAc;AAAA;AAAI,kBAAU;AAAO,cAAM;AAAA;AAAI,8CAAuC;AAAC,YAAI,SAAO;AAAc,YAAG,CAAC,QAAO;AAAC,sBAAY;AAAG,iBAAO,IAAE;AAAA;AAAE,YAAI,OAAK,IAAI,cAAc;AAAQ,YAAI,aAAW,KAAK;AAAW,YAAI,YAAU,IAAI;AAAU,kBAAU,aAAa;AAAQ,kBAAU,iBAAiB;AAAQ,YAAG,CAAC,YAAW;AAAC,sBAAY;AAAG,iBAAO,UAAU,MAAI;AAAA;AAAE,YAAI,YAAU,MAAM,UAAU,MAAM,KAAK;AAAW,iBAAQ,IAAE,GAAE,IAAE,UAAU,QAAO,KAAI;AAAC,cAAI,aAAW,UAAU;AAAG,cAAG,eAAa,KAAG,eAAa,YAAW;AAAC;AAAA;AAAM,cAAG,iBAAiB,YAAW,YAAW,UAAU,0BAAyB;AAAC,wBAAY;AAAY,mBAAO,UAAU,MAAI;AAAA;AAAA;AAAG,oBAAY;AAAY,eAAO,UAAU,MAAI;AAAA;AAAE,8CAAuC;AAAC,YAAI,SAAO;AAAc,YAAG,CAAC,QAAO;AAAC,sBAAY;AAAG,iBAAO,IAAE;AAAA;AAAE,YAAI,OAAK,IAAI,cAAc;AAAQ,YAAI,aAAW,KAAK;AAAW,YAAI,YAAU,IAAI;AAAU,kBAAU,aAAa;AAAQ,kBAAU,iBAAiB;AAAQ,YAAG,CAAC,YAAW;AAAC,sBAAY;AAAG,iBAAO,UAAU,MAAI;AAAA;AAAE,YAAI,YAAU,MAAM,UAAU,MAAM,KAAK;AAAW,iBAAQ,IAAE,GAAE,IAAE,UAAU,QAAO,KAAI;AAAC,cAAI,aAAW,UAAU;AAAG,cAAG,eAAa,KAAG,eAAa,YAAW;AAAC;AAAA;AAAM,cAAG,iBAAiB,YAAW,YAAW,UAAU,0BAAyB;AAAC,wBAAY;AAAY,mBAAO,UAAU,MAAI;AAAA;AAAA;AAAG,oBAAY;AAAY,eAAO,UAAU,MAAI;AAAA;AAAE,8CAAuC;AAAC,YAAI,SAAO;AAAc,YAAG,CAAC,QAAO;AAAC,sBAAY;AAAG,iBAAO,IAAE;AAAA;AAAE,YAAI,OAAK,IAAI,cAAc;AAAQ,YAAI,aAAW,KAAK;AAAW,YAAI,YAAU,IAAI;AAAU,kBAAU,aAAa;AAAQ,kBAAU,iBAAiB;AAAQ,YAAG,CAAC,YAAW;AAAC,sBAAY;AAAG,iBAAO,UAAU,MAAI;AAAA;AAAE,YAAI,YAAU,MAAM,UAAU,MAAM,KAAK;AAAW,iBAAQ,IAAE,GAAE,IAAE,UAAU,QAAO,KAAI;AAAC,cAAI,aAAW,UAAU;AAAG,cAAG,eAAa,KAAG,eAAa,YAAW;AAAC;AAAA;AAAM,cAAG,iBAAiB,YAAW,YAAW,UAAU,0BAAyB;AAAC,wBAAY;AAAY,mBAAO,UAAU,MAAI;AAAA;AAAA;AAAG,oBAAY;AAAY,eAAO,UAAU,MAAI;AAAA;AAAE,8CAAuC;AAAC,YAAI,SAAO;AAAc,YAAG,CAAC,QAAO;AAAC,sBAAY;AAAG,iBAAO,IAAE;AAAA;AAAE,YAAI,OAAK,IAAI,cAAc;AAAQ,YAAI,aAAW,KAAK;AAAW,YAAI,YAAU,IAAI;AAAU,kBAAU,aAAa;AAAQ,kBAAU,iBAAiB;AAAQ,YAAG,CAAC,YAAW;AAAC,sBAAY;AAAG,iBAAO,UAAU,MAAI;AAAA;AAAE,YAAI,YAAU,MAAM,UAAU,MAAM,KAAK;AAAW,iBAAQ,IAAE,GAAE,IAAE,UAAU,QAAO,KAAI;AAAC,cAAI,aAAW,UAAU;AAAG,cAAG,eAAa,KAAG,eAAa,YAAW;AAAC;AAAA;AAAM,cAAG,iBAAiB,YAAW,YAAW,UAAU,0BAAyB;AAAC,wBAAY;AAAY,mBAAO,UAAU,MAAI;AAAA;AAAA;AAAG,oBAAY;AAAY,eAAO,UAAU,MAAI;AAAA;AAAE,gCAAyB;AAAC,YAAI,YAAU,gBAAgB;AAAM,YAAG,CAAC,WAAU;AAAC,gBAAM;AAAA;AAAyB,YAAI,OAAK,UAAU;AAAqB,YAAI,MAAI,UAAU;AAAe,YAAG,CAAC,KAAK,gBAAe;AAAC,0BAAgB,KAAK;AAAW,eAAK,aAAa;AAAM,eAAK,WAAW;AAAO;AAAA,eAA6B;AAAC,oBAAU;AAAA;AAAO,wBAAc;AAAI,cAAM;AAAA;AAAI,4BAAsB,KAAI,MAAK,YAAW;AAAC,YAAI,OAAK,IAAI,cAAc;AAAK,aAAK,KAAK,MAAK;AAAY,wBAAc;AAAI;AAAyB,cAAM;AAAA;AAAI,4CAAqC;AAAC,eAAO;AAAA;AAAuB,UAAI,WAAS,EAAC,UAAS,IAAG,SAAQ,CAAC,MAAK,IAAG,KAAI,WAAU,SAAS,QAAO,MAAK;AAAC,YAAI,UAAO,SAAS,QAAQ;AAAQ,YAAG,SAAO,KAAG,SAAO,IAAG;AAAC,UAAC,YAAS,IAAE,MAAI,KAAK,kBAAkB,SAAO;AAAI,kBAAO,SAAO;AAAA,eAAM;AAAC,kBAAO,KAAK;AAAA;AAAA,SAAQ,SAAQ,QAAU,KAAI,WAAU;AAAC,iBAAS,WAAS;AAAE,YAAI,MAAI,OAAO,SAAS,UAAQ,KAAG;AAAG,eAAO;AAAA,SAAK,QAAO,SAAS,KAAI;AAAC,YAAI,MAAI,aAAa;AAAK,eAAO;AAAA,SAAK,OAAM,SAAS,KAAI,MAAK;AAAC,eAAO;AAAA;AAAM,qCAA+B,MAAK,SAAQ,UAAS,WAAU,SAAQ;AAAA;AAAE,iCAA2B,MAAK,OAAM;AAAC,eAAK,SAAS,OAAO;AAAM,eAAO,SAAS,SAAS,MAAK;AAAA;AAAO,wBAAiB;AAAC,YAAI;AAA6B,cAAM;AAAA;AAAI,oBAAa;AAAC,YAAI;AAAyB,cAAM;AAAA;AAAI,+BAAyB,IAAG;AAAC,YAAI,SAAO,OAAO,UAAU;AAAI,YAAG,CAAC;AAAO,gBAAM,IAAI,GAAG,WAAW;AAAG,eAAO;AAAA;AAAO,wBAAkB,OAAM;AAAC,eAAO,uBAAqB,KAAG;AAAM,eAAO;AAAA;AAAM,yBAAmB,MAAK;AAAC,eAAO,QAAK,OAAK,MAAK,SAAM,IAAE,OAAK,MAAK,SAAM,KAAG,OAAK,MAAK,SAAM,KAAG;AAAA;AAAK,yBAAmB,MAAK;AAAC,YAAI,MAAI;AAAG,YAAI,OAAK;AAAE,YAAI,UAAQ;AAAE,YAAI,WAAS;AAAE,YAAI,SAAO;AAAE,YAAI,MAAI;AAAE,YAAI,IAAE;AAAE,YAAI,QAAM,CAAC,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI;AAAI,YAAI,UAAQ;AAAK,YAAI,SAAO;AAAG,aAAI,IAAE,GAAE,IAAE,GAAE,KAAI;AAAC,cAAG,MAAM,OAAK,GAAE;AAAC,sBAAQ;AAAM;AAAA;AAAA;AAAO,YAAG,SAAQ;AAAC,mBAAO,UAAU,MAAM,KAAG,MAAM,MAAI;AAAI,cAAG,MAAM,OAAK,IAAG;AAAC,kBAAI;AAAU,mBAAK;AAAO,mBAAO;AAAA;AAAI,cAAG,MAAM,OAAK,GAAE;AAAC,kBAAI;AAAK,gBAAG,WAAS;AAAU,uBAAO;AAAG,gBAAG,WAAS;AAAU,uBAAO;AAAI,mBAAK;AAAO,mBAAO;AAAA;AAAA;AAAK,aAAI,OAAK,GAAE,OAAK,GAAE,QAAO;AAAC,cAAG,MAAM,UAAQ,GAAE;AAAC,gBAAG,OAAK,WAAS,GAAE;AAAC,oBAAI;AAAA;AAAE,uBAAS;AAAK;AAAA;AAAM,cAAG,MAAI,SAAQ;AAAC,sBAAQ;AAAI,qBAAO,OAAK,UAAQ;AAAA;AAAA;AAAG,aAAI,OAAK,GAAE,OAAK,GAAE,QAAO;AAAC,cAAG,UAAQ,GAAE;AAAC,gBAAG,MAAM,UAAQ,KAAG,QAAM,UAAQ,OAAK,SAAO,SAAQ;AAAC,kBAAG,SAAO,QAAO;AAAC,uBAAK;AAAI,oBAAG,WAAS;AAAE,yBAAK;AAAA;AAAI;AAAA;AAAA;AAAU,iBAAK,OAAO,OAAO,MAAM,QAAM,QAAQ,SAAS;AAAI,iBAAK,OAAK,IAAE,MAAI;AAAA;AAAG,eAAO;AAAA;AAAI,4BAAsB,IAAG,OAAM;AAAC,YAAI,SAAO,OAAO,MAAI;AAAG,YAAI,OAAK,OAAO,QAAQ,KAAG,KAAG;AAAI,YAAI;AAAK,gBAAO;AAAA,eAAa;AAAE,gBAAG,UAAQ,IAAG;AAAC,qBAAM,EAAC,OAAM;AAAA;AAAI,mBAAK,OAAO,KAAG,KAAG;AAAG,mBAAK,UAAU;AAAM;AAAA,eAAW;AAAG,gBAAG,UAAQ,IAAG;AAAC,qBAAM,EAAC,OAAM;AAAA;AAAI,mBAAK,CAAC,OAAO,KAAG,KAAG,IAAG,OAAO,KAAG,MAAI,IAAG,OAAO,KAAG,MAAI,IAAG,OAAO,KAAG,MAAI;AAAI,mBAAK,UAAU;AAAM;AAAA;AAAc,mBAAM,EAAC,OAAM;AAAA;AAAG,eAAM,EAAC,QAAc,MAAU;AAAA;AAAW,yBAAmB,KAAI;AAAC,YAAI,IAAE,IAAI,MAAM;AAAK,iBAAQ,IAAE,GAAE,IAAE,GAAE,KAAI;AAAC,cAAI,MAAI,OAAO,EAAE;AAAI,cAAG,MAAM;AAAK,mBAAO;AAAK,YAAE,KAAG;AAAA;AAAI,eAAO,GAAE,KAAG,EAAE,MAAI,IAAE,EAAE,MAAI,KAAG,EAAE,MAAI,QAAM;AAAA;AAAE,uBAAiB,KAAI;AAAC,eAAO,SAAS;AAAA;AAAK,yBAAmB,KAAI;AAAC,YAAI;AAAM,YAAI,GAAE,QAAO;AAAE,YAAI,aAAW;AAAqK,YAAI,QAAM;AAAG,YAAG,CAAC,WAAW,KAAK,MAAK;AAAC,iBAAO;AAAA;AAAK,YAAG,QAAM,MAAK;AAAC,iBAAM,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA;AAAG,YAAG,IAAI,WAAW,OAAM;AAAC,gBAAI,IAAI,QAAQ,MAAK;AAAA,eAAU;AAAC,gBAAI,IAAI,QAAQ,MAAK;AAAA;AAAO,YAAG,IAAI,QAAQ,OAAK,GAAE;AAAC,gBAAI,IAAI,QAAQ,IAAI,OAAO,OAAM,MAAK;AAAK,kBAAM,IAAI,MAAM;AAAK,gBAAM,MAAM,SAAO,KAAG,QAAQ,MAAM,MAAM,SAAO,MAAI,QAAQ,MAAM,MAAM,SAAO,MAAI;AAAI,gBAAM,MAAM,SAAO,KAAG,QAAQ,MAAM,MAAM,SAAO,MAAI,QAAQ,MAAM,MAAM,SAAO,MAAI;AAAI,kBAAM,MAAM,MAAM,GAAE,MAAM,SAAO;AAAA,eAAO;AAAC,kBAAM,IAAI,MAAM;AAAA;AAAK,iBAAO;AAAE,YAAE;AAAE,aAAI,IAAE,GAAE,IAAE,MAAM,QAAO,KAAI;AAAC,cAAG,OAAO,MAAM,OAAK,UAAS;AAAC,gBAAG,MAAM,OAAK,KAAI;AAAC,mBAAI,IAAE,GAAE,IAAE,IAAE,MAAM,SAAO,GAAE,KAAI;AAAC,sBAAM,IAAE,KAAG;AAAA;AAAE,uBAAO,IAAE;AAAA,mBAAM;AAAC,oBAAM,IAAE,UAAQ,OAAO,SAAS,MAAM,IAAG;AAAA;AAAA,iBAAU;AAAC,kBAAM,IAAE,UAAQ,MAAM;AAAA;AAAA;AAAI,eAAM,CAAC,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM;AAAA;AAAI,UAAI,MAAI,EAAC,aAAY,EAAC,IAAG,GAAE,OAAM,IAAG,OAAM,MAAI,aAAY,SAAS,MAAK;AAAC,YAAI,MAAI,UAAU;AAAM,YAAG,QAAM,MAAK;AAAC,iBAAO;AAAA;AAAK,cAAI,UAAU;AAAM,YAAG,QAAM,MAAK;AAAC,iBAAO;AAAA;AAAK,YAAI;AAAK,YAAG,IAAI,YAAY,MAAM,OAAM;AAAC,iBAAK,IAAI,YAAY,MAAM;AAAA,eAAU;AAAC,cAAI,KAAG,IAAI,YAAY;AAAK,iBAAO,KAAG,OAAM;AAA0C,iBAAK,YAAW,MAAG,OAAK,MAAK,MAAG;AAAO,cAAI,YAAY,MAAM,QAAM;AAAK,cAAI,YAAY,MAAM,QAAM;AAAA;AAAK,eAAO;AAAA,SAAM,aAAY,SAAS,MAAK;AAAC,YAAG,IAAI,YAAY,MAAM,OAAM;AAAC,iBAAO,IAAI,YAAY,MAAM;AAAA;AAAM,eAAO;AAAA;AAAO,gCAA0B,OAAM,SAAQ,WAAU;AAAC,YAAG,aAAW,UAAQ;AAAE,iBAAO;AAAK,YAAI,OAAK,aAAa,OAAM;AAAS,YAAG,KAAK;AAAM,gBAAM,IAAI,GAAG,WAAW,KAAK;AAAO,aAAK,OAAK,IAAI,YAAY,KAAK,SAAO,KAAK;AAAK,eAAO;AAAA;AAAK,+BAAyB,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,OAAK,iBAAiB,MAAK;AAAS,aAAK,SAAS,KAAK,MAAK,KAAK,MAAK,KAAK;AAAM,eAAO;AAAA;AAAE,kCAA4B,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,OAAK,iBAAiB,MAAK;AAAS,aAAK,SAAS,QAAQ,MAAK,KAAK,MAAK,KAAK;AAAM,eAAO;AAAA;AAAE,kCAA4B,IAAG,KAAI,SAAQ;AAAC,iBAAS,UAAQ;AAAQ,eAAO;AAAA;AAAE,kCAA4B,IAAG,KAAI;AAAA;AAAE,oCAA8B,OAAM,MAAK,KAAI,OAAM;AAAA;AAAE,sCAAgC,IAAG,KAAI,MAAK;AAAA;AAAE,qCAA+B,IAAG,MAAK,OAAM;AAAA;AAAE,0BAAoB,SAAQ,MAAK;AAAC,eAAO,KAAK,GAAE,SAAQ,UAAQ;AAAA;AAAM,6BAAuB,IAAG,QAAO,MAAK,MAAK,SAAQ;AAAC,gBAAO;AAAA,eAAa;AAAE,mBAAK,UAAU;AAAM,uBAAW,IAAG;AAAI,gBAAG,SAAQ;AAAC,qBAAO,WAAS,KAAG;AAAA;AAAG,mBAAO,MAAI,KAAG;AAAO,mBAAO,KAAG,KAAG,KAAG;AAAK,mBAAO,KAAG,KAAG,KAAG,OAAO;AAAM;AAAA,eAAW;AAAG,mBAAK,UAAU;AAAM,uBAAW,IAAG;AAAI,gBAAG,SAAQ;AAAC,qBAAO,WAAS,KAAG;AAAA;AAAG,mBAAO,MAAI,KAAG;AAAO,mBAAO,KAAG,KAAG,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,KAAG,KAAG,OAAO;AAAM;AAAA;AAAc,mBAAO;AAAA;AAAE,eAAO;AAAA;AAAE,sCAAgC,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAG,CAAC,KAAK,OAAM;AAAC,iBAAM;AAAA;AAAI,YAAI,QAAM,cAAc,MAAK,KAAK,QAAO,IAAI,YAAY,KAAK,QAAO,KAAK,OAAM;AAAS,eAAO;AAAA;AAAE,qCAA+B,IAAG,OAAM,SAAQ,QAAO,QAAO;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAG,UAAQ,GAAE;AAAC,cAAG,YAAU,GAAE;AAAC,mBAAO,UAAQ,KAAG,KAAK;AAAM,mBAAO,UAAQ,KAAG;AAAE,iBAAK,QAAM;AAAK,mBAAO;AAAA;AAAA;AAAG,eAAM;AAAA;AAAI,gCAA0B,IAAG,IAAG,SAAQ;AAAC,iBAAS,UAAQ;AAAQ,eAAO;AAAA;AAAE,kCAA4B,MAAK,KAAI;AAAA;AAAE,gCAA0B,MAAK,MAAK;AAAC,eAAK,SAAS,OAAO;AAAM,eAAO,SAAS,QAAQ,MAAK;AAAA;AAAM,+BAAyB,MAAK,OAAM,SAAQ;AAAC,iBAAS,UAAQ;AAAA;AAAQ,mCAA6B,IAAG,KAAI,KAAI,OAAM,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,MAAI,KAAK,SAAS,QAAQ,MAAK;AAAK,YAAG,CAAC;AAAI,iBAAO;AAAE,YAAG,MAAK;AAAC,cAAI,QAAM,cAAc,MAAK,KAAK,QAAO,IAAI,YAAY,IAAI,OAAM,IAAI,MAAK;AAAA;AAAS,eAAO,IAAI,IAAI,QAAO;AAAK,eAAO,IAAI,OAAO;AAAA;AAAW,iCAA2B,UAAS,UAAS;AAAA;AAAE,gCAA0B,MAAK;AAAA;AAAE,iCAA2B,IAAG,SAAQ,QAAO,OAAM,MAAK,UAAS;AAAA;AAAE,iCAA2B,QAAO,MAAK,UAAS;AAAA;AAAE,iCAA2B,MAAK,KAAI;AAAA;AAAE,iCAA2B,MAAK;AAAA;AAAE,2BAAqB,UAAS,MAAK;AAAC,cAAM;AAAA;AAA+H,0BAAoB,QAAO,QAAO;AAAC,cAAM;AAAA;AAA+H,wBAAiB;AAAC,cAAM;AAAA;AAAI,UAAI;AAAoB,UAAG,qBAAoB;AAAC,8BAAqB,MAAI;AAAC,cAAI,IAAE,QAAQ;AAAY,iBAAO,EAAE,KAAG,MAAI,EAAE,KAAG;AAAA;AAAA;AAAW,8BAAqB,MAAI,YAAY;AAAO,UAAI,mCAAiC;AAAK,8BAAwB,QAAO,IAAG;AAAC,YAAI;AAAI,YAAG,WAAS,GAAE;AAAC,gBAAI,KAAK;AAAA,mBAAe,YAAS,KAAG,WAAS,MAAI,kCAAiC;AAAC,gBAAI;AAAA,eAA0B;AAAC,mBAAS;AAAI,iBAAM;AAAA;AAAG,eAAO,MAAI,KAAG,MAAI,MAAI;AAAE,eAAO,KAAG,KAAG,KAAG,MAAI,MAAI,MAAI,MAAI;AAAE,eAAO;AAAA;AAAE,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,gBAAgB,QAAO,MAAK;AAAA;AAAS,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,eAAe,QAAO,MAAK;AAAA;AAAS,mDAA6C,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,qBAAqB,QAAO,MAAK;AAAA;AAAS,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,gBAAgB,QAAO,MAAK;AAAA;AAAS,yCAAmC,QAAO;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO;AAAA;AAAQ,0CAAoC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO,MAAK;AAAA;AAAS,0DAAoD,QAAO;AAAC,eAAO,WAAW,eAAe,4BAA4B,QAAO;AAAA;AAAQ,wCAAkC,MAAK,SAAQ,IAAG,OAAM;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,MAAK,SAAQ,IAAG;AAAA;AAAO,wCAAkC,QAAO,OAAM;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,QAAO;AAAA;AAAO,wCAAkC,QAAO,KAAI,MAAK,UAAS;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,QAAO,KAAI,MAAK;AAAA;AAAU,4CAAsC,QAAO,SAAQ;AAAC,eAAO,WAAW,eAAe,aAAa,QAAO,QAAO;AAAA;AAAS,yCAAmC,QAAO,KAAI,MAAK,UAAS;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO,QAAO,KAAI,MAAK;AAAA;AAAU,mCAA6B,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,KAAK,QAAO,MAAK;AAAA;AAAS,iDAA2C,SAAQ;AAAC,eAAO,WAAW,eAAe,oBAAoB,QAAO;AAAA;AAAS,2CAAqC,QAAO,SAAQ,UAAS,SAAQ,UAAS,UAAS;AAAC,eAAO,WAAW,eAAe,cAAc,QAAO,QAAO,SAAQ,UAAS,SAAQ,UAAS;AAAA;AAAU,0CAAmC;AAAC,eAAO;AAAA;AAAW,sCAAgC,MAAK,KAAI,KAAI;AAAC,eAAO,WAAW,MAAK,KAAI,MAAI;AAAA;AAAK,yCAAmC,MAAK;AAAC,YAAG;AAAC,qBAAW,KAAK,OAAK,OAAO,aAAW,UAAQ;AAAI,qCAA2B,WAAW;AAAQ,iBAAO;AAAA,iBAAQ,GAAN;AAAA;AAAA;AAAW,uCAAiC,eAAc;AAAC,YAAI,UAAQ,OAAO;AAAO,wBAAc,kBAAgB;AAAE,YAAI,cAAY;AAAW,YAAG,gBAAc,aAAY;AAAC,iBAAO;AAAA;AAAM,iBAAQ,UAAQ,GAAE,WAAS,GAAE,WAAS,GAAE;AAAC,cAAI,oBAAkB,UAAS,KAAE,MAAG;AAAS,8BAAkB,KAAK,IAAI,mBAAkB,gBAAc;AAAW,cAAI,UAAQ,KAAK,IAAI,aAAY,QAAQ,KAAK,IAAI,eAAc,oBAAmB;AAAQ,cAAI,cAAY,0BAA0B;AAAS,cAAG,aAAY;AAAC,mBAAO;AAAA;AAAA;AAAM,eAAO;AAAA;AAAM,UAAI,MAAI;AAAG,mCAA4B;AAAC,eAAO,eAAa;AAAA;AAAiB,+BAAwB;AAAC,YAAG,CAAC,cAAc,SAAQ;AAAC,cAAI,OAAM,QAAO,cAAY,YAAU,UAAU,aAAW,UAAU,UAAU,MAAI,KAAK,QAAQ,KAAI,OAAK;AAAS,cAAI,MAAI,EAAC,QAAO,YAAW,WAAU,YAAW,QAAO,KAAI,OAAM,KAAI,QAAO,kBAAiB,QAAO,MAAK,KAAI;AAAqB,mBAAQ,KAAK,KAAI;AAAC,gBAAG,IAAI,OAAK;AAAU,qBAAO,IAAI;AAAA;AAAQ,kBAAI,KAAG,IAAI;AAAA;AAAG,cAAI,UAAQ;AAAG,mBAAQ,KAAK,KAAI;AAAC,oBAAQ,KAAK,IAAE,MAAI,IAAI;AAAA;AAAI,wBAAc,UAAQ;AAAA;AAAQ,eAAO,cAAc;AAAA;AAAQ,4BAAsB,WAAU,aAAY;AAAC,YAAI,UAAQ;AAAE,wBAAgB,QAAQ,SAAS,QAAO,GAAE;AAAC,cAAI,MAAI,cAAY;AAAQ,iBAAO,YAAU,IAAE,KAAG,KAAG;AAAI,6BAAmB,QAAO;AAAK,qBAAS,OAAO,SAAO;AAAA;AAAI,eAAO;AAAA;AAAE,kCAA4B,gBAAe,mBAAkB;AAAC,YAAI,UAAQ;AAAgB,eAAO,kBAAgB,KAAG,QAAQ;AAAO,YAAI,UAAQ;AAAE,gBAAQ,QAAQ,SAAS,QAAO;AAAC,qBAAS,OAAO,SAAO;AAAA;AAAI,eAAO,qBAAmB,KAAG;AAAQ,eAAO;AAAA;AAAE,yBAAmB,IAAG;AAAC,eAAO;AAAA;AAAE,yBAAmB,IAAG,KAAI,QAAO,YAAW,aAAY,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,QAAQ,QAAO,KAAI,QAAO;AAAY,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,0BAAoB,IAAG,KAAI,QAAO,YAAW,aAAY,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,SAAS,QAAO,KAAI,QAAO;AAAY,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,wBAAkB,IAAG,KAAI,QAAO,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,QAAQ,QAAO,KAAI;AAAQ,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,wBAAkB,IAAG,YAAW,aAAY,QAAO,WAAU;AAAA;AAAE,wBAAkB,IAAG;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAG,OAAO,cAAY,OAAO,WAAW,OAAM;AAAC,iBAAM,CAAC,OAAO,WAAW,MAAM;AAAA;AAAQ,eAAO;AAAA;AAAE,yBAAmB,IAAG,KAAI,QAAO,MAAK;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,cAAI,MAAI,OAAO,OAAK;AAAG,cAAI,MAAI,OAAO,MAAI,KAAG;AAAG,iBAAK;AAAE,mBAAQ,IAAE,GAAE,IAAE,KAAI,KAAI;AAAC,qBAAS,UAAU,IAAG,OAAO,MAAI;AAAA;AAAI,iBAAK;AAAA;AAAI,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,8BAAuB;AAAC,eAAO;AAAA;AAAc,4BAAsB,MAAK,SAAQ,MAAK,MAAI;AAAC,YAAI,OAAK;AAAE,YAAI,OAAK;AAAE,YAAI,QAAM;AAAE,YAAI,SAAO;AAAE,YAAI,OAAK;AAAE,YAAI,QAAM;AAAE,YAAI;AAAG,+BAAuB,SAAO,OAAK,QAAM,OAAM,OAAK,OAAK;AAAC,cAAI,IAAG,OAAM;AAAG,cAAI;AAAM,kBAAM,YAAS,KAAG,KAAG;AAAG,kBAAK,YAAS,KAAG,UAAU,SAAM,UAAU;AAAM,eAAG,QAAQ;AAAO,kBAAM,cAAc,IAAG,SAAO,OAAK;AAAM,iBAAO,CAAC;AAAO,gBAAG,QAAQ;AAAI,iBAAO,MAAG,KAAG,KAAG;AAAO,iBAAO,MAAG,KAAG,KAAG;AAAK,iBAAO,MAAG,MAAI,KAAG;AAAM,iBAAO,MAAG,MAAI,KAAG;AAAM,iBAAO,MAAG,MAAI,KAAG;AAAG,cAAG,YAAS,IAAG;AAAC,mBAAO,MAAG,MAAI,KAAG;AAAA,iBAAO;AAAC,mBAAO,MAAG,MAAI,KAAG;AAAA;AAAG,iBAAO,MAAG,MAAI,KAAG;AAAE,iBAAO;AAAA;AAAG,YAAG,MAAK;AAAC,kBAAM,OAAO,QAAM;AAAG,mBAAO,OAAO,OAAK,KAAG;AAAG,iBAAK,OAAO,OAAK,KAAG;AAAG,kBAAM,OAAO,OAAK,MAAI;AAAA;AAAG,YAAG,QAAM,CAAC,OAAM;AAAC,kBAAM,SAAO,IAAE,KAAG;AAAA;AAAE,YAAG,CAAC,QAAM,OAAM;AAAC,iBAAK,UAAQ,KAAG,IAAE;AAAA;AAAE,YAAG,UAAQ,GAAE;AAAC,kBAAM;AAAA;AAAE,YAAG,SAAO,GAAE;AAAC,iBAAK;AAAA;AAAE,YAAG,CAAC,QAAM,CAAC,SAAQ;AAAC,iBAAM;AAAA;AAAG,YAAG,QAAM,CAAE,KAAE,IAAE,IAAE,OAAK,IAAE,KAAG,KAAI;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAO,KAAG,OAAO,QAAM,KAAG,KAAG,CAAC,MAAK;AAAC,iBAAM;AAAA;AAAG,YAAG,QAAM,IAAG;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAO,KAAG,SAAO,KAAG,SAAO,GAAE;AAAC,iBAAM;AAAA;AAAG,YAAG,WAAS,KAAG,WAAS,KAAG,WAAS,IAAG;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAQ;AAAC,oBAAQ,aAAa;AAAS,iBAAK,SAAS,SAAQ;AAAI,cAAG,MAAM,OAAM;AAAC,gBAAG,QAAM,MAAK;AAAC,qBAAM;AAAA;AAAG,mBAAM;AAAA;AAAA;AAAI,YAAG,CAAC,MAAK;AAAC,cAAG,WAAS,GAAE;AAAC,qBAAO;AAAA;AAAE,cAAI,SAAM,OAAK,GAAE;AAAC,gBAAG,WAAS,GAAE;AAAC,qBAAK,OAAO;AAAA,mBAAgB;AAAC,qBAAK,CAAC,GAAE,GAAE,GAAE;AAAA;AAAA;AAAI,eAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,iBAAO,QAAK,KAAG;AAAG,iBAAO;AAAA;AAAE,eAAK,aAAa;AAAM,eAAK,UAAU;AAAM,YAAG,SAAO,MAAK;AAAC,cAAG,WAAS,KAAG,WAAS,GAAE;AAAC,qBAAO;AAAA,qBAAU,WAAS,MAAI,QAAM,GAAE;AAAC,mBAAK,CAAC,GAAE,GAAE,OAAO,QAAO;AAAM,qBAAO;AAAA,iBAAO;AAAC,mBAAM;AAAA;AAAA,eAAQ;AAAC,iBAAK,UAAU;AAAM,cAAG,SAAO,MAAK;AAAC,gBAAG,WAAS,KAAG,WAAS,IAAG;AAAC,uBAAO;AAAA,mBAAO;AAAC,qBAAM;AAAA;AAAA;AAAA;AAAK,YAAG,QAAM,MAAK;AAAC,eAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,iBAAO,QAAK,KAAG;AAAG,iBAAO;AAAA;AAAE,YAAG,QAAM,GAAE;AAAC,iBAAM;AAAA;AAAG,eAAK,IAAI,YAAY;AAAM,eAAK,UAAU;AAAM,YAAG,WAAS,GAAE;AAAC,mBAAO;AAAA,mBAAU,WAAS,IAAG;AAAC,iBAAK,CAAC,GAAE,GAAE,OAAO,QAAO;AAAA;AAAM,aAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,eAAO,QAAK,KAAG;AAAG,eAAO;AAAA;AAAE,iCAA0B;AAAC,YAAG,OAAO,WAAS,YAAU,OAAO,OAAO,uBAAqB,YAAW;AAAC,cAAI,eAAa,IAAI,WAAW;AAAG,iBAAO,WAAU;AAAC,mBAAO,gBAAgB;AAAc,mBAAO,aAAa;AAAA;AAAA,mBAAY,qBAAoB;AAAC,cAAG;AAAC,gBAAI,gBAAc,UAAQ;AAAU,mBAAO,WAAU;AAAC,qBAAO,cAAc,eAAe,GAAG;AAAA;AAAA,mBAAU,GAAN;AAAA;AAAA;AAAW,eAAO,WAAU;AAAC,gBAAM;AAAA;AAAA;AAAiB,2BAAqB,SAAO,MAAK;AAAC,YAAG,CAAC,YAAY,cAAa;AAAC,sBAAY,eAAa;AAAA;AAAkB,iBAAQ,IAAE,GAAE,IAAE,MAAK,KAAI;AAAC,gBAAM,UAAO,KAAG,KAAG,YAAY;AAAA;AAAe,eAAO;AAAA;AAAE,4BAAsB,IAAG,OAAM,MAAK,SAAQ,MAAK,SAAQ,OAAM;AAAC,YAAI,OAAK,aAAa,IAAG;AAAO,YAAG,KAAK,OAAM;AAAC,iBAAM;AAAA;AAAG,YAAI,OAAK,KAAK;AAAK,YAAI,OAAK,KAAK;AAAK,YAAI,aAAW;AAAM,YAAG,QAAM,SAAQ;AAAC,cAAI;AAAO,cAAG,QAAM,KAAG,CAAE,UAAO,IAAI,YAAY,QAAO;AAAC,gBAAG,QAAM,GAAE;AAAC,qBAAM;AAAA;AAAA,iBAAQ;AAAC,mBAAK;AAAA;AAAO,cAAI,0BAAwB,aAAa,MAAK,MAAK;AAAS,cAAG,0BAAwB,KAAG,SAAQ;AAAC,yBAAW;AAAA;AAAA;AAAM,YAAG,QAAM,SAAQ;AAAC,iBAAK,KAAG;AAAK,cAAI,0BAAwB,aAAa,MAAK,MAAK;AAAS,cAAG,0BAAwB,KAAG,SAAQ;AAAC,yBAAW;AAAA;AAAA;AAAM,YAAG,YAAW;AAAC,iBAAM;AAAA;AAAI,eAAO;AAAA;AAAE,mCAA6B,MAAK;AAAC,eAAO;AAAA;AAAK,4BAAsB,KAAI;AAAC,oBAAY;AAAA;AAAK,4BAAsB,MAAK;AAAC,eAAO,OAAK,MAAI,KAAI,QAAK,QAAM,KAAG,OAAK,QAAM;AAAA;AAAG,0BAAoB,OAAM,OAAM;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,KAAG,OAAM,OAAK,MAAM,MAAK;AAAA;AAAE,eAAO;AAAA;AAAI,UAAI,oBAAkB,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAI,UAAI,uBAAqB,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAI,yBAAmB,MAAK,MAAK;AAAC,YAAI,UAAQ,IAAI,KAAK,KAAK;AAAW,eAAM,OAAK,GAAE;AAAC,cAAI,OAAK,aAAa,QAAQ;AAAe,cAAI,eAAa,QAAQ;AAAW,cAAI,qBAAoB,QAAK,oBAAkB,sBAAsB;AAAc,cAAG,OAAK,qBAAmB,QAAQ,WAAU;AAAC,oBAAM,qBAAmB,QAAQ,YAAU;AAAE,oBAAQ,QAAQ;AAAG,gBAAG,eAAa,IAAG;AAAC,sBAAQ,SAAS,eAAa;AAAA,mBAAO;AAAC,sBAAQ,SAAS;AAAG,sBAAQ,YAAY,QAAQ,gBAAc;AAAA;AAAA,iBAAQ;AAAC,oBAAQ,QAAQ,QAAQ,YAAU;AAAM,mBAAO;AAAA;AAAA;AAAS,eAAO;AAAA;AAAQ,yBAAmB,GAAE,SAAQ,QAAO,IAAG;AAAC,YAAI,UAAQ,OAAO,KAAG,MAAI;AAAG,YAAI,OAAK,EAAC,QAAO,OAAO,MAAI,IAAG,QAAO,OAAO,KAAG,KAAG,IAAG,SAAQ,OAAO,KAAG,KAAG,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,QAAO,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,UAAS,OAAO,KAAG,MAAI,IAAG,WAAU,OAAO,KAAG,MAAI,IAAG,SAAQ,UAAQ,aAAa,WAAS;AAAI,YAAI,UAAQ,aAAa;AAAQ,YAAI,oBAAkB,EAAC,MAAK,wBAAuB,MAAK,YAAW,MAAK,YAAW,MAAK,MAAK,MAAK,eAAc,MAAK,SAAQ,MAAK,YAAW,MAAK,YAAW,MAAK,YAAW,OAAM,MAAK,OAAM,MAAK,OAAM,YAAW,OAAM,YAAW,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM;AAAM,iBAAQ,QAAQ,mBAAkB;AAAC,oBAAQ,QAAQ,QAAQ,IAAI,OAAO,MAAK,MAAK,kBAAkB;AAAA;AAAO,YAAI,WAAS,CAAC,UAAS,UAAS,WAAU,aAAY,YAAW,UAAS;AAAY,YAAI,SAAO,CAAC,WAAU,YAAW,SAAQ,SAAQ,OAAM,QAAO,QAAO,UAAS,aAAY,WAAU,YAAW;AAAY,kCAA0B,OAAM,QAAO,WAAU;AAAC,cAAI,MAAI,OAAO,UAAQ,WAAS,MAAM,aAAW,SAAO;AAAG,iBAAM,IAAI,SAAO,QAAO;AAAC,kBAAI,UAAU,KAAG;AAAA;AAAI,iBAAO;AAAA;AAAI,8BAAsB,OAAM,QAAO;AAAC,iBAAO,iBAAiB,OAAM,QAAO;AAAA;AAAK,8BAAsB,OAAM,OAAM;AAAC,uBAAa,OAAM;AAAC,mBAAO,QAAM,IAAE,KAAG,QAAM,IAAE,IAAE;AAAA;AAAE,cAAI;AAAQ,cAAI,WAAQ,IAAI,MAAM,gBAAc,MAAM,oBAAkB,GAAE;AAAC,gBAAI,WAAQ,IAAI,MAAM,aAAW,MAAM,iBAAe,GAAE;AAAC,wBAAQ,IAAI,MAAM,YAAU,MAAM;AAAA;AAAA;AAAY,iBAAO;AAAA;AAAQ,uCAA+B,WAAU;AAAC,kBAAO,UAAU;AAAA,iBAAe;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA,iBAAS;AAAE,qBAAO;AAAA,iBAAe;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA,iBAAS;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA;AAAA;AAAK,kCAA0B,OAAK;AAAC,cAAI,WAAS,UAAU,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE,IAAG,MAAK;AAAS,cAAI,oBAAkB,IAAI,KAAK,SAAS,eAAc,GAAE;AAAG,cAAI,oBAAkB,IAAI,KAAK,SAAS,gBAAc,GAAE,GAAE;AAAG,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,yBAAuB,sBAAsB;AAAmB,cAAG,aAAa,wBAAuB,aAAW,GAAE;AAAC,gBAAG,aAAa,wBAAuB,aAAW,GAAE;AAAC,qBAAO,SAAS,gBAAc;AAAA,mBAAM;AAAC,qBAAO,SAAS;AAAA;AAAA,iBAAmB;AAAC,mBAAO,SAAS,gBAAc;AAAA;AAAA;AAAG,YAAI,oBAAkB,EAAC,MAAK,SAAS,OAAK;AAAC,iBAAO,SAAS,MAAK,SAAS,UAAU,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,SAAS,MAAK;AAAA,WAAU,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAO,MAAK,QAAQ,UAAU,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAO,MAAK;AAAA,WAAS,MAAK,SAAS,OAAK;AAAC,cAAI,OAAK,MAAK,UAAQ;AAAK,iBAAO,aAAa,OAAK,MAAI,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAQ;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB,MAAK,SAAQ,GAAE;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB,OAAM,WAAW,UAAU;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB;AAAA,WAAO,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAQ;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,cAAI,aAAW,MAAK;AAAQ,cAAG,cAAY;AAAE,yBAAW;AAAA,mBAAW,aAAW;AAAG,0BAAY;AAAG,iBAAO,aAAa,YAAW;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,UAAQ,WAAW,aAAa,MAAK,UAAQ,QAAM,oBAAkB,sBAAqB,MAAK,SAAO,IAAG;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAO,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,QAAO;AAAA,WAAI,MAAK,WAAU;AAAC,iBAAM;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAG,MAAK,WAAS,KAAG,MAAK,UAAQ,IAAG;AAAC,mBAAM;AAAA,iBAAS;AAAC,mBAAM;AAAA;AAAA,WAAO,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,QAAO;AAAA,WAAI,MAAK,WAAU;AAAC,iBAAM;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK,WAAS;AAAA,WAAG,MAAK,SAAS,OAAK;AAAC,cAAI,WAAS,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,cAAY,SAAS,aAAW,IAAE,WAAS,UAAU,UAAS,IAAE,SAAS;AAAU,cAAI,UAAQ,IAAI,KAAK,MAAK,UAAQ,MAAK,MAAK,QAAO,MAAK;AAAS,cAAG,aAAa,aAAY,WAAS,GAAE;AAAC,gBAAI,6BAA2B,WAAW,aAAa,QAAQ,iBAAe,oBAAkB,sBAAqB,QAAQ,aAAW,KAAG;AAAG,gBAAI,6BAA2B,KAAG,YAAY;AAAU,gBAAI,OAAK,6BAA2B,6BAA2B,QAAQ;AAAU,mBAAO,aAAa,KAAK,KAAK,OAAK,IAAG;AAAA;AAAG,iBAAO,aAAa,aAAY,cAAY,IAAE,OAAK;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAI,oBAAkB,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,oBAAkB,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,UAAQ,UAAU,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE,IAAG,MAAK;AAAS,cAAG,aAAa,SAAQ,0BAAwB,GAAE;AAAC,mBAAM;AAAA;AAAK,cAAG,aAAa,wBAAuB,YAAU,GAAE;AAAC,mBAAM;AAAA;AAAK,cAAI;AAAe,cAAG,uBAAuB,gBAAc,MAAK,UAAQ,MAAK;AAAC,6BAAe,MAAK,UAAQ,KAAG,uBAAuB;AAAA,iBAAc;AAAC,6BAAe,MAAK,UAAQ,IAAE,uBAAuB;AAAA;AAAU,iBAAO,aAAa,KAAK,KAAK,iBAAe,IAAG;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK;AAAA,WAAS,MAAK,SAAS,OAAK;AAAC,cAAI,WAAS,IAAI,KAAK,MAAK,SAAQ,GAAE;AAAG,cAAI,cAAY,SAAS,aAAW,IAAE,WAAS,UAAU,UAAS,SAAS,aAAW,IAAE,IAAE,IAAE,SAAS,WAAS;AAAG,cAAI,UAAQ,IAAI,KAAK,MAAK,UAAQ,MAAK,MAAK,QAAO,MAAK;AAAS,cAAG,aAAa,aAAY,WAAS,GAAE;AAAC,gBAAI,6BAA2B,WAAW,aAAa,QAAQ,iBAAe,oBAAkB,sBAAqB,QAAQ,aAAW,KAAG;AAAG,gBAAI,6BAA2B,KAAG,YAAY;AAAU,gBAAI,OAAK,6BAA2B,6BAA2B,QAAQ;AAAU,mBAAO,aAAa,KAAK,KAAK,OAAK,IAAG;AAAA;AAAG,iBAAO,aAAa,aAAY,cAAY,IAAE,OAAK;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAK,UAAQ,MAAM,WAAW,UAAU;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK,UAAQ;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAI,MAAI,MAAK;AAAU,cAAI,QAAM,OAAK;AAAE,gBAAI,KAAK,IAAI,OAAK;AAAG,gBAAI,MAAI,KAAG,MAAI,MAAI;AAAG,iBAAO,SAAM,MAAI,OAAK,OAAO,SAAO,KAAK,MAAM;AAAA,WAAK,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK;AAAA,WAAS,MAAK,WAAU;AAAC,iBAAM;AAAA;AAAM,iBAAQ,QAAQ,mBAAkB;AAAC,cAAG,QAAQ,SAAS,OAAM;AAAC,sBAAQ,QAAQ,QAAQ,IAAI,OAAO,MAAK,MAAK,kBAAkB,MAAM;AAAA;AAAA;AAAQ,YAAI,QAAM,mBAAmB,SAAQ;AAAO,YAAG,MAAM,SAAO,SAAQ;AAAC,iBAAO;AAAA;AAAE,2BAAmB,OAAM;AAAG,eAAO,MAAM,SAAO;AAAA;AAAE,2BAAqB,GAAE,SAAQ,QAAO,IAAG;AAAC,eAAO,UAAU,GAAE,SAAQ,QAAO;AAAA;AAAI,kCAA4B,SAAQ,aAAY,QAAO;AAAC,YAAI,MAAI,SAAO,IAAE,SAAO,gBAAgB,WAAS;AAAE,YAAI,UAAQ,IAAI,MAAM;AAAK,YAAI,kBAAgB,kBAAkB,SAAQ,SAAQ,GAAE,QAAQ;AAAQ,YAAG;AAAY,kBAAQ,SAAO;AAAgB,eAAO;AAAA;AAAQ,UAAI,gBAAc,EAAC,KAAI,gBAAe,KAAI,2BAA0B,KAAI,oBAAmB,KAAI,kBAAiB,KAAI,8BAA6B,KAAI,8BAA6B,KAAI,8BAA6B,KAAI,8BAA6B,KAAI,uBAAsB,MAAK,gBAAe,KAAI,cAAa,KAAI,4BAA2B,KAAI,oBAAmB,MAAK,uBAAsB,MAAK,mBAAkB,MAAK,iBAAgB,MAAK,oBAAmB,KAAI,oBAAmB,MAAK,oBAAmB,MAAK,sBAAqB,MAAK,wBAAuB,MAAK,uBAAsB,MAAK,wBAAuB,MAAK,uBAAsB,MAAK,kBAAiB,MAAK,oBAAmB,MAAK,kBAAiB,MAAK,iBAAgB,MAAK,qBAAoB,MAAK,mBAAkB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,mBAAkB,MAAK,mBAAkB,MAAK,mBAAkB,MAAK,aAAY,MAAK,YAAW,KAAI,QAAO,MAAK,gBAAe,MAAK,iCAAgC,MAAK,iCAAgC,MAAK,qCAAoC,MAAK,iCAAgC,MAAK,2BAA0B,MAAK,4BAA2B,MAAK,4CAA2C,MAAK,0BAAyB,MAAK,0BAAyB,MAAK,0BAAyB,MAAK,8BAA6B,MAAK,2BAA0B,MAAK,qBAAoB,MAAK,mCAAkC,MAAK,6BAA4B,MAAK,0BAAyB,MAAK,wBAAuB,MAAK,yBAAwB,MAAK,cAAa,MAAK,oBAAmB,KAAI,WAAU,MAAK,WAAU,MAAK,YAAW,MAAK,UAAS,MAAK,UAAS,MAAK,UAAS,MAAK,WAAU,KAAI,cAAa,MAAK,cAAa,MAAK,aAAY,MAAK,cAAa,MAAK,UAAS,KAAI,WAAU,MAAK,YAAW,KAAI,aAAY,MAAK,eAAc,MAAK,UAAS,KAAI,WAAU,MAAK,aAAY,MAAK,eAAc,KAAI,UAAS,MAAK,WAAU,MAAK,YAAW,KAAI,cAAa,MAAK,WAAU,MAAK,YAAW,KAAI,WAAU,MAAK,YAAW,KAAI,cAAa,MAAK,aAAY,KAAI,YAAW,KAAI,aAAY,MAAK,aAAY,KAAI,aAAY,MAAK,gBAAe,KAAI,cAAa,MAAK,eAAc,KAAI,eAAc,KAAI,gBAAe,KAAI,iBAAgB,KAAI,kBAAiB,KAAI,oBAAmB,KAAI,qBAAoB,KAAI,wBAAuB,KAAI,6BAA4B,KAAI,8BAA6B,MAAK,sBAAqB,MAAK,qBAAoB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,oBAAmB,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,gBAAe,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,eAAc,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,gBAAe,MAAK,iBAAgB,MAAK,YAAW,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,gBAAe,MAAK,eAAc,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,gBAAe,MAAK,cAAa,MAAK,WAAU,MAAK,YAAW,MAAK,aAAY,MAAK,eAAc,MAAK,UAAS,MAAK,WAAU,MAAK,WAAU,MAAK,WAAU,MAAK,YAAW,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,mBAAkB,MAAK,oBAAmB,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,eAAc,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,iBAAgB,MAAK,iBAAgB,MAAK,YAAW,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,aAAY,MAAK,eAAc,MAAK,WAAU,MAAK,YAAW,MAAK,YAAW,MAAK,cAAa,MAAK,gBAAe,KAAI,UAAS,KAAI,WAAU,KAAI,YAAW,MAAK,aAAY,MAAK,gBAAe,KAAI,YAAW,MAAK,aAAY,MAAK,gBAAe,KAAI,YAAW,KAAI,aAAY,KAAI,eAAc,MAAK,aAAY,KAAI,aAAY,KAAI,cAAa,MAAK,mBAAkB,KAAI,eAAc,KAAI,gBAAe,MAAK,oBAAmB,KAAI,iBAAgB,KAAI,kBAAiB,KAAI,mBAAkB,KAAI,oBAAmB,MAAK,qBAAoB,MAAK,uBAAsB,KAAI,yBAAwB,MAAK,iBAAgB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,mBAAkB,MAAK,oBAAmB,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,oBAAmB,MAAK,uBAAsB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,qBAAoB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,mBAAkB,MAAK,kBAAiB,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,iBAAgB,MAAK,gBAAe,MAAK,kBAAiB,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,mBAAkB,MAAK,mBAAkB,MAAK,iBAAgB,MAAK,gBAAe,MAAK,iBAAgB,MAAK,iBAAgB,MAAK,eAAc,MAAK,gBAAe,MAAK,sBAAqB,MAAK,gBAAe,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,gBAAe,MAAK,eAAc,MAAK,gBAAe,MAAK,YAAW,MAAK,aAAY,MAAK,cAAa,MAAK,eAAc,MAAK,gBAAe,MAAK,iBAAgB,MAAK,gBAAe,MAAK,cAAa,MAAK,qBAAoB,MAAK,eAAc,MAAK,oBAAmB,MAAK,kBAAiB,MAAK,iBAAgB,MAAK,aAAY,MAAK,cAAa,MAAK,iBAAgB,MAAK,kBAAiB,MAAK,eAAc,MAAK,cAAa,MAAK,eAAc,MAAK,WAAU,MAAK,aAAY,MAAK,eAAc,MAAK,gBAAe,MAAK,cAAa,MAAK,gBAAe,KAAI,qBAAoB,KAAI,cAAa,MAAK;AAAa,UAAI,MAAI;AAAa,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,QAAM,OAAO,WAAS,WAAU;AAAC,eAAO,SAAM,OAAO,WAAS,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,+BAA6B,OAAO,kCAAgC,WAAU;AAAC,eAAO,gCAA6B,OAAO,kCAAgC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,0BAAwB,OAAO,6BAA2B,WAAU;AAAC,eAAO,2BAAwB,OAAO,6BAA2B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iCAA+B,OAAO,oCAAkC,WAAU;AAAC,eAAO,kCAA+B,OAAO,oCAAkC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2BAAyB,OAAO,8BAA4B,WAAU;AAAC,eAAO,4BAAyB,OAAO,8BAA4B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,4BAA0B,OAAO,+BAA6B,WAAU;AAAC,eAAO,6BAA0B,OAAO,+BAA6B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iCAA+B,OAAO,oCAAkC,WAAU;AAAC,eAAO,kCAA+B,OAAO,oCAAkC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qCAAmC,OAAO,wCAAsC,WAAU;AAAC,eAAO,sCAAmC,OAAO,wCAAsC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uCAAqC,OAAO,0CAAwC,WAAU;AAAC,eAAO,wCAAqC,OAAO,0CAAwC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qCAAmC,OAAO,wCAAsC,WAAU;AAAC,eAAO,sCAAmC,OAAO,wCAAsC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sCAAoC,OAAO,yCAAuC,WAAU;AAAC,eAAO,uCAAoC,OAAO,yCAAuC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kCAAgC,OAAO,qCAAmC,WAAU;AAAC,eAAO,mCAAgC,OAAO,qCAAmC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,0BAAwB,OAAO,6BAA2B,WAAU;AAAC,eAAO,2BAAwB,OAAO,6BAA2B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uBAAqB,OAAO,0BAAwB,WAAU;AAAC,eAAO,wBAAqB,OAAO,0BAAwB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,8BAA4B,OAAO,iCAA+B,WAAU;AAAC,eAAO,+BAA4B,OAAO,iCAA+B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2BAAyB,OAAO,8BAA4B,WAAU;AAAC,eAAO,4BAAyB,OAAO,8BAA4B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,4BAA0B,OAAO,+BAA6B,WAAU;AAAC,eAAO,6BAA0B,OAAO,+BAA6B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kCAAgC,OAAO,qCAAmC,WAAU;AAAC,eAAO,mCAAgC,OAAO,qCAAmC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2CAAyC,OAAO,8CAA4C,WAAU;AAAC,eAAO,4CAAyC,OAAO,8CAA4C,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oCAAkC,OAAO,uCAAqC,WAAU;AAAC,eAAO,qCAAkC,OAAO,uCAAqC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,YAAU,OAAO,eAAa,WAAU;AAAC,eAAO,aAAU,OAAO,eAAa,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,YAAU,OAAO,eAAa,WAAU;AAAC,eAAO,aAAU,OAAO,eAAa,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,UAAQ,OAAO,aAAW,WAAU;AAAC,eAAO,WAAQ,OAAO,aAAW,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,QAAM,OAAO,WAAS,WAAU;AAAC,eAAO,SAAM,OAAO,WAAS,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,YAAU,OAAO,eAAa,WAAU;AAAC,eAAO,aAAU,OAAO,eAAa,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uBAAqB,OAAO,0BAAwB,WAAU;AAAC,eAAO,wBAAqB,OAAO,0BAAwB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uBAAqB,OAAO,0BAAwB,WAAU;AAAC,eAAO,wBAAqB,OAAO,0BAAwB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uBAAqB,OAAO,0BAAwB,WAAU;AAAC,eAAO,wBAAqB,OAAO,0BAAwB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gBAAc,OAAO,mBAAiB,WAAU;AAAC,eAAO,iBAAc,OAAO,mBAAiB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,cAAY,OAAO,iBAAe,WAAU;AAAC,eAAO,eAAY,OAAO,iBAAe,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iBAAe,OAAO,oBAAkB,WAAU;AAAC,eAAO,kBAAe,OAAO,oBAAkB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kBAAgB,OAAO,qBAAmB,WAAU;AAAC,eAAO,mBAAgB,OAAO,qBAAmB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,wBAAkB,OAAM;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB;AAAA,iBAAe,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,wBAAkB,OAAM;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB;AAAA,iBAAe,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,mCAA6B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,uCAAiC,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,sCAAgC,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,qCAA+B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,wBAAkB,OAAM;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB;AAAA,iBAAe,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,wBAAkB,OAAM;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB;AAAA,iBAAe,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4CAAsC,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2CAAqC,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAO,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,mCAA6B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAO,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,WAAW,OAAM;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,wBAAkB,OAAM;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,UAAU;AAAA,iBAAa,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,uBAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,sBAAY,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,uBAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,uBAAa,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,qBAAW,OAAM,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,8BAAoB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,oBAAoB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,wBAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,mBAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,mCAA6B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,+BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,oCAA8B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,gCAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,mBAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,8BAAoB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,mBAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,oBAAoB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,WAAW,OAAM,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,WAAW,OAAM;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,WAAW,OAAM;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,mBAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,mCAA6B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,+BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,mCAA6B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,qBAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,oCAA8B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,sBAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,yBAAmB,OAAM,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,WAAW,OAAM,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,yBAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,qCAA+B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iCAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,uBAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,kBAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,4BAAsB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,cAAc,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,0BAAoB,OAAM,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,YAAY,OAAM,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,6BAAuB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,eAAe,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,2BAAqB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,aAAa,OAAM,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,iBAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,iCAA2B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,6BAAmB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,iBAAO,gBAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,8BAAwB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,0BAAgB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,kCAA4B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,8BAAoB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAU,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,+BAAyB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,2BAAiB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,gCAA0B,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI;AAAC,YAAI,KAAG;AAAY,YAAG;AAAC,4BAAkB,OAAM,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI;AAAA,iBAAW,GAAN;AAAS,uBAAa;AAAI,cAAG,MAAI,IAAE,KAAG,MAAI;AAAU,kBAAM;AAAE,oBAAU,GAAE;AAAA;AAAA;AAAI,aAAO,WAAS;AAAM,UAAI;AAAU,0BAAoB,QAAO;AAAC,aAAK,OAAK;AAAa,aAAK,UAAQ,kCAAgC,SAAO;AAAI,aAAK,SAAO;AAAA;AAAO,UAAI,aAAW;AAAM,8BAAsB,qBAAoB;AAAC,YAAG,CAAC;AAAU;AAAM,YAAG,CAAC;AAAU,kCAAsB;AAAA;AAAW,wBAAkB,MAAK;AAAC,YAAI,gBAAc,OAAO;AAAS,YAAI,OAAK;AAAE,YAAI,OAAK;AAAE,YAAG;AAAC,cAAI,MAAI,cAAc,MAAK;AAAM,eAAK,KAAI;AAAM,iBAAO;AAAA,iBAAU,GAAN;AAAS,iBAAO,gBAAgB;AAAA,kBAAG;AAAQ,uBAAW;AAAA;AAAA;AAAM,mBAAa,MAAK;AAAC,eAAK,QAAM;AAAW,YAAG,kBAAgB,GAAE;AAAC;AAAA;AAAO;AAAS,YAAG,kBAAgB,GAAE;AAAC;AAAA;AAAO,yBAAgB;AAAC,cAAG;AAAU;AAAO,sBAAU;AAAK,iBAAO,eAAa;AAAK,cAAG;AAAM;AAAO;AAAc;AAAU,8BAAoB;AAAQ,cAAG,OAAO;AAAwB,mBAAO;AAA0B,cAAG;AAAa,qBAAS;AAAM;AAAA;AAAU,YAAG,OAAO,cAAa;AAAC,iBAAO,aAAa;AAAc,qBAAW,WAAU;AAAC,uBAAW,WAAU;AAAC,qBAAO,aAAa;AAAA,eAAK;AAAG;AAAA,aAAS;AAAA,eAAO;AAAC;AAAA;AAAA;AAAS,aAAO,SAAO;AAAI,oBAAc,QAAO,UAAS;AAAC,qBAAW;AAAO,YAAG,oBAAmB;AAAA,eAAM;AAAC;AAAA;AAAc,iBAAS;AAAA;AAAQ,wBAAkB,MAAK;AAAC,qBAAW;AAAK,YAAG,CAAC,oBAAmB;AAAC,cAAG,OAAO;AAAU,mBAAO,UAAU;AAAM,kBAAM;AAAA;AAAK,cAAM,MAAK,IAAI,WAAW;AAAA;AAAO,UAAG,OAAO,YAAW;AAAC,YAAG,OAAO,OAAO,cAAY;AAAW,iBAAO,aAAW,CAAC,OAAO;AAAY,eAAM,OAAO,WAAW,SAAO,GAAE;AAAC,iBAAO,WAAW;AAAA;AAAA;AAAS,UAAI,eAAa;AAAK,UAAG,OAAO;AAAgB,uBAAa;AAAM;AAG1rpI,aAAO,QAAO;AAAA;AAAA;AAIhB,MAAO,qBAAQ;;;ACPR,4CAA6C,mBAAmB;AAAA,IAO5D,YAAY,QAAgB,SAAwB,eAAuB,kBAAiC;AAC/G,YAAM,QAAQ;AACd,WAAK,gBAAgB;AACrB,WAAK,mBAAmB;AAAA;AAAA,IAIlB,WAAW,MAAc,QAAwB;AACvD,UAAI,KAAK,SAAS,UAAU;AACxB,eAAO,KAAK;AAAA;AAEhB,UAAI,KAAK,SAAS,eAAe;AAC7B,YAAI,CAAC,KAAK,kBAAkB;AACxB,gBAAM,IAAI,MAAM;AAAA;AAEpB,eAAO,KAAK;AAAA;AAEhB,YAAM,IAAI,MAAM,wDAAwD,eAAe;AAAA;AAAA,IAIjF,gBAEN,SACA,SAC6B;AAC7B,iBAAW,iBAAiB,KAAK;AACjC,YAAM,WAAW,KAAK;AAGtB,UACI,OAAO,oBAAoB,cAC3B,eAAe,UAAU,eACzB,YAAY,sBACd;AASE,cAAM,oBAAoB,YAAY;AAElC,gBAAM,UAAU,IAAI,QAAQ,KAAK;AACjC,gBAAM,YAAW,MAAM,MAAM;AAC7B,gBAAM,mBAAmB,UAAS,QAAQ,IAAI;AAC9C,gBAAM,gBAAgB,mBAAmB,SAAS,kBAAkB,OAAO,IAAI;AAG/E,gBAAM,QAAQ,IAAI;AAClB,gBAAM,WAAkC;AAAA,YACpC,WAAW;AAAA,YACX,WAAW;AAAA,YACX,YAAY,iBAAiB;AAAA,YAC7B,aAAa;AAAA;AAEjB,gBAAM,UAAU;AAAA,YACZ,UAAU,OAAY,MAAwC;AAC1D,uBAAS,eAAe,MAAM;AAC9B,oBAAM,MAAM,IAAI;AAChB,kBAAI,IAAI,YAAY,SAAS,UAAU,YAAY,IAAI;AACnD,yBAAS,YAAY;AACrB,qBAAK,QAAQ;AACb;AAAA;AAEJ,yBAAW,KAAK,UAAU;AACtB,kBAAE;AAAA;AAEN,mBAAK,QAAQ;AAAA;AAAA;AAGrB,gBAAM,KAAK,IAAI,gBAAgB;AAC/B,iBAAO,IAAI,SAAS,UAAS,MAAM,YAAY,KAAK;AAAA;AAGxD,cAAM,WAAW;AACjB,oBAAY,qBAAqB,UAAU,SAAS,KAAK,YAAU;AAC/D,kBAAQ,OAAO,UAAU,OAAO;AAAA;AAAA,aAEjC;AAEH,cAAM,MAAM,IAAI;AAChB,cAAM,MAAM,KAAK;AACjB,cAAM,QAAQ,IAAI;AAClB,cAAM,WAAkC;AAAA,UACpC,WAAW;AAAA,UACX,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,aAAa;AAAA;AAEjB,YAAI,KAAK,OAAO;AAChB,YAAI,eAAe;AACnB,YAAI,UAAU,WAAS;AACnB,eAAK,OAAO,IAAI;AAAA,YACZ,WAAW,IAAI;AAAA,YACf,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO,0BAA0B;AAAA;AAErC,gBAAM,IAAI,MAAM,MAAM;AAAA;AAE1B,YAAI,aAAa,OAAK;AAClB,mBAAS,aAAa,EAAE;AACxB,mBAAS,cAAc,EAAE;AACzB,gBAAM,MAAM,IAAI;AAChB,cAAI,IAAI,YAAY,SAAS,UAAU,YAAY,IAAI;AACnD,qBAAS,YAAY;AACrB;AAAA;AAEJ,qBAAW,KAAK,UAAU;AACtB,cAAE;AAAA;AAAA;AAGV,YAAI,SAAS,MAAM;AACf,sBAAY,YAAY,IAAI,UAAU,SACjC,KAAK,YAAU;AACZ,oBAAQ,OAAO,UAAU,OAAO;AAAA,aAEnC,MAAM,WAAS;AACZ,iBAAK,OAAO,IAAI;AAAA,cACZ,WAAW,IAAI;AAAA,cACf,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,OAAO;AAAA,cACP,OAAO;AAAA,cACP,OAAO,iCAAiC;AAAA;AAE5C,kBAAM,IAAI,MAAM;AAAA;AAAA;AAG5B,YAAI;AAAA;AAER,aAAO;AAAA;AAAA;;;AChJR,8BAAqB,sBAAsB;AAAA,IAEvC,YACH,QACA,SACA,eACA,mBAAkC,MACpC;AACE,YAAM,QAAQ,SAAS,eAAe;AAAA;AAAA,IAIhC,gBAAgB,iBAA+D;AACrF,aAAO,mBAAW;AAAA,WACX;AAAA,QACH,iBAAiB,KAAK,gBAAgB,KAAK;AAAA,QAC3C,YAAY,KAAK,WAAW,KAAK;AAAA;AAAA;AAAA;;;ACvB7C;AACA,MAAI,UAAU,OAAM;AAClB,QAAI,aAAa,aAAY;AAE7B,WACF,SAAS,SAAQ;AACf,gBAAS,WAAU;AAErB,UAAI,SAAO,OAAO,YAAS,cAAY,UAAO;AAAG,UAAI,YAAU,OAAO;AAAO,UAAI,qBAAoB;AAAmB,aAAO,WAAS,IAAI,QAAQ,SAAS,SAAQ,QAAO;AAAC,8BAAoB;AAAQ,6BAAmB;AAAA;AAAS,UAAI,kBAAgB,UAAU,IAAG;AAAQ,UAAI,aAAW;AAAG,UAAI,cAAY;AAAiB,UAAI,QAAM,CAAC,QAAO,YAAU;AAAC,cAAM;AAAA;AAAS,UAAI,qBAAmB,OAAO,WAAS;AAAS,UAAI,wBAAsB,OAAO,kBAAgB;AAAW,UAAI,sBAAoB,OAAO,YAAU,YAAU,OAAO,QAAQ,aAAW,YAAU,OAAO,QAAQ,SAAS,SAAO;AAAS,UAAI,kBAAgB;AAAG,0BAAoB,MAAK;AAAC,YAAG,OAAO,eAAc;AAAC,iBAAO,OAAO,cAAc,MAAK;AAAA;AAAiB,eAAO,kBAAgB;AAAA;AAAK,UAAI,OAAM,WAAU,YAAW;AAAe,kCAA4B,GAAE;AAAC,YAAG,aAAa;AAAW;AAAO,YAAI,QAAM;AAAE,YAAI,+BAA6B;AAAA;AAAO,UAAI;AAAG,UAAI;AAAS,UAAI;AAAc,UAAG,qBAAoB;AAAC,YAAG,uBAAsB;AAAC,4BAAgB,eAAgB,QAAQ,mBAAiB;AAAA,eAAQ;AAAC,4BAAgB,YAAU;AAAA;AAAI,wBAAc,WAAU;AAAC,cAAG,CAAC,UAAS;AAAC,iBAAG;AAAc,uBAAS;AAAA;AAAA;AAAkB,gBAAM,oBAAoB,UAAS,QAAO;AAAC;AAAgB,qBAAS,SAAS,aAAa;AAAU,iBAAO,GAAG,aAAa,UAAS,SAAO,OAAK;AAAA;AAAS,qBAAW,qBAAoB,UAAS;AAAC,cAAI,MAAI,MAAM,UAAS;AAAM,cAAG,CAAC,IAAI,QAAO;AAAC,kBAAI,IAAI,WAAW;AAAA;AAAK,iBAAO;AAAA;AAAK,oBAAU,oBAAmB,UAAS,QAAO,SAAQ;AAAC;AAAgB,qBAAS,SAAS,aAAa;AAAU,aAAG,SAAS,UAAS,SAAS,MAAI,MAAK;AAAC,gBAAG;AAAI,sBAAQ;AAAA;AAAU,qBAAO,KAAK;AAAA;AAAA;AAAW,YAAG,QAAQ,QAAQ,SAAO,GAAE;AAAC,wBAAY,QAAQ,QAAQ,GAAG,QAAQ,OAAM;AAAA;AAAK,qBAAW,QAAQ,QAAQ,MAAM;AAAG,gBAAQ,MAAM,qBAAoB,SAAS,IAAG;AAAC,cAAG,CAAE,eAAc,aAAY;AAAC,kBAAM;AAAA;AAAA;AAAM,gBAAQ,MAAM,sBAAqB,SAAS,QAAO;AAAC,gBAAM;AAAA;AAAS,gBAAO,CAAC,QAAO,YAAU;AAAC,cAAG,oBAAmB;AAAC,oBAAQ,cAAY;AAAO,kBAAM;AAAA;AAAQ,6BAAmB;AAAS,kBAAQ,QAAQ;AAAA;AAAU,eAAO,aAAW,WAAU;AAAC,iBAAM;AAAA;AAAA,iBAAsC,sBAAoB,uBAAsB;AAAC,YAAG,uBAAsB;AAAC,4BAAgB,KAAK,SAAS;AAAA,mBAAa,OAAO,aAAW,eAAa,SAAS,eAAc;AAAC,4BAAgB,SAAS,cAAc;AAAA;AAAI,YAAG,YAAW;AAAC,4BAAgB;AAAA;AAAW,YAAG,gBAAgB,QAAQ,aAAW,GAAE;AAAC,4BAAgB,gBAAgB,OAAO,GAAE,gBAAgB,QAAQ,UAAS,IAAI,YAAY,OAAK;AAAA,eAAO;AAAC,4BAAgB;AAAA;AAAG;AAAC,kBAAM,SAAS,KAAI;AAAC,gBAAI,MAAI,IAAI;AAAe,gBAAI,KAAK,OAAM,KAAI;AAAO,gBAAI,KAAK;AAAM,mBAAO,IAAI;AAAA;AAAc,cAAG,uBAAsB;AAAC,yBAAW,SAAS,KAAI;AAAC,kBAAI,MAAI,IAAI;AAAe,kBAAI,KAAK,OAAM,KAAI;AAAO,kBAAI,eAAa;AAAc,kBAAI,KAAK;AAAM,qBAAO,IAAI,WAAW,IAAI;AAAA;AAAA;AAAW,sBAAU,SAAS,KAAI,QAAO,SAAQ;AAAC,gBAAI,MAAI,IAAI;AAAe,gBAAI,KAAK,OAAM,KAAI;AAAM,gBAAI,eAAa;AAAc,gBAAI,SAAO,WAAU;AAAC,kBAAG,IAAI,UAAQ,OAAK,IAAI,UAAQ,KAAG,IAAI,UAAS;AAAC,uBAAO,IAAI;AAAU;AAAA;AAAO;AAAA;AAAW,gBAAI,UAAQ;AAAQ,gBAAI,KAAK;AAAA;AAAA;AAAO,yBAAgB,WAAO,SAAS,QAAM;AAAA,aAAW;AAAA;AAAE,UAAI,MAAI,OAAO,YAAU,QAAQ,IAAI,KAAK;AAAS,UAAI,MAAI,OAAO,eAAa,QAAQ,KAAK,KAAK;AAAS,gBAAU,QAAO;AAAiB,wBAAgB;AAAK,UAAG,OAAO;AAAa,qBAAW,OAAO;AAAa,UAAG,OAAO;AAAe,sBAAY,OAAO;AAAe,UAAG,OAAO;AAAQ,gBAAM,OAAO;AAAQ,UAAI;AAAW,UAAG,OAAO;AAAc,qBAAW,OAAO;AAAc,UAAI,gBAAc,OAAO,oBAAkB;AAAK,UAAG,OAAO,gBAAc,UAAS;AAAC,cAAM;AAAA;AAAmC,UAAI;AAAW,UAAI,QAAM;AAAM,UAAI;AAAW,sBAAgB,WAAU,MAAK;AAAC,YAAG,CAAC,WAAU;AAAC,gBAAM;AAAA;AAAA;AAAO,wBAAkB,OAAM;AAAC,YAAI,OAAK,OAAO,MAAI;AAAO,eAAO;AAAA;AAAK,qBAAe,OAAM,YAAW,UAAS,MAAK,MAAK;AAAC,YAAI,MAAI,EAAC,UAAS,SAAS,KAAI;AAAC,cAAI,OAAI;AAAE,cAAG,QAAM,QAAM,QAAM,UAAW,QAAM,GAAE;AAAC,gBAAI,MAAK,KAAI,UAAQ,KAAG;AAAE,mBAAI,WAAW;AAAK,yBAAa,KAAI,MAAI;AAAA;AAAK,iBAAO;AAAA,WAAK,SAAQ,SAAS,KAAI;AAAC,cAAI,OAAI,WAAW,IAAI;AAAQ,6BAAmB,KAAI;AAAK,iBAAO;AAAA;AAAM,oCAA4B,MAAI;AAAC,cAAG,eAAa;AAAS,mBAAO,aAAa;AAAK,cAAG,eAAa;AAAU,mBAAO,QAAQ;AAAK,iBAAO;AAAA;AAAI,YAAI,OAAK,SAAS;AAAO,YAAI,QAAM;AAAG,YAAI,QAAM;AAAE,YAAG,MAAK;AAAC,mBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAAC,gBAAI,YAAU,IAAI,SAAS;AAAI,gBAAG,WAAU;AAAC,kBAAG,UAAQ;AAAE,wBAAM;AAAY,oBAAM,KAAG,UAAU,KAAK;AAAA,mBAAQ;AAAC,oBAAM,KAAG,KAAK;AAAA;AAAA;AAAA;AAAK,YAAI,MAAI,KAAK,MAAM,MAAK;AAAO,wBAAgB,MAAI;AAAC,cAAG,UAAQ;AAAE,yBAAa;AAAO,iBAAO,mBAAmB;AAAA;AAAK,cAAI,OAAO;AAAK,eAAO;AAAA;AAAI,UAAI,cAAY,OAAO,gBAAc,cAAY,IAAI,YAAY,UAAQ;AAAU,iCAA2B,MAAK,KAAI,gBAAe;AAAC,YAAI,SAAO,MAAI;AAAe,YAAI,SAAO;AAAI,eAAM,KAAK,WAAS,CAAE,WAAQ;AAAQ,YAAE;AAAO,YAAG,SAAO,MAAI,MAAI,KAAK,YAAU,aAAY;AAAC,iBAAO,YAAY,OAAO,KAAK,SAAS,KAAI;AAAA,eAAa;AAAC,cAAI,MAAI;AAAG,iBAAM,MAAI,QAAO;AAAC,gBAAI,KAAG,KAAK;AAAO,gBAAG,CAAE,MAAG,MAAK;AAAC,qBAAK,OAAO,aAAa;AAAI;AAAA;AAAS,gBAAI,KAAG,KAAK,SAAO;AAAG,gBAAI,MAAG,QAAM,KAAI;AAAC,qBAAK,OAAO,aAAc,MAAG,OAAK,IAAE;AAAI;AAAA;AAAS,gBAAI,KAAG,KAAK,SAAO;AAAG,gBAAI,MAAG,QAAM,KAAI;AAAC,mBAAI,MAAG,OAAK,KAAG,MAAI,IAAE;AAAA,mBAAO;AAAC,mBAAI,MAAG,MAAI,KAAG,MAAI,KAAG,MAAI,IAAE,KAAK,SAAO;AAAA;AAAG,gBAAG,KAAG,OAAM;AAAC,qBAAK,OAAO,aAAa;AAAA,mBAAQ;AAAC,kBAAI,KAAG,KAAG;AAAM,qBAAK,OAAO,aAAa,QAAM,MAAI,IAAG,QAAM,KAAG;AAAA;AAAA;AAAA;AAAQ,eAAO;AAAA;AAAI,4BAAsB,KAAI,gBAAe;AAAC,eAAO,MAAI,kBAAkB,QAAO,KAAI,kBAAgB;AAAA;AAAG,iCAA2B,KAAI,MAAK,QAAO,iBAAgB;AAAC,YAAG,CAAE,mBAAgB;AAAG,iBAAO;AAAE,YAAI,WAAS;AAAO,YAAI,SAAO,SAAO,kBAAgB;AAAE,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,cAAI,IAAE,IAAI,WAAW;AAAG,cAAG,KAAG,SAAO,KAAG,OAAM;AAAC,gBAAI,KAAG,IAAI,WAAW,EAAE;AAAG,gBAAE,QAAQ,MAAE,SAAO,MAAI,KAAG;AAAA;AAAK,cAAG,KAAG,KAAI;AAAC,gBAAG,UAAQ;AAAO;AAAM,iBAAK,YAAU;AAAA,qBAAU,KAAG,MAAK;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAE,iBAAK,YAAU,MAAI,IAAE;AAAA,qBAAW,KAAG,OAAM;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,IAAE;AAAG,iBAAK,YAAU,MAAI,IAAE;AAAA,iBAAO;AAAC,gBAAG,SAAO,KAAG;AAAO;AAAM,iBAAK,YAAU,MAAI,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,KAAG;AAAG,iBAAK,YAAU,MAAI,KAAG,IAAE;AAAG,iBAAK,YAAU,MAAI,IAAE;AAAA;AAAA;AAAI,aAAK,UAAQ;AAAE,eAAO,SAAO;AAAA;AAAS,4BAAsB,KAAI,QAAO,iBAAgB;AAAC,eAAO,kBAAkB,KAAI,QAAO,QAAO;AAAA;AAAiB,+BAAyB,KAAI;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,cAAI,IAAE,IAAI,WAAW;AAAG,cAAG,KAAG,SAAO,KAAG;AAAM,gBAAE,QAAQ,MAAE,SAAO,MAAI,IAAI,WAAW,EAAE,KAAG;AAAK,cAAG,KAAG;AAAI,cAAE;AAAA,mBAAY,KAAG;AAAK,mBAAK;AAAA,mBAAU,KAAG;AAAM,mBAAK;AAAA;AAAO,mBAAK;AAAA;AAAE,eAAO;AAAA;AAAI,kCAA4B,OAAM,SAAO;AAAC,cAAM,IAAI,OAAM;AAAA;AAAQ,kCAA4B,KAAI,SAAO,aAAY;AAAC,iBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,gBAAM,aAAU,KAAG,IAAI,WAAW;AAAA;AAAG,YAAG,CAAC;AAAY,gBAAM,WAAQ,KAAG;AAAA;AAAE,uBAAiB,GAAE,UAAS;AAAC,YAAG,IAAE,WAAS,GAAE;AAAC,eAAG,WAAS,IAAE;AAAA;AAAS,eAAO;AAAA;AAAE,UAAI,QAAO,OAAM,QAAO,QAAO,SAAQ,QAAO,SAAQ,SAAQ;AAAQ,0CAAoC,KAAI;AAAC,iBAAO;AAAI,eAAO,WAAS,QAAM,IAAI,UAAU;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,YAAU,SAAO,IAAI,WAAW;AAAK,eAAO,aAAW,UAAQ,IAAI,YAAY;AAAK,eAAO,aAAW,UAAQ,IAAI,YAAY;AAAK,eAAO,aAAW,UAAQ,IAAI,aAAa;AAAK,eAAO,aAAW,UAAQ,IAAI,aAAa;AAAA;AAAK,UAAI,iBAAe,OAAO,qBAAmB;AAAS,UAAI;AAAU,UAAI,eAAa;AAAG,UAAI,aAAW;AAAG,UAAI,aAAW;AAAG,UAAI,gBAAc;AAAG,UAAI,qBAAmB;AAAM,UAAI,gBAAc;AAAM,UAAI,0BAAwB;AAAE,kCAA2B;AAAC,eAAO,iBAAe,0BAAwB;AAAA;AAAE,wBAAiB;AAAC,YAAG,OAAO,WAAU;AAAC,cAAG,OAAO,OAAO,aAAW;AAAW,mBAAO,YAAU,CAAC,OAAO;AAAW,iBAAM,OAAO,UAAU,QAAO;AAAC,wBAAY,OAAO,UAAU;AAAA;AAAA;AAAU,6BAAqB;AAAA;AAAc,6BAAsB;AAAC,6BAAmB;AAAK,6BAAqB;AAAA;AAAY,yBAAkB;AAAC,6BAAqB;AAAA;AAAY,6BAAsB;AAAC,wBAAc;AAAA;AAAK,yBAAkB;AAAC,YAAG,OAAO,YAAW;AAAC,cAAG,OAAO,OAAO,cAAY;AAAW,mBAAO,aAAW,CAAC,OAAO;AAAY,iBAAM,OAAO,WAAW,QAAO;AAAC,yBAAa,OAAO,WAAW;AAAA;AAAA;AAAU,6BAAqB;AAAA;AAAe,2BAAqB,IAAG;AAAC,qBAAa,QAAQ;AAAA;AAAI,yBAAmB,IAAG;AAAC,mBAAW,QAAQ;AAAA;AAAI,4BAAsB,IAAG;AAAC,sBAAc,QAAQ;AAAA;AAAI,UAAI,kBAAgB;AAAE,UAAI,uBAAqB;AAAK,UAAI,wBAAsB;AAAK,gCAA0B,IAAG;AAAC;AAAkB,YAAG,OAAO,2BAA0B;AAAC,iBAAO,0BAA0B;AAAA;AAAA;AAAkB,mCAA6B,IAAG;AAAC;AAAkB,YAAG,OAAO,2BAA0B;AAAC,iBAAO,0BAA0B;AAAA;AAAiB,YAAG,mBAAiB,GAAE;AAAC,cAAG,yBAAuB,MAAK;AAAC,0BAAc;AAAsB,mCAAqB;AAAA;AAAK,cAAG,uBAAsB;AAAC,gBAAI,WAAS;AAAsB,oCAAsB;AAAK;AAAA;AAAA;AAAA;AAAa,aAAO,qBAAmB;AAAG,aAAO,qBAAmB;AAAG,qBAAe,MAAK;AAAC;AAAC,cAAG,OAAO,YAAW;AAAC,mBAAO,WAAW;AAAA;AAAA;AAAO,eAAK,aAAW,OAAK;AAAI,YAAI;AAAM,gBAAM;AAAK,qBAAW;AAAE,gBAAM;AAA8C,YAAI,IAAE,IAAI,YAAY,aAAa;AAAM,2BAAmB;AAAG,cAAM;AAAA;AAAE,UAAI,gBAAc;AAAwC,yBAAmB,UAAS;AAAC,eAAO,SAAS,WAAW;AAAA;AAAe,UAAI;AAAe,UAAG,OAAO,eAAc;AAAC,yBAAe;AAAmB,YAAG,CAAC,UAAU,iBAAgB;AAAC,2BAAe,WAAW;AAAA;AAAA,aAAqB;AAAC,yBAAe,IAAI,IAAI,oBAAmB,aAAY,KAAK;AAAA;AAAW,yBAAmB,MAAK;AAAC,YAAG;AAAC,cAAG,QAAM,kBAAgB,YAAW;AAAC,mBAAO,IAAI,WAAW;AAAA;AAAY,cAAG,YAAW;AAAC,mBAAO,WAAW;AAAA,iBAAU;AAAC,kBAAK;AAAA;AAAA,iBAAyD,MAAN;AAAW,gBAAM;AAAA;AAAA;AAAM,kCAA2B;AAAC,YAAG,CAAC,cAAa,uBAAoB,wBAAuB;AAAC,cAAG,OAAO,UAAQ,YAAW;AAAC,mBAAO,MAAM,gBAAe,EAAC,aAAY,iBAAgB,KAAK,SAAS,UAAS;AAAC,kBAAG,CAAC,SAAS,OAAM;AAAC,sBAAK,yCAAuC,iBAAe;AAAA;AAAI,qBAAO,SAAS;AAAA,eAAmB,MAAM,WAAU;AAAC,qBAAO,UAAU;AAAA;AAAA;AAAA;AAAmB,eAAO,QAAQ,UAAU,KAAK,WAAU;AAAC,iBAAO,UAAU;AAAA;AAAA;AAAkB,4BAAqB;AAAC,YAAI,OAAK,EAAC,KAAI;AAAe,iCAAyB,UAAS,SAAO;AAAC,cAAI,WAAQ,SAAS;AAAQ,iBAAO,SAAO;AAAQ,uBAAW,OAAO,OAAO;AAAM,qCAA2B,WAAW;AAAQ,sBAAU,OAAO,OAAO;AAAM,oBAAU,OAAO,OAAO;AAAO,8BAAoB;AAAA;AAAoB,yBAAiB;AAAoB,4CAAoC,QAAO;AAAC,0BAAgB,OAAO;AAAA;AAAa,wCAAgC,UAAS;AAAC,iBAAO,mBAAmB,KAAK,SAAS,QAAO;AAAC,mBAAO,YAAY,YAAY,QAAO;AAAA,aAAQ,KAAK,SAAS,UAAS;AAAC,mBAAO;AAAA,aAAW,KAAK,UAAS,SAAS,QAAO;AAAC,gBAAI,4CAA0C;AAAQ,kBAAM;AAAA;AAAA;AAAU,oCAA2B;AAAC,cAAG,CAAC,cAAY,OAAO,YAAY,yBAAuB,cAAY,CAAC,UAAU,mBAAiB,OAAO,UAAQ,YAAW;AAAC,mBAAO,MAAM,gBAAe,EAAC,aAAY,iBAAgB,KAAK,SAAS,UAAS;AAAC,kBAAI,SAAO,YAAY,qBAAqB,UAAS;AAAM,qBAAO,OAAO,KAAK,4BAA2B,SAAS,QAAO;AAAC,oBAAI,oCAAkC;AAAQ,oBAAI;AAA6C,uBAAO,uBAAuB;AAAA;AAAA;AAAA,iBAAoC;AAAC,mBAAO,uBAAuB;AAAA;AAAA;AAA6B,YAAG,OAAO,oBAAmB;AAAC,cAAG;AAAC,gBAAI,WAAQ,OAAO,mBAAmB,MAAK;AAAiB,mBAAO;AAAA,mBAAc,GAAN;AAAS,gBAAI,wDAAsD;AAAG,mBAAO;AAAA;AAAA;AAAO,2BAAmB,MAAM;AAAoB,eAAM;AAAA;AAAG,oCAA8B,WAAU;AAAC,eAAM,UAAU,SAAO,GAAE;AAAC,cAAI,WAAS,UAAU;AAAQ,cAAG,OAAO,YAAU,YAAW;AAAC,qBAAS;AAAQ;AAAA;AAAS,cAAI,OAAK,SAAS;AAAK,cAAG,OAAO,SAAO,UAAS;AAAC,gBAAG,SAAS,QAAM,QAAU;AAAC,gCAAkB;AAAA,mBAAY;AAAC,gCAAkB,MAAM,SAAS;AAAA;AAAA,iBAAU;AAAC,iBAAK,SAAS,QAAM,SAAU,OAAK,SAAS;AAAA;AAAA;AAAA;AAAO,UAAI,kBAAgB;AAAG,iCAA2B,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAS,YAAG,CAAC,MAAK;AAAC,cAAG,WAAS,gBAAgB;AAAO,4BAAgB,SAAO,UAAQ;AAAE,0BAAgB,WAAS,OAAK,UAAU,IAAI;AAAA;AAAS,eAAO;AAAA;AAAK,+BAAyB,GAAE;AAAC,YAAG,aAAa,cAAY,KAAG,UAAS;AAAC,iBAAO;AAAA;AAAW,cAAM,GAAE;AAAA;AAAG,8BAAwB,WAAU,UAAS,MAAK,MAAK;AAAC,cAAM,uBAAqB,aAAa,aAAW,WAAS,CAAC,WAAS,aAAa,YAAU,oBAAmB,MAAK,OAAK,aAAa,QAAM;AAAA;AAAqB,UAAI,WAAS,EAAC,UAAS,IAAG,SAAQ,CAAC,MAAK,IAAG,KAAI,WAAU,SAAS,QAAO,MAAK;AAAC,YAAI,UAAO,SAAS,QAAQ;AAAQ,YAAG,SAAO,KAAG,SAAO,IAAG;AAAC,UAAC,YAAS,IAAE,MAAI,KAAK,kBAAkB,SAAO;AAAI,kBAAO,SAAO;AAAA,eAAM;AAAC,kBAAO,KAAK;AAAA;AAAA,SAAQ,SAAQ,QAAU,KAAI,WAAU;AAAC,iBAAS,WAAS;AAAE,YAAI,MAAI,OAAO,SAAS,UAAQ,KAAG;AAAG,eAAO;AAAA,SAAK,QAAO,SAAS,KAAI;AAAC,YAAI,MAAI,aAAa;AAAK,eAAO;AAAA,SAAK,OAAM,SAAS,KAAI,MAAK;AAAC,eAAO;AAAA;AAAM,qCAA+B,MAAK,SAAQ,UAAS,WAAU,SAAQ;AAAA;AAAE,iCAA2B,MAAK,OAAM;AAAC,eAAK,SAAS,OAAO;AAAM,eAAO,SAAS,SAAS,MAAK;AAAA;AAAO,wBAAiB;AAAC,YAAI;AAA6B,cAAM;AAAA;AAAI,oBAAa;AAAC,YAAI;AAAyB,cAAM;AAAA;AAAI,+BAAyB,IAAG;AAAC,YAAI,SAAO,OAAO,UAAU;AAAI,YAAG,CAAC;AAAO,gBAAM,IAAI,GAAG,WAAW;AAAG,eAAO;AAAA;AAAO,wBAAkB,OAAM;AAAC,eAAO,uBAAqB,KAAG;AAAM,eAAO;AAAA;AAAM,yBAAmB,MAAK;AAAC,eAAO,QAAK,OAAK,MAAK,SAAM,IAAE,OAAK,MAAK,SAAM,KAAG,OAAK,MAAK,SAAM,KAAG;AAAA;AAAK,yBAAmB,MAAK;AAAC,YAAI,MAAI;AAAG,YAAI,OAAK;AAAE,YAAI,UAAQ;AAAE,YAAI,WAAS;AAAE,YAAI,SAAO;AAAE,YAAI,MAAI;AAAE,YAAI,IAAE;AAAE,YAAI,QAAM,CAAC,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI,IAAG,KAAK,KAAG,OAAM,KAAK,MAAI;AAAI,YAAI,UAAQ;AAAK,YAAI,SAAO;AAAG,aAAI,IAAE,GAAE,IAAE,GAAE,KAAI;AAAC,cAAG,MAAM,OAAK,GAAE;AAAC,sBAAQ;AAAM;AAAA;AAAA;AAAO,YAAG,SAAQ;AAAC,mBAAO,UAAU,MAAM,KAAG,MAAM,MAAI;AAAI,cAAG,MAAM,OAAK,IAAG;AAAC,kBAAI;AAAU,mBAAK;AAAO,mBAAO;AAAA;AAAI,cAAG,MAAM,OAAK,GAAE;AAAC,kBAAI;AAAK,gBAAG,WAAS;AAAU,uBAAO;AAAG,gBAAG,WAAS;AAAU,uBAAO;AAAI,mBAAK;AAAO,mBAAO;AAAA;AAAA;AAAK,aAAI,OAAK,GAAE,OAAK,GAAE,QAAO;AAAC,cAAG,MAAM,UAAQ,GAAE;AAAC,gBAAG,OAAK,WAAS,GAAE;AAAC,oBAAI;AAAA;AAAE,uBAAS;AAAK;AAAA;AAAM,cAAG,MAAI,SAAQ;AAAC,sBAAQ;AAAI,qBAAO,OAAK,UAAQ;AAAA;AAAA;AAAG,aAAI,OAAK,GAAE,OAAK,GAAE,QAAO;AAAC,cAAG,UAAQ,GAAE;AAAC,gBAAG,MAAM,UAAQ,KAAG,QAAM,UAAQ,OAAK,SAAO,SAAQ;AAAC,kBAAG,SAAO,QAAO;AAAC,uBAAK;AAAI,oBAAG,WAAS;AAAE,yBAAK;AAAA;AAAI;AAAA;AAAA;AAAU,iBAAK,OAAO,OAAO,MAAM,QAAM,QAAQ,SAAS;AAAI,iBAAK,OAAK,IAAE,MAAI;AAAA;AAAG,eAAO;AAAA;AAAI,4BAAsB,IAAG,OAAM;AAAC,YAAI,SAAO,OAAO,MAAI;AAAG,YAAI,OAAK,OAAO,QAAQ,KAAG,KAAG;AAAI,YAAI;AAAK,gBAAO;AAAA,eAAa;AAAE,gBAAG,UAAQ,IAAG;AAAC,qBAAM,EAAC,OAAM;AAAA;AAAI,mBAAK,OAAO,KAAG,KAAG;AAAG,mBAAK,UAAU;AAAM;AAAA,eAAW;AAAG,gBAAG,UAAQ,IAAG;AAAC,qBAAM,EAAC,OAAM;AAAA;AAAI,mBAAK,CAAC,OAAO,KAAG,KAAG,IAAG,OAAO,KAAG,MAAI,IAAG,OAAO,KAAG,MAAI,IAAG,OAAO,KAAG,MAAI;AAAI,mBAAK,UAAU;AAAM;AAAA;AAAc,mBAAM,EAAC,OAAM;AAAA;AAAG,eAAM,EAAC,QAAc,MAAU;AAAA;AAAW,yBAAmB,KAAI;AAAC,YAAI,IAAE,IAAI,MAAM;AAAK,iBAAQ,IAAE,GAAE,IAAE,GAAE,KAAI;AAAC,cAAI,MAAI,OAAO,EAAE;AAAI,cAAG,MAAM;AAAK,mBAAO;AAAK,YAAE,KAAG;AAAA;AAAI,eAAO,GAAE,KAAG,EAAE,MAAI,IAAE,EAAE,MAAI,KAAG,EAAE,MAAI,QAAM;AAAA;AAAE,uBAAiB,KAAI;AAAC,eAAO,SAAS;AAAA;AAAK,yBAAmB,KAAI;AAAC,YAAI;AAAM,YAAI,GAAE,QAAO;AAAE,YAAI,aAAW;AAAqK,YAAI,QAAM;AAAG,YAAG,CAAC,WAAW,KAAK,MAAK;AAAC,iBAAO;AAAA;AAAK,YAAG,QAAM,MAAK;AAAC,iBAAM,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA;AAAG,YAAG,IAAI,WAAW,OAAM;AAAC,gBAAI,IAAI,QAAQ,MAAK;AAAA,eAAU;AAAC,gBAAI,IAAI,QAAQ,MAAK;AAAA;AAAO,YAAG,IAAI,QAAQ,OAAK,GAAE;AAAC,gBAAI,IAAI,QAAQ,IAAI,OAAO,OAAM,MAAK;AAAK,kBAAM,IAAI,MAAM;AAAK,gBAAM,MAAM,SAAO,KAAG,QAAQ,MAAM,MAAM,SAAO,MAAI,QAAQ,MAAM,MAAM,SAAO,MAAI;AAAI,gBAAM,MAAM,SAAO,KAAG,QAAQ,MAAM,MAAM,SAAO,MAAI,QAAQ,MAAM,MAAM,SAAO,MAAI;AAAI,kBAAM,MAAM,MAAM,GAAE,MAAM,SAAO;AAAA,eAAO;AAAC,kBAAM,IAAI,MAAM;AAAA;AAAK,iBAAO;AAAE,YAAE;AAAE,aAAI,IAAE,GAAE,IAAE,MAAM,QAAO,KAAI;AAAC,cAAG,OAAO,MAAM,OAAK,UAAS;AAAC,gBAAG,MAAM,OAAK,KAAI;AAAC,mBAAI,IAAE,GAAE,IAAE,IAAE,MAAM,SAAO,GAAE,KAAI;AAAC,sBAAM,IAAE,KAAG;AAAA;AAAE,uBAAO,IAAE;AAAA,mBAAM;AAAC,oBAAM,IAAE,UAAQ,OAAO,SAAS,MAAM,IAAG;AAAA;AAAA,iBAAU;AAAC,kBAAM,IAAE,UAAQ,MAAM;AAAA;AAAA;AAAI,eAAM,CAAC,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM,IAAG,MAAM,MAAI,KAAG,MAAM;AAAA;AAAI,UAAI,MAAI,EAAC,aAAY,EAAC,IAAG,GAAE,OAAM,IAAG,OAAM,MAAI,aAAY,SAAS,MAAK;AAAC,YAAI,MAAI,UAAU;AAAM,YAAG,QAAM,MAAK;AAAC,iBAAO;AAAA;AAAK,cAAI,UAAU;AAAM,YAAG,QAAM,MAAK;AAAC,iBAAO;AAAA;AAAK,YAAI;AAAK,YAAG,IAAI,YAAY,MAAM,OAAM;AAAC,iBAAK,IAAI,YAAY,MAAM;AAAA,eAAU;AAAC,cAAI,KAAG,IAAI,YAAY;AAAK,iBAAO,KAAG,OAAM;AAA0C,iBAAK,YAAW,MAAG,OAAK,MAAK,MAAG;AAAO,cAAI,YAAY,MAAM,QAAM;AAAK,cAAI,YAAY,MAAM,QAAM;AAAA;AAAK,eAAO;AAAA,SAAM,aAAY,SAAS,MAAK;AAAC,YAAG,IAAI,YAAY,MAAM,OAAM;AAAC,iBAAO,IAAI,YAAY,MAAM;AAAA;AAAM,eAAO;AAAA;AAAO,gCAA0B,OAAM,SAAQ,WAAU;AAAC,YAAG,aAAW,UAAQ;AAAE,iBAAO;AAAK,YAAI,OAAK,aAAa,OAAM;AAAS,YAAG,KAAK;AAAM,gBAAM,IAAI,GAAG,WAAW,KAAK;AAAO,aAAK,OAAK,IAAI,YAAY,KAAK,SAAO,KAAK;AAAK,eAAO;AAAA;AAAK,+BAAyB,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,OAAK,iBAAiB,MAAK;AAAS,aAAK,SAAS,KAAK,MAAK,KAAK,MAAK,KAAK;AAAM,eAAO;AAAA;AAAE,kCAA4B,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,OAAK,iBAAiB,MAAK;AAAS,aAAK,SAAS,QAAQ,MAAK,KAAK,MAAK,KAAK;AAAM,eAAO;AAAA;AAAE,kCAA4B,IAAG,KAAI,SAAQ;AAAC,iBAAS,UAAQ;AAAQ,eAAO;AAAA;AAAE,kCAA4B,IAAG,KAAI;AAAA;AAAE,oCAA8B,OAAM,MAAK,KAAI,OAAM;AAAA;AAAE,sCAAgC,IAAG,KAAI,MAAK;AAAA;AAAE,qCAA+B,IAAG,MAAK,OAAM;AAAA;AAAE,0BAAoB,SAAQ,MAAK;AAAC,eAAO,KAAK,GAAE,SAAQ,UAAQ;AAAA;AAAM,6BAAuB,IAAG,QAAO,MAAK,MAAK,SAAQ;AAAC,gBAAO;AAAA,eAAa;AAAE,mBAAK,UAAU;AAAM,uBAAW,IAAG;AAAI,gBAAG,SAAQ;AAAC,qBAAO,WAAS,KAAG;AAAA;AAAG,mBAAO,MAAI,KAAG;AAAO,mBAAO,KAAG,KAAG,KAAG;AAAK,mBAAO,KAAG,KAAG,KAAG,OAAO;AAAM;AAAA,eAAW;AAAG,mBAAK,UAAU;AAAM,uBAAW,IAAG;AAAI,gBAAG,SAAQ;AAAC,qBAAO,WAAS,KAAG;AAAA;AAAG,mBAAO,MAAI,KAAG;AAAO,mBAAO,KAAG,KAAG,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,MAAI,KAAG,KAAK;AAAG,mBAAO,KAAG,KAAG,KAAG,OAAO;AAAM;AAAA;AAAc,mBAAO;AAAA;AAAE,eAAO;AAAA;AAAE,sCAAgC,IAAG,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAG,CAAC,KAAK,OAAM;AAAC,iBAAM;AAAA;AAAI,YAAI,QAAM,cAAc,MAAK,KAAK,QAAO,IAAI,YAAY,KAAK,QAAO,KAAK,OAAM;AAAS,eAAO;AAAA;AAAE,qCAA+B,IAAG,OAAM,SAAQ,QAAO,QAAO;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAG,UAAQ,GAAE;AAAC,cAAG,YAAU,GAAE;AAAC,mBAAO,UAAQ,KAAG,KAAK;AAAM,mBAAO,UAAQ,KAAG;AAAE,iBAAK,QAAM;AAAK,mBAAO;AAAA;AAAA;AAAG,eAAM;AAAA;AAAI,gCAA0B,IAAG,IAAG,SAAQ;AAAC,iBAAS,UAAQ;AAAQ,eAAO;AAAA;AAAE,kCAA4B,MAAK,KAAI;AAAA;AAAE,gCAA0B,MAAK,MAAK;AAAC,eAAK,SAAS,OAAO;AAAM,eAAO,SAAS,QAAQ,MAAK;AAAA;AAAM,+BAAyB,MAAK,OAAM,SAAQ;AAAC,iBAAS,UAAQ;AAAA;AAAQ,mCAA6B,IAAG,KAAI,KAAI,OAAM,MAAK,SAAQ;AAAC,YAAI,OAAK,gBAAgB;AAAI,YAAI,MAAI,KAAK,SAAS,QAAQ,MAAK;AAAK,YAAG,CAAC;AAAI,iBAAO;AAAE,YAAG,MAAK;AAAC,cAAI,QAAM,cAAc,MAAK,KAAK,QAAO,IAAI,YAAY,IAAI,OAAM,IAAI,MAAK;AAAA;AAAS,eAAO,IAAI,IAAI,QAAO;AAAK,eAAO,IAAI,OAAO;AAAA;AAAW,iCAA2B,UAAS,UAAS;AAAA;AAAE,gCAA0B,MAAK;AAAA;AAAE,iCAA2B,IAAG,SAAQ,QAAO,OAAM,MAAK,UAAS;AAAA;AAAE,iCAA2B,QAAO,MAAK,UAAS;AAAA;AAAE,iCAA2B,MAAK,KAAI;AAAA;AAAE,iCAA2B,MAAK;AAAA;AAAE,2BAAqB,UAAS,MAAK;AAAC,cAAM;AAAA;AAA+H,0BAAoB,QAAO,QAAO;AAAC,cAAM;AAAA;AAA+H,wBAAiB;AAAC,cAAM;AAAA;AAAI,UAAI;AAAoB,UAAG,qBAAoB;AAAC,8BAAqB,MAAI;AAAC,cAAI,IAAE,QAAQ;AAAY,iBAAO,EAAE,KAAG,MAAI,EAAE,KAAG;AAAA;AAAA;AAAW,8BAAqB,MAAI,YAAY;AAAO,UAAI,mCAAiC;AAAK,8BAAwB,QAAO,IAAG;AAAC,YAAI;AAAI,YAAG,WAAS,GAAE;AAAC,gBAAI,KAAK;AAAA,mBAAe,YAAS,KAAG,WAAS,MAAI,kCAAiC;AAAC,gBAAI;AAAA,eAA0B;AAAC,mBAAS;AAAI,iBAAM;AAAA;AAAG,eAAO,MAAI,KAAG,MAAI,MAAI;AAAE,eAAO,KAAG,KAAG,KAAG,MAAI,MAAI,MAAI,MAAI;AAAE,eAAO;AAAA;AAAE,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,gBAAgB,QAAO,MAAK;AAAA;AAAS,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,eAAe,QAAO,MAAK;AAAA;AAAS,mDAA6C,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,qBAAqB,QAAO,MAAK;AAAA;AAAS,+CAAyC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,gBAAgB,QAAO,MAAK;AAAA;AAAS,yCAAmC,QAAO;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO;AAAA;AAAQ,0CAAoC,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO,MAAK;AAAA;AAAS,0DAAoD,QAAO;AAAC,eAAO,WAAW,eAAe,4BAA4B,QAAO;AAAA;AAAQ,wCAAkC,MAAK,SAAQ,IAAG,OAAM;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,MAAK,SAAQ,IAAG;AAAA;AAAO,wCAAkC,QAAO,OAAM;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,QAAO;AAAA;AAAO,wCAAkC,QAAO,KAAI,MAAK,UAAS;AAAC,eAAO,WAAW,eAAe,SAAS,QAAO,QAAO,KAAI,MAAK;AAAA;AAAU,4CAAsC,QAAO,SAAQ;AAAC,eAAO,WAAW,eAAe,aAAa,QAAO,QAAO;AAAA;AAAS,yCAAmC,QAAO,KAAI,MAAK,UAAS;AAAC,eAAO,WAAW,eAAe,UAAU,QAAO,QAAO,KAAI,MAAK;AAAA;AAAU,mCAA6B,MAAK,SAAQ;AAAC,eAAO,WAAW,eAAe,KAAK,QAAO,MAAK;AAAA;AAAS,iDAA2C,SAAQ;AAAC,eAAO,WAAW,eAAe,oBAAoB,QAAO;AAAA;AAAS,2CAAqC,QAAO,SAAQ,UAAS,SAAQ,UAAS,UAAS;AAAC,eAAO,WAAW,eAAe,cAAc,QAAO,QAAO,SAAQ,UAAS,SAAQ,UAAS;AAAA;AAAU,0CAAmC;AAAC,eAAO;AAAA;AAAW,sCAAgC,MAAK,KAAI,KAAI;AAAC,eAAO,WAAW,MAAK,KAAI,MAAI;AAAA;AAAK,yCAAmC,MAAK;AAAC,YAAG;AAAC,qBAAW,KAAK,OAAK,OAAO,aAAW,UAAQ;AAAI,qCAA2B,WAAW;AAAQ,iBAAO;AAAA,iBAAQ,GAAN;AAAA;AAAA;AAAW,uCAAiC,eAAc;AAAC,YAAI,UAAQ,OAAO;AAAO,wBAAc,kBAAgB;AAAE,YAAI,cAAY;AAAW,YAAG,gBAAc,aAAY;AAAC,iBAAO;AAAA;AAAM,iBAAQ,UAAQ,GAAE,WAAS,GAAE,WAAS,GAAE;AAAC,cAAI,oBAAkB,UAAS,KAAE,MAAG;AAAS,8BAAkB,KAAK,IAAI,mBAAkB,gBAAc;AAAW,cAAI,UAAQ,KAAK,IAAI,aAAY,QAAQ,KAAK,IAAI,eAAc,oBAAmB;AAAQ,cAAI,cAAY,0BAA0B;AAAS,cAAG,aAAY;AAAC,mBAAO;AAAA;AAAA;AAAM,eAAO;AAAA;AAAM,UAAI,MAAI;AAAG,mCAA4B;AAAC,eAAO,eAAa;AAAA;AAAiB,+BAAwB;AAAC,YAAG,CAAC,cAAc,SAAQ;AAAC,cAAI,OAAM,QAAO,cAAY,YAAU,UAAU,aAAW,UAAU,UAAU,MAAI,KAAK,QAAQ,KAAI,OAAK;AAAS,cAAI,MAAI,EAAC,QAAO,YAAW,WAAU,YAAW,QAAO,KAAI,OAAM,KAAI,QAAO,kBAAiB,QAAO,MAAK,KAAI;AAAqB,mBAAQ,KAAK,KAAI;AAAC,gBAAG,IAAI,OAAK;AAAU,qBAAO,IAAI;AAAA;AAAQ,kBAAI,KAAG,IAAI;AAAA;AAAG,cAAI,UAAQ;AAAG,mBAAQ,KAAK,KAAI;AAAC,oBAAQ,KAAK,IAAE,MAAI,IAAI;AAAA;AAAI,wBAAc,UAAQ;AAAA;AAAQ,eAAO,cAAc;AAAA;AAAQ,4BAAsB,WAAU,aAAY;AAAC,YAAI,UAAQ;AAAE,wBAAgB,QAAQ,SAAS,QAAO,GAAE;AAAC,cAAI,MAAI,cAAY;AAAQ,iBAAO,YAAU,IAAE,KAAG,KAAG;AAAI,6BAAmB,QAAO;AAAK,qBAAS,OAAO,SAAO;AAAA;AAAI,eAAO;AAAA;AAAE,kCAA4B,gBAAe,mBAAkB;AAAC,YAAI,UAAQ;AAAgB,eAAO,kBAAgB,KAAG,QAAQ;AAAO,YAAI,UAAQ;AAAE,gBAAQ,QAAQ,SAAS,QAAO;AAAC,qBAAS,OAAO,SAAO;AAAA;AAAI,eAAO,qBAAmB,KAAG;AAAQ,eAAO;AAAA;AAAE,yBAAmB,IAAG;AAAC,eAAO;AAAA;AAAE,yBAAmB,IAAG,KAAI,QAAO,YAAW,aAAY,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,QAAQ,QAAO,KAAI,QAAO;AAAY,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,0BAAoB,IAAG,KAAI,QAAO,YAAW,aAAY,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,SAAS,QAAO,KAAI,QAAO;AAAY,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,wBAAkB,IAAG,KAAI,QAAO,MAAK;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAI,MAAI,SAAS,QAAQ,QAAO,KAAI;AAAQ,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,wBAAkB,IAAG,YAAW,aAAY,QAAO,WAAU;AAAA;AAAE,wBAAkB,IAAG;AAAC,YAAI,SAAO,SAAS,gBAAgB;AAAI,YAAG,OAAO,cAAY,OAAO,WAAW,OAAM;AAAC,iBAAM,CAAC,OAAO,WAAW,MAAM;AAAA;AAAQ,eAAO;AAAA;AAAE,yBAAmB,IAAG,KAAI,QAAO,MAAK;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,cAAI,MAAI,OAAO,OAAK;AAAG,cAAI,MAAI,OAAO,MAAI,KAAG;AAAG,iBAAK;AAAE,mBAAQ,IAAE,GAAE,IAAE,KAAI,KAAI;AAAC,qBAAS,UAAU,IAAG,OAAO,MAAI;AAAA;AAAI,iBAAK;AAAA;AAAI,eAAO,QAAM,KAAG;AAAI,eAAO;AAAA;AAAE,4BAAsB,MAAK,SAAQ,MAAK,MAAI;AAAC,YAAI,OAAK;AAAE,YAAI,OAAK;AAAE,YAAI,QAAM;AAAE,YAAI,SAAO;AAAE,YAAI,OAAK;AAAE,YAAI,QAAM;AAAE,YAAI;AAAG,+BAAuB,SAAO,OAAK,QAAM,OAAM,OAAK,OAAK;AAAC,cAAI,IAAG,OAAM;AAAG,cAAI;AAAM,kBAAM,YAAS,KAAG,KAAG;AAAG,kBAAK,YAAS,KAAG,UAAU,SAAM,UAAU;AAAM,eAAG,QAAQ;AAAO,kBAAM,cAAc,IAAG,SAAO,OAAK;AAAM,iBAAO,CAAC;AAAO,gBAAG,QAAQ;AAAI,iBAAO,MAAG,KAAG,KAAG;AAAO,iBAAO,MAAG,KAAG,KAAG;AAAK,iBAAO,MAAG,MAAI,KAAG;AAAM,iBAAO,MAAG,MAAI,KAAG;AAAM,iBAAO,MAAG,MAAI,KAAG;AAAG,cAAG,YAAS,IAAG;AAAC,mBAAO,MAAG,MAAI,KAAG;AAAA,iBAAO;AAAC,mBAAO,MAAG,MAAI,KAAG;AAAA;AAAG,iBAAO,MAAG,MAAI,KAAG;AAAE,iBAAO;AAAA;AAAG,YAAG,MAAK;AAAC,kBAAM,OAAO,QAAM;AAAG,mBAAO,OAAO,OAAK,KAAG;AAAG,iBAAK,OAAO,OAAK,KAAG;AAAG,kBAAM,OAAO,OAAK,MAAI;AAAA;AAAG,YAAG,QAAM,CAAC,OAAM;AAAC,kBAAM,SAAO,IAAE,KAAG;AAAA;AAAE,YAAG,CAAC,QAAM,OAAM;AAAC,iBAAK,UAAQ,KAAG,IAAE;AAAA;AAAE,YAAG,UAAQ,GAAE;AAAC,kBAAM;AAAA;AAAE,YAAG,SAAO,GAAE;AAAC,iBAAK;AAAA;AAAE,YAAG,CAAC,QAAM,CAAC,SAAQ;AAAC,iBAAM;AAAA;AAAG,YAAG,QAAM,CAAE,KAAE,IAAE,IAAE,OAAK,IAAE,KAAG,KAAI;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAO,KAAG,OAAO,QAAM,KAAG,KAAG,CAAC,MAAK;AAAC,iBAAM;AAAA;AAAG,YAAG,QAAM,IAAG;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAO,KAAG,SAAO,KAAG,SAAO,GAAE;AAAC,iBAAM;AAAA;AAAG,YAAG,WAAS,KAAG,WAAS,KAAG,WAAS,IAAG;AAAC,iBAAM;AAAA;AAAG,YAAG,SAAQ;AAAC,oBAAQ,aAAa;AAAS,iBAAK,SAAS,SAAQ;AAAI,cAAG,MAAM,OAAM;AAAC,gBAAG,QAAM,MAAK;AAAC,qBAAM;AAAA;AAAG,mBAAM;AAAA;AAAA;AAAI,YAAG,CAAC,MAAK;AAAC,cAAG,WAAS,GAAE;AAAC,qBAAO;AAAA;AAAE,cAAI,SAAM,OAAK,GAAE;AAAC,gBAAG,WAAS,GAAE;AAAC,qBAAK,OAAO;AAAA,mBAAgB;AAAC,qBAAK,CAAC,GAAE,GAAE,GAAE;AAAA;AAAA;AAAI,eAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,iBAAO,QAAK,KAAG;AAAG,iBAAO;AAAA;AAAE,eAAK,aAAa;AAAM,eAAK,UAAU;AAAM,YAAG,SAAO,MAAK;AAAC,cAAG,WAAS,KAAG,WAAS,GAAE;AAAC,qBAAO;AAAA,qBAAU,WAAS,MAAI,QAAM,GAAE;AAAC,mBAAK,CAAC,GAAE,GAAE,OAAO,QAAO;AAAM,qBAAO;AAAA,iBAAO;AAAC,mBAAM;AAAA;AAAA,eAAQ;AAAC,iBAAK,UAAU;AAAM,cAAG,SAAO,MAAK;AAAC,gBAAG,WAAS,KAAG,WAAS,IAAG;AAAC,uBAAO;AAAA,mBAAO;AAAC,qBAAM;AAAA;AAAA;AAAA;AAAK,YAAG,QAAM,MAAK;AAAC,eAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,iBAAO,QAAK,KAAG;AAAG,iBAAO;AAAA;AAAE,YAAG,QAAM,GAAE;AAAC,iBAAM;AAAA;AAAG,eAAK,IAAI,YAAY;AAAM,eAAK,UAAU;AAAM,YAAG,WAAS,GAAE;AAAC,mBAAO;AAAA,mBAAU,WAAS,IAAG;AAAC,iBAAK,CAAC,GAAE,GAAE,OAAO,QAAO;AAAA;AAAM,aAAG,cAAc,QAAO,MAAK,OAAM,MAAK,MAAK;AAAM,eAAO,QAAK,KAAG;AAAG,eAAO;AAAA;AAAE,iCAA0B;AAAC,YAAG,OAAO,WAAS,YAAU,OAAO,OAAO,uBAAqB,YAAW;AAAC,cAAI,eAAa,IAAI,WAAW;AAAG,iBAAO,WAAU;AAAC,mBAAO,gBAAgB;AAAc,mBAAO,aAAa;AAAA;AAAA,mBAAY,qBAAoB;AAAC,cAAG;AAAC,gBAAI,gBAAc,UAAQ;AAAU,mBAAO,WAAU;AAAC,qBAAO,cAAc,eAAe,GAAG;AAAA;AAAA,mBAAU,GAAN;AAAA;AAAA;AAAW,eAAO,WAAU;AAAC,gBAAM;AAAA;AAAA;AAAiB,2BAAqB,SAAO,MAAK;AAAC,YAAG,CAAC,YAAY,cAAa;AAAC,sBAAY,eAAa;AAAA;AAAkB,iBAAQ,IAAE,GAAE,IAAE,MAAK,KAAI;AAAC,gBAAM,UAAO,KAAG,KAAG,YAAY;AAAA;AAAe,eAAO;AAAA;AAAE,4BAAsB,IAAG,OAAM,MAAK,SAAQ,MAAK,SAAQ,OAAM;AAAC,YAAI,OAAK,aAAa,IAAG;AAAO,YAAG,KAAK,OAAM;AAAC,iBAAM;AAAA;AAAG,YAAI,OAAK,KAAK;AAAK,YAAI,OAAK,KAAK;AAAK,YAAI,aAAW;AAAM,YAAG,QAAM,SAAQ;AAAC,cAAI;AAAO,cAAG,QAAM,KAAG,CAAE,UAAO,IAAI,YAAY,QAAO;AAAC,gBAAG,QAAM,GAAE;AAAC,qBAAM;AAAA;AAAA,iBAAQ;AAAC,mBAAK;AAAA;AAAO,cAAI,0BAAwB,aAAa,MAAK,MAAK;AAAS,cAAG,0BAAwB,KAAG,SAAQ;AAAC,yBAAW;AAAA;AAAA;AAAM,YAAG,QAAM,SAAQ;AAAC,iBAAK,KAAG;AAAK,cAAI,0BAAwB,aAAa,MAAK,MAAK;AAAS,cAAG,0BAAwB,KAAG,SAAQ;AAAC,yBAAW;AAAA;AAAA;AAAM,YAAG,YAAW;AAAC,iBAAM;AAAA;AAAI,eAAO;AAAA;AAAE,4BAAsB,MAAK;AAAC,eAAO,OAAK,MAAI,KAAI,QAAK,QAAM,KAAG,OAAK,QAAM;AAAA;AAAG,0BAAoB,OAAM,OAAM;AAAC,YAAI,MAAI;AAAE,iBAAQ,IAAE,GAAE,KAAG,OAAM,OAAK,MAAM,MAAK;AAAA;AAAE,eAAO;AAAA;AAAI,UAAI,oBAAkB,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAI,UAAI,uBAAqB,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAI,yBAAmB,MAAK,MAAK;AAAC,YAAI,UAAQ,IAAI,KAAK,KAAK;AAAW,eAAM,OAAK,GAAE;AAAC,cAAI,OAAK,aAAa,QAAQ;AAAe,cAAI,eAAa,QAAQ;AAAW,cAAI,qBAAoB,QAAK,oBAAkB,sBAAsB;AAAc,cAAG,OAAK,qBAAmB,QAAQ,WAAU;AAAC,oBAAM,qBAAmB,QAAQ,YAAU;AAAE,oBAAQ,QAAQ;AAAG,gBAAG,eAAa,IAAG;AAAC,sBAAQ,SAAS,eAAa;AAAA,mBAAO;AAAC,sBAAQ,SAAS;AAAG,sBAAQ,YAAY,QAAQ,gBAAc;AAAA;AAAA,iBAAQ;AAAC,oBAAQ,QAAQ,QAAQ,YAAU;AAAM,mBAAO;AAAA;AAAA;AAAS,eAAO;AAAA;AAAQ,yBAAmB,GAAE,SAAQ,QAAO,IAAG;AAAC,YAAI,UAAQ,OAAO,KAAG,MAAI;AAAG,YAAI,OAAK,EAAC,QAAO,OAAO,MAAI,IAAG,QAAO,OAAO,KAAG,KAAG,IAAG,SAAQ,OAAO,KAAG,KAAG,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,QAAO,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,SAAQ,OAAO,KAAG,MAAI,IAAG,UAAS,OAAO,KAAG,MAAI,IAAG,WAAU,OAAO,KAAG,MAAI,IAAG,SAAQ,UAAQ,aAAa,WAAS;AAAI,YAAI,UAAQ,aAAa;AAAQ,YAAI,oBAAkB,EAAC,MAAK,wBAAuB,MAAK,YAAW,MAAK,YAAW,MAAK,MAAK,MAAK,eAAc,MAAK,SAAQ,MAAK,YAAW,MAAK,YAAW,MAAK,YAAW,OAAM,MAAK,OAAM,MAAK,OAAM,YAAW,OAAM,YAAW,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM,MAAK,OAAM;AAAM,iBAAQ,QAAQ,mBAAkB;AAAC,oBAAQ,QAAQ,QAAQ,IAAI,OAAO,MAAK,MAAK,kBAAkB;AAAA;AAAO,YAAI,WAAS,CAAC,UAAS,UAAS,WAAU,aAAY,YAAW,UAAS;AAAY,YAAI,SAAO,CAAC,WAAU,YAAW,SAAQ,SAAQ,OAAM,QAAO,QAAO,UAAS,aAAY,WAAU,YAAW;AAAY,kCAA0B,OAAM,QAAO,WAAU;AAAC,cAAI,MAAI,OAAO,UAAQ,WAAS,MAAM,aAAW,SAAO;AAAG,iBAAM,IAAI,SAAO,QAAO;AAAC,kBAAI,UAAU,KAAG;AAAA;AAAI,iBAAO;AAAA;AAAI,8BAAsB,OAAM,QAAO;AAAC,iBAAO,iBAAiB,OAAM,QAAO;AAAA;AAAK,8BAAsB,OAAM,OAAM;AAAC,uBAAa,OAAM;AAAC,mBAAO,QAAM,IAAE,KAAG,QAAM,IAAE,IAAE;AAAA;AAAE,cAAI;AAAQ,cAAI,WAAQ,IAAI,MAAM,gBAAc,MAAM,oBAAkB,GAAE;AAAC,gBAAI,WAAQ,IAAI,MAAM,aAAW,MAAM,iBAAe,GAAE;AAAC,wBAAQ,IAAI,MAAM,YAAU,MAAM;AAAA;AAAA;AAAY,iBAAO;AAAA;AAAQ,uCAA+B,WAAU;AAAC,kBAAO,UAAU;AAAA,iBAAe;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA,iBAAS;AAAE,qBAAO;AAAA,iBAAe;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,eAAc,GAAE;AAAA,iBAAQ;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA,iBAAS;AAAE,qBAAO,IAAI,KAAK,UAAU,gBAAc,GAAE,IAAG;AAAA;AAAA;AAAK,kCAA0B,OAAK;AAAC,cAAI,WAAS,UAAU,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE,IAAG,MAAK;AAAS,cAAI,oBAAkB,IAAI,KAAK,SAAS,eAAc,GAAE;AAAG,cAAI,oBAAkB,IAAI,KAAK,SAAS,gBAAc,GAAE,GAAE;AAAG,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,yBAAuB,sBAAsB;AAAmB,cAAG,aAAa,wBAAuB,aAAW,GAAE;AAAC,gBAAG,aAAa,wBAAuB,aAAW,GAAE;AAAC,qBAAO,SAAS,gBAAc;AAAA,mBAAM;AAAC,qBAAO,SAAS;AAAA;AAAA,iBAAmB;AAAC,mBAAO,SAAS,gBAAc;AAAA;AAAA;AAAG,YAAI,oBAAkB,EAAC,MAAK,SAAS,OAAK;AAAC,iBAAO,SAAS,MAAK,SAAS,UAAU,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,SAAS,MAAK;AAAA,WAAU,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAO,MAAK,QAAQ,UAAU,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAO,MAAK;AAAA,WAAS,MAAK,SAAS,OAAK;AAAC,cAAI,OAAK,MAAK,UAAQ;AAAK,iBAAO,aAAa,OAAK,MAAI,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAQ;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB,MAAK,SAAQ,GAAE;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB,OAAM,WAAW,UAAU;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,iBAAiB;AAAA,WAAO,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAQ;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,cAAI,aAAW,MAAK;AAAQ,cAAG,cAAY;AAAE,yBAAW;AAAA,mBAAW,aAAW;AAAG,0BAAY;AAAG,iBAAO,aAAa,YAAW;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,UAAQ,WAAW,aAAa,MAAK,UAAQ,QAAM,oBAAkB,sBAAqB,MAAK,SAAO,IAAG;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,SAAO,GAAE;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,QAAO;AAAA,WAAI,MAAK,WAAU;AAAC,iBAAM;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAG,MAAK,WAAS,KAAG,MAAK,UAAQ,IAAG;AAAC,mBAAM;AAAA,iBAAS;AAAC,mBAAM;AAAA;AAAA,WAAO,MAAK,SAAS,OAAK;AAAC,iBAAO,aAAa,MAAK,QAAO;AAAA,WAAI,MAAK,WAAU;AAAC,iBAAM;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK,WAAS;AAAA,WAAG,MAAK,SAAS,OAAK;AAAC,cAAI,WAAS,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,cAAY,SAAS,aAAW,IAAE,WAAS,UAAU,UAAS,IAAE,SAAS;AAAU,cAAI,UAAQ,IAAI,KAAK,MAAK,UAAQ,MAAK,MAAK,QAAO,MAAK;AAAS,cAAG,aAAa,aAAY,WAAS,GAAE;AAAC,gBAAI,6BAA2B,WAAW,aAAa,QAAQ,iBAAe,oBAAkB,sBAAqB,QAAQ,aAAW,KAAG;AAAG,gBAAI,6BAA2B,KAAG,YAAY;AAAU,gBAAI,OAAK,6BAA2B,6BAA2B,QAAQ;AAAU,mBAAO,aAAa,KAAK,KAAK,OAAK,IAAG;AAAA;AAAG,iBAAO,aAAa,aAAY,cAAY,IAAE,OAAK;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAI,oBAAkB,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,oBAAkB,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE;AAAG,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,yBAAuB,sBAAsB;AAAmB,cAAI,UAAQ,UAAU,IAAI,KAAK,MAAK,UAAQ,MAAK,GAAE,IAAG,MAAK;AAAS,cAAG,aAAa,SAAQ,0BAAwB,GAAE;AAAC,mBAAM;AAAA;AAAK,cAAG,aAAa,wBAAuB,YAAU,GAAE;AAAC,mBAAM;AAAA;AAAK,cAAI;AAAe,cAAG,uBAAuB,gBAAc,MAAK,UAAQ,MAAK;AAAC,6BAAe,MAAK,UAAQ,KAAG,uBAAuB;AAAA,iBAAc;AAAC,6BAAe,MAAK,UAAQ,IAAE,uBAAuB;AAAA;AAAU,iBAAO,aAAa,KAAK,KAAK,iBAAe,IAAG;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK;AAAA,WAAS,MAAK,SAAS,OAAK;AAAC,cAAI,WAAS,IAAI,KAAK,MAAK,SAAQ,GAAE;AAAG,cAAI,cAAY,SAAS,aAAW,IAAE,WAAS,UAAU,UAAS,SAAS,aAAW,IAAE,IAAE,IAAE,SAAS,WAAS;AAAG,cAAI,UAAQ,IAAI,KAAK,MAAK,UAAQ,MAAK,MAAK,QAAO,MAAK;AAAS,cAAG,aAAa,aAAY,WAAS,GAAE;AAAC,gBAAI,6BAA2B,WAAW,aAAa,QAAQ,iBAAe,oBAAkB,sBAAqB,QAAQ,aAAW,KAAG;AAAG,gBAAI,6BAA2B,KAAG,YAAY;AAAU,gBAAI,OAAK,6BAA2B,6BAA2B,QAAQ;AAAU,mBAAO,aAAa,KAAK,KAAK,OAAK,IAAG;AAAA;AAAG,iBAAO,aAAa,aAAY,cAAY,IAAE,OAAK;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,iBAAO,OAAK,UAAQ,MAAM,WAAW,UAAU;AAAA,WAAI,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK,UAAQ;AAAA,WAAM,MAAK,SAAS,OAAK;AAAC,cAAI,MAAI,MAAK;AAAU,cAAI,QAAM,OAAK;AAAE,gBAAI,KAAK,IAAI,OAAK;AAAG,gBAAI,MAAI,KAAG,MAAI,MAAI;AAAG,iBAAO,SAAM,MAAI,OAAK,OAAO,SAAO,KAAK,MAAM;AAAA,WAAK,MAAK,SAAS,OAAK;AAAC,iBAAO,MAAK;AAAA,WAAS,MAAK,WAAU;AAAC,iBAAM;AAAA;AAAM,iBAAQ,QAAQ,mBAAkB;AAAC,cAAG,QAAQ,SAAS,OAAM;AAAC,sBAAQ,QAAQ,QAAQ,IAAI,OAAO,MAAK,MAAK,kBAAkB,MAAM;AAAA;AAAA;AAAQ,YAAI,QAAM,mBAAmB,SAAQ;AAAO,YAAG,MAAM,SAAO,SAAQ;AAAC,iBAAO;AAAA;AAAE,2BAAmB,OAAM;AAAG,eAAO,MAAM,SAAO;AAAA;AAAE,2BAAqB,GAAE,SAAQ,QAAO,IAAG;AAAC,eAAO,UAAU,GAAE,SAAQ,QAAO;AAAA;AAAI,kCAA4B,SAAQ,aAAY,QAAO;AAAC,YAAI,MAAI,SAAO,IAAE,SAAO,gBAAgB,WAAS;AAAE,YAAI,UAAQ,IAAI,MAAM;AAAK,YAAI,kBAAgB,kBAAkB,SAAQ,SAAQ,GAAE,QAAQ;AAAQ,YAAG;AAAY,kBAAQ,SAAO;AAAgB,eAAO;AAAA;AAAQ,UAAI,gBAAc,EAAC,KAAI,gBAAe,KAAI,uBAAsB,KAAI,mBAAkB,KAAI,iBAAgB,KAAI,oBAAmB,KAAI,oBAAmB,KAAI,oBAAmB,KAAI,sBAAqB,KAAI,wBAAuB,KAAI,uBAAsB,KAAI,wBAAuB,KAAI,uBAAsB,MAAK,kBAAiB,KAAI,oBAAmB,MAAK,kBAAiB,KAAI,iBAAgB,KAAI,qBAAoB,KAAI,mBAAkB,KAAI,kBAAiB,KAAI,mBAAkB,KAAI,mBAAkB,KAAI,mBAAkB,KAAI,mBAAkB,KAAI,aAAY,KAAI,YAAW,KAAI,QAAO,KAAI,gBAAe,KAAI,iCAAgC,KAAI,iCAAgC,KAAI,qCAAoC,KAAI,iCAAgC,KAAI,2BAA0B,KAAI,4BAA2B,KAAI,4CAA2C,KAAI,0BAAyB,KAAI,0BAAyB,KAAI,0BAAyB,KAAI,8BAA6B,KAAI,2BAA0B,KAAI,qBAAoB,KAAI,mCAAkC,KAAI,6BAA4B,KAAI,0BAAyB,MAAK,wBAAuB,MAAK,yBAAwB,KAAI,cAAa,KAAI,oBAAmB,KAAI,WAAU,KAAI,WAAU,KAAI,YAAW,KAAI,UAAS,KAAI,UAAS,KAAI,UAAS,KAAI,WAAU,KAAI,cAAa,KAAI,aAAY,KAAI,cAAa,KAAI;AAAa,UAAI,MAAI;AAAa,UAAI,qBAAmB,OAAO,wBAAsB,WAAU;AAAC,eAAO,sBAAmB,OAAO,wBAAsB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,QAAM,OAAO,WAAS,WAAU;AAAC,eAAO,SAAM,OAAO,WAAS,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,+BAA6B,OAAO,kCAAgC,WAAU;AAAC,eAAO,gCAA6B,OAAO,kCAAgC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sBAAoB,OAAO,yBAAuB,WAAU;AAAC,eAAO,uBAAoB,OAAO,yBAAuB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,0BAAwB,OAAO,6BAA2B,WAAU;AAAC,eAAO,2BAAwB,OAAO,6BAA2B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mBAAiB,OAAO,sBAAoB,WAAU;AAAC,eAAO,oBAAiB,OAAO,sBAAoB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iCAA+B,OAAO,oCAAkC,WAAU;AAAC,eAAO,kCAA+B,OAAO,oCAAkC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2BAAyB,OAAO,8BAA4B,WAAU;AAAC,eAAO,4BAAyB,OAAO,8BAA4B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,4BAA0B,OAAO,+BAA6B,WAAU;AAAC,eAAO,6BAA0B,OAAO,+BAA6B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,iCAA+B,OAAO,oCAAkC,WAAU;AAAC,eAAO,kCAA+B,OAAO,oCAAkC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qCAAmC,OAAO,wCAAsC,WAAU;AAAC,eAAO,sCAAmC,OAAO,wCAAsC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uCAAqC,OAAO,0CAAwC,WAAU;AAAC,eAAO,wCAAqC,OAAO,0CAAwC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,qCAAmC,OAAO,wCAAsC,WAAU;AAAC,eAAO,sCAAmC,OAAO,wCAAsC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,sCAAoC,OAAO,yCAAuC,WAAU;AAAC,eAAO,uCAAoC,OAAO,yCAAuC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kCAAgC,OAAO,qCAAmC,WAAU;AAAC,eAAO,mCAAgC,OAAO,qCAAmC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,0BAAwB,OAAO,6BAA2B,WAAU;AAAC,eAAO,2BAAwB,OAAO,6BAA2B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,uBAAqB,OAAO,0BAAwB,WAAU;AAAC,eAAO,wBAAqB,OAAO,0BAAwB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,gCAA8B,OAAO,mCAAiC,WAAU;AAAC,eAAO,iCAA8B,OAAO,mCAAiC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,8BAA4B,OAAO,iCAA+B,WAAU;AAAC,eAAO,+BAA4B,OAAO,iCAA+B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2BAAyB,OAAO,8BAA4B,WAAU;AAAC,eAAO,4BAAyB,OAAO,8BAA4B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,4BAA0B,OAAO,+BAA6B,WAAU;AAAC,eAAO,6BAA0B,OAAO,+BAA6B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,wBAAsB,OAAO,2BAAyB,WAAU;AAAC,eAAO,yBAAsB,OAAO,2BAAyB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,yBAAuB,OAAO,4BAA0B,WAAU;AAAC,eAAO,0BAAuB,OAAO,4BAA0B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,kCAAgC,OAAO,qCAAmC,WAAU;AAAC,eAAO,mCAAgC,OAAO,qCAAmC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,6BAA2B,OAAO,gCAA8B,WAAU;AAAC,eAAO,8BAA2B,OAAO,gCAA8B,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,2CAAyC,OAAO,8CAA4C,WAAU;AAAC,eAAO,4CAAyC,OAAO,8CAA4C,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,mCAAiC,OAAO,sCAAoC,WAAU;AAAC,eAAO,oCAAiC,OAAO,sCAAoC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oCAAkC,OAAO,uCAAqC,WAAU;AAAC,eAAO,qCAAkC,OAAO,uCAAqC,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,oBAAkB,OAAO,uBAAqB,WAAU;AAAC,eAAO,qBAAkB,OAAO,uBAAqB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,SAAO,OAAO,YAAU,WAAU;AAAC,eAAO,UAAO,OAAO,YAAU,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,YAAU,OAAO,eAAa,WAAU;AAAC,eAAO,aAAU,OAAO,eAAa,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,eAAa,OAAO,kBAAgB,WAAU;AAAC,eAAO,gBAAa,OAAO,kBAAgB,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,aAAW,OAAO,gBAAc,WAAU;AAAC,eAAO,cAAW,OAAO,gBAAc,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,UAAQ,OAAO,aAAW,WAAU;AAAC,eAAO,WAAQ,OAAO,aAAW,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,UAAI,QAAM,OAAO,WAAS,WAAU;AAAC,eAAO,SAAM,OAAO,WAAS,OAAO,OAAO,OAAO,MAAM,MAAK;AAAA;AAAY,aAAO,WAAS;AAAM,UAAI;AAAU,0BAAoB,QAAO;AAAC,aAAK,OAAK;AAAa,aAAK,UAAQ,kCAAgC,SAAO;AAAI,aAAK,SAAO;AAAA;AAAO,UAAI,aAAW;AAAM,8BAAsB,qBAAoB;AAAC,YAAG,CAAC;AAAU;AAAM,YAAG,CAAC;AAAU,kCAAsB;AAAA;AAAW,wBAAkB,MAAK;AAAC,YAAI,gBAAc,OAAO;AAAS,YAAI,OAAK;AAAE,YAAI,OAAK;AAAE,YAAG;AAAC,cAAI,MAAI,cAAc,MAAK;AAAM,eAAK,KAAI;AAAM,iBAAO;AAAA,iBAAU,GAAN;AAAS,iBAAO,gBAAgB;AAAA,kBAAG;AAAQ,uBAAW;AAAA;AAAA;AAAM,mBAAa,MAAK;AAAC,eAAK,QAAM;AAAW,YAAG,kBAAgB,GAAE;AAAC;AAAA;AAAO;AAAS,YAAG,kBAAgB,GAAE;AAAC;AAAA;AAAO,yBAAgB;AAAC,cAAG;AAAU;AAAO,sBAAU;AAAK,iBAAO,eAAa;AAAK,cAAG;AAAM;AAAO;AAAc;AAAU,8BAAoB;AAAQ,cAAG,OAAO;AAAwB,mBAAO;AAA0B,cAAG;AAAa,qBAAS;AAAM;AAAA;AAAU,YAAG,OAAO,cAAa;AAAC,iBAAO,aAAa;AAAc,qBAAW,WAAU;AAAC,uBAAW,WAAU;AAAC,qBAAO,aAAa;AAAA,eAAK;AAAG;AAAA,aAAS;AAAA,eAAO;AAAC;AAAA;AAAA;AAAS,aAAO,SAAO;AAAI,oBAAc,QAAO,UAAS;AAAC,qBAAW;AAAO,YAAG,oBAAmB;AAAA,eAAM;AAAC;AAAA;AAAc,iBAAS;AAAA;AAAQ,wBAAkB,MAAK;AAAC,qBAAW;AAAK,YAAG,CAAC,oBAAmB;AAAC,cAAG,OAAO;AAAU,mBAAO,UAAU;AAAM,kBAAM;AAAA;AAAK,cAAM,MAAK,IAAI,WAAW;AAAA;AAAO,UAAG,OAAO,YAAW;AAAC,YAAG,OAAO,OAAO,cAAY;AAAW,iBAAO,aAAW,CAAC,OAAO;AAAY,eAAM,OAAO,WAAW,SAAO,GAAE;AAAC,iBAAO,WAAW;AAAA;AAAA;AAAS,UAAI,eAAa;AAAK,UAAG,OAAO;AAAgB,uBAAa;AAAM;AAGjq9C,aAAO,QAAO;AAAA;AAAA;AAIhB,MAAO,oBAAQ;;;ACRR,8BAAqB,sBAAsB;AAAA,IAEvC,YACH,QACA,SACA,eACA,mBAAkC,MACpC;AACE,YAAM,QAAQ,SAAS,eAAe;AAAA;AAAA,IAIhC,gBAAgB,iBAA+D;AACrF,aAAO,kBAAW;AAAA,WACX;AAAA,QACH,iBAAiB,KAAK,gBAAgB,KAAK;AAAA,QAC3C,YAAY,KAAK,WAAW,KAAK;AAAA;AAAA;AAAA;;;ACT7C,8BACI,SACA,QACA,SACuB;AACvB,UAAM,WAAW,MAAM;AACvB,QAAI,SAAS,gBAAgB;AACzB,UAAI,QAAQ,IAAI;AACZ,eAAO,IAAI,QAAW,QAAQ,SAAS,QAAQ,GAAI;AAAA;AAAA;AAG3D,WAAO,IAAI,QAAU,QAAQ,SAAS,QAAQ,IAAI;AAAA;;;ACnB/C,oCAA4B;AAAA,IAM/B,YAAY,UAAuB,MAAc;AAC7C,WAAK,YAAY;AACjB,WAAK,QAAQ;AAAA;AAAA,QAIN,WAAwB;AAC/B,aAAO,KAAK;AAAA;AAAA,UAIH,QAAuB;AAChC,aAAO,KAAK,UAAU,WAAW,KAAK;AAAA;AAAA,IAInC,UAAa,UAAsD;AACtE,aAAO,SAAS,KAAK,WAAW,KAAK;AAAA;AAAA,UAI5B,MAAyD,MAAuC;AACzG,WAAK,UAAU,OAAO,IAAI;AAAA,QACtB,WAAW,IAAI;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA;AAEX,YAAM,SAAS,MAAM,KAAK,UAAU,SAAS,KAAK,OAAO;AACzD,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO,AAAM,mBAAM,KAAK;AAAA;AAAA,UAIf,KACT,MAC8C;AAC9C,WAAK,UAAU,OAAO,IAAI;AAAA,QACtB,WAAW,IAAI;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA;AAEX,YAAM,SAAS,MAAM,KAAK,UAAU,UAAU,KAAK,OAAO;AAC1D,YAAM,OAAO,IAAI,0BAA0B,KAAK,WAAW,KAAK,OAAO;AACvE,YAAM,SAAS,MAAM,AAAM,+BAAkB,KAAQ;AACrD,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO;AAAA;AAAA,UAIE,cAAc,OAAkC;AACzD,aAAO,MAAM,KAAK,UAAU,cAAc,KAAK,OAAO;AAAA;AAAA,UAI7C,QACT,MAC+B;AAC/B,YAAM,OAAO,MAAM,KAAK,UAAU,eAAe,KAAK,OAAO;AAC7D,aAAO,IAAI,uBAA0B,KAAK,WAAW,KAAK,OAAO;AAAA;AAAA,UAIxD,iBAAiB,OAAoB,SAA4C;AAC1F,YAAM,SAAS,MAAM,UAAU,UAAU;AACzC,YAAM,KAAK,yBAAyB,QAAQ;AAAA;AAAA,UAGnC,yBAAyB,QAAoB,SAA4C;AAClG,YAAM,KAAK,UAAU,yBAAyB,KAAK,OAAO,QAAQ;AAAA;AAAA,UAGzD,kBAAkB,MAAc,SAA0C;AACnF,YAAM,KAAK,UAAU,kBAAkB,KAAK,OAAO,MAAM;AAAA;AAAA,UAGhD,mBAAmB,MAAc,SAA2C;AACrF,YAAM,KAAK,UAAU,mBAAmB,KAAK,OAAO,MAAM;AAAA;AAAA;AAK3D,wCAAqE;AAAA,IAQxE,YACuB,KACA,MACA,QACrB;AAHqB;AACA;AACA;AAEnB,WAAK,SAAS;AACd,WAAK,YAAY;AACjB,WAAK,YAAY;AAAA;AAAA,UAGf,OAA4C;AAC9C,UAAI,KAAK,QAAQ;AACb,aAAK,SAAS;AACd,eAAO,EAAE,MAAM,OAAO,OAAO,KAAK;AAAA;AAEtC,UAAI,KAAK,WAAW;AAChB,eAAO,EAAE,MAAM,MAAM,OAAO;AAAA;AAEhC,UAAI;AACJ,UAAI,KAAK,aAAa,MAAM;AACxB,iBAAS,MAAM,KAAK;AACpB,aAAK,YAAY;AAAA,aACd;AACH,iBAAS,MAAM,KAAK,GAAG,kBAAkB,KAAK;AAAA;AAElD,WAAK,YAAY,OAAO,UAAU;AAClC,UAAI,CAAC,KAAK,WAAW;AACjB,aAAK,YAAY,KAAK,GAAG,kBAAkB,KAAK;AAAA;AAEpD,aAAO;AAAA,QACH,MAAM,KAAK;AAAA,QACX,OAAO;AAAA;AAAA;AAAA,KAId,OAAO,iBAAiB;AACrB,aAAO;AAAA;AAAA;AAKR,qCAAgF;AAAA,IASnF,YAAY,UAAuB,cAAsB,aAAqB;AAC1E,WAAK,WAAW;AAChB,WAAK,eAAe;AACpB,WAAK,cAAc;AAAA;AAAA,UAIV,QAAQ;AACjB,YAAM,KAAK,SAAS,cAAc,KAAK,cAAc,KAAK;AAAA;AAAA,UAIjD,SAAS,QAAwC;AAC1D,YAAM,SAAS,MAAM,KAAK,SAAS,YAAY,KAAK,cAAc,KAAK,aAAa;AACpF,YAAM,SAAS,AAAM,+BAAkB,KAAQ;AAC/C,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO,AAAM,mBAAM,KAAK;AAAA;AAAA,UAIf,QAAQ,QAA+D;AAChF,YAAM,SAAS,MAAM,KAAK,SAAS,aAAa,KAAK,cAAc,KAAK,aAAa;AACrF,YAAM,OAAO,IAAI,0BAA0B,KAAK,UAAU,KAAK,cAAc;AAC7E,YAAM,SAAS,MAAM,AAAM,+BAAkB,KAAQ;AACrD,cAAQ,OAAO,OAAO;AACtB,cAAQ,OAAO,OAAO;AACtB,aAAO;AAAA;AAAA;;;ACxGR,yBAA0B;AAAA,IAO7B,YAAY,MAAS,MAAS;AAH9B,6BAAuD,MAAM;AAAA;AAC7D,6BAAwC,MAAM;AAAA;AAG1C,WAAK,OAAO;AACZ,WAAK,OAAO;AACZ,WAAK,UAAU,IAAI,QACf,CAAC,SAA8C,WAAoC;AAC/E,aAAK,kBAAkB;AACvB,aAAK,kBAAkB;AAAA;AAAA;AAAA;;;AC5EvC,MAAM,gBAAe,IAAI;AAElB,0BAAiD;AAAA,IAyBpD,YAAY,QAAgB,UAAwB,MAAM;AAhBhD,sCAAmE;AAKnE,qBAAyB;AAEzB,oCAA+C;AAE/C,qCAAqE,MAAM;AAAA;AAG3E,4BAAiB;AAEjB,8BAAmD,oBAAI;AAG7D,WAAK,UAAU;AACf,WAAK,oBAAoB,KAAK,UAAU,KAAK;AAC7C,WAAK,kBAAkB,KAAK,QAAQ,KAAK;AACzC,WAAK,kBAAkB,KAAK,QAAQ,KAAK;AACzC,UAAI,WAAU;AAAM,aAAK,OAAO;AAAA;AAAA,QAIzB,SAAiB;AACxB,aAAO,KAAK;AAAA;AAAA,IAIN,OAAO,SAAsB;AACnC,WAAK,UAAU;AACf,WAAK,QAAQ,iBAAiB,WAAW,KAAK;AAC9C,WAAK,QAAQ,iBAAiB,SAAS,KAAK;AAC5C,WAAK,QAAQ,iBAAiB,SAAS,KAAK;AAC5C,WAAK,yBAAyB,IAAI,QAC9B,CAAC,SAAoD,YAAqC;AACtF,aAAK,0BAA0B;AAAA;AAAA;AAAA,IAMpC,SAAe;AAClB,UAAI,CAAC,KAAK;AAAS;AACnB,WAAK,QAAQ,oBAAoB,WAAW,KAAK;AACjD,WAAK,QAAQ,oBAAoB,SAAS,KAAK;AAC/C,WAAK,QAAQ,oBAAoB,SAAS,KAAK;AAC/C,WAAK,UAAU;AACf,WAAK,wBAAwB;AAC7B,WAAK,yBAAyB;AAC9B,WAAK,0BAA0B,MAAM;AAAA;AAAA;AAAA,UAI5B,YAA2B;AACpC,UAAI,CAAC,KAAK;AAAS;AACnB,WAAK,QAAQ;AAEb,WAAK,UAAU;AACf,WAAK,yBAAyB;AAC9B,WAAK,0BAA0B,MAAM;AAAA;AAAA;AAAA,UAIzB,SACZ,MACA,WAA0B,IACM;AAChC,UAAI,CAAC,KAAK,SAAS;AACf,gBAAQ,MAAM;AACd,eAAO;AAAA;AAEX,YAAM,MAAM,KAAK;AACjB,WAAK,iBAAiB,IAAI,KAAK;AAC/B,WAAK,QAAQ,YACT;AAAA,QACI,WAAW;AAAA,QACX,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,SAEf;AAEJ,aAAQ,MAAM,KAAK;AAAA;AAAA,IAIb,UAAU,OAA2B;AAE3C,YAAM,WAAW,MAAM;AACvB,cAAQ,SAAS;AAAA,aAER,iBAAwB;AACzB,eAAK,QAAQ,IAAI,SAAS;AAC1B;AAAA;AAAA,aAGC,mDAAyC;AAC1C,qBAAW,KAAK,KAAK,0BAA0B;AAC3C,cAAE,SAAS;AAAA;AAEf;AAAA;AAAA;AAKR,YAAM,OAAO,KAAK,iBAAiB,IAAI,SAAS;AAChD,UAAI,CAAC,MAAM;AACP,gBAAQ,KAAK,2BAA2B,SAAS,cAAc,SAAS,KAAK;AAC7E;AAAA;AAEJ,WAAK,iBAAiB,OAAO,SAAS;AAGtC,UAAI,SAAS,QAAQ,qBAA0B;AAG3C,cAAM,IAAI,IAAI,MAAM,SAAS,KAAK;AAClC,UAAE,OAAO,SAAS,KAAK;AACvB,UAAE,QAAQ,SAAS,KAAK;AACxB,aAAK,gBAAgB;AACrB;AAAA;AAIJ,cAAQ,KAAK;AAAA,aACJ;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AACD,cAAI,SAAS,QAAQ,eAAuB;AACxC,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,eAAK,2BAA2B;AAChC,cAAI,SAAS,QAAQ,eAAuB;AACxC,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,+BAA+B;AAChD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,uCAAmC;AACpD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,qCAAkC;AACnD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,iCAAgC;AACjD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,qCAAkC;AACnD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,iCAAgC;AACjD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,yCAAoC;AACrD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,yCAAoC;AACrD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AAAA,aACA;AACD,cAAI,SAAS,QAAQ,mCAAiC;AAClD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AAAA,aACA;AACD,cAAI,SAAS,QAAQ,iCAAgC;AACjD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,+CAAuC;AACxD,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA,aACC;AACD,cAAI,SAAS,QAAQ,qDAA0C;AAC3D,iBAAK,gBAAgB,SAAS;AAC9B;AAAA;AAEJ;AAAA;AAER,WAAK,gBAAgB,IAAI,MAAM,6BAA6B,SAAS,KAAK;AAAA;AAAA,IAIpE,QAAQ,OAAyB;AACvC,cAAQ,MAAM;AACd,cAAQ,MAAM,2BAA2B,MAAM;AAC/C,WAAK,iBAAiB;AAAA;AAAA,IAIhB,UAAgB;AACtB,WAAK,wBAAwB;AAC7B,UAAI,KAAK,iBAAiB,QAAQ,GAAG;AACjC,gBAAQ,KAAK,0BAA0B,KAAK,iBAAiB;AAC7D;AAAA;AAEJ,WAAK,iBAAiB;AAAA;AAAA,UAIb,QAAuB;AAChC,YAAM,OAAO,IAAI,WAAgD,qBAAyB;AAC1F,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,OAAqB;AAC9B,YAAM,OAAO,IAAI,WAA+C,mBAAwB;AACxF,YAAM,KAAK,SAAS;AAAA;AAAA,UAGX,SAAS,MAA6B;AAC/C,YAAM,OAAO,IAAI,WAAsD,6BAA6B;AACpG,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,YAA2B;AACpC,YAAM,OAAO,IAAI,WAAqD,+BAA8B;AACpG,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,aAA4B;AACrC,YAAM,OAAO,IAAI,WAAsD,iCAA+B;AACtG,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,YACT,eACA,mBAAkC,MAClC,WAAsD,QAAM;AAAA,OAC/C;AACb,WAAK,yBAAyB,KAAK;AACnC,YAAM,OAAO,IAAI,WACb,iCACA,CAAC,eAAe;AAEpB,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,aAA8B;AACvC,YAAM,OAAO,IAAI,WAAwD,iCAA+B;AACxG,YAAM,UAAU,MAAM,KAAK,SAAS;AACpC,aAAO;AAAA;AAAA,UAIE,kBAAmC;AAC5C,YAAM,OAAO,IAAI,WACb,6CACA;AAEJ,YAAM,UAAU,MAAM,KAAK,SAAS;AACpC,aAAO;AAAA;AAAA,UAIE,KAAK,QAAqC;AACnD,YAAM,OAAO,IAAI,WAAuD,mBAAwB;AAChG,YAAM,KAAK,SAAS;AAAA;AAAA,UAIX,SAAS,MAAqC;AACvD,YAAM,OAAO,IAAI,WAA6D,2BAA4B;AAC1G,YAAM,SAAS,MAAM,KAAK,SAAS;AACnC,aAAO;AAAA;AAAA,UAIE,kBAAmC;AAC5C,YAAM,OAAO,IAAI,WAA0D,yBAA2B;AACtG,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,UAA0C;AACnD,YAAM,MAAM,MAAM,KAAK;AACvB,aAAO,IAAI,sBAAsB,MAAM;AAAA;AAAA,UAI9B,WAAW,MAAmC;AACvD,YAAM,OAAO,IAAI,WACb,+BACA;AAEJ,YAAM,KAAK,SAAS;AAAA;AAAA,UAIX,SAAS,MAAoB,MAAmC;AACzE,YAAM,OAAO,IAAI,WACb,6BACA,CAAC,MAAM;AAEX,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,UAAU,MAAoB,MAAmC;AAC1E,YAAM,OAAO,IAAI,WACb,+BACA,CAAC,MAAM;AAEX,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,kBAAkB,MAAyC;AACpE,YAAM,OAAO,IAAI,WACb,iDACA;AAEJ,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,cAAc,MAAc,MAAiC;AACtE,YAAM,OAAO,IAAI,WACb,yCACA,CAAC,MAAM;AAEX,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,eAAe,MAAc,MAA+B;AACrE,YAAM,OAAO,IAAI,WACb,yCACA,CAAC,MAAM;AAEX,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,cAAc,MAAc,WAAkC;AACvE,YAAM,OAAO,IAAI,WACb,uCACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS;AAAA;AAAA,UAGX,YAAY,MAAc,WAAmB,QAAoC;AAC1F,YAAM,OAAO,IAAI,WACb,mCACA,CAAC,MAAM,WAAW;AAEtB,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,aAAa,MAAc,WAAmB,QAAoC;AAC3F,YAAM,OAAO,IAAI,WACb,qCACA,CAAC,MAAM,WAAW;AAEtB,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,UAAU,MAAkC;AACrD,YAAM,OAAO,IAAI,WACb,yCACA;AAEJ,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAGlB,iBAAiB,MAAc,MAA6B;AACrE,YAAM,SAAS,cAAa,OAAO;AACnC,YAAM,KAAK,mBAAmB,MAAM;AAAA;AAAA,UAG3B,gBAAgB,MAAc,KAA4B;AACnE,UAAI,QAAQ,QAAW;AACnB,cAAM;AAAA;AAEV,YAAM,OAAO,IAAI,WACb,6CACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS;AAAA;AAAA,UAIX,wBAAwB,MAA6B;AAC9D,YAAM,OAAO,IAAI,WACb,mDACA,CAAC,MAAM,IAAI;AAEf,YAAM,KAAK,SAAS;AAAA;AAAA,UAIX,mBAAmB,MAAc,QAAmC;AAC7E,YAAM,OAAO,IAAI,WACb,mDACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS,MAAM,CAAC,OAAO;AAAA;AAAA,UAIzB,mBAA+B,MAAc,QAAmC;AACzF,YAAM,OAAO,IAAI,WACb,mDACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS,MAAM;AAAA;AAAA,UAIjB,sBAAsB,MAAc,QAAgC;AAC7E,YAAM,OAAO,IAAI,WACb,yDACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS,MAAM;AAAA;AAAA,UAIjB,qBAAqB,MAAuC;AACrE,YAAM,OAAO,IAAI,WACb,uDACA;AAEJ,aAAO,MAAM,KAAK,SAAS,MAAM;AAAA;AAAA,UAIxB,iBAAiB,MAAmC;AAC7D,YAAM,OAAO,IAAI,WACb,iDACA;AAEJ,aAAO,MAAM,KAAK,SAAS;AAAA;AAAA,UAIlB,eAAe,MAAc,MAA6B;AACnE,YAAM,OAAO,IAAI,WACb,6CACA,CAAC,MAAM;AAEX,YAAM,KAAK,SAAS;AAAA;AAAA,UAIX,yBACT,MACA,QACA,SACa;AACb,UAAI,OAAO,UAAU;AAAG;AAExB,YAAM,OAAO,IAAI,WAIf,mEAAgD,CAAC,MAAM,QAAQ;AACjE,YAAM,KAAK,SAAS,MAAM,CAAC,OAAO;AAAA;AAAA,UAGzB,kBAAkB,MAAoB,MAAc,SAA0C;AAEvG,UAAI,QAAQ,YAAY,QAAW;AAC/B,cAAM,MAAM;AACZ,mBAAW,KAAK,QAAQ,SAAS;AAC7B,gBAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAI,KAAK,kBAAkB,GAAG;AAAA;AAElC,gBAAQ,cAAc;AACtB,eAAO,QAAQ;AAAA;AAInB,YAAM,OAAO,IAAI,WACb,mDACA,CAAC,MAAM,MAAM;AAEjB,YAAM,KAAK,SAAS;AAAA;AAAA,UAGX,mBAAmB,MAAoB,MAAc,SAA2C;AAEzG,UAAI,QAAQ,YAAY,QAAW;AAC/B,cAAM,MAAM;AACZ,mBAAW,KAAK,QAAQ,SAAS;AAC7B,gBAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAI,KAAK,kBAAkB,GAAG;AAAA;AAElC,gBAAQ,cAAc;AACtB,eAAO,QAAQ;AAAA;AAInB,YAAM,OAAO,IAAI,WACb,qDACA,CAAC,MAAM,MAAM;AAEjB,YAAM,KAAK,SAAS;AAAA;AAAA;;;ACrkB5B,0BAAmB;AAEnB,8BAAmC,KAAa;AAC5C,UAAM,UAAU,IAAI,QAAQ;AAC5B,UAAM,eAAe,MAAM,MAAM;AACjC,UAAM,YAAY,IAAI,gBAAgB,MAAM,aAAa;AACzD,WAAO,IAAI,0BAAO;AAAA;;;ACEtB,MAAM,kBAAqB,QAAM,MAAK,MAAM,IAAI,KAAK,OAAO,KAAK,KAAK,MAAM,KAAK,MAAM,MAAU;AAGjG,MAAM,mBAAmB;AACzB,MAAM,eAAe,IAAI,KAAK,KAAK,IAAI,SAAS,GAAG;AACnD,MAAM,mBAAmB;AACzB,MAAM,eAAe,IAAI,KAAK,KAAK,IAAI,QAAQ,GAAG;AAmBlD,MAAM,wBAAwB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKJ,MAAM,8BAA8B,CAAC,WAAW,UAAU,QAAQ;AAClE,MAAM,mCAAqD;AAAA,IACvD,SAAS,CAAC,GAAG,OAAO,kBAAkB;AAAA,IACtC,QAAQ,CAAC,OAAO,kBAAkB,OAAO,kBAAkB;AAAA,IAC3D,MAAM,CAAC,aAAa,WAAW,aAAa,WAAW;AAAA,IACvD,WAAW,CAAC,aAAa,WAAW,aAAa,WAAW;AAAA;AAIhE,MAAM,4CAA4C;AAAA,IAC9C,oCAAoC,OAAO;AAAA,IAC3C,0BAA0B,OAAO,2BAA2B,OAAO;AAAA,IACnE,2BAA2B,4BAA4B;AAAA,IACvD,2BAA2B,iCAAiC;AAAA;AAIhE,MAAM,gCAAgC,CAAC,WAAW;AAGlD,MAAM,+BAAiD;AAAA,IACnD,MAAM,CAAC,OAAO,MAAM;AAAA,IACpB,SAAS,CAAC,MAAM,KAAK;AAAA,IACrB,UAAU,CAAC,QAAQ,OAAO;AAAA,IAC1B,KAAK,CAAC,aAAa,YAAY;AAAA,IAC/B,UAAU,CAAC,GAAG,KAAK;AAAA,IACnB,WAAW,CAAC,GAAG,OAAO;AAAA,IACtB,MAAM,CAAC,GAAG,YAAY;AAAA,IAItB,MAAM,CAAC,GAAG,IAAI,KAAK,iCAAiC,YAAY,MAAO,KAAK;AAAA,IAC5E,SAAS,CAAC,GAAG,IAAI,KAAK,iCAAiC,YAAY,MAAO,KAAK;AAAA,IAC/E,UAAU,CAAC,GAAG,iBAAiB;AAAA,IAE/B,OAAO,CAAC,uBAAwB,sBAAuB;AAAA,IACvD,QAAQ,CAAC,wBAAyB,uBAAwB;AAAA,IAC1D,SAAS,CAAC,0DAAgB,SAAS;AAAA,IACnC,YAAY,CAAC,kBAAkB,SAAS;AAAA,IACxC,aAAa,CAAC,UAAU,YAAY;AAAA,IACpC,YAAY,CAAC,UAAU,cAAc;AAAA,IAErC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,MAAM,MAAM;AAAA,IAC5C,eAAe,CAAC,IAAI,CAAC,0DAAgB,SAAS,MAAM,KAAK;AAAA,IACzD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,KAAK,MAAM,MAAM,OAAO;AAAA,IAE/F,QAAQ,CAAC,uBAAuB,yEAA+B;AAAA,IAC/D,kBAAkB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEJ,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,yEAA+B,OAAO;AAAA,IAIrF,MAAM;AAAA,MACF,WAAW,KAAK;AAAA,QACZ;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QACpG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA;AAAA,MAEjC,WAAW,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;AAAA,MACpE;AAAA;AAAA;AAKR,MAAM,kBAAkB,4BAA4B,OAAO,uBAAuB,OAAO;AAEzF,kBAAgB,GAAa;AACzB,QAAI,MAAM;AAAM,aAAO;AAEvB,QAAI,aAAa,qBAAQ;AACrB,YAAM,MAAM,MAAM,KAAK,EAAE;AACzB,eAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACjC,YAAI,CAAC,EAAE,QAAQ,IAAI;AACf,cAAI,KAAK;AAAA;AAAA;AAGjB,aAAO,OAAO;AAAA,eACP,aAAa,OAAO;AAC3B,YAAM,MAAW;AACjB,eAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAC/B,YAAI,KAAK,OAAO,EAAE;AAAA;AAEtB,aAAO;AAAA,eACA,aAAa,YAAY;AAChC,aAAO;AAAA,eACA,aAAa,QAAQ;AAC5B,aAAO,KAAK,UAAU,EAAE;AAAA;AAG5B,WAAO;AAAA;AAGX,oBAAkB,GAAa;AAC3B,QAAI,OAAO,GAAG,YAAY,YAAY;AAClC,aAAO,EAAE;AAAA,WACN;AACH,aAAO;AAAA;AAAA;AAIf,MAAM,iBAAiC;AAAA,IACnC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa,gBAAgB,SAAS,OAAO,KAAK,8BAA8B;AAAA,MAChF,aAAa;AAAA;AAAA,IAEjB;AAAA,MACI,MAAM;AAAA,MACN,OAAO,UAAU,0CAA0C,KAAK;AAAA;AAAA,MAEhE,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa,4BAA4B;AAAA,MACzC,aAAa;AAAA;AAAA,IAEjB;AAAA,MACI,MAAM;AAAA,MACN,OAAO,UAAU,8BAA8B,KAAK;AAAA,MACpD,MAAM;AAAA,MACN,WAAW;AAAA,QACP,SAAS,CAAC,oBAAoB,mBAAmB;AAAA,QACjD,SAAS,CAAC,oBAAoB,mBAAmB;AAAA;AAAA,MAErD,aAAa,8BAA8B;AAAA,MAC3C,aAAa;AAAA,QACT,qBAAqB;AAAA;AAAA;AAAA;AAK1B,wBAAsB,KAAuC;AAChE,QAAI;AAEJ,eAAW,MAAM;AACb,YAAK;AAAA;AAGT,cAAU,MAAM;AACZ,UAAI,MAAM;AACN,aAAK;AACL,eAAO;AAAA;AAEX,YAAK;AACL,YAAK;AAAA;AAET,aAAS,kBAAkB,MAAM;AAC7B,iBAAW,QAAQ,gBAAgB;AAC/B,WAAG,KAAK,MAAM,MAAM;AAChB,cAAI,KAAK;AAAa,kBAAK,KAAK,EAAE,OAAO,KAAK;AAE9C,iBAAO,MAAK;AAEZ,gBAAM,UAAU,KAAK,MAAM,KAAK;AAChC,iBAAO,QAAQ,SAAS,QAAQ,KAAK;AAErC,gBAAM,OAAO,oBAAI;AACjB,qBAAW,KAAK,KAAK,MAAM;AACvB,iBAAK,IAAI,GAAG;AAAA;AAEhB,mBAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,KAAK;AACtC,kBAAM,MAAM,QAAQ,YAAY;AAChC,gBAAI,KAAK,IAAI,IAAI;AAAO;AAExB,mBAAO,OAAO,SAAS,IAAI,IAAI,MAAM,QAAQ,KAAK,UAAU,IAAI,MAAM;AACtE,mBAAO,OAAO,SAAS,IAAI,IAAI,MAAM,QAAQ,KAAK,UAAU,IAAI,MAAM;AACtE,mBAAO,IAAI,IAAI,IAAI,QAAQ,KAAK,UAAU,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAOjE,6BAA2B,KAAoC;AAClE,QAAI,OAA4C;AAEhD,eAAW,YAAY;AACnB,YAAM,MAAK;AAAA;AAEf,cAAU,YAAY;AAClB,UAAI,MAAM;AACN,cAAM,KAAK;AACX,eAAO;AAAA;AAEX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAGf,aAAS,wBAAwB,MAAM;AACnC,iBAAW,QAAQ,gBAAgB;AAC/B,WAAG,KAAK,MAAM,YAAY;AACtB,cAAI,KAAK;AAAa,kBAAK,KAAK,EAAE,OAAO,KAAK;AAE9C,iBAAO,MAAM,MAAK;AAClB,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,iBAAO,QAAQ,SAAS,QAAQ,KAAK;AAErC,gBAAM,OAAO,oBAAI;AACjB,qBAAW,KAAK,KAAK,MAAM;AACvB,iBAAK,IAAI,GAAG;AAAA;AAEhB,mBAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,KAAK;AACtC,kBAAM,MAAM,QAAQ,YAAY;AAChC,gBAAI,KAAK,IAAI,IAAI;AAAO;AAExB,mBAAO,OAAO,KAAK,KAAK,YAAY,UAAU,IAAI;AAClD,mBAAO,OAAO,SAAS,IAAI,IAAI,MAAM,QAAQ,KAAK,UAAU,IAAI,MAAM;AACtE,mBAAO,OAAO,SAAS,IAAI,IAAI,MAAM,QAAQ,KAAK,UAAU,IAAI,MAAM;AACtE,mBAAO,IAAI,IAAI,IAAI,QAAQ,KAAK,UAAU,IAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC9PxE,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,MAAM,oBAAoB;AAC1B,MAAM,cAAc;AACpB,MAAM,YAAY;AAOlB,MAAM,eAAe,eAAgB,MAA6B,OAAsB,eAAqB;AACzG,YAAQ;AAAA,WACC;AACD,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM,oBAAoB;AACrC;AAAA,WACC;AACD,cAAM,KAAK,MAAM,kBAAkB;AACnC,cAAM,KAAK,MAAM,yBAAyB;AAC1C,cAAM,KAAK,MAAM,6BAA6B;AAC9C,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM,oBAAoB;AACrC;AAAA,WACC;AACD,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM,oBAAoB;AACrC;AAAA;AAAA;AAIL,sBAAoB,KAAwC;AAC/D,QAAI;AAEJ,UAAM,YAAY,WAAY;AAC1B,UAAI,UAA8B;AAClC,WAAM,UAAU,CAAC,UAA0B,eAAuB;AAC9D,kBAAU,SAAgC;AAAA;AAE9C,aAAO,SAAQ;AACf,aAAO;AAAA;AAEX,UAAM,QAAQ,YAAY;AACtB,YAAM;AACN,aAAO,MAAM;AAAA;AAEjB,eAAW,YAAY,MAAM;AAC7B,cAAU,YAAY,MAAM;AAE5B,aAAS,UAAU,MAAM;AACrB,SAAG,8BAA8B,YAAY;AACzC,cAAM,UAAS;AAGf,cAAM,iBAAiB,wBAAgB,kBAAkB;AACzD,cAAM,aAAa,eAAgB;AACnC,eAAO,gBAAgB,UAAU;AACjC,eAAO,gBAAgB,UAAU,QAAQ,QAAQ;AACjD,eAAO,gBAAgB,UAAU,aAAa,QAAQ;AACtD,eAAO,gBAAgB,UAAU,iBAAiB,QAAQ;AAC1D,eAAO,gBAAgB,UAAU,cAAc,QAAQ;AACvD,eAAO,gBAAgB,UAAU,UAAU,QAAQ;AAGnD,aAAM,MAAM;AACZ,aAAM,MAAM;AACZ,aAAM,MAAM;AACZ,aAAM,MAAM;AACZ,aAAM,MAAM;AACZ,cAAM,wBAAwB,wBAAgB,kBAAkB;AAChE,eAAO,uBAAuB,UAAU;AACxC,eAAO,uBAAuB,YAAY,QAAQ,aAAa;AAC/D,cAAM,SAAS,YAAY,uBAAuB,UAAU,iCAAiC;AAC7F,eAAO,OAAO,KAAK,QAAQ;AAC3B,eAAO,OAAO,OAAO,QAAQ;AAC7B,eAAO,OAAO,MAAM,QAAQ;AAC5B,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,aAAa,QAAQ;AACnC,eAAO,OAAO,iBAAiB,QAAQ;AACvC,eAAO,OAAO,cAAc,QAAQ;AAGpC,aAAM,MAAM;AACZ,cAAM,iCAAiC,wBAAgB,kBAAkB;AACzE,cAAM,yBAAyB,YAAY,gCAAgC,UAAU,iCAAiC;AACtH,eAAO,uBAAuB,MAAM,QAAQ;AAG5C,cAAM;AACN,cAAM,wBAAwB,wBAAgB,kBAAkB;AAChE,cAAM,gBAAgB,YAAY,uBAAuB,UAAU,iCAAiC;AACpG,eAAO,cAAc,KAAK,QAAQ;AAClC,eAAO,cAAc,OAAO,QAAQ;AACpC,eAAO,cAAc,MAAM,QAAQ;AACnC,eAAO,cAAc,QAAQ,QAAQ;AACrC,eAAO,cAAc,SAAS,QAAQ;AACtC,eAAO,cAAc,QAAQ,QAAQ;AACrC,eAAO,cAAc,aAAa,QAAQ;AAC1C,eAAO,cAAc,iBAAiB,QAAQ;AAC9C,eAAO,cAAc,cAAc,QAAQ;AAAA;AAG/C,SAAG,0BAA0B,MAAM;AAC/B,cAAM,UAAS;AAEf,aAAM,MAAM;AACZ,cAAM,wBAAwB,wBAAgB,kBAAkB;AAChE,eAAO,uBAAuB,UAAU;AACxC,cAAM,aAAa,WAAW,uBAAuB,UAAU,QAAQ;AACvE,eAAO,YAAY,QAAQ,WAAW;AAEtC,aAAM,MAAM;AACZ,cAAM,wBAAwB,wBAAgB,kBAAkB;AAChE,eAAO,uBAAuB,UAAU;AACxC,cAAM,UAAU,WAAW,uBAAuB,UAAU,QAAQ;AACpE,eAAO,SAAS,QAAQ,0BAA0B;AAElD,aAAM,MAAM;AACZ,cAAM,uBAAuB,wBAAgB,kBAAkB;AAC/D,eAAO,sBAAsB,UAAU;AACvC,cAAM,gBAAgB,WAAW,sBAAsB,UAAU,QAAQ;AACzE,eAAO,eAAe,QAAQ,WAAW;AAAA;AAI7C,SAAG,+BAA+B,MAAM;AACpC,cAAM,cAAwB;AAAA,UAC1B,KAAK;AAAA,UACL,OAAO;AAAA,UACP,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,iBAAiB;AAAA,UACjB,cAAc;AAAA,UACd,SAAS;AAAA,UACT,aAAa;AAAA;AAEjB,cAAM,SAAS,gBAAgB,aAAa,IAAI;AAChD,eAAO,QAAQ,QACX;AAGJ,cAAM,yBAAyB;AAC/B,cAAM,cAAwB;AAAA,UAC1B,KAAK;AAAA,UACL,OAAO;AAAA,UACP,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,iBAAiB;AAAA,UACjB,cACI;AAAA,UACJ,SAAS;AAAA,UACT,aAAa;AAAA;AAEjB,cAAM,UAAU,gBAAgB,aAAa,IAAI;AACjD,eAAO,SAAS,QACZ;AAGJ,cAAM,cAAwB;AAAA,UAC1B,KAAK;AAAA,UACL,OAAO;AAAA,UACP,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,iBAAiB;AAAA,UACjB,cAAc;AAAA,UACd,SAAS;AAAA,UACT,aAAa;AAAA;AAEjB,cAAM,qBAAsC;AAAA,UACxC,aAAa;AAAA,UACb,aAAa;AAAA;AAEjB,cAAM,UAAU,gBAAgB,aAAa,oBAAoB,IAAI;AACrE,eAAO,SAAS,QACZ;AAGJ,eAAO,UAAU,qBAAqB,QAAQ;AAC9C,eAAO,UAAU,0CAA0C,QACvD;AAEJ,eAAO,UAAU,yCAAyC,OAAO,QAC7D;AAAA;AAAA;AAAA;AAMT,2BACH,MACA,cACA,SACI;AACJ,QAAI;AAGJ,UAAM,kBAAkB,eAAgB,UAAkB,QAAgB,WAA8B;AACpG,YAAM,OAAM,mBAAmB,qBAAqB;AACpD,UAAI,CAAC,MAAM;AACP,eAAO,MAAM,OAAM;AAAA;AAEvB,YAAM,aAAa,MAAM;AACzB,YAAM,KAAK,KAAK;AAChB,YAAM,KAAK,MAAM,4BAA4B,eAAe,YAAY,oBAAoB;AAC5F,YAAM,OAAM;AACZ,YAAM,OAAM;AAAA;AAIhB,UAAM,8BAA8B,eAAgB,QAAa,WAA8B;AAC3F,YAAM,OAAM,mBAAmB,8BAA8B;AAC7D,YAAM,kBAAkB,MAAM,KAAM,MAAM;AAC1C,aAAO,OAAO,YAAY,GAAG,WAAW,QAAQ,gBAAgB,YAAY,IAAI;AAAA;AAIpF,UAAM,QAAQ,YAAY;AACtB,YAAM,OAAM;AACZ,aAAO,MAAM,OAAM;AAAA;AAEvB,eAAW,YAAY,MAAM;AAC7B,cAAU,YAAY,MAAM;AAE5B,aAAS,gBAAgB,MAAM;AAC3B,SAAG,wBAAwB,YAAY;AACnC,cAAM,UAAU,MAAM,KAAM,MACxB;AAEJ,eAAO,QAAQ,YAAY,IAAI,IAAI,IAAI,QAAQ;AAAA;AAGnD,SAAG,qEAAqE,YAAY;AAChF,YAAI,OAAO,MAAM,aAAY;AAC7B,cAAM,aAAa;AACnB,cAAM,gBAAgB,qBAAqB,OAAO;AAClD,cAAM,oBAAoB,MAAM,KAAM,MAAM,uBAAuB;AACnE,eAAO,MAAM,aAAY;AACzB,oCAA4B,mBAAmB;AAAA;AAGnD,SAAG,yEAAyE,YAAY;AACpF,YAAI,OAAO,MAAM,aAAY;AAC7B,cAAM,gBAAgB,qBAAqB,WAAW;AACtD,cAAM,aAAa;AACnB,cAAM,oBAAoB,MAAM,KAAM,MAClC,uBAAuB;AAE3B,eAAO,MAAM,aAAY;AACzB,oCAA4B,mBAAmB;AAAA;AAGnD,SAAG,kDAAkD,YAAY;AAC7D,cAAM,OAAO,MAAM,aAAY;AAC/B,cAAM,gBAAgB,uBAAuB,WAAW;AACxD,cAAM,aAAa,MAAO;AAC1B,cAAM,YACF,KAAM,MAAM,uBAAuB,0CACrC;AAAA;AAGN,SAAG,wDAAwD,YAAY;AACnE,cAAM,OAAO,MAAM,aAAY;AAC/B,cAAM,gBAAgB,gCAAgC,WAAW;AACjE,cAAM,aAAa;AACnB,cAAM,kBAAkB,MAAM,KAAM,MAChC,+BAA+B;AAEnC,eAAO,gBAAgB,YAAY,IAAI,IAAI,IAAI,QAAQ;AACvD,cAAM,aAAa,MAAO;AAC1B,cAAM,YACF,KAAM,MAAM,oCAAoC,mCAClD;AAAA;AAGN,SAAG,uEAAuE,YAAY;AAClF,cAAM,aAAa;AACnB,cAAM,KAAM,MACR,yDAAyD;AAE7D,cAAM,SAAS,MAAM,KAAM,MAAM,uBAAuB;AACxD,eAAO,OAAO,YAAY,IAAI,IAAI,IAAI,QAAQ;AAC9C,cAAM,YACF,KAAM,MACF,yDAAyD,kDAE/D,sBAAsB;AAAA;AAAA;AAAA;;;ACjT7B,wBAAsB,KAAiC,UAAuB;AACjF,QAAI;AAEJ,eAAW,MAAM;AACb,aAAO,MAAK;AAAA;AAGhB,cAAU,MAAM;AACZ,WAAK;AACL,YAAK;AACL,YAAK;AAAA;AAGT,aAAS,kBAAkB,MAAM;AAC7B,eAAS,kBAAkB,MAAM;AAC7B,WAAG,eAAe,YAAY;AAC1B,cAAI,QAAsB;AAC1B,cAAI;AACA,iBAAK,KAAK;AAAA,mBACL,GAAP;AACE,oBAAQ;AAAA;AAEZ,iBAAO,OAAO,IAAI,KAAK;AAAA;AAAA;AAY/B,eAAS,SAAS,MAAM;AACpB,WAAG,wBAAwB,YAAY;AACnC,gBAAM,MAAK;AACX,iBAAO,MAAK;AACZ,eAAK,MAAM;AACX,cAAI,QAAQ,KAAK,MAA4B;AAC7C,cAAI,OAAO,MAAM;AACjB,iBAAO,KAAK,QAAQ,QAAQ;AAC5B,iBAAO,KAAK,GAAG,MAAM,QAAQ;AAC7B,gBAAM,MAAK;AACX,iBAAO,MAAK;AACZ,kBAAQ,KAAK,MAA4B;AACzC,iBAAO,MAAM;AACb,iBAAO,KAAK,QAAQ,QAAQ;AAAA;AAAA;AAIpC,eAAS,sBAAsB,MAAM;AACjC,WAAG,gBAAgB,YAAY;AAC3B,gBAAM,OAAO,KAAK,QAAQ;AAC1B,gBAAM,SAAS,KAAK,MAAM;AAC1B,iBAAO,OAAO,QAAQ,KAAK;AAC3B,eAAK;AAAA;AAGT,WAAG,aAAa,YAAY;AACxB,gBAAM,OAAO,KAAK,QAAQ;AAC1B,gBAAM,SAAS,KAAK,KAAK;AACzB,cAAI,OAAO;AACX,qBAAW,SAAS,QAAQ;AACxB,oBAAQ,MAAM;AAAA;AAElB,iBAAO,MAAM,KAAK;AAClB,eAAK;AAAA;AAET,WAAG,aAAa,YAAY;AACxB,eAAK,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYX,gBAAM,OAAO,KAAK,QAAQ;AAC1B,iBAAO,MACH,KAAK,MAAM,MAAM,KAAK,KAAQ,KAAW,KAAe,KAAK,KAAK,IAAI,eAAe,OACvF,IAAI;AACN,iBAAO,MACH,KAAK,MACD,QACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA,OAEN;AACF,iBAAO,MACH,KAAK,MACD,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA,OAEN;AACF,iBAAO,MACH,KAAK,MACD,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA,OAEN;AACF,iBAAO,MACH,KAAK,MACD,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA,OAEN;AACF,eAAK;AAAA;AAAA;AAAA;AAAA;AAMd,6BAA2B,MAA+B,UAAuB;AACpF,eAAW,YAAY;AAAA;AAEvB,cAAU,YAAY;AAClB,YAAM,OAAM;AACZ,YAAM,OAAM;AACZ,YAAM,OAAM,KAAK;AAAA,QACb,MAAM;AAAA;AAAA;AAId,aAAS,YAAY,MAAM;AACvB,eAAS,QAAQ,MAAM;AACnB,WAAG,oBAAoB,YAAY;AAC/B,gBAAM,OAAM,gBAAgB,gBAAgB,GAAG;AAC/C,gBAAM,OAAM,KAAK;AAAA,YACb,MAAM;AAAA;AAEV,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,QAAQ,MAAM,KAAK,MAEtB;AACH,gBAAM,OAAO,MAAM;AACnB,iBAAO,KAAK,QAAQ,QAAQ;AAC5B,iBAAO,KAAK,GAAG,GAAG,QAAQ;AAAA;AAAA;AAIlC,eAAS,YAAY,MAAM;AACvB,WAAG,oBAAoB,YAAY;AAC/B,gBAAM,OAAM,KAAK;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,cACH,oBAAoB;AAAA;AAAA;AAG5B,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,QAAQ,MAAM,KAAK,MAAM;AAC/B,iBAAO,MAAM,OAAO,OAAO,QAAQ,QAAQ;AAC3C,iBAAO,MAAM,OAAO,OAAO,GAAG,QAAQ,QAAQ,AAAM,kBAAK;AAAA;AAG7D,WAAG,sBAAsB,YAAY;AACjC,gBAAM,OAAM,KAAK;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,cACH,oBAAoB;AAAA;AAAA;AAG5B,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,QAAQ,MAAM,KAAK,MAAM;AAC/B,iBAAO,MAAM,OAAO,OAAO,QAAQ,QAAQ;AAC3C,iBAAO,MAAM,OAAO,OAAO,GAAG,QAAQ,QAAQ,AAAM,kBAAK;AAAA;AAAA;AAIjE,eAAS,sBAAsB,MAAM;AACjC,WAAG,gBAAgB,YAAY;AAC3B,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,OAAO,MAAM,KAAK,QAAQ;AAChC,gBAAM,SAAS,MAAM,KAAK,MAAM;AAChC,iBAAO,OAAO,QAAQ,KAAK;AAC3B,gBAAM,KAAK;AAAA;AAGf,WAAG,aAAa,YAAY;AACxB,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,OAAO,MAAM,KAAK,QAAQ;AAChC,gBAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAI,OAAO;AACX,2BAAiB,SAAS,QAAQ;AAC9B,oBAAQ,MAAM;AAAA;AAElB,iBAAO,MAAM,KAAK;AAClB,gBAAM,KAAK;AAAA;AAEf,WAAG,aAAa,YAAY;AACxB,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,KAAK,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYjB,gBAAM,OAAO,MAAM,KAAK,QAAQ;AAEhC,gBAAM,gBAAgB,OAAO,OAA4B;AACrD,gBAAI,UAAU;AACd,gBAAI;AACA,oBAAM;AAAA,qBACD,GAAP;AACE,wBAAU;AAAA;AAEd,mBAAO,SAAS,KAAK;AAAA;AAEzB,wBAAc,YAAY;AACtB,kBAAM,KAAK,MACP,QACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA;AAAA;AAGR,wBAAc,YAAY;AACtB,kBAAM,KAAK,MACP,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA;AAAA;AAGR,wBAAc,YAAY;AACtB,kBAAM,KAAK,MACP,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA;AAAA;AAGR,wBAAc,YAAY;AACtB,kBAAM,KAAK,MACP,MACA,KACA,KACA,KACA,KACA,KACA,KAAK,IACL,eACA;AAAA;AAGR,gBAAM,KAAK;AAAA;AAAA;AAAA;AAAA;;;ACzS3B,MAAM,WAAW;AAEV,2BAAyB,KAAuC;AACnE,QAAI;AAEJ,eAAW,MAAM;AACb,aAAO,MAAK;AAAA;AAGhB,cAAU,MAAM;AACZ,WAAK;AACL,YAAK;AACL,YAAK;AAAA;AAGT,aAAS,kCAAkC,MAAM;AAC7C,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,6EACoC;AAAA;AAE7D,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK,MAAM;AAAA;AAAA;AAGlC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,YAAY,MAAM;AACjB,gBAAM,SAAS,KAAK,KAAK;AAAA,gFACuC;AAAA;AAEhE,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK,MAAM;AAAA;AAAA;AAGlC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK;AAAA;AAAA;AAG5B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,oEAC2B;AAAA;AAEpD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,EAAE,WAAW,KAAK;AAAA;AAAA;AAGtC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK,OAAO;AAAA;AAAA;AAGnC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,qCAAqC,MAAM;AAChD,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,6EACoC;AAAA;AAE7D,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,MAAM;AAAA;AAAA;AAG7B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,YAAY,MAAM;AACjB,gBAAM,SAAS,KAAK,KAAK;AAAA,gFACuC;AAAA;AAEhE,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,MAAM;AAAA;AAAA;AAG7B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK;AAAA;AAAA;AAGvB,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,oEAC2B;AAAA;AAEpD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,EAAE,WAAW,KAAK;AAAA;AAAA;AAGjC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,cAAI,IAAI;AACR,qBAAW,SAAS,QAAQ;AACxB,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,OAAO;AAAA;AAAA;AAG9B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,yBAAyB,MAAM;AACpC,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,6EACoC;AAAA;AAE7D,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK,MAAM;AAAA;AAE7B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,YAAY,MAAM;AACjB,gBAAM,SAAS,KAAK,KAAK;AAAA,gFACuC;AAAA;AAEhE,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK,MAAM;AAAA;AAE7B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK;AAAA;AAEvB,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,oEAC2B;AAAA;AAEpD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,EAAE,WAAW,KAAK;AAAA;AAEjC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,EAAE,WAAW,KAAK,OAAO;AAAA;AAExC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,4BAA4B,MAAM;AACvC,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,6EACoC;AAAA;AAE7D,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK,MAAM;AAAA;AAEzB,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,YAAY,MAAM;AACjB,gBAAM,SAAS,KAAK,KAAK;AAAA,gFACuC;AAAA;AAEhE,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK,MAAM;AAAA;AAEzB,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,WAAW,MAAM;AAChB,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK;AAAA;AAEnB,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,oEAC2B;AAAA;AAEpD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,EAAE,WAAW,KAAK;AAAA;AAE7B,iBAAO,GAAG,KAAK,WAAW;AAAA;AAG9B,WAAG,UAAU,MAAM;AACf,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,gBAAM,QAAQ,AAAM,mBAAM,KAAK;AAC/B,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,EAAE,WAAW,KAAK,OAAO;AAAA;AAEpC,iBAAO,GAAG,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA;;;AC9R1C,MAAM,YAAW;AAEV,gCAA8B,KAAoC;AACrE,QAAI;AAEJ,eAAW,YAAY;AACnB,aAAO,MAAM,MAAK;AAAA;AAGtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAGf,aAAS,eAAe,MAAM;AAC1B,SAAG,QAAQ,YAAY;AACnB,cAAM,MAAK;AAAA;AAAA;AAInB,aAAS,kCAAkC,MAAM;AAC7C,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,6EAC8B;AAAA;AAE7D,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK,MAAM;AAAA;AAAA;AAGlC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,YAAY,YAAY;AACvB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,gFACiC;AAAA;AAEhE,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,MAAM;AAAA;AAAA;AAG7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK;AAAA;AAAA;AAGvB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,oEACqB;AAAA;AAEpD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,EAAE,WAAW,KAAK;AAAA;AAAA;AAGjC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,OAAO;AAAA;AAAA;AAG9B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAAA;AAIlC,eAAS,WAAW,MAAM;AACtB,WAAG,SAAS,YAAY;AACpB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,yGAC0D;AAAA;AAEzF,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,OAAO,OAAO;AACrB,qBAAO,IAAK,GAAG,KAAK;AAAA;AAAA;AAG5B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,qCAAqC,MAAM;AAChD,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,6EAC8B;AAAA;AAE7D,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,MAAM;AAAA;AAAA;AAG7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,YAAY,YAAY;AACvB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,gFACiC;AAAA;AAEhE,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,MAAM;AAAA;AAAA;AAG7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK;AAAA;AAAA;AAGvB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,oEACqB;AAAA;AAEpD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,EAAE,WAAW,KAAK;AAAA;AAAA;AAGjC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,cAAI,IAAI;AACR,2BAAiB,SAAS,QAAQ;AAC9B,mBAAO,MAAM,SAAS,KAAK;AAC3B,uBAAW,KAAK,MAAM,WAAW,IAAK;AAClC,qBAAO,GAAG,KAAK,OAAO;AAAA;AAAA;AAG9B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,yBAAyB,MAAM;AACpC,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,6EAC8B;AAAA;AAE7D,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK,MAAM;AAAA;AAE7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,YAAY,YAAY;AACvB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,gFACiC;AAAA;AAEhE,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK,MAAM;AAAA;AAE7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,KAAK,KAAK;AAAA,qEAC4B;AAAA;AAErD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,GAAG,KAAK;AAAA;AAEvB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,KAAK,KAAK;AAAA,oEAC2B;AAAA;AAEpD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,EAAE,WAAW,KAAK;AAAA;AAEjC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,OAAO,OAAO;AACrB,mBAAO,IAAI,EAAE,WAAW,KAAK,OAAO;AAAA;AAExC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAAA;AAAA;AAKtC,aAAS,4BAA4B,MAAM;AACvC,eAAS,iBAAiB,MAAM;AAC5B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,6EAC8B;AAAA;AAE7D,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK,MAAM;AAAA;AAEzB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,YAAY,YAAY;AACvB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,gFACiC;AAAA;AAEhE,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK,MAAM;AAAA;AAEzB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,WAAW,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,GAAG,KAAK;AAAA;AAEnB,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,oEACqB;AAAA;AAEpD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,EAAE,WAAW,KAAK;AAAA;AAE7B,iBAAO,GAAG,KAAK,YAAW;AAAA;AAG9B,WAAG,UAAU,YAAY;AACrB,gBAAM,SAAS,MAAM,KAAK,KAAK;AAAA,qEACsB;AAAA;AAErD,gBAAM,QAAQ,MAAM,AAAM,mBAAM,KAAK;AACrC,cAAI,IAAI;AACR,qBAAW,KAAK,MAAM,YAAY,IAAK;AACnC,mBAAO,EAAE,WAAW,KAAK,OAAO;AAAA;AAEpC,iBAAO,GAAG,KAAK,YAAW;AAAA;AAAA;AAAA;AAAA;;;ACpT1C,MAAM,UAAU,IAAI;AAEb,0BACH,KACA,cACA,SACI;AACJ,QAAI;AAEJ,eAAW,YAAY;AACnB,aAAO,MAAM,MAAK;AAAA;AAGtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAGf,aAAS,4BAA4B,MAAM;AACvC,YAAM,OAAO,YAAY;AACrB,cAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAA4B;AAC5D,eAAO,MAAM,YAAY,IAAI,WAAW,QACpC,IAAI,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA;AAGzE,SAAG,yBAAyB,YAAY;AACpC,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM;AAAA;AAEV,SAAG,gCAAgC,YAAY;AAC3C,cAAM,YAAY,MAAM,aAAY;AACpC,cAAM,YAAY,MAAM,aAAY;AACpC,eAAO,WAAW,IAAI;AACtB,eAAO,WAAW,IAAI;AACtB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM;AACN,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM;AAAA;AAEV,SAAG,0BAA0B,YAAY;AACrC,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM;AACN,cAAM;AAAA;AAAA;AAId,aAAS,iBAAiB,MAAM;AAC5B,SAAG,4BAA4B,YAAY;AACvC,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAA4B;AAC5D,eAAO,MAAM,YAAY,IAAI,WAAW,QACpC,IAAI,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA;AAIzE,SAAG,eAAe,YAAY;AAC1B,cAAM,WAAW,MAAM,aAAY;AACnC,cAAM,SAAS,MAAM,aAAY;AACjC,cAAM,cAAc,MAAM,aAAY;AACtC,eAAO,UAAU,IAAI;AACrB,eAAO,QAAQ,IAAI;AACnB,eAAO,aAAa,IAAI;AACxB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM,MAAK,mBAAmB,kBAAkB;AAChD,cAAM,MAAK,mBAAmB,uBAAuB;AAErD,cAAM,SAAS,MAAM,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAM/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAA+C;AAC/E,eAAO,MAAM,SAAS,KAAK;AAC3B,cAAM,OAAO;AACb,mBAAW,OAAO,OAAO;AACrB,eAAK,KAAK;AAAA,YACN,QAAQ,IAAI;AAAA,YACZ,OAAO,IAAI,OAAO;AAAA;AAAA;AAG1B,eAAO,MAAM,QAAQ;AAAA,UACjB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA,UACxB,EAAE,QAAQ,OAAO,OAAO;AAAA;AAAA;AAAA;AAKpC,aAAS,WAAW,MAAM;AACtB,SAAG,sBAAsB,YAAY;AACjC,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM,MAAK,wBAAwB;AACnC,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,YAAY,MAAM,MAAK,iBAAiB;AAC9C,eAAO,WAAW,IAAI;AACtB,cAAM,OAAO,QAAQ,OAAO;AAC5B,eAAO,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,SAAG,mBAAmB,YAAY;AAC9B,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM,MAAK,wBAAwB;AACnC,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,MAAM,MAAM,MAAK,iBAAiB;AACxC,eAAO,KAAK,IAAI;AAAA;AAGpB,SAAG,kCAAkC,YAAY;AAC7C,cAAM,WAAW,MAAM,aAAY;AACnC,eAAO,UAAU,IAAI;AACrB,cAAM,MAAK,mBAAmB,qBAAqB;AACnD,cAAM,MAAK,wBAAwB;AACnC,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,cAAM,MAAM,MAAM,MAAK,iBAAiB;AACxC,eAAO,KAAK,IAAI;AAChB,cAAM,KAAK,MAAM;AACjB,cAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAA4B;AAC5D,eAAO,MAAM,YAAY,IAAI,WAAW,QACpC,IAAI,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA;AAAA;AAK7E,aAAS,eAAe,MAAM;AAC1B,SAAG,sBAAsB,YAAY;AACjC,cAAM,MAAK,gBAAgB,qBAAqB,GAAG;AACnD,cAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAA4B;AAC5D,eAAO,MAAM,YAAY,IAAI,WAAW,QACpC,IAAI,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA;AAIzE,SAAG,sBAAsB,YAAY;AACjC,cAAM,MAAK,gBAAgB,oBAAoB,GAAG;AAClD,cAAM,SAAS,MAAM,KAAK,KAAK;AAC/B,cAAM,QAAQ,MAAM,AAAM,mBAAM,KAAyB;AACzD,eAAO,MAAM,YAAY,IAAI,IAAI,IAAI,gBAAgB;AAAA;AAAA;AAI7D,aAAS,UAAU,MAAM;AACrB,SAAG,0BAA0B,YAAY;AACrC,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AAEjB,cAAM,UAAU,MAAM,MAAK,UAAU;AACrC,eAAO,SAAS,IAAI,QAAQ;AAC5B,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,cAAM,YAAY,QAAQ,IAAI,UAAQ,KAAK,UAAU;AACrD,eAAO,WAAW,QAAQ;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA;AAGJ,cAAM,kBAAkB,MAAM,MAAK,iBAAiB;AACpD,cAAM,mBAAmB,MAAM,MAAK,iBAAiB;AACrD,cAAM,qBAAqB,MAAM,MAAK,iBAAiB;AACvD,eAAO,iBAAiB,QAAQ,IAAI,QAAQ;AAC5C,eAAO,mBAAmB,QAAQ,IAAI,QAAQ;AAC9C,eAAO,gBAAgB,QAAQ,IAAI,QAAQ;AAE3C,cAAM,cAAc,QAAQ,OAAO;AACnC,cAAM,gBAAgB,QAAQ,OAAO;AACrC,cAAM,aAAa,QAAQ,OAAO;AAClC,eAAO,YAAY,QAAQ,QACvB;AAEJ,eAAO,cAAc,QAAQ,QAAQ;AACrC,eAAO,WAAW,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAGtC,SAAG,8BAA8B,YAAY;AACzC,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AAEjB,cAAM,UAAU,MAAM,MAAK,UAAU;AACrC,eAAO,SAAS,IAAI,QAAQ;AAC5B,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,cAAM,YAAY,QAAQ,IAAI,UAAQ,KAAK,UAAU;AACrD,eAAO,WAAW,QAAQ;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA;AAGJ,cAAM,iBAAiB,MAAM,MAAK,iBAAiB;AACnD,cAAM,mBAAmB,MAAM,MAAK,iBAAiB;AACrD,cAAM,qBAAqB,MAAM,MAAK,iBAAiB;AACvD,eAAO,iBAAiB,QAAQ,IAAI,QAAQ;AAC5C,eAAO,mBAAmB,QAAQ,IAAI,QAAQ;AAC9C,eAAO,eAAe,QAAQ,IAAI,QAAQ;AAE1C,cAAM,UAAU,MAAM,KAAK,MACvB;AAEJ,eAAO,QAAQ,WAAW,QAAQ;AAClC,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,eAAO,QAAQ,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAItF,aAAS,QAAQ,MAAM;AACnB,SAAG,8BAA8B,YAAY;AACzC,cAAM,KAAK,MACP;AAEJ,cAAM,UAAU,MAAM,MAAK,UAAU;AACrC,eAAO,SAAS,IAAI,QAAQ;AAC5B,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,cAAM,YAAY,QAAQ,IAAI,UAAQ,KAAK,UAAU;AACrD,eAAO,WAAW,QAAQ,CAAC;AAC3B,cAAM,iBAAiB,MAAM,MAAK,iBAAiB;AACnD,eAAO,eAAe,QAAQ,IAAI,QAAQ;AAC1C,cAAM,UAAU,MAAM,KAAK,MAAM;AACjC,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,eAAO,QAAQ,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA;;;AC1PnF,wBAAsB,OAAoB,UAA0B;AAEvE,UAAM,WAAW,SAAS;AAC1B,WAAO,MAAM,SAAS,QAAQ;AAC9B,QAAI,YAAY;AAAG;AAGnB,UAAM,WAAW,SAAS,GAAG,OAAO;AACpC,aAAS,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AAC/B,aAAO,SAAS,GAAG,OAAO,QAAQ,QAAQ;AAC1C,aAAO,MAAM,YAAY,IAAI,QAAQ,QAAQ;AAC7C,aAAO,MAAM,YAAY,IAAI,MAAM,QAAQ,SAAS,GAAG;AAAA;AAI3D,aAAS,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AAC/B,YAAM,MAAM,MAAM,YAAY;AAC9B,YAAM,OAAO;AACb,eAAS,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AAC/B,aAAK,KAAK,IAAI,IAAI;AAAA;AAEtB,aAAO,MAAM,QAAQ,SAAS,GAAG;AAAA;AAAA;;;AC2BzC,MAAM,qBAAwC;AAAA,IAC1C;AAAA,MACI,MAAM;AAAA,MACN,QAAQ,IAAU,oBAAO;AAAA,QACrB,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA;AAAA,MAEnC,SAAS;AAAA,QACL;AAAA,UACI,SAAS;AAAA,UACT,SAAS;AAAA,YACL,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA;AAAA,MAI1C,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,QAAQ,IAAU,oBAAO;AAAA,QACrB,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA;AAAA,MAEnC,SAAS;AAAA,QACL;AAAA,UACI,SAAS;AAAA,UACT,SAAS;AAAA,YACL,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,wBAAW,KAAK,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA,MAI7C,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA,IAGxC;AAAA,MACI,MAAM;AAAA,MACN,QAAQ,IAAU,oBAAO;AAAA,QACrB,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA,QAC/B,IAAU,mBAAM,KAAK,IAAU;AAAA;AAAA,MAEnC,SAAS;AAAA,QACL;AAAA,UACI,SAAS;AAAA,UACT,SAAS;AAAA,YACL,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,YAC9B,AAAM,wBAAW,KAAK,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA,QAGzC;AAAA,UACI,SAAS;AAAA,UACT,SAAS;AAAA,YACL,AAAM,yBAAY,KAAK,CAAC,IAAI;AAAA,YAC5B,AAAM,yBAAY,KAAK,CAAC,IAAI;AAAA,YAC5B,AAAM,wBAAW,KAAK,CAAC,MAAM;AAAA;AAAA;AAAA;AAAA,MAIzC,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI;AAAA,QACnC,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI;AAAA,QACnC,EAAE,MAAM,KAAK,QAAQ,CAAC,KAAK,KAAK,KAAK,MAAM;AAAA;AAAA;AAAA;AAKhD,2BAAyB,KAAuC;AACnE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAK;AACL,aAAO,MAAK;AAAA;AAEhB,cAAU,YAAY;AAClB,WAAK;AACL,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,8BAA8B,MAAM;AACzC,iBAAW,QAAQ,oBAAoB;AACnC,WAAG,KAAK,MAAM,MAAM;AAChB,eAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACjF,gBAAM,QAAQ,IAAU,mBACpB,KAAK,QACL,KAAK,QAAQ,IAAI,OAAK,IAAU,yBAAY,KAAK,QAAQ,EAAE,SAAS,EAAE;AAE1E,eAAK,iBAAiB,OAAO,KAAK;AAClC,gBAAM,UAAU,KAAK,MAAM,KAAK;AAChC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAMpC,gCAA8B,KAAoC;AACrE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAM,MAAK;AACX,aAAO,MAAM,MAAK;AAAA;AAEtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,oCAAoC,MAAM;AAC/C,iBAAW,QAAQ,oBAAoB;AACnC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,KAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACvF,gBAAM,QAAQ,IAAU,mBACpB,KAAK,QACL,KAAK,QAAQ,IAAI,OAAK,IAAU,yBAAY,KAAK,QAAQ,EAAE,SAAS,EAAE;AAE1E,gBAAM,KAAK,iBAAiB,OAAO,KAAK;AACxC,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAIvC,aAAS,iCAAiC,MAAM;AAC5C,SAAG,mBAAmB,YAAY;AAC9B,cAAM,KAAK,MAAM;AACjB,cAAM,QAAQ,AAAM,mBAAM,IACtB;AAAA,UACI,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,UAC9B,AAAM,yBAAY,KAAK,CAAC,GAAG,GAAG;AAAA,UAC9B,AAAM,wBAAW,KAAK,CAAC,KAAK,KAAK;AAAA,WAErC,CAAC,KAAK,KAAK;AAEf,cAAM,KAAK,iBAAiB,OAAO;AAAA,UAC/B,MAAM;AAAA;AAEV,cAAM,UAAU,MAAM,KAAK,MAAM;AACjC,qBAAa,SAAS;AAAA,UAClB,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,UAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,UAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;;;AC1NhD,2BAAyB,aAAqB,iBAAmC;AAC7E,QAAI,OAAO,WAAW,aAAa;AAC/B,eAAS,aAAa;AAAA;AAAA;AAI9B,MAAM,UAAU,IAAI;AAUpB,MAAM,oBAAsC;AAAA,IACxC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,UACL,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA;AAAA;AAAA,MAGrB,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA;AAK5C,MAAM,YAAY;AAEX,0BAAwB,KAAuC;AAClE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAK;AACL,aAAO,MAAK;AAAA;AAEhB,cAAU,YAAY;AAClB,WAAK;AACL,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,oBAAoB,MAAM;AAC/B,iBAAW,QAAQ,mBAAmB;AAClC,WAAG,KAAK,MAAM,MAAM;AAChB,eAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACjF,gBAAM,SAAS,QAAQ,OAAO,KAAK;AACnC,gBAAK,mBAAmB,WAAW;AACnC,eAAK,mBAAmB,WAAW,KAAK;AACxC,gBAAM,UAAU,KAAK,MAAM,KAAK;AAChC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAMpC,+BAA6B,KAAoC;AACpE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAM,MAAK;AACX,aAAO,MAAM,MAAK;AAAA;AAEtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,4BAA4B,MAAM;AACvC,iBAAW,QAAQ,mBAAmB;AAClC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,KAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACvF,gBAAM,SAAS,QAAQ,OAAO,KAAK;AACnC,gBAAM,MAAK,mBAAmB,WAAW;AACzC,gBAAM,KAAK,mBAAmB,WAAW,KAAK;AAC9C,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAKvC,oBAAgB,0BAA0B,MAAM;AAC5C,iBAAW,QAAQ,mBAAmB;AAClC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,KAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACvF,gBAAM,SAAS,QAAQ,OAAO,KAAK;AACnC,gBAAM,OAAO,IAAI,KAAK,CAAC;AACvB,gBAAM,MAAK,mBAAmB,WAAW;AACzC,gBAAM,KAAK,mBAAmB,WAAW,KAAK;AAC9C,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAAA;;;AC7I3C,4BAAyB,aAAqB,iBAAmC;AAC7E,QAAI,OAAO,WAAW,aAAa;AAC/B,eAAS,aAAa;AAAA;AAAA;AAI9B,MAAM,WAAU,IAAI;AAUpB,MAAM,mBAAoC;AAAA,IACtC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,WAAW,QAAQ,CAAC;AAAA,QAC5B,EAAE,MAAM,WAAW,QAAQ,CAAC;AAAA,QAC5B,EAAE,MAAM,WAAW,QAAQ,CAAC;AAAA;AAAA;AAAA,IAGpC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA;AAAA,MAEV,OAAO;AAAA,MACP,iBAAiB,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA;AAAA,IAElD;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA,MAIP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,UACL,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA;AAAA;AAAA,MAGrB,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,KAAK,KAAK;AAAA;AAAA;AAAA,IAGxC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA,MAIP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,SAAS;AAAA,UACL,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA;AAAA;AAAA,MAGrB,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B;AAAA,UACI,MAAM;AAAA,UACN,QAAQ;AAAA,YACJ,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG;AAAA,YAC3B,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG;AAAA,YAC3B,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3C;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA;AAAA,MAIP,SAAS;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,SAAS;AAAA,UACL,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA,UACb,GAAG,IAAU;AAAA;AAAA;AAAA,MAGrB,OAAO;AAAA,MACP,iBAAiB;AAAA,QACb,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,GAAG;AAAA,QAC5B;AAAA,UACI,MAAM;AAAA,UACN,QAAQ;AAAA,YACJ,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK;AAAA,YAC3C,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK;AAAA,YAC3C,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAO/D,MAAM,aAAY;AAEX,yBAAuB,KAAuC;AACjE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAK;AACL,aAAO,MAAK;AAAA;AAEhB,cAAU,YAAY;AAClB,WAAK;AACL,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,mBAAmB,MAAM;AAC9B,iBAAW,QAAQ,kBAAkB;AACjC,WAAG,KAAK,MAAM,MAAM;AAChB,eAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACjF,gBAAM,SAAS,SAAQ,OAAO,KAAK;AACnC,gBAAK,mBAAmB,YAAW;AACnC,eAAK,kBAAkB,YAAW,KAAK;AACvC,gBAAM,UAAU,KAAK,MAAM,KAAK;AAChC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAMpC,8BAA4B,KAAoC;AACnE,QAAI;AAEJ,eAAW,YAAY;AACnB,YAAM,MAAK;AACX,aAAO,MAAM,MAAK;AAAA;AAEtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,2BAA2B,MAAM;AACtC,iBAAW,QAAQ,kBAAkB;AACjC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,KAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACvF,gBAAM,SAAS,SAAQ,OAAO,KAAK;AACnC,gBAAM,MAAK,mBAAmB,YAAW;AACzC,gBAAM,KAAK,kBAAkB,YAAW,KAAK;AAC7C,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAKvC,qBAAgB,yBAAyB,MAAM;AAC3C,iBAAW,QAAQ,kBAAkB;AACjC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,KAAK,MAAM,wBAAwB,KAAK,QAAQ,UAAU,UAAU,KAAK,QAAQ;AACvF,gBAAM,SAAS,SAAQ,OAAO,KAAK;AACnC,gBAAM,OAAO,IAAI,KAAK,CAAC;AACvB,gBAAM,MAAK,mBAAmB,YAAW;AACzC,gBAAM,KAAK,kBAAkB,YAAW,KAAK;AAC7C,gBAAM,UAAU,MAAM,KAAK,MAAM,KAAK;AACtC,uBAAa,SAAS,KAAK;AAAA;AAAA;AAAA;AAAA;;;AC9OpC,4BAA0B,KAAuC;AACpE,aAAS,aAAa,MAAM;AACxB,SAAG,YAAY,YAAY;AACvB,eAAO,MAAK,SAAS,aAAa,QAAQ;AAAA,UACtC,SAAS,CAAC,GAAG;AAAA,UACb,OAAO,CAAC,GAAG;AAAA;AAAA;AAGnB,SAAG,wBAAwB,YAAY;AACnC,eAAO,MAAK,SAAS,yBAAyB,QAAQ;AAAA,UAClD,SAAS,CAAC,GAAG,GAAG,GAAG;AAAA,UACnB,OAAO,CAAC,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA;AAAA;AAM1B,iCAA+B,KAAoC;AACtE,aAAS,aAAa,MAAM;AACxB,SAAG,YAAY,YAAY;AACvB,eAAO,MAAM,MAAK,SAAS,aAAa,QAAQ;AAAA,UAC5C,SAAS,CAAC,GAAG;AAAA,UACb,OAAO,CAAC,GAAG;AAAA;AAAA;AAGnB,SAAG,wBAAwB,YAAY;AACnC,eAAO,MAAM,MAAK,SAAS,yBAAyB,QAAQ;AAAA,UACxD,SAAS,CAAC,GAAG,GAAG,GAAG;AAAA,UACnB,OAAO,CAAC,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA;AAAA;;;ACtBjC,MAAM,kBAAmC;AAAA,IACrC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA;AAAA,IAEb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA;AAAA,IAEb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,aAAa,aAAa;AAAA;AAAA,IAEvC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA;AAAA,IAEb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA;AAAA,IAEb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,YAAY;AAAA;AAAA,IAEzB;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC;AAAA;AAAA,IAEb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,YAAY,aAAa;AAAA;AAAA,IAEtC;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,YAAY;AAAA;AAAA;AAItB,0BAAwB,KAAuC;AAClE,QAAI;AACJ,eAAW,MAAM;AACb,aAAO,MAAK;AAAA;AAEhB,cAAU,MAAM;AACZ,WAAK;AAAA;AAET,aAAS,cAAc,MAAM;AACzB,iBAAW,QAAQ,iBAAiB;AAChC,WAAG,KAAK,MAAM,MAAM;AAChB,gBAAM,SAAS,KAAK,cAAc,KAAK;AACvC,iBAAO,QAAQ,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAMrC,+BAA6B,KAAoC;AACpE,QAAI;AACJ,eAAW,YAAY;AACnB,aAAO,MAAM,MAAK;AAAA;AAEtB,cAAU,YAAY;AAClB,YAAM,KAAK;AAAA;AAEf,aAAS,oBAAoB,MAAM;AAC/B,iBAAW,QAAQ,iBAAiB;AAChC,WAAG,KAAK,MAAM,YAAY;AACtB,gBAAM,SAAS,MAAM,KAAK,cAAc,KAAK;AAC7C,iBAAO,QAAQ,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;;;AClFrC,mBAAiB,KAAoC;AACxD,QAAI;AACJ,eAAW,YAAY;AACnB,YAAM,MAAK;AACX,aAAO,MAAM,MAAK;AAAA;AAEtB,cAAU,YAAY;AAClB,YAAM,KAAK;AACX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,iBAAiB,MAAM;AAC5B,SAAG,OAAO,YAAY;AAClB,cAAM,MAAK,iBACP,gBACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDJ,cAAM,KAAK,MAAM;AACjB,cAAM,MAAM,MAAM,KAAK,MAAM;AAC7B,eAAO,IAAI,OAAO,OAAO,QAAQ,KAAK;AACtC,eAAO,IAAI,OAAO,OAAO,GAAG,MAAM,KAAK;AACvC,cAAM,cAAc,MAAM,KAAK,MAE5B;AACH,eAAO,YAAY,OAAO,OAAO,QAAQ,KAAK;AAC9C,eAAO,YAAY,OAAO,OAAO,GAAG,MAAM,KAAK;AAC/C,eAAO,YAAY,UAAU,QAAQ,QAAQ;AAC7C,cAAM,KAAK,MAAM;AAAA;AAAA;AAAA;;;ACzEtB,mBAAiB,MAAqC;AACzD,aAAS,iBAAiB,MAAM;AAC5B,eAAS,OAAO,MAAM;AAClB,WAAG,cAAc,YAAY;AACzB,gBAAM,OAAM,iBAAiB,YAAY;AACzC,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,KAAK,kBAAkB,YAAY;AAAA,YACrC,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,SAAS;AAAA,cACL,MAAM,IAAU;AAAA,cAChB,MAAM,IAAU;AAAA;AAAA;AAGxB,gBAAM,KAAK,MAAM;AACjB,gBAAM,KAAK;AACX,gBAAM,OAAM,SAAS;AAAA;AAEzB,WAAG,mBAAmB,YAAY;AAC9B,gBAAM,OAAM,iBACR,aACA;AAAA;AAAA;AAAA;AAKJ,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,KAAK,mBAAmB,aAAa,EAAE,MAAM;AACnD,gBAAM,KAAK,MAAM;AACjB,gBAAM,KAAK;AACX,gBAAM,OAAM,SAAS;AAAA;AAEzB,WAAG,sBAAsB,YAAY;AACjC,gBAAM,OAAM,iBACR,gBACA;AAAA;AAAA;AAAA;AAKJ,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,KAAK,mBAAmB,gBAAgB,EAAE,MAAM;AACtD,gBAAM,KAAK,MAAM;AACjB,gBAAM,KAAK;AACX,gBAAM,OAAM,SAAS;AAAA;AAEzB,WAAG,6BAA6B,YAAY;AACxC,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,KAAK,MAAwB;AAAA;AAAA;AAGnC,gBAAM,KAAK;AAAA;AAEf,WAAG,yBAAyB,YAAY;AACpC,gBAAM,OAAO,MAAM,OAAM;AACzB,2BAAiB,SAAS,MAAM,KAAK,KAAuB;AAAA;AAAA,gBAE5D;AACI,mBAAO,MAAM,QAAQ,gBAAgB;AAAA;AAEzC,gBAAM,KAAK;AAAA;AAEf,WAAG,mCAAmC,YAAY;AAC9C,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,OAAO,MAAM,KAAK,QAAQ;AAChC,gBAAM,KAAK,MAAM;AACjB,gBAAM,KAAK;AACX,gBAAM,KAAK;AAAA;AAEf,WAAG,+BAA+B,YAAY;AAC1C,gBAAM,OAAO,MAAM,OAAM;AACzB,gBAAM,OAAO,MAAM,KAAK,QAAQ;AAChC,2BAAiB,SAAS,MAAM,KAAK,KAAK,MAAM;AAC5C,mBAAO,MAAM,QAAQ,gBAAgB;AAAA;AAEzC,gBAAM,KAAK;AACX,gBAAM,KAAK;AAAA;AAAA;AAAA;AAAA;;;AC/EpB,mBAAiB,KAAoC;AACxD,QAAI,OAA4C;AAChD,eAAW,YAAY;AACnB,YAAM,MAAK;AAAA;AAEf,cAAU,YAAY;AAClB,UAAI,MAAM;AACN,cAAM,KAAK;AACX,eAAO;AAAA;AAEX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,iBAAiB,MAAM;AAC5B,SAAG,OAAO,YAAY;AAClB,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,YACH,qBAAqB;AAAA;AAAA;AAG7B,eAAO,MAAM,MAAK;AAClB,cAAM,oBAAoB,MAAM,KAAK,MAElC;AACH,eAAO,kBAAkB,UAAU,GAAG,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,GAAG,IAAI;AAE3F,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,YACH,qBAAqB;AAAA;AAAA;AAG7B,eAAO,MAAM,MAAK;AAClB,cAAM,iBAAiB,MAAM,KAAK,MAE/B;AACH,eAAO,eAAe,UAAU,GAAG,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,GAAG;AAAA;AAAA;AAAA;;;ACrCzF,mBAAiB,KAAoC;AACxD,QAAI,OAA4C;AAChD,eAAW,YAAY;AACnB,YAAM,MAAK;AAAA;AAEf,cAAU,YAAY;AAClB,UAAI,MAAM;AACN,cAAM,KAAK;AACX,eAAO;AAAA;AAEX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,iBAAiB,MAAM;AAC5B,SAAG,OAAO,YAAY;AAClB,eAAO,MAAM,MAAK;AAClB,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,MAAM;AACjB,YAAI,SAAS,MAAM,KAAK,MAAM;AAC9B,eAAO,OAAO,SAAS,KAAK;AAC5B,eAAO,OAAO,QAAQ,KAAK;AAC3B,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC,GAAG,GAAG;AACvE,iBAAS,MAAM,KAAK,MAAoD;AACxE,eAAO,OAAO,SAAS,KAAK;AAC5B,eAAO,OAAO,QAAQ,KAAK;AAC3B,cAAM,QAAQ,OAAO,YAAY,GAAI;AACrC,eAAO,MAAM,QAAQ,QAAQ;AAC7B,eAAO,MAAM,GAAG,YAAY,QAAQ;AAAA;AAAA;AAAA;;;AC3BzC,mBAAiB,KAAoC;AACxD,QAAI,OAA4C;AAChD,eAAW,YAAY;AACnB,YAAM,MAAK;AAAA;AAEf,cAAU,YAAY;AAClB,UAAI,MAAM;AACN,cAAM,KAAK;AACX,eAAO;AAAA;AAEX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,iBAAiB,MAAM;AAC5B,SAAG,OAAO,YAAY;AAGlB,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,YACH,sBAAsB;AAAA;AAAA;AAG9B,eAAO,MAAM,MAAK;AAClB,aAAK,MAEF,yCACE,KAAK,CAAC,MAAM,KAAK,yEACjB,MAAM,OAAK;AAAC,iBAAO,GAAG,QAAQ,IAAI,MAAM;AAAA;AAG7C,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,YACH,sBAAsB;AAAA;AAAA;AAG9B,eAAO,MAAM,MAAK;AAClB,cAAM,iBAAiB,MAAM,KAAK,MAE/B;AACH,eAAO,eAAe,UAAU,GAAG,UAAU,YAAY,QAAQ;AAGjE,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA;AAGX,eAAO,MAAM,MAAK;AAClB,cAAM,oBAAoB,MAAM,KAAK,MAElC;AACH,eAAO,kBAAkB,UAAU,GAAG,UAAU,YAAY,QAAQ;AAAA;AAAA;AAAA;;;ACpDzE,mBAAiB,KAAoC;AACxD,QAAI,OAA4C;AAChD,eAAW,YAAY;AACnB,YAAM,MAAK;AAAA;AAEf,cAAU,YAAY;AAClB,UAAI,MAAM;AACN,cAAM,KAAK;AACX,eAAO;AAAA;AAEX,YAAM,MAAK;AACX,YAAM,MAAK;AAAA;AAEf,aAAS,iBAAiB,MAAM;AAC5B,SAAG,OAAO,YAAY;AAGlB,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA;AAGX,eAAO,MAAM,MAAK;AAClB,cAAM,oBAAoB,MAAM,KAAK,MAAM;AAC3C,eAAO,kBAAkB,OAAO,OAAO,GAAG,KAAK,OAAO,QAAQ;AAC9D,eAAO,kBAAkB,OAAO,OAAO,GAAG,KAAK,WAAW,QAAQ;AAElE,eAAO,kBAAkB,UAAU,GAAG,QAAQ,aAAa,KAAK,KAAK;AAIrE,cAAM,MAAK,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,YACH,qBAAsB;AAAA;AAAA;AAG9B,eAAO,MAAM,MAAK;AAClB,cAAM,iBAAiB,MAAM,KAAK,MAE/B;AACH,eAAO,eAAe,UAAU,GAAG,SAAS,WAAW,QAAQ;AAAA;AAAA;AAAA;;;ACtCpE,+BAA6B,MAAqC;AACrE,YAAQ;AACR,YAAQ;AACR,YAAQ;AACR,YAAQ;AACR,YAAQ;AACR,YAAQ;AAAA;;;ACXL,mBAAiB,KAAuC;AAC3D,QAAI;AACJ,eAAW,MAAM;AACb,aAAO,MAAK;AAAA;AAGhB,cAAU,MAAM;AACZ,WAAK;AACL,YAAK;AACL,YAAK;AAAA;AAGT,aAAS,OAAO,MAAM;AAElB,SAAG,UAAU,YAAY;AACrB,aAAK,qBAAqB,SAAS,IAAI,sBAAS,OAAK;AAErD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,UAAU,YAAY;AACrB,aAAK,qBAAqB,UAAU,IAAI,wBAAW,OAAK;AAExD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,aAAa,CAAC;AAAA;AAGvE,SAAG,WAAW,YAAY;AACtB,aAAK,qBAAqB,UAAU,IAAI,sBAAS,CAAC,GAAG,MAAM,IAAI;AAE/D,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,UAAU,YAAY;AACrB,aAAK,qBAAqB,UAAU,IAAI,sBAAS,MAAM;AACvD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAErE,SAAG,aAAa,YAAY;AACxB,aAAK,qBAAqB,UAAU,IAAI,sBAAS,OAAK,KAAK,SAAY,OAAO;AAC9E,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,eAAe,YAAY;AAC1B,wBAAgB,GAAY;AACxB,iBAAO,EAAE;AAAA;AAEb,aAAK,qBAAqB,UAAU,IAAI,sBAAS;AACjD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,oBAAoB,YAAY;AAC/B,wBAAgB,GAAY;AACxB,cAAI,KAAK,QAAW;AAChB,mBAAO;AAAA,iBACJ;AACH,mBAAO,EAAE;AAAA;AAAA;AAGjB,aAAK,qBAAqB,UAAU,IAAI,sBAAS;AACjD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,iBAAiB,YAAY;AAC5B,aAAK,qBAAqB,UAAU,IAAI,sBAAS,CAAC,MAAM;AAExD,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAIrE,SAAG,gBAAgB,YAAY;AAC3B,aAAK,qBAAqB,UAAU,IAAI,qBAAQ,CAAC,MAAM,WAAW;AAElE,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAGrE,SAAG,oBAAoB,YAAY;AAC/B,aAAK,qBAAqB,WAAW,IAAI,qBAAQ,CAAC,MAAM,IAAI,KAAK,IAAI,UAAU;AAE/E,cAAM,SAAS,KAAK,MAChB;AAGJ,eAAO,OAAO,QAAQ,QAAQ;AAC9B,eAAO,OAAO,SAAS,QAAQ;AAC/B,eAAO,OAAO,YAAY,IAAI,QAAQ,QAAQ;AAC9C,eAAO,OAAO,YAAY,IAAI,WAAW,QAAQ,IAAI,WAAW,CAAC;AAAA;AAAA;AAAA;;;ACjJ7E,MAAM,iBAAuC;AAAA,IACzC,KAAK;AAAA,MACD,YAAY,IAAI,IAAI,2BAA2B,OAAO,SAAS,MAAM;AAAA,MACrE,YAAY,IAAI,IAAI,wCAAwC,OAAO,SAAS,MAAM;AAAA;AAAA,IAEtF,IAAI;AAAA,MACA,YAAY,IAAI,IAAI,0BAA0B,OAAO,SAAS,MAAM;AAAA,MACpE,YAAY,IAAI,IAAI,uCAAuC,OAAO,SAAS,MAAM;AAAA;AAAA,IAErF,KAAK;AAAA,MACD,YAAY,IAAI,IAAI,2BAA2B,OAAO,SAAS,MAAM;AAAA,MACrE,YAAY,IAAI,IAAI,wCAAwC,OAAO,SAAS,MAAM;AAAA,MAClF,eAAe,IAAI,IAAI,gDAAgD,OAAO,SAAS,MAAM;AAAA;AAAA;AAGrG,MAAI,gBAA4C;AAEhD,WAAS,cAAc,MAAM;AACzB,OAAG,wBAAwB,YAAY;AACnC,UACK,OAAM,AAAO,uBAAuB,uBACpC,MAAM,AAAM,gBACZ,MAAM,AAAM,WACf;AACE,eAAO,cAAe,YAAY,QAAQ,eAAe,IAAK;AAC9D,eAAO,cAAe,YAAY,QAAQ,eAAe,IAAK;AAC9D,eAAO,cAAe,eAAe,QAAQ,eAAe,IAAK;AAAA;AAErE,UAAK,MAAM,AAAM,gBAAiB,CAAE,MAAM,AAAM,WAAY;AACxD,eAAO,cAAe,YAAY,QAAQ,eAAe,GAAI;AAC7D,eAAO,cAAe,YAAY,QAAQ,eAAe,GAAI;AAC7D,eAAO,cAAe,eAAe,QAAQ;AAAA;AAEjD,UAAI,CAAE,MAAM,AAAM,cAAe;AAC7B,eAAO,cAAe,YAAY,QAAQ,eAAe,IAAK;AAC9D,eAAO,cAAe,YAAY,QAAQ,eAAe,IAAK;AAC9D,eAAO,cAAe,eAAe,QAAQ;AAAA;AAAA;AAAA;AAMzD,UAAQ,2BAA2B;AAGnC,MAAM,gBAAgB,OAAO,QAAgB;AACzC,UAAM,MAAM,MAAM,MAAM,QAAQ;AAChC,QAAI,CAAC,IAAI;AAAI,aAAO;AACpB,WAAO,IAAI,WAAW,MAAM,IAAI;AAAA;AAIpC,MAAM,cAAc,OAAO,QAAgB;AACvC,YAAQ;AAAA,WACC;AACD,eAAO,MAAM,cAAc;AAAA,WAC1B;AACD,eAAO,MAAM,cAAc;AAAA,WAC1B;AACD,eAAO,MAAM,cAAc;AAAA,WAC1B;AACD,eAAO,MAAM,cAAc;AAAA,WAC1B;AACD,eAAO,MAAM,cAAc;AAAA,WAC1B;AACD,eAAO,MAAM,cAAc;AAAA;AAE3B,eAAO;AAAA;AAAA;AAKnB,MAAI,KAA4C;AAChD,MAAI,MAAiC;AACrC,MAAI,SAAwB;AAE5B,YAAU,YAAY;AAClB,UAAM,SAAS,IAAoB;AACnC,SAAK,MAAM,AAAgB,aAAa,gBAAgB,QAAwB;AAChF,UAAM,GAAG,YAAY,OAAK;AAAA;AAE1B,oBAAgB,MAAM,AAAO,aAAa;AAC1C,aAAS,MAAM,AAAO,aAAa,cAAe;AAClD,UAAM,IAAW,YAAY,QAAQ;AACrC,UAAM,IAAI,YAAY,cAAe,YAAY,cAAe;AAAA;AAGpE,WAAS,YAAY;AACjB,QAAI;AAAQ,aAAO;AAAA;AAiBvB,MAAM,UAAU,OAAO,SAAS;AAChC,MAAM,UAAU,GAAG;AAEnB,aAAW,MAAM;AACjB,kBAAgB,MAAM,KAAM,aAAa;AACzC,UAAQ,MAAM;AACd,iBAAe,MAAM;AACrB,sBAAoB,MAAM;AAC1B,sBAAoB,MAAM;AAC1B,eAAa,MAAM;AACnB,oBAAkB,MAAM;AACxB,eAAa,MAAM,IAAK;AACxB,oBAAkB,MAAM,KAAM;AAC9B,kBAAgB,MAAM;AACtB,uBAAqB,MAAM;AAC3B,iBAAe,MAAM,KAAM,aAAa;AACxC,kBAAgB,MAAM;AACtB,uBAAqB,MAAM;AAC3B,iBAAe,MAAM;AACrB,sBAAoB,MAAM;AAC1B,gBAAc,MAAM;AACpB,qBAAmB,MAAM;AACzB,mBAAiB,MAAM;AACvB,wBAAsB,MAAM;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|