diff --git a/bower.json b/bower.json index b8c0045..11f0468 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "aurelia-ui-virtualization", - "version": "1.0.0-rc2", + "version": "1.0.0-rc3", "description": "A plugin that provides a virtualized repeater and other virtualization services.", "keywords": [ "aurelia", diff --git a/dist/amd/aurelia-ui-virtualization.js b/dist/amd/aurelia-ui-virtualization.js index 9de64df..985b614 100644 --- a/dist/amd/aurelia-ui-virtualization.js +++ b/dist/amd/aurelia-ui-virtualization.js @@ -1,29 +1,31 @@ -define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating-resources', 'aurelia-pal', 'aurelia-dependency-injection'], function (exports, aureliaBinding, aureliaTemplating, aureliaTemplatingResources, aureliaPal, aureliaDependencyInjection) { 'use strict'; +define('aurelia-ui-virtualization', ['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating-resources', 'aurelia-pal', 'aurelia-dependency-injection'], (function (exports, aureliaBinding, aureliaTemplating, aureliaTemplatingResources, aureliaPal, aureliaDependencyInjection) { 'use strict'; /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 + Copyright (c) Microsoft Corporation. - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -154,7 +156,7 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- } repeat.itemHeight = itemHeight; var scroll_el_height = scrollerInfo.height; - var elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; }; ArrayVirtualRepeatStrategy.prototype.onAttached = function (repeat) { @@ -319,7 +321,6 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- } if (allSplicesAreInplace) { var lastIndex = repeat.lastViewIndex(); - var repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (var collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -506,6 +507,8 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- }; NullVirtualRepeatStrategy.prototype.remeasure = function (repeat) { }; NullVirtualRepeatStrategy.prototype.updateAllViews = function () { }; + NullVirtualRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) { + }; return NullVirtualRepeatStrategy; }(aureliaTemplatingResources.NullRepeatStrategy)); @@ -957,7 +960,7 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- else { if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { console.log("[!] Scroll intersection not handled. With indices: " - + ("new [" + new_range_start_index + ", " + new_range_end_index + "] / old [" + old_range_start_index + ", " + old_range_end_index + "]")); + + "new [".concat(new_range_start_index, ", ").concat(new_range_end_index, "] / old [").concat(old_range_start_index, ", ").concat(old_range_end_index, "]")); strategy.remeasure(this); } else { @@ -1060,7 +1063,7 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- } } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } else if (func.sourceExpression) { @@ -1068,7 +1071,7 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- return func.sourceExpression.evaluate(_this.scope); } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } }; @@ -1077,8 +1080,8 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- } }; VirtualRepeat.prototype.updateBufferElements = function (skipUpdate) { - this.topBufferEl.style.height = this.topBufferHeight + "px"; - this.bottomBufferEl.style.height = this.bottomBufferHeight + "px"; + this.topBufferEl.style.height = "".concat(this.topBufferHeight, "px"); + this.bottomBufferEl.style.height = "".concat(this.bottomBufferHeight, "px"); if (skipUpdate) { this._ticking = true; $raf(this.revertScrollCheckGuard); @@ -1249,11 +1252,12 @@ define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating- config.globalResources(VirtualRepeat, InfiniteScrollNext); } - exports.configure = configure; - exports.VirtualRepeat = VirtualRepeat; exports.InfiniteScrollNext = InfiniteScrollNext; + exports.VirtualRepeat = VirtualRepeat; exports.VirtualizationEvents = VirtualizationEvents; + exports.configure = configure; Object.defineProperty(exports, '__esModule', { value: true }); -}); +})); +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/amd/aurelia-ui-virtualization.js.map b/dist/amd/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..930b076 --- /dev/null +++ b/dist/amd/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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\nexport var __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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["updateOverrideContext","createFullOverrideContext","mergeSplice","ArrayRepeatStrategy","NullRepeatStrategy","DOM","Container","PLATFORM","viewsRequireLifecycle","getItemsSourceExpression","isOneTime","BoundViewFactory","TargetInstruction","ViewSlot","ViewResources","ObserverLocator","ElementEvents","unwrapExpression","updateOneTimeBinding","AbstractRepeater"],"mappings":"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"} \ No newline at end of file diff --git a/dist/commonjs/aurelia-ui-virtualization.js b/dist/commonjs/aurelia-ui-virtualization.js index 40128fa..9e20434 100644 --- a/dist/commonjs/aurelia-ui-virtualization.js +++ b/dist/commonjs/aurelia-ui-virtualization.js @@ -9,29 +9,31 @@ var aureliaPal = require('aurelia-pal'); var aureliaDependencyInjection = require('aurelia-dependency-injection'); /*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) Microsoft Corporation. -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -162,7 +164,7 @@ var ArrayVirtualRepeatStrategy = (function (_super) { } repeat.itemHeight = itemHeight; var scroll_el_height = scrollerInfo.height; - var elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; }; ArrayVirtualRepeatStrategy.prototype.onAttached = function (repeat) { @@ -327,7 +329,6 @@ var ArrayVirtualRepeatStrategy = (function (_super) { } if (allSplicesAreInplace) { var lastIndex = repeat.lastViewIndex(); - var repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (var collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -514,6 +515,8 @@ var NullVirtualRepeatStrategy = (function (_super) { }; NullVirtualRepeatStrategy.prototype.remeasure = function (repeat) { }; NullVirtualRepeatStrategy.prototype.updateAllViews = function () { }; + NullVirtualRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) { + }; return NullVirtualRepeatStrategy; }(aureliaTemplatingResources.NullRepeatStrategy)); @@ -965,7 +968,7 @@ var VirtualRepeat = (function (_super) { else { if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { console.log("[!] Scroll intersection not handled. With indices: " - + ("new [" + new_range_start_index + ", " + new_range_end_index + "] / old [" + old_range_start_index + ", " + old_range_end_index + "]")); + + "new [".concat(new_range_start_index, ", ").concat(new_range_end_index, "] / old [").concat(old_range_start_index, ", ").concat(old_range_end_index, "]")); strategy.remeasure(this); } else { @@ -1068,7 +1071,7 @@ var VirtualRepeat = (function (_super) { } } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } else if (func.sourceExpression) { @@ -1076,7 +1079,7 @@ var VirtualRepeat = (function (_super) { return func.sourceExpression.evaluate(_this.scope); } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } }; @@ -1085,8 +1088,8 @@ var VirtualRepeat = (function (_super) { } }; VirtualRepeat.prototype.updateBufferElements = function (skipUpdate) { - this.topBufferEl.style.height = this.topBufferHeight + "px"; - this.bottomBufferEl.style.height = this.bottomBufferHeight + "px"; + this.topBufferEl.style.height = "".concat(this.topBufferHeight, "px"); + this.bottomBufferEl.style.height = "".concat(this.bottomBufferHeight, "px"); if (skipUpdate) { this._ticking = true; $raf(this.revertScrollCheckGuard); @@ -1257,7 +1260,8 @@ function configure(config) { config.globalResources(VirtualRepeat, InfiniteScrollNext); } -exports.configure = configure; -exports.VirtualRepeat = VirtualRepeat; exports.InfiniteScrollNext = InfiniteScrollNext; +exports.VirtualRepeat = VirtualRepeat; exports.VirtualizationEvents = VirtualizationEvents; +exports.configure = configure; +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/commonjs/aurelia-ui-virtualization.js.map b/dist/commonjs/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..1391e69 --- /dev/null +++ b/dist/commonjs/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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\nexport var __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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["updateOverrideContext","createFullOverrideContext","mergeSplice","ArrayRepeatStrategy","NullRepeatStrategy","DOM","Container","PLATFORM","viewsRequireLifecycle","getItemsSourceExpression","isOneTime","BoundViewFactory","TargetInstruction","ViewSlot","ViewResources","ObserverLocator","ElementEvents","unwrapExpression","updateOneTimeBinding","AbstractRepeater"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;AACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;AACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;AACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAChC,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;AAC7C,QAAQ,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;AAClG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;AAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzF;;ACNO,IAAM,UAAU,GAAG,UAAC,MAAwB,EAAE,IAAW,EAAE,eAAuB,EAAE,UAAiB,EAAA;AAC1G,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAChEA,gDAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC,CAAC;AAEK,IAAM,iBAAiB,GAAG,UAAC,MAAwB,EAAE,IAAW,EAAE,KAAa,EAAE,YAAqB,EAAA;AAC3G,IAAA,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,IAAA,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAqB,CAAC;IAE9CA,gDAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACjE,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACjD,IAAA,IAAI,YAAY,EAAE;AAChB,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AACnE,KAAA;AAAM,SAAA;QACL,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AACjE,KAAA;AACH,CAAC,CAAC;AAKK,IAAM,oBAAoB,GAAG,UAAC,cAAsB,EAAE,UAAkB,EAAA;IAG7E,OAAO,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC;AAEK,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;AAC1B,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;AAC1B,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;AAC1B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAE9B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9B,IAAM,MAAM,GAAG,KAAK;;AC1DpB,IAAM,GAAG,GAAG,QAAQ,CAAC;AACrB,IAAM,WAAW,GAAG,GAAG,CAAC,eAAe,CAAC;AACxC,IAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;;ACO/C,IAAM,kBAAkB,GAAG,UAAC,OAAa,EAAA;AAC9C,IAAA,IAAI,OAAO,GAAG,OAAO,CAAC,UAAqB,CAAC;AAC5C,IAAA,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW,EAAE;AAClD,QAAA,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AAC9B,YAAA,OAAO,OAAsB,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,GAAG,OAAO,CAAC,UAAyB,CAAC;AAC7C,KAAA;AACD,IAAA,OAAO,GAAG,CAAC,gBAA+B,IAAI,WAAW,CAAC;AAC5D,CAAC,CAAC;AAKK,IAAM,iCAAiC,GAAG,UAAC,OAAgB,EAAA;AAChE,IAAA,IAAI,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAC1C,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;AACnC,IAAA,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACtC,IAAI,GAAG,GAAI,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;AAC3C,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAKK,IAAM,iBAAiB,GAAG,UAAC,OAAgB,EAAA;IAChD,IAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,KAAK,KAAK,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC3I,CAAC,CAAC;AAKK,IAAM,cAAc,GAAG,UAAC,OAAgB,EAAA;IAAE,IAAmB,MAAA,GAAA,EAAA,CAAA;SAAnB,IAAmB,EAAA,GAAA,CAAA,EAAnB,EAAmB,GAAA,SAAA,CAAA,MAAA,EAAnB,EAAmB,EAAA,EAAA;QAAnB,MAAmB,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;IAClE,IAAI,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QAC/C,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,QAAA,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AAC9C,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,IAAM,eAAe,GAAG,UAAC,OAAgB,EAAA;IAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;IACpD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAC/D,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,OAAgB,EAAA;IAC/C,IAAI,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;IACpD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;AACzE,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,IAAW,EAAE,YAAqB,EAAA;IAEjE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC,CAAC;AAQK,IAAM,mBAAmB,GAAG,UAAC,KAAkB,EAAE,MAAmB,EAAA;AACzE,IAAA,IAAM,YAAY,GAAG,KAAK,CAAC,YAA2B,CAAC;AACvD,IAAA,IAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;AAIvC,IAAA,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,MAAM,EAAE;AACpD,QAAA,OAAO,cAAc,CAAC;AACvB,KAAA;AACI,SAAA;AAIH,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACjC,YAAA,OAAO,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;AAC1C,SAAA;AAII,aAAA;YACH,OAAO,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACnE,SAAA;AACF,KAAA;AACH,CAAC;;AC5ED,IAAA,0BAAA,IAAA,UAAA,MAAA,EAAA;IAAgD,SAAmB,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;AAAnE,IAAA,SAAA,0BAAA,GAAA;;KAkhBC;IAhhBC,0BAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,MAAwB,EAAA;AACrC,QAAA,IAAM,eAAe,GAAGC,oDAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;KACxE,CAAA;IAED,0BAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,KAAY,EAAA;QAChB,OAAO,KAAK,CAAC,MAAM,CAAC;KACrB,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAA;AACpD,QAAA,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;AAG/B,QAAA,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE;YACpB,OAAuC,CAAA,CAAA;AACxC,SAAA;AAGD,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;AAE9C,QAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAC7C,QAAA,IAAI,SAAS,GAAG,CAAC,IAAI,iBAAiB,KAAK,CAAC,EAAE;AAC5C,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7B,SAAA;AAED,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,IAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,UAAqB,CAAC,CAAC;QAIpE,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,OAAsC,CAAA,CAAA;AACvC,SAAA;AACD,QAAA,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AAC/B,QAAA,IAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;AAE7C,QAAuB,MAAM,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,EAAE;AAEpG,QAAA,OAAO,KAAiF,CAAC;KAC1F,CAAA;IAED,0BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,MAAwB,EAAA;QACjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAkB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,EAAY,IAAI,CAAC,CAAC;AAC5G,SAAA;KACF,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAwB,EAAE,YAA2B,EAAA;AAChE,QAAA,IAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACvC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,QAAA,IAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,KAAK,WAAW,CAAC;AACrE,QAAA,IAAI,sBAAsB,EAAE;YAI1B,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACvE,YAAA,IAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC;AACjD,YAAA,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC9E,SAAA;AAAM,aAAA;AACL,YAAA,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;AACpD,SAAA;AAED,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAIlD,IAAI,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjG,IAAM,gBAAgB,GAAG,QAAQ,CAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EACvB,iBAAiB,IAAI,aAAa,GAA+D,CAAC,CAAC,CAAC,CAAC;AACvG,QAAA,iBAAiB,GAAG,QAAQ,CAC1B,CAAC,EACD,QAAQ,CACN,iBAAiB,EACjB,gBAAgB,IAAI,aAAa,GAA+D,CAAC,CAAC,CACnG,CACF,CAAC;AACF,QAAA,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;KAC9C,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAwB,EAAE,UAAkB,EAAA;AACxD,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AACtC,QAAA,MAAM,CAAC,eAAe,GAAG,UAAU,GAAG,UAAU,CAAC;AACjD,QAAA,MAAM,CAAC,kBAAkB,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC;AACvF,QAAA,MAAM,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;KACnD,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,MAAwB,EAAE,UAAkB,EAAA;AACpD,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,OAAO,SAAS,GAAG,CAAC;AAClB,cAAE,UAAU,GAAG,MAAM,CAAC,YAAY;cAChC,KAAK,CAAC;KACX,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAwB,EAAE,SAAiB,EAAA;AACtD,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,OAAO,SAAS,KAAK,CAAC,CAAC;AACrB,cAAE,IAAI;cACJ,SAAS,GAAG,CAAC;kBACX,SAAS,IAAI,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;kBACjD,KAAK,CAAC;KACb,CAAA;AASD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAE,KAAc,EAAA;QACpE,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;YAEnD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACtG,SAAA;KACF,CAAA;AASD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAE,OAAoC,EAAA;QAC1F,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC9D,CAAA;AAQD,IAAA,0BAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,OAAyB,EAAE,KAAY,EAAE,UAAkB,EAAA;QAC9E,IAAM,MAAM,GAAG,OAAgC,CAAC;AAChD,QAAA,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,aAAa,KAAK,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AACpD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAEF,QAAA,IAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAInD,QAAA,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,cAAc,GAAG,aAAa,EAAE;AACrC,YAAA,cAAc,EAAE,CAAC;YACjB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;AACvF,SAAA;QAID,OAAO,cAAc,GAAG,eAAe,EAAE;AACvC,YAAA,cAAc,EAAE,CAAC;YACjB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;AACvF,SAAA;AACD,QAAA,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAE3D,QAAA,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;AAEpC,QAAA,IAAI,UAAU,GAAG,cAAc,GAAG,SAAS,EAAE;YAI3C,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;AAC1D,SAAA;AAED,QAAA,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,IAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC;YACjC,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAA,IAAM,IAAI,GAAG,SAAS,KAAK,aAAa,GAAG,CAAC,CAAC;YAC7C,IAAM,MAAM,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,YAAA,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,YAAA,IAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAE7C,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;mBACzC,eAAe,CAAC,MAAM,KAAK,SAAS;mBACpC,eAAe,CAAC,OAAO,KAAK,MAAM;AAClC,mBAAA,eAAe,CAAC,KAAK,KAAK,IAAI,EACjC;gBAEA,SAAS;AACV,aAAA;YAED,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AACzC,YAAA,eAAe,CAAC,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC;AACzC,YAAA,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC;AACjC,YAAA,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7B,YAAA,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC;AACnC,YAAA,IAAM,GAAG,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;AAChC,YAAA,eAAe,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,YAAA,eAAe,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;AAC7B,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAA;QAED,IAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AAC/C,YAAA,IAAM,eAAe,GAAGA,oDAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YACtF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACjE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb,CAAA;AAGD,IAAA,0BAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,UAAgC,OAAyB,EAAE,KAAiB,EAAE,OAAoC,EAAA;QAAlH,IAiCC,KAAA,GAAA,IAAA,CAAA;QAhCC,IAAM,MAAM,GAAG,OAAgC,CAAC;QAChD,IAAI,MAAM,CAAC,eAAe,EAAE;AAC1B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;AAC1C,gBAAA,IAAA,EAAiC,GAAA,OAAO,CAAC,CAAC,CAAC,EAAzC,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,UAAU,gBAAe,CAAC;gBAClDC,0BAAW,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACjE,aAAA;YACD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;YACpD,OAAO;AACR,SAAA;AAED,QAAA,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,YAAY,YAAY,OAAO,EAAE;AACnC,YAAA,IAAM,eAAa,GAAG,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;AAElD,YAAA,IAAM,kBAAgB,GAAG,YAAA;AACvB,gBAAA,IAAI,CAAE,eAAa,CAAC,MAAM,EAAE;oBAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;oBACpD,OAAO;AACR,iBAAA;AAED,gBAAA,IAAM,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAa,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;AACjG,gBAAA,WAAW,CAAC,IAAI,CAAC,kBAAgB,CAAC,CAAC;AACrC,aAAC,CAAC;AAEF,YAAA,YAAY,CAAC,IAAI,CAAC,kBAAgB,CAAC,CAAC;AACrC,SAAA;KACF,CAAA;AAUD,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,MAAwB,EAAE,QAAe,EAAE,OAAoC,EAAA;AACzF,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;QAIjC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,MAAiC,CAAC;QAEtC,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,QAAA,IAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;AACnC,QAAA,IAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QAIrC,IAAI,oBAAoB,GAAG,IAAI,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,YAAA,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,YAAA,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AAC3C,YAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,iBAAiB,IAAI,YAAY,CAAC;YAClC,eAAe,IAAI,UAAU,CAAC;YAC9B,IAAI,YAAY,KAAK,UAAU,EAAE;gBAC/B,oBAAoB,GAAG,KAAK,CAAC;AAC9B,aAAA;AACF,SAAA;AAKD,QAAA,IAAI,oBAAoB,EAAE;AACxB,YAAA,IAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAEzC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,gBAAA,KAAK,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE;AAC9G,oBAAA,IAAI,eAAe,IAAI,UAAU,IAAI,eAAe,IAAI,SAAS,EAAE;AACjE,wBAAA,IAAM,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC;AAC/C,wBAAA,IAAM,eAAe,GAAGD,oDAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;wBACpH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAsB,IAAI,EAAqB,IAAI,CAAC,CAAC;wBAChF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAC/E,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,OAAO;AACR,SAAA;QAGD,IAAI,uBAAuB,GAAG,UAAU,CAAC;AACzC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,QAAA,IAAM,YAAY,GAAG,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AACxE,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzC,IAAI,YAAY,GAAG,aAAa,CAAC;AAMjC,QAAA,IAAI,YAAY,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE;YAC1C,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;AACR,SAAA;AAKD,QAAA,IAAM,6CAA6C,GAAG,iBAAiB,KAAK,CAAC;AACxE,eAAA,eAAe,GAAG,CAAC;AACnB,eAAA,OAAO,CAAC,KAAK,CAAC,UAAA,MAAM,EAAI,EAAA,OAAA,MAAM,CAAC,KAAK,IAAI,UAAU,CAA1B,EAA0B,CAAC,CAAC;AAEzD,QAAA,IAAI,6CAA6C,EAAE;YACjD,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,eAAe,GAAG,CAAC,CAAC;AACjD,YAAA,MAAM,CAAC,eAAe,IAAI,eAAe,GAAG,UAAU,CAAC;YAEvD,MAAM,CAAC,YAAY,EAAE,CAAC;AAItB,YAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;AAC9C,YAAA,IAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC;AACnD,YAAA,IAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3F,IAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,EAAE,mBAAmB,KAAK,CAAC;AAC3D,kBAAE,CAAC;AACH,mBAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACjD,YAAA,IAAI,mCAAmC,GAAG,eAAe,KAAK,CAAC;AAC7D,kBAAE,CAAC;AACH,kBAAE,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;YAE7C,IAEE,mBAAmB,GAAG,mBAAmB;mBAEtC,mCAAmC,KAAK,UAAU,EACrD;AACA,gBAAA,MAAM,CAAC,oBAAoB,CAAiB,KAAK,CAAC,CAAC;gBACnD,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAC7E,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC5E,OAAO;AACR,aAAA;AAKF,SAAA;AAMD,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;AAC7C,QAAA,IAAM,+BAA+B,GACnC,aAAa,GAAG,MAAM,CAAC,gBAAgB;AACpC,eAAA,OAAO,CAAC,KAAK,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,KAAK,GAAG,aAAa,CAAvB,EAAuB,CAAC,CAAC;AAEjD,QAAA,IAAI,+BAA+B,EAAE;AACnC,YAAA,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC;AAChG,YAAA,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACnC,SAAA;AAII,aAAA;AAEH,YAAA,IAAI,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAIrD,IAAI,kBAAkB,KAAK,CAAC,EAAE;AAC5B,gBAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC9C,IAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE/E,gBAAA,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAE3C,gBAAA,kBAAkB,GAAG,gBAAgB,GAAG,CAAC,CAAC;AAC3C,aAAA;YAED,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;AAC1B,gBAAA,IAAA,EAAwE,GAAA,OAAO,CAAC,CAAC,CAAC,EAAhF,UAAU,GAAA,EAAA,CAAA,UAAA,EAAqB,YAAY,GAAA,EAAA,CAAA,OAAA,CAAA,MAAA,EAAW,WAAW,WAAe,CAAC;AACzF,gBAAA,IAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;gBAC9C,IAAI,uBAAuB,GAAG,WAAW,EAAE;oBACzC,uBAAuB,GAAG,QAAQ,CAAC,CAAC,EAAE,uBAAuB,GAAG,WAAW,CAAC,CAAC;AAC9E,iBAAA;AACF,aAAA;YACD,YAAY,GAAG,CAAC,CAAC;AAIjB,YAAA,IAAI,YAAY,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBAC3C,uBAAuB,GAAG,CAAC,CAAC;gBAC5B,YAAY,GAAG,YAAY,CAAC;AAC7B,aAAA;AAEI,iBAAA;gBAMH,IAAI,YAAY,IAAI,kBAAkB,EAAE;oBACtC,YAAY,GAAG,YAAY,CAAC;oBAC5B,uBAAuB,GAAG,CAAC,CAAC;AAC7B,iBAAA;AAII,qBAAA;oBACH,YAAY,GAAG,kBAAkB,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA,IAAM,qBAAqB,GAAG,YAAY,IAAI,uBAAuB;AACnE,kBAAE,uBAAuB;kBACvB,CAAC,CAAC;AACN,YAAA,IAAM,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;YAGpD,IAAI,cAAc,GAAG,CAAC,EAAE;gBACtB,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;AACnC,oBAAA,IAAM,eAAe,GAAG,uBAAuB,GAAG,aAAa,GAAG,CAAC,CAAC;AACpE,oBAAA,IAAM,eAAe,GAAGA,oDAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACvH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACjE,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACpC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;oBACvB,MAAM,CAAC,UAAU,CAAC,YAAY,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;AACrF,iBAAA;AACF,aAAA;AACD,YAAA,IAAM,qBAAqB,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,YAAY,CAAC,CAAC;AAE/F,YAAA,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC;AAGxC,YAAA,MAAM,CAAC,eAAe,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAC5D,YAAA,MAAM,CAAC,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAC/D,YAAA,MAAM,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;AACnD,SAAA;AAMD,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;KAC1F,CAAA;AAED,IAAA,0BAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,MAAwB,EAAE,UAAkB,EAAA;AACzD,QAAA,IAAM,KAAK,GAAI,MAAM,CAAC,QAAsB,CAAC,QAAQ,CAAC;AACtD,QAAA,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AAChC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,KAAc,CAAC;AAEzC,QAAA,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,IAAW,CAAC;AAEhB,QAAA,OAAO,UAAU,GAAG,UAAU,EAAE,EAAE,UAAU,EAAE;AAC5C,YAAA,eAAe,GAAG,UAAU,GAAG,KAAK,CAAC;AACrC,YAAA,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACtD,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAA;KACF,CAAA;IAED,0BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,MAAwB,EAAA;QAChC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;KAC9G,CAAA;IAeD,0BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,MAAwB,EAAE,UAAkB,EAAE,YAAoB,EAAE,YAAoB,EAAE,UAAkB,EAAA;AACrH,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;AAC9C,QAAA,IAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC;AACnD,QAAA,IAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,EAAE,mBAAmB,KAAK,CAAC;AAC3D,cAAE,CAAC;AACH,eAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACjD,QAAA,IAAI,mCAAmC,GAAG,eAAe,KAAK,CAAC;AAC7D,cAAE,CAAC;AACH,cAAE,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;AAK7C,QAAA,IAAI,mCAAmC,GAAG,YAAY,IAAI,YAAY,EAAE;YACtE,mCAAmC,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;AAChF,SAAA;QACD,IAAM,6CAA6C,GAAG,mCAAmC,CAAC;AAC1F,QAAA,IAAM,6CAA6C,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,6CAA6C,GAAG,YAAY,CAAC,CAAC;AAC/I,QAAA,MAAM,CAAC,MAAM,GAAG,mCAAmC,CAAC;AAIpD,QAAA,MAAM,CAAC,eAAe,GAAG,6CAA6C,GAAG,UAAU,CAAC;AACpF,QAAA,MAAM,CAAC,kBAAkB,GAAG,6CAA6C,GAAG,UAAU,CAAC;AACtF,QAAA,MAAwB,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEpD,MAAwB,CAAC,sBAAsB,EAAE,CAAC;QACnD,MAAM,CAAC,oBAAoB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAChC,CAAA;IACH,OAAC,0BAAA,CAAA;AAAD,CAlhBA,CAAgDE,8CAAmB,CAkhBlE,CAAA;;ACpiBD,IAAA,yBAAA,IAAA,UAAA,MAAA,EAAA;IAA+C,SAAkB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;AAAjE,IAAA,SAAA,yBAAA,GAAA;;KAoDC;AAhDC,IAAA,yBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;AACE,QAAA,OAAO,IAAI,CAAC;KACb,CAAA;IAED,yBAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,KAAU,EAAA;AACd,QAAA,OAAO,CAAC,CAAC;KACV,CAAA;AAED,IAAA,yBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAqB,EAAE,YAA2B,EAAA;AAC7D,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACf,CAAA;AAED,IAAA,yBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAqB,EAAE,UAAkB,KAAmB,CAAA;IAE1E,yBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,eAAwB,CAAA;AAExB,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;AACE,QAAA,OAAO,KAAK,CAAC;KACd,CAAA;AAED,IAAA,yBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;AACE,QAAA,OAAO,KAAK,CAAC;KACd,CAAA;AAED,IAAA,yBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAqB,EAAE,KAAU,EAAA;AAC/C,QAAA,MAAM,CAAC,UAAU;AACb,cAAA,MAAM,CAAC,gBAAgB;AAEvB,kBAAA,CAAC,CAAC;QAGN,OAA4C,CAAA,CAAA;KAC7C,CAAA;IAED,yBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,eAA6B,CAAA;IAE7B,yBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,MAAqB,EAAA;AACnC,QAAA,MAAM,CAAC,cAAc,CAAsB,IAAI,EAAsB,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,gBAAgB,EAAE,CAAC;KAC3B,CAAA;AAED,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,MAAqB,EAAA,GAAmB,CAAA;IAElD,yBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,eAAkC,CAAA;AAElC,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UAAsB,eAAoB,EAAE,KAAU,EAAA;KAErD,CAAA;IACH,OAAC,yBAAA,CAAA;AAAD,CApDA,CAA+CC,6CAAkB,CAoDhE,CAAA;;ACjDD,IAAA,4BAAA,IAAA,YAAA;AAOE,IAAA,SAAA,4BAAA,GAAA;AACE,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,UAAA,KAAK,EAAI,EAAA,OAAA,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAArC,EAAqC,EAAE,IAAI,yBAAyB,EAAE,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,WAAW,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAY,KAAK,GAAA,EAAE,IAAI,0BAA0B,EAAE,CAAC,CAAC;KACrF;AAMD,IAAA,4BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,OAAgC,EAAE,QAAgC,EAAA;AAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAChC,CAAA;IAKD,4BAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAU,EAAA;AACpB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE7B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;AACjD,YAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb,CAAA;IACH,OAAC,4BAAA,CAAA;AAAD,CAAC,EAAA,CAAA;;ACvCD,IAAA,uBAAA,IAAA,YAAA;AAAA,IAAA,SAAA,uBAAA,GAAA;KAuCC;IArCC,uBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAgB,EAAA;AACjC,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACpC,CAAA;AAED,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,IAAW,EAAE,SAAkB,EAAA;QAC3C,gBAAgB,CAAC,IAAI,EAAEC,cAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;KAC3D,CAAA;AAED,IAAA,uBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,IAAW,EAAE,YAAqB,EAAA;AAC7C,QAAA,IAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;QACrD,IAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,KAAK,CAAC,IAAK,eAA2B,CAAC,IAAI,KAAK,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC;AACxI,QAAA,gBAAgB,CAAC,IAAI,EAAE,aAAwB,CAAC,CAAC;KAClD,CAAA;IAED,uBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;AAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,OAAO;YACL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AACtD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;SACnE,CAAC;KACH,CAAA;AAED,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,EAAW,EAAE,SAAkB,EAAE,YAAqB,EAAA;AAClE,QAAA,IAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC;AAC7B,QAAA,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAA,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KAClC,CAAA;AAED,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,SAAkB,EAAE,YAAqB,EAAA;AACvD,QAAA,IAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC;QAC7C,OAAO,OAAO,KAAK,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;KAClD,CAAA;AAED,IAAA,uBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,SAAkB,EAAE,YAAqB,EAAA;AACtD,QAAA,IAAM,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACnD,OAAO,MAAM,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;KAC7C,CAAA;IACH,OAAC,uBAAA,CAAA;AAAD,CAAC,EAAA,CAAA;;ACzCD,IAAA,yBAAA,IAAA,UAAA,MAAA,EAAA;IAAiD,SAAuB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;AAAxE,IAAA,SAAA,yBAAA,GAAA;;KAmBC;IAhBC,yBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAgB,EAAA;QACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;KACnD,CAAA;IAED,yBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;AAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAElC,OAAO;YAEL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;AAErD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;SAClE,CAAC;KACH,CAAA;IAGH,OAAC,yBAAA,CAAA;AAAD,CAnBA,CAAiD,uBAAuB,CAmBvE,CAAA,CAAA;AAED,IAAA,iBAAA,IAAA,UAAA,MAAA,EAAA;IAAuC,SAAyB,CAAA,iBAAA,EAAA,MAAA,CAAA,CAAA;AAAhE,IAAA,SAAA,iBAAA,GAAA;;KASC;IAHW,iBAAQ,CAAA,SAAA,CAAA,QAAA,GAAlB,UAAmB,OAAgB,EAAA;QACjC,OAAO,OAAO,CAAC,UAA8B,CAAC;KAC/C,CAAA;IACH,OAAC,iBAAA,CAAA;AAAD,CATA,CAAuC,yBAAyB,CAS/D,CAAA,CAAA;AAED,IAAA,gBAAA,IAAA,UAAA,MAAA,EAAA;IAAsC,SAAyB,CAAA,gBAAA,EAAA,MAAA,CAAA,CAAA;AAA/D,IAAA,SAAA,gBAAA,GAAA;;KASC;IAHW,gBAAQ,CAAA,SAAA,CAAA,QAAA,GAAlB,UAAmB,OAAgB,EAAA;AACjC,QAAA,OAAO,OAAO,CAAC,UAAU,CAAC,UAA8B,CAAC;KAC1D,CAAA;IACH,OAAC,gBAAA,CAAA;AAAD,CATA,CAAsC,yBAAyB,CAS9D,CAAA;;ACdD,IAAA,oBAAA,IAAA,UAAA,MAAA,EAAA;IAA0C,SAAuB,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;AAAjE,IAAA,SAAA,oBAAA,GAAA;;KAUC;IAPC,oBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;AAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,OAAO;YACL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;AACrD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;SAClE,CAAC;KACH,CAAA;IACH,OAAC,oBAAA,CAAA;AAAD,CAVA,CAA0C,uBAAuB,CAUhE,CAAA;;ACpCD,IAAA,uBAAA,IAAA,YAAA;AAQE,IAAA,SAAA,uBAAA,CAAY,SAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC5B;IAKD,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,OAAgB,EAAA;AAC1B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAqB,CAAC;AAC7C,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC/C,SAAA;AACD,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAGrC,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,OAAO,EAAE;AACvF,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxC,SAAA;QAED,IAAI,aAAa,KAAK,OAAO,EAAE;AAC7B,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE;AACpD,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC5C,SAAA;AACD,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;KAC/C,CAAA;AAjCM,IAAA,uBAAA,CAAA,MAAM,GAAG,CAACC,oCAAS,CAAC,CAAC;IAkC9B,OAAC,uBAAA,CAAA;AAAA,CArCD,EAqCC,CAAA;;ACmUM,IAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrE,IAAA,kBAAkB,EAAE,sCAA+C;AACnE,IAAA,cAAc,EAAE,kCAA2C;AAC5D,CAAA;;AC3WM,IAAM,sBAAsB,GAAG,YAAiC,EAAA,OAAAC,mBAAQ,CAAC,MAAM,CAAC,cAAc,CAAA,EAAA;;ACwDrG,IAAA,aAAA,IAAA,UAAA,MAAA,EAAA;IAAmC,SAAgB,CAAA,aAAA,EAAA,MAAA,CAAA,CAAA;AAwOjD,IAAA,SAAA,aAAA,CACE,OAAoB,EACpB,WAA6B,EAC7B,WAA8B,EAC9B,QAAkB,EAClB,aAA4B,EAC5B,eAAgC,EAChC,yBAAuD,EACvD,uBAAgD,EAAA;AARlD,QAAA,IAAA,KAAA,GAUE,MAAM,CAAA,IAAA,CAAA,IAAA,EAAA;AACJ,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,qBAAqB,EAAEC,gDAAqB,CAAC,WAAW,CAAC;AAC1D,SAAA,CAAC,IAuBH,IAAA,CAAA;QA9OD,KAAM,CAAA,MAAA,GAAG,CAAC,CAAC;QAcX,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QAGpB,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAWjB,KAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QAYvB,KAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAW9B,KAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAwrB3B,KAAY,CAAA,YAAA,GAAG,CAAC,CAAC;AAlhBf,QAAA,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,KAAI,CAAC,QAAQ,GAAG,QAAqB,CAAC;AACtC,QAAA,KAAI,CAAC,eAAe,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACxD,QAAA,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AACvC,QAAA,KAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC3C,QAAA,KAAI,CAAC,eAAe,GAAG,yBAAyB,CAAC;AACjD,QAAA,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;AACvD,QAAA,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,KAAI,CAAC,gBAAgB,GAAGC,mDAAwB,CAAC,KAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QACzF,KAAI,CAAC,SAAS,GAAGC,oCAAS,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;AAClD,QAAA,KAAI,CAAC,eAAe;AAChB,cAAA,KAAI,CAAC,kBAAkB;AACvB,kBAAA,KAAI,CAAC,UAAU;AACf,sBAAA,KAAI,CAAC,aAAa;AAClB,0BAAA,CAAC,CAAC;QACN,KAAI,CAAC,sBAAsB,GAAG,YAAA;AAC5B,YAAA,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,SAAC,CAAC;QACF,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;KAC5C;AAzQM,IAAA,aAAA,CAAA,MAAM,GAAb,YAAA;QACE,OAAO;AACL,YAAAL,cAAG,CAAC,OAAO;YACXM,kCAAgB;YAChBC,mCAAiB;YACjBC,0BAAQ;YACRC,+BAAa;YACbC,8BAAe;YACf,4BAA4B;YAC5B,uBAAuB;SACxB,CAAC;KACH,CAAA;AAGM,IAAA,aAAA,CAAA,SAAS,GAAhB,YAAA;QACE,OAAO;AACL,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,kBAAkB,EAAE,IAAI;AAExB,YAAA,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAQ;SACrC,CAAC;KACH,CAAA;AAsPD,IAAA,aAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAK,cAAmB,EAAE,eAAgC,EAAA;QACxD,IAAI,CAAC,KAAK,GAAG,EAAE,cAAc,gBAAA,EAAE,eAAe,EAAA,eAAA,EAAE,CAAC;KAClD,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;QAAA,IA0CC,KAAA,GAAA,IAAA,CAAA;AAzCC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAExB,QAAA,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,IAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACnG,QAAA,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5E,QAAA,IAAA,EAAgC,GAAA,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAtE,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,QAA2C,CAAC;AAC9E,QAAA,IAAM,sBAAsB,GAAG,UAAU,KAAK,WAAW,CAAC;AAG1D,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;AAEtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAEhD,QAAA,IAAI,sBAAsB,EAAE;AAC1B,YAAA,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACvD,SAAA;AAAM,aAAA;YACL,IAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACnF,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;YAChGV,cAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAMtD,IAAI,CAAC,0BAA0B,GAAGE,mBAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,YAAA;AAC5D,gBAAA,IAAM,iBAAiB,GAAG,KAAI,CAAC,aAAa,CAAC;AAC7C,gBAAA,IAAM,iBAAiB,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;AACzE,gBAAA,KAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;gBACvC,IAAI,iBAAiB,KAAK,iBAAiB,EAAE;AAC3C,oBAAA,IAAM,mBAAmB,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;AACnD,oBAAA,IAAM,gBAAgB,GAAG,KAAI,CAAC,iBAAiB,CAAC;AAChD,oBAAA,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;AAC7C,oBAAA,KAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAC3D,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAK,OAAmE,EAAE,OAAoC,EAAA;QAC5G,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACpC,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;AACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,QAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;AAC/B,YAAA,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACxD,SAAA;AAAM,aAAA;YACLF,cAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAC1D,SAAA;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW;AAEZ,cAAA,KAAK,CAAC;QACV,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAChE,QAAA,IAAI,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;AACxE,QAAA,IAAM,cAAc,GAAGE,mBAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;AACrD,QAAA,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAChD,QAAA,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,aAAa;AACd,cAAA,IAAI,CAAC,aAAa;AAClB,kBAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;KACzC,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;AACE,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB,CAAA;AAeD,IAAA,aAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;QAAA,IAuDC,KAAA,GAAA,IAAA,CAAA;QApDC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACpC,OAAO;AACR,SAAA;AAED,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzE,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACjE,SAAA;QAID,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;YACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,SAAA;QAGD,IAAM,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,kBAAkB,IAAkC,EAAE;YACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,SAAA;AAOD,QAAA,IAAI,CAAC,kBAAkB,GAAA,CAAuC,MAAM,CAAC,EAAE;YAC/D,IAAA,EAAA,GAA+DA,mBAAQ,CAAC,MAAM,EAA/D,YAAY,GAAA,EAAA,CAAA,WAAA,EAAiB,gBAAc,GAAA,EAAA,CAAA,aAAoB,CAAC;AACrF,YAAA,gBAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,YAAA;gBAChC,IAAI,KAAI,CAAC,KAAK,EAAE;AACd,oBAAA,IAAM,SAAS,GAAG,KAAI,CAAC,SAAS,EAAE,IAAI,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,CAAC;oBACzE,IAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,UAAqB,CAAC,CAAC;oBACrE,IAAI,WAAW,GAAG,CAAC,EAAE;AACnB,wBAAA,gBAAc,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;wBACnC,KAAI,CAAC,YAAY,EAAE,CAAC;AACrB,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,gBAAc,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;AACpC,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;QAED,IAAI,kBAAkB,IAA6C,EAAE;AACnE,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvC,SAAA;KACF,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,UAAwB,UAAiB,EAAE,OAAoC,EAAA;QAE7E,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;KAC1D,CAAA;AAID,IAAA,aAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,UAAiB,EAAE,OAAoC,EAAA;QAApF,IAmBC,KAAA,GAAA,IAAA,CAAA;QAhBC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAM,EAAA,OAAA,KAAI,CAAC,eAAe,GAAG,KAAK,CAA5B,EAA4B,CAAC,CAAC;AAGlE,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE;YAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;AAAM,aAAA;AAGL,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AACvB,SAAA;KACF,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;AACE,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;KACpC,CAAA;AAKD,IAAA,aAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB,CAAA;AAKD,IAAA,aAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;AACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,OAAO;AACL,YAAA,QAAQ,EAAE,QAAQ;YAElB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAE7B,MAAM,EAAE,QAAQ,KAAK,WAAW;AAC9B,kBAAE,WAAW;AACb,kBAAE,gBAAgB,CAAC,QAAQ,CAAC;SAC/B,CAAC;KACH,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;AACE,QAAA,IAAI,CAAC,MAAM;AAEP,cAAA,IAAI,CAAC,eAAe;AACpB,kBAAA,IAAI,CAAC,kBAAkB;AACvB,sBAAA,IAAI,CAAC,UAAU;AACf,0BAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,eAAe;AAChB,cAAA,IAAI,CAAC,kBAAkB;AACvB,kBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;KACjD,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;QAAA,IAgBC,KAAA,GAAA,IAAA,CAAA;AAfC,QAAA,IAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACpD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAC1C,YAAA,IAAM,kBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAChD,YAAA,IAAM,qBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACnD,YAAA,IAAI,CAAC,iBAAiB,GAAG,qBAAmB,CAAC;AAC7C,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAA;AAC5B,gBAAA,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,KAAI,CAAC,aAAa,CAAC,qBAAmB,EAAE,kBAAgB,CAAC,CAAC;AAC5D,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,mBAAmB,EAAE;AACvB,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,SAAA;KACF,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,qBAAoC,EAAE,kBAAiC,EAAA;AACnF,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;AACR,SAAA;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,OAAO;AACR,SAAA;AAED,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;AACR,SAAA;AAED,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE/B,QAAA,IAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1C,QAAA,IAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,IAAA,EAAuD,GAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAApG,qBAAqB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAK,mBAAmB,QAAuD,CAAC;AAEhH,QAAA,IAAI,eAAe,GACjB,qBAAqB,GAAG,qBAAqB;cAC1C,CAAA;cACC,qBAAqB,GAAG,qBAAqB;kBAC5C,CAAA;AACD,mBAAqB,CAAC;QAkC5B,IAAI,aAAa,GAAG,CAAC,CAAC;AAQtB,QAAA,IAEE,qBAAqB,IAAI,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB;AAE1F,eAAA,mBAAmB,KAAK,mBAAmB,IAAI,mBAAmB,IAAI,mBAAmB,EAC5F;AAMA,YAAA,IAAI,qBAAqB,IAAI,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB,EAAE;gBAEjG,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAEpD,oBAAA,eAAe,KAA+B,CAAC;AAChD,iBAAA;AACF,aAAA;iBAEI,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;AAGxD,gBAAA,eAAe,KAA4B,CAAC;AAC7C,aAAA;AAEF,SAAA;AAAM,aAAA;YAGL,IAAI,qBAAqB,GAAG,qBAAqB;AAC5C,mBAAA,mBAAmB,IAAI,qBAAqB;mBAC5C,mBAAmB,IAAI,mBAAmB,EAC7C;AAEA,gBAAA,IAAM,mBAAmB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAC1E,gBAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAa,GAAG,CAAC,CAAC;gBAElB,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AACpD,oBAAA,eAAe,KAA+B,CAAC;AAChD,iBAAA;AACF,aAAA;iBAGI,IAAI,qBAAqB,GAAG,qBAAqB;AACjD,mBAAA,qBAAqB,IAAI,mBAAmB;mBAC5C,mBAAmB,IAAI,mBAAmB,EAC7C;AAEA,gBAAA,IAAM,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzC,aAAa,GAAG,CAAC,CAAC;gBAElB,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;AACnD,oBAAA,eAAe,KAA4B,CAAC;AAC7C,iBAAA;AACF,aAAA;AAGI,iBAAA,IAAI,mBAAmB,GAAG,qBAAqB,IAAI,qBAAqB,GAAG,mBAAmB,EAAE;AACnG,gBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAEzB,IAAI,mBAAmB,GAAG,qBAAqB,EAAE;oBAC/C,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAGpD,wBAAA,eAAe,KAA+B,CAAC;AAChD,qBAAA;AACF,iBAAA;qBAEI,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;AAIxD,oBAAA,eAAe,KAA4B,CAAC;AAC7C,iBAAA;AACF,aAAA;AAII,iBAAA;AACH,gBAAA,IAAI,qBAAqB,KAAK,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB,EAAE;oBAElG,OAAO,CAAC,GAAG,CAAC,qDAAqD;0BAC7D,OAAQ,CAAA,MAAA,CAAA,qBAAqB,eAAK,mBAAmB,EAAA,WAAA,CAAA,CAAA,MAAA,CAAY,qBAAqB,EAAK,IAAA,CAAA,CAAA,MAAA,CAAA,mBAAmB,EAAG,GAAA,CAAA,CACpH,CAAC;AACF,oBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAE1B,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAC5D,iBAAA;AACF,aAAA;AACF,SAAA;QAED,IAAI,aAAa,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC;AACpC,YAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AACrD,SAAA;AAKD,QAAA,IACE,CAAC,eAAe,GAA8C,CAAA,MAAiD,CAAA;AAC5G,eAAA,CAAC,eAAe,GAAA,CAAyC,MAAC,CAA2C,EACxG;AACA,YAAA,IAAI,CAAC,OAAO,CACV,qBAAqB,EACrB,CAAC,eAAe,GAA2B,CAAA,IAAI,CAAC,EAChD,CAAC,eAAe,GAAA,CAA8B,IAAI,CAAC,CACpD,CAAC;AACH,SAAA;AACI,aAAA;YAQH,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC;YACxF,eAAe,GAAG,gBAAgB,GAAG,CAAC;kBACnC,CAAA;kBACC,gBAAgB,GAAG,CAAC;sBACnB,CAAA;AACD,uBAAqB,CAAC;YAE1B,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;AACnD,gBAAA,eAAe,KAA4B,CAAC;AAC7C,aAAA;YACD,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AACpD,gBAAA,eAAe,KAA+B,CAAC;AAChD,aAAA;AAED,YAAA,IACE,CAAC,eAAe,GAA8C,CAAA,MAAiD,CAAA;AAC5G,mBAAA,CAAC,eAAe,GAAA,CAAyC,MAAC,CAA2C,EACxG;AACA,gBAAA,IAAI,CAAC,OAAO,CACV,qBAAqB,EACrB,CAAC,eAAe,GAA2B,CAAA,IAAI,CAAC,EAChD,CAAC,eAAe,GAAA,CAA8B,IAAI,CAAC,CACpD,CAAC;AACH,aAAA;AACF,SAAA;KACF,CAAA;AAOD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,UAAkB,EAAE,SAA+B,EAAA;QAE5D,IAAM,MAAM,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACpB,YAAA,IAAI,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACzC,OAAO,UAAU,EAAE,EAAE;AACnB,gBAAA,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B,iBAAiB,CACf,MAAM,EACN,IAAI,EACJ,EAAE,UAAU,EACO,KAAK,CACzB,CAAC;AACH,aAAA;AACF,SAAA;AAEI,aAAA;AACH,YAAA,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACvC,OAAO,UAAU,EAAE,EAAE;gBACnB,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,iBAAiB,CACf,MAAM,EACN,IAAI,EACJ,EAAE,SAAS,EACQ,IAAI,CACxB,CAAC;AACH,aAAA;AACF,SAAA;KACF,CAAA;IASD,aAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,QAAgB,EAAE,SAAkB,EAAE,YAAqB,EAAE,KAAe,EAAA;QAApF,IAwEC,KAAA,GAAA,IAAA,CAAA;AAvEC,QAAA,IAAI,SAAS,IAAI,YAAY,IAAI,KAAK,EAAE;AAEtC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAM,cAAc,GAAG,UAAC,IAAY,EAAA;AAClC,oBAAA,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,GAAG,EAAE,EAAE;wBACjC,OAAO;AACR,qBAAA;AACD,oBAAA,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,oBAAA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,oBAAA,IAAM,mBAAmB,GAAG,YAAA;AAC1B,wBAAA,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,qBAAC,CAAC;AACF,oBAAA,IAAM,SAAS,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;oBACnC,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,wBAAA,mBAAmB,EAAE,CAAC;wBACtB,OAAO;AACR,qBAAA;AACD,oBAAA,IAAM,gBAAgB,GAAG,SAAS,CAAC,UAAsB,CAAC;oBAC1D,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;oBAClD,IAAM,IAAI,GACR,gBAAgB;AACb,2BAAA,gBAAgB,CAAC,EAAE;AACnB,2BAAA,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC;AACxC,0BAAE,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;0BAClF,SAAS,CAAC;oBAEhB,IAAI,IAAI,KAAK,SAAS,EAAE;AAKtB,wBAAA,mBAAmB,EAAE,CAAC;AACvB,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAM,aAAa,GAA6B;AAC9C,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,UAAU,EAAE,YAAY;AACxB,4BAAA,OAAO,EAAE,SAAS;yBACnB,CAAC;AACF,wBAAA,IAAM,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC;AACnD,wBAAA,eAAe,CAAC,cAAc,GAAG,aAAa,CAAC;AAC/C,wBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,4BAAA,IAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;4BACtD,IAAM,eAAe,GAAI,SAAS,CAAC,UAAsB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAC3F,4BAAA,IAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEjD,4BAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAClC,gCAAA,mBAAmB,EAAE,CAAC;AACtB,gCAAA,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;gCAChF,IAAI,MAAM,YAAY,OAAO,EAAE;AAC7B,oCAAA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oCAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,YAAA;AAEjB,wCAAA,mBAAmB,EAAE,CAAC;AACxB,qCAAC,CAAC,CAAC;AACJ,iCAAA;AACF,6BAAA;AAAM,iCAAA;AACL,gCAAA,MAAM,IAAI,KAAK,CAAC,WAAI,kBAAkB,EAAA,yCAAA,CAAyC,CAAC,CAAC;AAClF,6BAAA;AACF,yBAAA;6BAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAEhC,4BAAA,mBAAmB,EAAE,CAAC;4BACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;AACnD,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,IAAI,KAAK,CAAC,WAAI,kBAAkB,EAAA,yCAAA,CAAyC,CAAC,CAAC;AAClF,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;KACF,CAAA;IAED,aAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,UAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,CAAC,eAAe,EAAA,IAAA,CAAI,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,CAAC,kBAAkB,EAAA,IAAA,CAAI,CAAC;AAClE,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACnC,SAAA;KACF,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;AACE,QAAA,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACnD,QAAA,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACnD,SAAA;KACF,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;AACE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACrB,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;KACxC,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;AACE,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACnC,QAAA,OAAO,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;KACnE,CAAA;AAED,IAAA,aAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;AACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjC,QAAA,OAAO,QAAQ,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;KACjE,CAAA;IAKD,aAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,UAAuB,EAAA;QAAvC,IAoDC,KAAA,GAAA,IAAA,CAAA;QAhDC,IAAM,iBAAiB,GAAG,UAAC,OAAwB,EAAA;AACjD,YAAA,IAAI,CAAC,YAAA;AACH,gBAAA,IAAI,OAAO,KAAK,KAAI,CAAC,wBAAwB,EAAE;oBAE7C,KAAI,CAAC,YAAY,EAAE,CAAC;AACrB,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC;AACF,QAAA,IAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAC;AAC3D,QAAA,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE;AACnD,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAC5C,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,aAAA;YAGD,QAAQ,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,yBAAyB,CAAC,UAAC,OAAO,EAAA;AAC9E,gBAAA,IAAM,OAAO,GAAG,KAAI,CAAC,wBAAwB,CAAC;gBAC9C,IAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACvC,gBAAA,KAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;AAExC,gBAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;oBAKjG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC5B,iBAAA;AACH,aAAC,CAAC,CAAC;AACH,YAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9B,SAAA;AAID,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;AACpC,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,SAAA;AACD,QAAA,IAAM,uBAAuB,GAAG,YAAA;AAC9B,YAAA,IAAI,CAAC,YAAA;gBACH,KAAI,CAAC,YAAY,EAAE,CAAC;AACtB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC;QAGF,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAIS,+BAAa,CAAC,UAAU,CAAC,CAAC;QAChE,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC5F,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;KACzF,CAAA;AAMD,IAAA,aAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;AACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAC9C,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,SAAA;AACD,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;AAC5C,QAAA,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,UAAU,EAAE,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,CAAC,uBAAuB;AACxB,cAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;KACtC,CAAA;AAQD,IAAA,aAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;AACE,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,IAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QACD,IAAM,OAAO,iCAAwD,CAAC;AACtE,QAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;AAC3B,QAAA,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACb,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;QACE,IAAM,UAAU,GAAGC,2CAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC9C,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;AACE,QAAA,IAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACjG,QAAA,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,WAAW,GAAA,yBAAmD,CAAC;AACpE,YAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAC7C,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACtD,SAAA;KACF,CAAA;AAKD,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;AACE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;KACtC,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,KAAK,GAAL,YAAA;AACE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC/B,CAAA;IAGD,aAAI,CAAA,SAAA,CAAA,IAAA,GAAJ,UAAK,KAAa,EAAA;AAChB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC5F,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,cAAmB,EAAE,eAAgC,EAAA;QAC3D,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxB,QAAA,OAAO,IAAa,CAAC;KACtB,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,cAAmB,EAAE,eAAgC,EAAA;QAC7E,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnC,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,aAAsB,EAAE,aAAsB,EAAA;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;KAC9D,CAAA;AAGD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,aAAsB,EAAE,aAAsB,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAA2B,CAAC;KAC9F,CAAA;IAGD,aAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,IAAW,EAAA;AACxB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,EAAE;AACV,YAAAC,+CAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,SAAA;AACD,QAAA,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,EAAE;YACV,IAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvD,YAAA,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;YAC/B,OAAO,CAAC,EAAE,EAAE;gBACV,IAAI,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzCA,+CAAoB,CAAC,OAAO,CAAC,CAAC;AAC/B,aAAA;AACF,SAAA;KACF,CAAA;IACH,OAAC,aAAA,CAAA;AAAD,CA1iCA,CAAmCC,2CAAgB,CA0iClD;;ACvmCD,IAAA,kBAAA,IAAA,YAAA;AAAA,IAAA,SAAA,kBAAA,GAAA;KASC;AANQ,IAAA,kBAAA,CAAA,SAAS,GAAhB,YAAA;QACE,OAAO;AACL,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,sBAAsB;SAC7B,CAAC;KACH,CAAA;IACH,OAAC,kBAAA,CAAA;AAAD,CAAC,EAAA;;ACPK,SAAU,SAAS,CAAC,MAAiD,EAAA;AACzE,IAAA,MAAM,CAAC,eAAe,CACpB,aAAa,EACb,kBAAkB,CACnB,CAAC;AACJ;;;;;;;"} \ No newline at end of file diff --git a/dist/es2015/aurelia-ui-virtualization.js b/dist/es2015/aurelia-ui-virtualization.js index 2798691..0a137ab 100644 --- a/dist/es2015/aurelia-ui-virtualization.js +++ b/dist/es2015/aurelia-ui-virtualization.js @@ -121,7 +121,7 @@ class ArrayVirtualRepeatStrategy extends ArrayRepeatStrategy { } repeat.itemHeight = itemHeight; const scroll_el_height = scrollerInfo.height; - const elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; } onAttached(repeat) { @@ -285,7 +285,6 @@ class ArrayVirtualRepeatStrategy extends ArrayRepeatStrategy { } if (allSplicesAreInplace) { const lastIndex = repeat.lastViewIndex(); - const repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (let collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -467,6 +466,8 @@ class NullVirtualRepeatStrategy extends NullRepeatStrategy { } remeasure(repeat) { } updateAllViews() { } + getCollectionObserver(observerLocator, items) { + } } class VirtualRepeatStrategyLocator { @@ -1172,4 +1173,5 @@ function configure(config) { config.globalResources(VirtualRepeat, InfiniteScrollNext); } -export { configure, VirtualRepeat, InfiniteScrollNext, VirtualizationEvents }; +export { InfiniteScrollNext, VirtualRepeat, VirtualizationEvents, configure }; +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/es2015/aurelia-ui-virtualization.js.map b/dist/es2015/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..e6d6bd3 --- /dev/null +++ b/dist/es2015/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/es2017/aurelia-ui-virtualization.js b/dist/es2017/aurelia-ui-virtualization.js index 2798691..0a137ab 100644 --- a/dist/es2017/aurelia-ui-virtualization.js +++ b/dist/es2017/aurelia-ui-virtualization.js @@ -121,7 +121,7 @@ class ArrayVirtualRepeatStrategy extends ArrayRepeatStrategy { } repeat.itemHeight = itemHeight; const scroll_el_height = scrollerInfo.height; - const elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; } onAttached(repeat) { @@ -285,7 +285,6 @@ class ArrayVirtualRepeatStrategy extends ArrayRepeatStrategy { } if (allSplicesAreInplace) { const lastIndex = repeat.lastViewIndex(); - const repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (let collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -467,6 +466,8 @@ class NullVirtualRepeatStrategy extends NullRepeatStrategy { } remeasure(repeat) { } updateAllViews() { } + getCollectionObserver(observerLocator, items) { + } } class VirtualRepeatStrategyLocator { @@ -1172,4 +1173,5 @@ function configure(config) { config.globalResources(VirtualRepeat, InfiniteScrollNext); } -export { configure, VirtualRepeat, InfiniteScrollNext, VirtualizationEvents }; +export { InfiniteScrollNext, VirtualRepeat, VirtualizationEvents, configure }; +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/es2017/aurelia-ui-virtualization.js.map b/dist/es2017/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..e6d6bd3 --- /dev/null +++ b/dist/es2017/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native-modules/aurelia-ui-virtualization.js b/dist/native-modules/aurelia-ui-virtualization.js index f53d64c..10d92f2 100644 --- a/dist/native-modules/aurelia-ui-virtualization.js +++ b/dist/native-modules/aurelia-ui-virtualization.js @@ -1,33 +1,35 @@ import { mergeSplice, ObserverLocator } from 'aurelia-binding'; -import { BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ElementEvents } from 'aurelia-templating'; -import { updateOverrideContext, createFullOverrideContext, ArrayRepeatStrategy, NullRepeatStrategy, viewsRequireLifecycle, getItemsSourceExpression, isOneTime, unwrapExpression, updateOneTimeBinding, AbstractRepeater } from 'aurelia-templating-resources'; +import { ElementEvents, BoundViewFactory, TargetInstruction, ViewSlot, ViewResources } from 'aurelia-templating'; +import { updateOverrideContext, createFullOverrideContext, ArrayRepeatStrategy, NullRepeatStrategy, unwrapExpression, updateOneTimeBinding, viewsRequireLifecycle, getItemsSourceExpression, isOneTime, AbstractRepeater } from 'aurelia-templating-resources'; import { DOM, PLATFORM } from 'aurelia-pal'; import { Container } from 'aurelia-dependency-injection'; /*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) Microsoft Corporation. -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -158,7 +160,7 @@ var ArrayVirtualRepeatStrategy = (function (_super) { } repeat.itemHeight = itemHeight; var scroll_el_height = scrollerInfo.height; - var elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; }; ArrayVirtualRepeatStrategy.prototype.onAttached = function (repeat) { @@ -323,7 +325,6 @@ var ArrayVirtualRepeatStrategy = (function (_super) { } if (allSplicesAreInplace) { var lastIndex = repeat.lastViewIndex(); - var repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (var collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -510,6 +511,8 @@ var NullVirtualRepeatStrategy = (function (_super) { }; NullVirtualRepeatStrategy.prototype.remeasure = function (repeat) { }; NullVirtualRepeatStrategy.prototype.updateAllViews = function () { }; + NullVirtualRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) { + }; return NullVirtualRepeatStrategy; }(NullRepeatStrategy)); @@ -961,7 +964,7 @@ var VirtualRepeat = (function (_super) { else { if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { console.log("[!] Scroll intersection not handled. With indices: " - + ("new [" + new_range_start_index + ", " + new_range_end_index + "] / old [" + old_range_start_index + ", " + old_range_end_index + "]")); + + "new [".concat(new_range_start_index, ", ").concat(new_range_end_index, "] / old [").concat(old_range_start_index, ", ").concat(old_range_end_index, "]")); strategy.remeasure(this); } else { @@ -1064,7 +1067,7 @@ var VirtualRepeat = (function (_super) { } } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } else if (func.sourceExpression) { @@ -1072,7 +1075,7 @@ var VirtualRepeat = (function (_super) { return func.sourceExpression.evaluate(_this.scope); } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } }; @@ -1081,8 +1084,8 @@ var VirtualRepeat = (function (_super) { } }; VirtualRepeat.prototype.updateBufferElements = function (skipUpdate) { - this.topBufferEl.style.height = this.topBufferHeight + "px"; - this.bottomBufferEl.style.height = this.bottomBufferHeight + "px"; + this.topBufferEl.style.height = "".concat(this.topBufferHeight, "px"); + this.bottomBufferEl.style.height = "".concat(this.bottomBufferHeight, "px"); if (skipUpdate) { this._ticking = true; $raf(this.revertScrollCheckGuard); @@ -1253,4 +1256,5 @@ function configure(config) { config.globalResources(VirtualRepeat, InfiniteScrollNext); } -export { configure, VirtualRepeat, InfiniteScrollNext, VirtualizationEvents }; +export { InfiniteScrollNext, VirtualRepeat, VirtualizationEvents, configure }; +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/native-modules/aurelia-ui-virtualization.js.map b/dist/native-modules/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..2496b30 --- /dev/null +++ b/dist/native-modules/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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\nexport var __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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/system/aurelia-ui-virtualization.js b/dist/system/aurelia-ui-virtualization.js index 49ae300..53b1991 100644 --- a/dist/system/aurelia-ui-virtualization.js +++ b/dist/system/aurelia-ui-virtualization.js @@ -1,26 +1,26 @@ -System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-resources', 'aurelia-pal', 'aurelia-dependency-injection'], function (exports, module) { +System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-resources', 'aurelia-pal', 'aurelia-dependency-injection'], (function (exports) { 'use strict'; - var mergeSplice, ObserverLocator, BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ElementEvents, updateOverrideContext, createFullOverrideContext, ArrayRepeatStrategy, NullRepeatStrategy, viewsRequireLifecycle, getItemsSourceExpression, isOneTime, unwrapExpression, updateOneTimeBinding, AbstractRepeater, DOM, PLATFORM, Container; + var mergeSplice, ObserverLocator, ElementEvents, BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, updateOverrideContext, createFullOverrideContext, ArrayRepeatStrategy, NullRepeatStrategy, unwrapExpression, updateOneTimeBinding, viewsRequireLifecycle, getItemsSourceExpression, isOneTime, AbstractRepeater, DOM, PLATFORM, Container; return { setters: [function (module) { mergeSplice = module.mergeSplice; ObserverLocator = module.ObserverLocator; }, function (module) { + ElementEvents = module.ElementEvents; BoundViewFactory = module.BoundViewFactory; TargetInstruction = module.TargetInstruction; ViewSlot = module.ViewSlot; ViewResources = module.ViewResources; - ElementEvents = module.ElementEvents; }, function (module) { updateOverrideContext = module.updateOverrideContext; createFullOverrideContext = module.createFullOverrideContext; ArrayRepeatStrategy = module.ArrayRepeatStrategy; NullRepeatStrategy = module.NullRepeatStrategy; + unwrapExpression = module.unwrapExpression; + updateOneTimeBinding = module.updateOneTimeBinding; viewsRequireLifecycle = module.viewsRequireLifecycle; getItemsSourceExpression = module.getItemsSourceExpression; isOneTime = module.isOneTime; - unwrapExpression = module.unwrapExpression; - updateOneTimeBinding = module.updateOneTimeBinding; AbstractRepeater = module.AbstractRepeater; }, function (module) { DOM = module.DOM; @@ -28,34 +28,36 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re }, function (module) { Container = module.Container; }], - execute: function () { + execute: (function () { exports('configure', configure); /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 + Copyright (c) Microsoft Corporation. - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -186,7 +188,7 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re } repeat.itemHeight = itemHeight; var scroll_el_height = scrollerInfo.height; - var elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; }; ArrayVirtualRepeatStrategy.prototype.onAttached = function (repeat) { @@ -351,7 +353,6 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re } if (allSplicesAreInplace) { var lastIndex = repeat.lastViewIndex(); - var repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (var collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -538,6 +539,8 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re }; NullVirtualRepeatStrategy.prototype.remeasure = function (repeat) { }; NullVirtualRepeatStrategy.prototype.updateAllViews = function () { }; + NullVirtualRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) { + }; return NullVirtualRepeatStrategy; }(NullRepeatStrategy)); @@ -989,7 +992,7 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re else { if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { console.log("[!] Scroll intersection not handled. With indices: " - + ("new [" + new_range_start_index + ", " + new_range_end_index + "] / old [" + old_range_start_index + ", " + old_range_end_index + "]")); + + "new [".concat(new_range_start_index, ", ").concat(new_range_end_index, "] / old [").concat(old_range_start_index, ", ").concat(old_range_end_index, "]")); strategy.remeasure(this); } else { @@ -1092,7 +1095,7 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re } } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } else if (func.sourceExpression) { @@ -1100,7 +1103,7 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re return func.sourceExpression.evaluate(_this.scope); } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } }; @@ -1109,8 +1112,8 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re } }; VirtualRepeat.prototype.updateBufferElements = function (skipUpdate) { - this.topBufferEl.style.height = this.topBufferHeight + "px"; - this.bottomBufferEl.style.height = this.bottomBufferHeight + "px"; + this.topBufferEl.style.height = "".concat(this.topBufferHeight, "px"); + this.bottomBufferEl.style.height = "".concat(this.bottomBufferHeight, "px"); if (skipUpdate) { this._ticking = true; $raf(this.revertScrollCheckGuard); @@ -1281,6 +1284,7 @@ System.register(['aurelia-binding', 'aurelia-templating', 'aurelia-templating-re config.globalResources(VirtualRepeat, InfiniteScrollNext); } - } + }) }; -}); +})); +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/system/aurelia-ui-virtualization.js.map b/dist/system/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..e78a9fd --- /dev/null +++ b/dist/system/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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\nexport var __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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/aurelia-ui-virtualization.d.ts b/dist/types/aurelia-ui-virtualization.d.ts similarity index 98% rename from dist/aurelia-ui-virtualization.d.ts rename to dist/types/aurelia-ui-virtualization.d.ts index 81259d9..bc24b31 100644 --- a/dist/aurelia-ui-virtualization.d.ts +++ b/dist/types/aurelia-ui-virtualization.d.ts @@ -1,3 +1,5 @@ +// Generated by dts-bundle-generator v6.8.0 + import { ICollectionObserverSplice, InternalCollectionObserver, ObserverLocator, OverrideContext, Scope } from 'aurelia-binding'; import { Container } from 'aurelia-dependency-injection'; import { BoundViewFactory, TargetInstruction, View, ViewResources, ViewSlot } from 'aurelia-templating'; @@ -138,7 +140,10 @@ export interface IVirtualRepeatStrategy { - view.bindingContext[repeat.local] = collection[collectionIndex]; - aureliaTemplatingResources.updateOverrideContext(view.overrideContext, collectionIndex, collection.length); - }; - const rebindAndMoveView = (repeat, view, index, moveToBottom) => { - const items = repeat.items; - const viewSlot = repeat.viewSlot; - aureliaTemplatingResources.updateOverrideContext(view.overrideContext, index, items.length); - view.bindingContext[repeat.local] = items[index]; - if (moveToBottom) { - viewSlot.children.push(viewSlot.children.shift()); - repeat.templateStrategy.moveViewLast(view, repeat.bottomBufferEl); - } - else { - viewSlot.children.unshift(viewSlot.children.splice(-1, 1)[0]); - repeat.templateStrategy.moveViewFirst(view, repeat.topBufferEl); - } - }; - const calcMinViewsRequired = (scrollerHeight, itemHeight) => { - return Math$floor(scrollerHeight / itemHeight) + 1; - }; - const Math$abs = Math.abs; - const Math$max = Math.max; - const Math$min = Math.min; - const Math$round = Math.round; - const Math$floor = Math.floor; - const $isNaN = isNaN; + const rebindView = (repeat, view, collectionIndex, collection) => { + view.bindingContext[repeat.local] = collection[collectionIndex]; + aureliaTemplatingResources.updateOverrideContext(view.overrideContext, collectionIndex, collection.length); + }; + const rebindAndMoveView = (repeat, view, index, moveToBottom) => { + const items = repeat.items; + const viewSlot = repeat.viewSlot; + aureliaTemplatingResources.updateOverrideContext(view.overrideContext, index, items.length); + view.bindingContext[repeat.local] = items[index]; + if (moveToBottom) { + viewSlot.children.push(viewSlot.children.shift()); + repeat.templateStrategy.moveViewLast(view, repeat.bottomBufferEl); + } + else { + viewSlot.children.unshift(viewSlot.children.splice(-1, 1)[0]); + repeat.templateStrategy.moveViewFirst(view, repeat.topBufferEl); + } + }; + const calcMinViewsRequired = (scrollerHeight, itemHeight) => { + return Math$floor(scrollerHeight / itemHeight) + 1; + }; + const Math$abs = Math.abs; + const Math$max = Math.max; + const Math$min = Math.min; + const Math$round = Math.round; + const Math$floor = Math.floor; + const $isNaN = isNaN; - const doc = document; - const htmlElement = doc.documentElement; - const $raf = requestAnimationFrame.bind(window); + const doc = document; + const htmlElement = doc.documentElement; + const $raf = requestAnimationFrame.bind(window); - const getScrollerElement = (element) => { - let current = element.parentNode; - while (current !== null && current !== htmlElement) { - if (hasOverflowScroll(current)) { - return current; - } - current = current.parentNode; - } - return doc.scrollingElement || htmlElement; - }; - const getElementDistanceToTopOfDocument = (element) => { - let box = element.getBoundingClientRect(); - let scrollTop = window.pageYOffset; - let clientTop = htmlElement.clientTop; - let top = box.top + scrollTop - clientTop; - return Math$round(top); - }; - const hasOverflowScroll = (element) => { - const style = window.getComputedStyle(element); - return style && (style.overflowY === 'scroll' || style.overflow === 'scroll' || style.overflowY === 'auto' || style.overflow === 'auto'); - }; - const getStyleValues = (element, ...styles) => { - let currentStyle = window.getComputedStyle(element); - let value = 0; - let styleValue = 0; - for (let i = 0, ii = styles.length; ii > i; ++i) { - styleValue = parseFloat(currentStyle[styles[i]]); - value += $isNaN(styleValue) ? 0 : styleValue; - } - return value; - }; - const calcOuterHeight = (element) => { - let height = element.getBoundingClientRect().height; - height += getStyleValues(element, 'marginTop', 'marginBottom'); - return height; - }; - const calcScrollHeight = (element) => { - let height = element.getBoundingClientRect().height; - height -= getStyleValues(element, 'borderTopWidth', 'borderBottomWidth'); - return height; - }; - const insertBeforeNode = (view, bottomBuffer) => { - bottomBuffer.parentNode.insertBefore(view.lastChild, bottomBuffer); - }; - const getDistanceToParent = (child, parent) => { - const offsetParent = child.offsetParent; - const childOffsetTop = child.offsetTop; - if (offsetParent === null || offsetParent === parent) { - return childOffsetTop; - } - else { - if (offsetParent.contains(parent)) { - return childOffsetTop - parent.offsetTop; - } - else { - return childOffsetTop + getDistanceToParent(offsetParent, parent); - } - } - }; + const getScrollerElement = (element) => { + let current = element.parentNode; + while (current !== null && current !== htmlElement) { + if (hasOverflowScroll(current)) { + return current; + } + current = current.parentNode; + } + return doc.scrollingElement || htmlElement; + }; + const getElementDistanceToTopOfDocument = (element) => { + let box = element.getBoundingClientRect(); + let scrollTop = window.pageYOffset; + let clientTop = htmlElement.clientTop; + let top = box.top + scrollTop - clientTop; + return Math$round(top); + }; + const hasOverflowScroll = (element) => { + const style = window.getComputedStyle(element); + return style && (style.overflowY === 'scroll' || style.overflow === 'scroll' || style.overflowY === 'auto' || style.overflow === 'auto'); + }; + const getStyleValues = (element, ...styles) => { + let currentStyle = window.getComputedStyle(element); + let value = 0; + let styleValue = 0; + for (let i = 0, ii = styles.length; ii > i; ++i) { + styleValue = parseFloat(currentStyle[styles[i]]); + value += $isNaN(styleValue) ? 0 : styleValue; + } + return value; + }; + const calcOuterHeight = (element) => { + let height = element.getBoundingClientRect().height; + height += getStyleValues(element, 'marginTop', 'marginBottom'); + return height; + }; + const calcScrollHeight = (element) => { + let height = element.getBoundingClientRect().height; + height -= getStyleValues(element, 'borderTopWidth', 'borderBottomWidth'); + return height; + }; + const insertBeforeNode = (view, bottomBuffer) => { + bottomBuffer.parentNode.insertBefore(view.lastChild, bottomBuffer); + }; + const getDistanceToParent = (child, parent) => { + const offsetParent = child.offsetParent; + const childOffsetTop = child.offsetTop; + if (offsetParent === null || offsetParent === parent) { + return childOffsetTop; + } + else { + if (offsetParent.contains(parent)) { + return childOffsetTop - parent.offsetTop; + } + else { + return childOffsetTop + getDistanceToParent(offsetParent, parent); + } + } + }; - class ArrayVirtualRepeatStrategy extends aureliaTemplatingResources.ArrayRepeatStrategy { - createFirstRow(repeat) { - const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, repeat.items[0], 0, 1); - return repeat.addView(overrideContext.bindingContext, overrideContext); - } - count(items) { - return items.length; - } - initCalculation(repeat, items) { - const itemCount = items.length; - if (!(itemCount > 0)) { - return 1; - } - const scrollerInfo = repeat.getScrollerInfo(); - const existingViewCount = repeat.viewCount(); - if (itemCount > 0 && existingViewCount === 0) { - this.createFirstRow(repeat); - } - const firstView = repeat.firstView(); - const itemHeight = calcOuterHeight(firstView.firstChild); - if (itemHeight === 0) { - return 0; - } - repeat.itemHeight = itemHeight; - const scroll_el_height = scrollerInfo.height; - const elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); - return 2 | 4; - } - onAttached(repeat) { - if (repeat.items.length < repeat.minViewsRequired) { - repeat.getMore(0, true, this.isNearBottom(repeat, repeat.lastViewIndex()), true); - } - } - getViewRange(repeat, scrollerInfo) { - const topBufferEl = repeat.topBufferEl; - const scrollerEl = repeat.scrollerEl; - const itemHeight = repeat.itemHeight; - let realScrollTop = 0; - const isFixedHeightContainer = scrollerInfo.scroller !== htmlElement; - if (isFixedHeightContainer) { - const topBufferDistance = getDistanceToParent(topBufferEl, scrollerEl); - const scrollerScrollTop = scrollerInfo.scrollTop; - realScrollTop = Math$max(0, scrollerScrollTop - Math$abs(topBufferDistance)); - } - else { - realScrollTop = pageYOffset - repeat.distanceToTop; - } - const realViewCount = repeat.minViewsRequired * 2; - let firstVisibleIndex = Math$max(0, itemHeight > 0 ? Math$floor(realScrollTop / itemHeight) : 0); - const lastVisibleIndex = Math$min(repeat.items.length - 1, firstVisibleIndex + (realViewCount - 1)); - firstVisibleIndex = Math$max(0, Math$min(firstVisibleIndex, lastVisibleIndex - (realViewCount - 1))); - return [firstVisibleIndex, lastVisibleIndex]; - } - updateBuffers(repeat, firstIndex) { - const itemHeight = repeat.itemHeight; - const itemCount = repeat.items.length; - repeat.topBufferHeight = firstIndex * itemHeight; - repeat.bottomBufferHeight = (itemCount - firstIndex - repeat.viewCount()) * itemHeight; - repeat.updateBufferElements(true); - } - isNearTop(repeat, firstIndex) { - const itemCount = repeat.items.length; - return itemCount > 0 - ? firstIndex < repeat.edgeDistance - : false; - } - isNearBottom(repeat, lastIndex) { - const itemCount = repeat.items.length; - return lastIndex === -1 - ? true - : itemCount > 0 - ? lastIndex > (itemCount - 1 - repeat.edgeDistance) - : false; - } - instanceChanged(repeat, items, first) { - if (this._inPlaceProcessItems(repeat, items, first)) { - this._remeasure(repeat, repeat.itemHeight, repeat.minViewsRequired * 2, items.length, repeat.$first); - } - } - instanceMutated(repeat, array, splices) { - this._standardProcessInstanceMutated(repeat, array, splices); - } - _inPlaceProcessItems($repeat, items, firstIndex) { - const repeat = $repeat; - const currItemCount = items.length; - if (currItemCount === 0) { - repeat.removeAllViews(true, false); - repeat.resetCalculation(); - repeat.__queuedSplices = repeat.__array = undefined; - return false; - } - const max_views_count = repeat.minViewsRequired * 2; - let realViewsCount = repeat.viewCount(); - while (realViewsCount > currItemCount) { - realViewsCount--; - repeat.removeView(realViewsCount, true, false); - } - while (realViewsCount > max_views_count) { - realViewsCount--; - repeat.removeView(realViewsCount, true, false); - } - realViewsCount = Math$min(realViewsCount, max_views_count); - const local = repeat.local; - const lastIndex = currItemCount - 1; - if (firstIndex + realViewsCount > lastIndex) { - firstIndex = Math$max(0, currItemCount - realViewsCount); - } - repeat.$first = firstIndex; - for (let i = 0; i < realViewsCount; i++) { - const currIndex = i + firstIndex; - const view = repeat.view(i); - const last = currIndex === currItemCount - 1; - const middle = currIndex !== 0 && !last; - const bindingContext = view.bindingContext; - const overrideContext = view.overrideContext; - if (bindingContext[local] === items[currIndex] - && overrideContext.$index === currIndex - && overrideContext.$middle === middle - && overrideContext.$last === last) { - continue; - } - bindingContext[local] = items[currIndex]; - overrideContext.$first = currIndex === 0; - overrideContext.$middle = middle; - overrideContext.$last = last; - overrideContext.$index = currIndex; - const odd = currIndex % 2 === 1; - overrideContext.$odd = odd; - overrideContext.$even = !odd; - repeat.updateBindings(view); - } - const minLength = Math$min(max_views_count, currItemCount); - for (let i = realViewsCount; i < minLength; i++) { - const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, items[i], i, currItemCount); - repeat.addView(overrideContext.bindingContext, overrideContext); - } - return true; - } - _standardProcessInstanceMutated($repeat, array, splices) { - const repeat = $repeat; - if (repeat.__queuedSplices) { - for (let i = 0, ii = splices.length; i < ii; ++i) { - const { index, removed, addedCount } = splices[i]; - aureliaBinding.mergeSplice(repeat.__queuedSplices, index, removed, addedCount); - } - repeat.__array = array.slice(0); - return; - } - if (array.length === 0) { - repeat.removeAllViews(true, false); - repeat.resetCalculation(); - repeat.__queuedSplices = repeat.__array = undefined; - return; - } - const maybePromise = this._runSplices(repeat, array.slice(0), splices); - if (maybePromise instanceof Promise) { - const queuedSplices = repeat.__queuedSplices = []; - const runQueuedSplices = () => { - if (!queuedSplices.length) { - repeat.__queuedSplices = repeat.__array = undefined; - return; - } - const nextPromise = this._runSplices(repeat, repeat.__array, queuedSplices) || Promise.resolve(); - nextPromise.then(runQueuedSplices); - }; - maybePromise.then(runQueuedSplices); - } - } - _runSplices(repeat, newArray, splices) { - const firstIndex = repeat.$first; - let totalRemovedCount = 0; - let totalAddedCount = 0; - let splice; - let i = 0; - const spliceCount = splices.length; - const newArraySize = newArray.length; - let allSplicesAreInplace = true; - for (i = 0; spliceCount > i; i++) { - splice = splices[i]; - const removedCount = splice.removed.length; - const addedCount = splice.addedCount; - totalRemovedCount += removedCount; - totalAddedCount += addedCount; - if (removedCount !== addedCount) { - allSplicesAreInplace = false; - } - } - if (allSplicesAreInplace) { - const lastIndex = repeat.lastViewIndex(); - const repeatViewSlot = repeat.viewSlot; - for (i = 0; spliceCount > i; i++) { - splice = splices[i]; - for (let collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { - if (collectionIndex >= firstIndex && collectionIndex <= lastIndex) { - const viewIndex = collectionIndex - firstIndex; - const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, newArray[collectionIndex], collectionIndex, newArraySize); - repeat.removeView(viewIndex, true, true); - repeat.insertView(viewIndex, overrideContext.bindingContext, overrideContext); - } - } - } - return; - } - let firstIndexAfterMutation = firstIndex; - const itemHeight = repeat.itemHeight; - const originalSize = newArraySize + totalRemovedCount - totalAddedCount; - const currViewCount = repeat.viewCount(); - let newViewCount = currViewCount; - if (originalSize === 0 && itemHeight === 0) { - repeat.resetCalculation(); - repeat.itemsChanged(); - return; - } - const all_splices_are_positive_and_before_view_port = totalRemovedCount === 0 - && totalAddedCount > 0 - && splices.every(splice => splice.index <= firstIndex); - if (all_splices_are_positive_and_before_view_port) { - repeat.$first = firstIndex + totalAddedCount - 1; - repeat.topBufferHeight += totalAddedCount * itemHeight; - repeat.enableScroll(); - const scrollerInfo = repeat.getScrollerInfo(); - const scroller_scroll_top = scrollerInfo.scrollTop; - const top_buffer_distance = getDistanceToParent(repeat.topBufferEl, scrollerInfo.scroller); - const real_scroll_top = Math$max(0, scroller_scroll_top === 0 - ? 0 - : (scroller_scroll_top - top_buffer_distance)); - let first_index_after_scroll_adjustment = real_scroll_top === 0 - ? 0 - : Math$floor(real_scroll_top / itemHeight); - if (scroller_scroll_top > top_buffer_distance - && first_index_after_scroll_adjustment === firstIndex) { - repeat.updateBufferElements(false); - repeat.scrollerEl.scrollTop = real_scroll_top + totalAddedCount * itemHeight; - this._remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndex); - return; - } - } - const lastViewIndex = repeat.lastViewIndex(); - const all_splices_are_after_view_port = currViewCount > repeat.minViewsRequired - && splices.every(s => s.index > lastViewIndex); - if (all_splices_are_after_view_port) { - repeat.bottomBufferHeight = Math$max(0, newArraySize - firstIndex - currViewCount) * itemHeight; - repeat.updateBufferElements(true); - } - else { - let viewsRequiredCount = repeat.minViewsRequired * 2; - if (viewsRequiredCount === 0) { - const scrollerInfo = repeat.getScrollerInfo(); - const minViewsRequired = calcMinViewsRequired(scrollerInfo.height, itemHeight); - repeat.minViewsRequired = minViewsRequired; - viewsRequiredCount = minViewsRequired * 2; - } - for (i = 0; spliceCount > i; ++i) { - const { addedCount, removed: { length: removedCount }, index: spliceIndex } = splices[i]; - const removeDelta = removedCount - addedCount; - if (firstIndexAfterMutation > spliceIndex) { - firstIndexAfterMutation = Math$max(0, firstIndexAfterMutation - removeDelta); - } - } - newViewCount = 0; - if (newArraySize <= repeat.minViewsRequired) { - firstIndexAfterMutation = 0; - newViewCount = newArraySize; - } - else { - if (newArraySize <= viewsRequiredCount) { - newViewCount = newArraySize; - firstIndexAfterMutation = 0; - } - else { - newViewCount = viewsRequiredCount; - } - } - const newTopBufferItemCount = newArraySize >= firstIndexAfterMutation - ? firstIndexAfterMutation - : 0; - const viewCountDelta = newViewCount - currViewCount; - if (viewCountDelta > 0) { - for (i = 0; viewCountDelta > i; ++i) { - const collectionIndex = firstIndexAfterMutation + currViewCount + i; - const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, newArray[collectionIndex], collectionIndex, newArray.length); - repeat.addView(overrideContext.bindingContext, overrideContext); - } - } - else { - const ii = Math$abs(viewCountDelta); - for (i = 0; ii > i; ++i) { - repeat.removeView(newViewCount, true, false); - } - } - const newBotBufferItemCount = Math$max(0, newArraySize - newTopBufferItemCount - newViewCount); - repeat.$first = firstIndexAfterMutation; - repeat.topBufferHeight = newTopBufferItemCount * itemHeight; - repeat.bottomBufferHeight = newBotBufferItemCount * itemHeight; - repeat.updateBufferElements(true); - } - this._remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndexAfterMutation); - } - updateAllViews(repeat, startIndex) { - const views = repeat.viewSlot.children; - const viewLength = views.length; - const collection = repeat.items; - const delta = Math$floor(repeat.topBufferHeight / repeat.itemHeight); - let collectionIndex = 0; - let view; - for (; viewLength > startIndex; ++startIndex) { - collectionIndex = startIndex + delta; - view = repeat.view(startIndex); - rebindView(repeat, view, collectionIndex, collection); - repeat.updateBindings(view); - } - } - remeasure(repeat) { - this._remeasure(repeat, repeat.itemHeight, repeat.viewCount(), repeat.items.length, repeat.firstViewIndex()); - } - _remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndex) { - const scrollerInfo = repeat.getScrollerInfo(); - const scroller_scroll_top = scrollerInfo.scrollTop; - const top_buffer_distance = getDistanceToParent(repeat.topBufferEl, scrollerInfo.scroller); - const real_scroll_top = Math$max(0, scroller_scroll_top === 0 - ? 0 - : (scroller_scroll_top - top_buffer_distance)); - let first_index_after_scroll_adjustment = real_scroll_top === 0 - ? 0 - : Math$floor(real_scroll_top / itemHeight); - if (first_index_after_scroll_adjustment + newViewCount >= newArraySize) { - first_index_after_scroll_adjustment = Math$max(0, newArraySize - newViewCount); - } - const top_buffer_item_count_after_scroll_adjustment = first_index_after_scroll_adjustment; - const bot_buffer_item_count_after_scroll_adjustment = Math$max(0, newArraySize - top_buffer_item_count_after_scroll_adjustment - newViewCount); - repeat.$first = first_index_after_scroll_adjustment; - repeat.topBufferHeight = top_buffer_item_count_after_scroll_adjustment * itemHeight; - repeat.bottomBufferHeight = bot_buffer_item_count_after_scroll_adjustment * itemHeight; - repeat._handlingMutations = false; - repeat.revertScrollCheckGuard(); - repeat.updateBufferElements(); - this.updateAllViews(repeat, 0); - } - } + class ArrayVirtualRepeatStrategy extends aureliaTemplatingResources.ArrayRepeatStrategy { + createFirstRow(repeat) { + const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, repeat.items[0], 0, 1); + return repeat.addView(overrideContext.bindingContext, overrideContext); + } + count(items) { + return items.length; + } + initCalculation(repeat, items) { + const itemCount = items.length; + if (!(itemCount > 0)) { + return 1; + } + const scrollerInfo = repeat.getScrollerInfo(); + const existingViewCount = repeat.viewCount(); + if (itemCount > 0 && existingViewCount === 0) { + this.createFirstRow(repeat); + } + const firstView = repeat.firstView(); + const itemHeight = calcOuterHeight(firstView.firstChild); + if (itemHeight === 0) { + return 0; + } + repeat.itemHeight = itemHeight; + const scroll_el_height = scrollerInfo.height; + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + return 2 | 4; + } + onAttached(repeat) { + if (repeat.items.length < repeat.minViewsRequired) { + repeat.getMore(0, true, this.isNearBottom(repeat, repeat.lastViewIndex()), true); + } + } + getViewRange(repeat, scrollerInfo) { + const topBufferEl = repeat.topBufferEl; + const scrollerEl = repeat.scrollerEl; + const itemHeight = repeat.itemHeight; + let realScrollTop = 0; + const isFixedHeightContainer = scrollerInfo.scroller !== htmlElement; + if (isFixedHeightContainer) { + const topBufferDistance = getDistanceToParent(topBufferEl, scrollerEl); + const scrollerScrollTop = scrollerInfo.scrollTop; + realScrollTop = Math$max(0, scrollerScrollTop - Math$abs(topBufferDistance)); + } + else { + realScrollTop = pageYOffset - repeat.distanceToTop; + } + const realViewCount = repeat.minViewsRequired * 2; + let firstVisibleIndex = Math$max(0, itemHeight > 0 ? Math$floor(realScrollTop / itemHeight) : 0); + const lastVisibleIndex = Math$min(repeat.items.length - 1, firstVisibleIndex + (realViewCount - 1)); + firstVisibleIndex = Math$max(0, Math$min(firstVisibleIndex, lastVisibleIndex - (realViewCount - 1))); + return [firstVisibleIndex, lastVisibleIndex]; + } + updateBuffers(repeat, firstIndex) { + const itemHeight = repeat.itemHeight; + const itemCount = repeat.items.length; + repeat.topBufferHeight = firstIndex * itemHeight; + repeat.bottomBufferHeight = (itemCount - firstIndex - repeat.viewCount()) * itemHeight; + repeat.updateBufferElements(true); + } + isNearTop(repeat, firstIndex) { + const itemCount = repeat.items.length; + return itemCount > 0 + ? firstIndex < repeat.edgeDistance + : false; + } + isNearBottom(repeat, lastIndex) { + const itemCount = repeat.items.length; + return lastIndex === -1 + ? true + : itemCount > 0 + ? lastIndex > (itemCount - 1 - repeat.edgeDistance) + : false; + } + instanceChanged(repeat, items, first) { + if (this._inPlaceProcessItems(repeat, items, first)) { + this._remeasure(repeat, repeat.itemHeight, repeat.minViewsRequired * 2, items.length, repeat.$first); + } + } + instanceMutated(repeat, array, splices) { + this._standardProcessInstanceMutated(repeat, array, splices); + } + _inPlaceProcessItems($repeat, items, firstIndex) { + const repeat = $repeat; + const currItemCount = items.length; + if (currItemCount === 0) { + repeat.removeAllViews(true, false); + repeat.resetCalculation(); + repeat.__queuedSplices = repeat.__array = undefined; + return false; + } + const max_views_count = repeat.minViewsRequired * 2; + let realViewsCount = repeat.viewCount(); + while (realViewsCount > currItemCount) { + realViewsCount--; + repeat.removeView(realViewsCount, true, false); + } + while (realViewsCount > max_views_count) { + realViewsCount--; + repeat.removeView(realViewsCount, true, false); + } + realViewsCount = Math$min(realViewsCount, max_views_count); + const local = repeat.local; + const lastIndex = currItemCount - 1; + if (firstIndex + realViewsCount > lastIndex) { + firstIndex = Math$max(0, currItemCount - realViewsCount); + } + repeat.$first = firstIndex; + for (let i = 0; i < realViewsCount; i++) { + const currIndex = i + firstIndex; + const view = repeat.view(i); + const last = currIndex === currItemCount - 1; + const middle = currIndex !== 0 && !last; + const bindingContext = view.bindingContext; + const overrideContext = view.overrideContext; + if (bindingContext[local] === items[currIndex] + && overrideContext.$index === currIndex + && overrideContext.$middle === middle + && overrideContext.$last === last) { + continue; + } + bindingContext[local] = items[currIndex]; + overrideContext.$first = currIndex === 0; + overrideContext.$middle = middle; + overrideContext.$last = last; + overrideContext.$index = currIndex; + const odd = currIndex % 2 === 1; + overrideContext.$odd = odd; + overrideContext.$even = !odd; + repeat.updateBindings(view); + } + const minLength = Math$min(max_views_count, currItemCount); + for (let i = realViewsCount; i < minLength; i++) { + const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, items[i], i, currItemCount); + repeat.addView(overrideContext.bindingContext, overrideContext); + } + return true; + } + _standardProcessInstanceMutated($repeat, array, splices) { + const repeat = $repeat; + if (repeat.__queuedSplices) { + for (let i = 0, ii = splices.length; i < ii; ++i) { + const { index, removed, addedCount } = splices[i]; + aureliaBinding.mergeSplice(repeat.__queuedSplices, index, removed, addedCount); + } + repeat.__array = array.slice(0); + return; + } + if (array.length === 0) { + repeat.removeAllViews(true, false); + repeat.resetCalculation(); + repeat.__queuedSplices = repeat.__array = undefined; + return; + } + const maybePromise = this._runSplices(repeat, array.slice(0), splices); + if (maybePromise instanceof Promise) { + const queuedSplices = repeat.__queuedSplices = []; + const runQueuedSplices = () => { + if (!queuedSplices.length) { + repeat.__queuedSplices = repeat.__array = undefined; + return; + } + const nextPromise = this._runSplices(repeat, repeat.__array, queuedSplices) || Promise.resolve(); + nextPromise.then(runQueuedSplices); + }; + maybePromise.then(runQueuedSplices); + } + } + _runSplices(repeat, newArray, splices) { + const firstIndex = repeat.$first; + let totalRemovedCount = 0; + let totalAddedCount = 0; + let splice; + let i = 0; + const spliceCount = splices.length; + const newArraySize = newArray.length; + let allSplicesAreInplace = true; + for (i = 0; spliceCount > i; i++) { + splice = splices[i]; + const removedCount = splice.removed.length; + const addedCount = splice.addedCount; + totalRemovedCount += removedCount; + totalAddedCount += addedCount; + if (removedCount !== addedCount) { + allSplicesAreInplace = false; + } + } + if (allSplicesAreInplace) { + const lastIndex = repeat.lastViewIndex(); + for (i = 0; spliceCount > i; i++) { + splice = splices[i]; + for (let collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { + if (collectionIndex >= firstIndex && collectionIndex <= lastIndex) { + const viewIndex = collectionIndex - firstIndex; + const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, newArray[collectionIndex], collectionIndex, newArraySize); + repeat.removeView(viewIndex, true, true); + repeat.insertView(viewIndex, overrideContext.bindingContext, overrideContext); + } + } + } + return; + } + let firstIndexAfterMutation = firstIndex; + const itemHeight = repeat.itemHeight; + const originalSize = newArraySize + totalRemovedCount - totalAddedCount; + const currViewCount = repeat.viewCount(); + let newViewCount = currViewCount; + if (originalSize === 0 && itemHeight === 0) { + repeat.resetCalculation(); + repeat.itemsChanged(); + return; + } + const all_splices_are_positive_and_before_view_port = totalRemovedCount === 0 + && totalAddedCount > 0 + && splices.every(splice => splice.index <= firstIndex); + if (all_splices_are_positive_and_before_view_port) { + repeat.$first = firstIndex + totalAddedCount - 1; + repeat.topBufferHeight += totalAddedCount * itemHeight; + repeat.enableScroll(); + const scrollerInfo = repeat.getScrollerInfo(); + const scroller_scroll_top = scrollerInfo.scrollTop; + const top_buffer_distance = getDistanceToParent(repeat.topBufferEl, scrollerInfo.scroller); + const real_scroll_top = Math$max(0, scroller_scroll_top === 0 + ? 0 + : (scroller_scroll_top - top_buffer_distance)); + let first_index_after_scroll_adjustment = real_scroll_top === 0 + ? 0 + : Math$floor(real_scroll_top / itemHeight); + if (scroller_scroll_top > top_buffer_distance + && first_index_after_scroll_adjustment === firstIndex) { + repeat.updateBufferElements(false); + repeat.scrollerEl.scrollTop = real_scroll_top + totalAddedCount * itemHeight; + this._remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndex); + return; + } + } + const lastViewIndex = repeat.lastViewIndex(); + const all_splices_are_after_view_port = currViewCount > repeat.minViewsRequired + && splices.every(s => s.index > lastViewIndex); + if (all_splices_are_after_view_port) { + repeat.bottomBufferHeight = Math$max(0, newArraySize - firstIndex - currViewCount) * itemHeight; + repeat.updateBufferElements(true); + } + else { + let viewsRequiredCount = repeat.minViewsRequired * 2; + if (viewsRequiredCount === 0) { + const scrollerInfo = repeat.getScrollerInfo(); + const minViewsRequired = calcMinViewsRequired(scrollerInfo.height, itemHeight); + repeat.minViewsRequired = minViewsRequired; + viewsRequiredCount = minViewsRequired * 2; + } + for (i = 0; spliceCount > i; ++i) { + const { addedCount, removed: { length: removedCount }, index: spliceIndex } = splices[i]; + const removeDelta = removedCount - addedCount; + if (firstIndexAfterMutation > spliceIndex) { + firstIndexAfterMutation = Math$max(0, firstIndexAfterMutation - removeDelta); + } + } + newViewCount = 0; + if (newArraySize <= repeat.minViewsRequired) { + firstIndexAfterMutation = 0; + newViewCount = newArraySize; + } + else { + if (newArraySize <= viewsRequiredCount) { + newViewCount = newArraySize; + firstIndexAfterMutation = 0; + } + else { + newViewCount = viewsRequiredCount; + } + } + const newTopBufferItemCount = newArraySize >= firstIndexAfterMutation + ? firstIndexAfterMutation + : 0; + const viewCountDelta = newViewCount - currViewCount; + if (viewCountDelta > 0) { + for (i = 0; viewCountDelta > i; ++i) { + const collectionIndex = firstIndexAfterMutation + currViewCount + i; + const overrideContext = aureliaTemplatingResources.createFullOverrideContext(repeat, newArray[collectionIndex], collectionIndex, newArray.length); + repeat.addView(overrideContext.bindingContext, overrideContext); + } + } + else { + const ii = Math$abs(viewCountDelta); + for (i = 0; ii > i; ++i) { + repeat.removeView(newViewCount, true, false); + } + } + const newBotBufferItemCount = Math$max(0, newArraySize - newTopBufferItemCount - newViewCount); + repeat.$first = firstIndexAfterMutation; + repeat.topBufferHeight = newTopBufferItemCount * itemHeight; + repeat.bottomBufferHeight = newBotBufferItemCount * itemHeight; + repeat.updateBufferElements(true); + } + this._remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndexAfterMutation); + } + updateAllViews(repeat, startIndex) { + const views = repeat.viewSlot.children; + const viewLength = views.length; + const collection = repeat.items; + const delta = Math$floor(repeat.topBufferHeight / repeat.itemHeight); + let collectionIndex = 0; + let view; + for (; viewLength > startIndex; ++startIndex) { + collectionIndex = startIndex + delta; + view = repeat.view(startIndex); + rebindView(repeat, view, collectionIndex, collection); + repeat.updateBindings(view); + } + } + remeasure(repeat) { + this._remeasure(repeat, repeat.itemHeight, repeat.viewCount(), repeat.items.length, repeat.firstViewIndex()); + } + _remeasure(repeat, itemHeight, newViewCount, newArraySize, firstIndex) { + const scrollerInfo = repeat.getScrollerInfo(); + const scroller_scroll_top = scrollerInfo.scrollTop; + const top_buffer_distance = getDistanceToParent(repeat.topBufferEl, scrollerInfo.scroller); + const real_scroll_top = Math$max(0, scroller_scroll_top === 0 + ? 0 + : (scroller_scroll_top - top_buffer_distance)); + let first_index_after_scroll_adjustment = real_scroll_top === 0 + ? 0 + : Math$floor(real_scroll_top / itemHeight); + if (first_index_after_scroll_adjustment + newViewCount >= newArraySize) { + first_index_after_scroll_adjustment = Math$max(0, newArraySize - newViewCount); + } + const top_buffer_item_count_after_scroll_adjustment = first_index_after_scroll_adjustment; + const bot_buffer_item_count_after_scroll_adjustment = Math$max(0, newArraySize - top_buffer_item_count_after_scroll_adjustment - newViewCount); + repeat.$first = first_index_after_scroll_adjustment; + repeat.topBufferHeight = top_buffer_item_count_after_scroll_adjustment * itemHeight; + repeat.bottomBufferHeight = bot_buffer_item_count_after_scroll_adjustment * itemHeight; + repeat._handlingMutations = false; + repeat.revertScrollCheckGuard(); + repeat.updateBufferElements(); + this.updateAllViews(repeat, 0); + } + } - class NullVirtualRepeatStrategy extends aureliaTemplatingResources.NullRepeatStrategy { - createFirstRow() { - return null; - } - count(items) { - return 0; - } - getViewRange(repeat, scrollerInfo) { - return [0, 0]; - } - updateBuffers(repeat, firstIndex) { } - onAttached() { } - isNearTop() { - return false; - } - isNearBottom() { - return false; - } - initCalculation(repeat, items) { - repeat.itemHeight - = repeat.minViewsRequired - = 0; - return 2; - } - instanceMutated() { } - instanceChanged(repeat) { - repeat.removeAllViews(true, false); - repeat.resetCalculation(); - } - remeasure(repeat) { } - updateAllViews() { } - } + class NullVirtualRepeatStrategy extends aureliaTemplatingResources.NullRepeatStrategy { + createFirstRow() { + return null; + } + count(items) { + return 0; + } + getViewRange(repeat, scrollerInfo) { + return [0, 0]; + } + updateBuffers(repeat, firstIndex) { } + onAttached() { } + isNearTop() { + return false; + } + isNearBottom() { + return false; + } + initCalculation(repeat, items) { + repeat.itemHeight + = repeat.minViewsRequired + = 0; + return 2; + } + instanceMutated() { } + instanceChanged(repeat) { + repeat.removeAllViews(true, false); + repeat.resetCalculation(); + } + remeasure(repeat) { } + updateAllViews() { } + getCollectionObserver(observerLocator, items) { + } + } - class VirtualRepeatStrategyLocator { - constructor() { - this.matchers = []; - this.strategies = []; - this.addStrategy(items => items === null || items === undefined, new NullVirtualRepeatStrategy()); - this.addStrategy(items => items instanceof Array, new ArrayVirtualRepeatStrategy()); - } - addStrategy(matcher, strategy) { - this.matchers.push(matcher); - this.strategies.push(strategy); - } - getStrategy(items) { - let matchers = this.matchers; - for (let i = 0, ii = matchers.length; i < ii; ++i) { - if (matchers[i](items)) { - return this.strategies[i]; - } - } - return null; - } - } + class VirtualRepeatStrategyLocator { + constructor() { + this.matchers = []; + this.strategies = []; + this.addStrategy(items => items === null || items === undefined, new NullVirtualRepeatStrategy()); + this.addStrategy(items => items instanceof Array, new ArrayVirtualRepeatStrategy()); + } + addStrategy(matcher, strategy) { + this.matchers.push(matcher); + this.strategies.push(strategy); + } + getStrategy(items) { + let matchers = this.matchers; + for (let i = 0, ii = matchers.length; i < ii; ++i) { + if (matchers[i](items)) { + return this.strategies[i]; + } + } + return null; + } + } - class DefaultTemplateStrategy { - getScrollContainer(element) { - return getScrollerElement(element); - } - moveViewFirst(view, topBuffer) { - insertBeforeNode(view, aureliaPal.DOM.nextElementSibling(topBuffer)); - } - moveViewLast(view, bottomBuffer) { - const previousSibling = bottomBuffer.previousSibling; - const referenceNode = previousSibling.nodeType === 8 && previousSibling.data === 'anchor' ? previousSibling : bottomBuffer; - insertBeforeNode(view, referenceNode); - } - createBuffers(element) { - const parent = element.parentNode; - return [ - parent.insertBefore(aureliaPal.DOM.createElement('div'), element), - parent.insertBefore(aureliaPal.DOM.createElement('div'), element.nextSibling), - ]; - } - removeBuffers(el, topBuffer, bottomBuffer) { - const parent = el.parentNode; - parent.removeChild(topBuffer); - parent.removeChild(bottomBuffer); - } - getFirstElement(topBuffer, bottomBuffer) { - const firstEl = topBuffer.nextElementSibling; - return firstEl === bottomBuffer ? null : firstEl; - } - getLastElement(topBuffer, bottomBuffer) { - const lastEl = bottomBuffer.previousElementSibling; - return lastEl === topBuffer ? null : lastEl; - } - } + class DefaultTemplateStrategy { + getScrollContainer(element) { + return getScrollerElement(element); + } + moveViewFirst(view, topBuffer) { + insertBeforeNode(view, aureliaPal.DOM.nextElementSibling(topBuffer)); + } + moveViewLast(view, bottomBuffer) { + const previousSibling = bottomBuffer.previousSibling; + const referenceNode = previousSibling.nodeType === 8 && previousSibling.data === 'anchor' ? previousSibling : bottomBuffer; + insertBeforeNode(view, referenceNode); + } + createBuffers(element) { + const parent = element.parentNode; + return [ + parent.insertBefore(aureliaPal.DOM.createElement('div'), element), + parent.insertBefore(aureliaPal.DOM.createElement('div'), element.nextSibling), + ]; + } + removeBuffers(el, topBuffer, bottomBuffer) { + const parent = el.parentNode; + parent.removeChild(topBuffer); + parent.removeChild(bottomBuffer); + } + getFirstElement(topBuffer, bottomBuffer) { + const firstEl = topBuffer.nextElementSibling; + return firstEl === bottomBuffer ? null : firstEl; + } + getLastElement(topBuffer, bottomBuffer) { + const lastEl = bottomBuffer.previousElementSibling; + return lastEl === topBuffer ? null : lastEl; + } + } - class BaseTableTemplateStrategy extends DefaultTemplateStrategy { - getScrollContainer(element) { - return getScrollerElement(this.getTable(element)); - } - createBuffers(element) { - const parent = element.parentNode; - return [ - parent.insertBefore(aureliaPal.DOM.createElement('tr'), element), - parent.insertBefore(aureliaPal.DOM.createElement('tr'), element.nextSibling), - ]; - } - } - class TableBodyStrategy extends BaseTableTemplateStrategy { - getTable(element) { - return element.parentNode; - } - } - class TableRowStrategy extends BaseTableTemplateStrategy { - getTable(element) { - return element.parentNode.parentNode; - } - } + class BaseTableTemplateStrategy extends DefaultTemplateStrategy { + getScrollContainer(element) { + return getScrollerElement(this.getTable(element)); + } + createBuffers(element) { + const parent = element.parentNode; + return [ + parent.insertBefore(aureliaPal.DOM.createElement('tr'), element), + parent.insertBefore(aureliaPal.DOM.createElement('tr'), element.nextSibling), + ]; + } + } + class TableBodyStrategy extends BaseTableTemplateStrategy { + getTable(element) { + return element.parentNode; + } + } + class TableRowStrategy extends BaseTableTemplateStrategy { + getTable(element) { + return element.parentNode.parentNode; + } + } - class ListTemplateStrategy extends DefaultTemplateStrategy { - createBuffers(element) { - const parent = element.parentNode; - return [ - parent.insertBefore(aureliaPal.DOM.createElement('li'), element), - parent.insertBefore(aureliaPal.DOM.createElement('li'), element.nextSibling), - ]; - } - } + class ListTemplateStrategy extends DefaultTemplateStrategy { + createBuffers(element) { + const parent = element.parentNode; + return [ + parent.insertBefore(aureliaPal.DOM.createElement('li'), element), + parent.insertBefore(aureliaPal.DOM.createElement('li'), element.nextSibling), + ]; + } + } - class TemplateStrategyLocator { - constructor(container) { - this.container = container; - } - getStrategy(element) { - const parent = element.parentNode; - const container = this.container; - if (parent === null) { - return container.get(DefaultTemplateStrategy); - } - const parentTagName = parent.tagName; - if (parentTagName === 'TBODY' || parentTagName === 'THEAD' || parentTagName === 'TFOOT') { - return container.get(TableRowStrategy); - } - if (parentTagName === 'TABLE') { - return container.get(TableBodyStrategy); - } - if (parentTagName === 'OL' || parentTagName === 'UL') { - return container.get(ListTemplateStrategy); - } - return container.get(DefaultTemplateStrategy); - } - } - TemplateStrategyLocator.inject = [aureliaDependencyInjection.Container]; + class TemplateStrategyLocator { + constructor(container) { + this.container = container; + } + getStrategy(element) { + const parent = element.parentNode; + const container = this.container; + if (parent === null) { + return container.get(DefaultTemplateStrategy); + } + const parentTagName = parent.tagName; + if (parentTagName === 'TBODY' || parentTagName === 'THEAD' || parentTagName === 'TFOOT') { + return container.get(TableRowStrategy); + } + if (parentTagName === 'TABLE') { + return container.get(TableBodyStrategy); + } + if (parentTagName === 'OL' || parentTagName === 'UL') { + return container.get(ListTemplateStrategy); + } + return container.get(DefaultTemplateStrategy); + } + } + TemplateStrategyLocator.inject = [aureliaDependencyInjection.Container]; - const VirtualizationEvents = Object.assign(Object.create(null), { - scrollerSizeChange: 'virtual-repeat-scroller-size-changed', - itemSizeChange: 'virtual-repeat-item-size-changed', - }); + const VirtualizationEvents = Object.assign(Object.create(null), { + scrollerSizeChange: 'virtual-repeat-scroller-size-changed', + itemSizeChange: 'virtual-repeat-item-size-changed', + }); - const getResizeObserverClass = () => aureliaPal.PLATFORM.global.ResizeObserver; + const getResizeObserverClass = () => aureliaPal.PLATFORM.global.ResizeObserver; - class VirtualRepeat extends aureliaTemplatingResources.AbstractRepeater { - constructor(element, viewFactory, instruction, viewSlot, viewResources, observerLocator, collectionStrategyLocator, templateStrategyLocator) { - super({ - local: 'item', - viewsRequireLifecycle: aureliaTemplatingResources.viewsRequireLifecycle(viewFactory), - }); - this.$first = 0; - this._isAttached = false; - this._ticking = false; - this._calledGetMore = false; - this._skipNextScrollHandle = false; - this._handlingMutations = false; - this._lastGetMore = 0; - this.element = element; - this.viewFactory = viewFactory; - this.instruction = instruction; - this.viewSlot = viewSlot; - this.lookupFunctions = viewResources['lookupFunctions']; - this.observerLocator = observerLocator; - this.taskQueue = observerLocator.taskQueue; - this.strategyLocator = collectionStrategyLocator; - this.templateStrategyLocator = templateStrategyLocator; - this.edgeDistance = 5; - this.sourceExpression = aureliaTemplatingResources.getItemsSourceExpression(this.instruction, 'virtual-repeat.for'); - this.isOneTime = aureliaTemplatingResources.isOneTime(this.sourceExpression); - this.topBufferHeight - = this.bottomBufferHeight - = this.itemHeight - = this.distanceToTop - = 0; - this.revertScrollCheckGuard = () => { - this._ticking = false; - }; - this._onScroll = this._onScroll.bind(this); - } - static inject() { - return [ - aureliaPal.DOM.Element, - aureliaTemplating.BoundViewFactory, - aureliaTemplating.TargetInstruction, - aureliaTemplating.ViewSlot, - aureliaTemplating.ViewResources, - aureliaBinding.ObserverLocator, - VirtualRepeatStrategyLocator, - TemplateStrategyLocator, - ]; - } - static $resource() { - return { - type: 'attribute', - name: 'virtual-repeat', - templateController: true, - bindables: ['items', 'local'], - }; - } - bind(bindingContext, overrideContext) { - this.scope = { bindingContext, overrideContext }; - } - attached() { - this._isAttached = true; - const element = this.element; - const templateStrategy = this.templateStrategy = this.templateStrategyLocator.getStrategy(element); - const scrollerEl = this.scrollerEl = templateStrategy.getScrollContainer(element); - const [topBufferEl, bottomBufferEl] = templateStrategy.createBuffers(element); - const isFixedHeightContainer = scrollerEl !== htmlElement; - const scrollListener = this._onScroll; - this.topBufferEl = topBufferEl; - this.bottomBufferEl = bottomBufferEl; - this.itemsChanged(); - this._currScrollerInfo = this.getScrollerInfo(); - if (isFixedHeightContainer) { - scrollerEl.addEventListener('scroll', scrollListener); - } - else { - const firstElement = templateStrategy.getFirstElement(topBufferEl, bottomBufferEl); - this.distanceToTop = firstElement === null ? 0 : getElementDistanceToTopOfDocument(topBufferEl); - aureliaPal.DOM.addEventListener('scroll', scrollListener, false); - this._calcDistanceToTopInterval = aureliaPal.PLATFORM.global.setInterval(() => { - const prevDistanceToTop = this.distanceToTop; - const currDistanceToTop = getElementDistanceToTopOfDocument(topBufferEl); - this.distanceToTop = currDistanceToTop; - if (prevDistanceToTop !== currDistanceToTop) { - const currentScrollerInfo = this.getScrollerInfo(); - const prevScrollerInfo = this._currScrollerInfo; - this._currScrollerInfo = currentScrollerInfo; - this._handleScroll(currentScrollerInfo, prevScrollerInfo); - } - }, 500); - } - this.strategy.onAttached(this); - } - call(context, changes) { - this[context](this.items, changes); - } - detached() { - const scrollCt = this.scrollerEl; - const scrollListener = this._onScroll; - if (hasOverflowScroll(scrollCt)) { - scrollCt.removeEventListener('scroll', scrollListener); - } - else { - aureliaPal.DOM.removeEventListener('scroll', scrollListener, false); - } - this.unobserveScroller(); - this._currScrollerContentRect = undefined; - this._isAttached - = false; - this._unsubscribeCollection(); - this.resetCalculation(); - this.templateStrategy.removeBuffers(this.element, this.topBufferEl, this.bottomBufferEl); - this.topBufferEl = this.bottomBufferEl = this.scrollerEl = null; - this.removeAllViews(true, false); - const $clearInterval = aureliaPal.PLATFORM.global.clearInterval; - $clearInterval(this._calcDistanceToTopInterval); - $clearInterval(this._sizeInterval); - this.distanceToTop - = this._sizeInterval - = this._calcDistanceToTopInterval = 0; - } - unbind() { - this.scope = null; - this.items = null; - } - itemsChanged() { - this._unsubscribeCollection(); - if (!this.scope || !this._isAttached) { - return; - } - const items = this.items; - const strategy = this.strategy = this.strategyLocator.getStrategy(items); - if (strategy === null) { - throw new Error('Value is not iterateable for virtual repeat.'); - } - if (!this.isOneTime && !this._observeInnerCollection()) { - this._observeCollection(); - } - const calculationSignals = strategy.initCalculation(this, items); - strategy.instanceChanged(this, items, this.$first); - if (calculationSignals & 1) { - this.resetCalculation(); - } - if ((calculationSignals & 2) === 0) { - const { setInterval: $setInterval, clearInterval: $clearInterval } = aureliaPal.PLATFORM.global; - $clearInterval(this._sizeInterval); - this._sizeInterval = $setInterval(() => { - if (this.items) { - const firstView = this.firstView() || this.strategy.createFirstRow(this); - const newCalcSize = calcOuterHeight(firstView.firstChild); - if (newCalcSize > 0) { - $clearInterval(this._sizeInterval); - this.itemsChanged(); - } - } - else { - $clearInterval(this._sizeInterval); - } - }, 500); - } - if (calculationSignals & 4) { - this.observeScroller(this.scrollerEl); - } - } - handleCollectionMutated(collection, changes) { - if (this._ignoreMutation) { - return; - } - this._handlingMutations = true; - this.strategy.instanceMutated(this, collection, changes); - } - handleInnerCollectionMutated(collection, changes) { - if (this._ignoreMutation) { - return; - } - this._ignoreMutation = true; - const newItems = this.sourceExpression.evaluate(this.scope, this.lookupFunctions); - this.taskQueue.queueMicroTask(() => this._ignoreMutation = false); - if (newItems === this.items) { - this.itemsChanged(); - } - else { - this.items = newItems; - } - } - enableScroll() { - this._ticking = false; - this._handlingMutations = false; - this._skipNextScrollHandle = false; - } - getScroller() { - return this.scrollerEl; - } - getScrollerInfo() { - const scroller = this.scrollerEl; - return { - scroller: scroller, - scrollTop: scroller.scrollTop, - height: scroller === htmlElement - ? innerHeight - : calcScrollHeight(scroller), - }; - } - resetCalculation() { - this.$first - = this.topBufferHeight - = this.bottomBufferHeight - = this.itemHeight - = this.minViewsRequired = 0; - this._ignoreMutation - = this._handlingMutations - = this._ticking = false; - this.updateBufferElements(true); - } - _onScroll() { - const isHandlingMutations = this._handlingMutations; - if (!this._ticking && !isHandlingMutations) { - const prevScrollerInfo = this._currScrollerInfo; - const currentScrollerInfo = this.getScrollerInfo(); - this._currScrollerInfo = currentScrollerInfo; - this.taskQueue.queueMicroTask(() => { - this._ticking = false; - this._handleScroll(currentScrollerInfo, prevScrollerInfo); - }); - this._ticking = true; - } - if (isHandlingMutations) { - this._handlingMutations = false; - } - } - _handleScroll(current_scroller_info, prev_scroller_info) { - if (!this._isAttached) { - return; - } - if (this._skipNextScrollHandle) { - this._skipNextScrollHandle = false; - return; - } - const items = this.items; - if (!items) { - return; - } - const strategy = this.strategy; - const old_range_start_index = this.$first; - const old_range_end_index = this.lastViewIndex(); - const { 0: new_range_start_index, 1: new_range_end_index } = strategy.getViewRange(this, current_scroller_info); - let scrolling_state = new_range_start_index > old_range_start_index - ? 1 - : new_range_start_index < old_range_start_index - ? 2 - : 0; - let didMovedViews = 0; - if (new_range_start_index >= old_range_start_index && old_range_end_index === new_range_end_index - || new_range_end_index === old_range_end_index && old_range_end_index >= new_range_end_index) { - if (new_range_start_index >= old_range_start_index && old_range_end_index === new_range_end_index) { - if (strategy.isNearBottom(this, new_range_end_index)) { - scrolling_state |= 8; - } - } - else if (strategy.isNearTop(this, new_range_start_index)) { - scrolling_state |= 4; - } - } - else { - if (new_range_start_index > old_range_start_index - && old_range_end_index >= new_range_start_index - && new_range_end_index >= old_range_end_index) { - const views_to_move_count = new_range_start_index - old_range_start_index; - this._moveViews(views_to_move_count, 1); - didMovedViews = 1; - if (strategy.isNearBottom(this, new_range_end_index)) { - scrolling_state |= 8; - } - } - else if (old_range_start_index > new_range_start_index - && old_range_start_index <= new_range_end_index - && old_range_end_index >= new_range_end_index) { - const views_to_move_count = old_range_end_index - new_range_end_index; - this._moveViews(views_to_move_count, -1); - didMovedViews = 1; - if (strategy.isNearTop(this, new_range_start_index)) { - scrolling_state |= 4; - } - } - else if (old_range_end_index < new_range_start_index || old_range_start_index > new_range_end_index) { - strategy.remeasure(this); - if (old_range_end_index < new_range_start_index) { - if (strategy.isNearBottom(this, new_range_end_index)) { - scrolling_state |= 8; - } - } - else if (strategy.isNearTop(this, new_range_start_index)) { - scrolling_state |= 4; - } - } - else { - if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { - console.log(`[!] Scroll intersection not handled. With indices: ` - + `new [${new_range_start_index}, ${new_range_end_index}] / old [${old_range_start_index}, ${old_range_end_index}]`); - strategy.remeasure(this); - } - else { - console.log('[!] Scroll handled, and there\'s no changes'); - } - } - } - if (didMovedViews === 1) { - this.$first = new_range_start_index; - strategy.updateBuffers(this, new_range_start_index); - } - if ((scrolling_state & 9) === 9 - || (scrolling_state & 6) === 6) { - this.getMore(new_range_start_index, (scrolling_state & 4) > 0, (scrolling_state & 8) > 0); - } - else { - const scroll_top_delta = current_scroller_info.scrollTop - prev_scroller_info.scrollTop; - scrolling_state = scroll_top_delta > 0 - ? 1 - : scroll_top_delta < 0 - ? 2 - : 0; - if (strategy.isNearTop(this, new_range_start_index)) { - scrolling_state |= 4; - } - if (strategy.isNearBottom(this, new_range_end_index)) { - scrolling_state |= 8; - } - if ((scrolling_state & 9) === 9 - || (scrolling_state & 6) === 6) { - this.getMore(new_range_start_index, (scrolling_state & 4) > 0, (scrolling_state & 8) > 0); - } - } - } - _moveViews(viewsCount, direction) { - const repeat = this; - if (direction === -1) { - let startIndex = repeat.firstViewIndex(); - while (viewsCount--) { - const view = repeat.lastView(); - rebindAndMoveView(repeat, view, --startIndex, false); - } - } - else { - let lastIndex = repeat.lastViewIndex(); - while (viewsCount--) { - const view = repeat.view(0); - rebindAndMoveView(repeat, view, ++lastIndex, true); - } - } - } - getMore(topIndex, isNearTop, isNearBottom, force) { - if (isNearTop || isNearBottom || force) { - if (!this._calledGetMore) { - const executeGetMore = (time) => { - if (time - this._lastGetMore < 16) { - return; - } - this._lastGetMore = time; - this._calledGetMore = true; - const revertCalledGetMore = () => { - this._calledGetMore = false; - }; - const firstView = this.firstView(); - if (firstView === null) { - revertCalledGetMore(); - return; - } - const firstViewElement = firstView.firstChild; - const scrollNextAttrName = 'infinite-scroll-next'; - const func = firstViewElement - && firstViewElement.au - && firstViewElement.au[scrollNextAttrName] - ? firstViewElement.au[scrollNextAttrName].instruction.attributes[scrollNextAttrName] - : undefined; - if (func === undefined) { - revertCalledGetMore(); - } - else { - const scrollContext = { - topIndex: topIndex, - isAtBottom: isNearBottom, - isAtTop: isNearTop, - }; - const overrideContext = this.scope.overrideContext; - overrideContext.$scrollContext = scrollContext; - if (typeof func === 'string') { - const bindingContext = overrideContext.bindingContext; - const getMoreFuncName = firstView.firstChild.getAttribute(scrollNextAttrName); - const funcCall = bindingContext[getMoreFuncName]; - if (typeof funcCall === 'function') { - revertCalledGetMore(); - const result = funcCall.call(bindingContext, topIndex, isNearBottom, isNearTop); - if (result instanceof Promise) { - this._calledGetMore = true; - return result.then(() => { - revertCalledGetMore(); - }); - } - } - else { - throw new Error(`'${scrollNextAttrName}' must be a function or evaluate to one`); - } - } - else if (func.sourceExpression) { - revertCalledGetMore(); - return func.sourceExpression.evaluate(this.scope); - } - else { - throw new Error(`'${scrollNextAttrName}' must be a function or evaluate to one`); - } - } - }; - $raf(executeGetMore); - } - } - } - updateBufferElements(skipUpdate) { - this.topBufferEl.style.height = `${this.topBufferHeight}px`; - this.bottomBufferEl.style.height = `${this.bottomBufferHeight}px`; - if (skipUpdate) { - this._ticking = true; - $raf(this.revertScrollCheckGuard); - } - } - _unsubscribeCollection() { - const collectionObserver = this.collectionObserver; - if (collectionObserver) { - collectionObserver.unsubscribe(this.callContext, this); - this.collectionObserver = this.callContext = null; - } - } - firstView() { - return this.view(0); - } - lastView() { - return this.view(this.viewCount() - 1); - } - firstViewIndex() { - const firstView = this.firstView(); - return firstView === null ? -1 : firstView.overrideContext.$index; - } - lastViewIndex() { - const lastView = this.lastView(); - return lastView === null ? -1 : lastView.overrideContext.$index; - } - observeScroller(scrollerEl) { - const sizeChangeHandler = (newRect) => { - $raf(() => { - if (newRect === this._currScrollerContentRect) { - this.itemsChanged(); - } - }); - }; - const ResizeObserverConstructor = getResizeObserverClass(); - if (typeof ResizeObserverConstructor === 'function') { - let observer = this._scrollerResizeObserver; - if (observer) { - observer.disconnect(); - } - observer = this._scrollerResizeObserver = new ResizeObserverConstructor((entries) => { - const oldRect = this._currScrollerContentRect; - const newRect = entries[0].contentRect; - this._currScrollerContentRect = newRect; - if (oldRect === undefined || newRect.height !== oldRect.height || newRect.width !== oldRect.width) { - sizeChangeHandler(newRect); - } - }); - observer.observe(scrollerEl); - } - let elEvents = this._scrollerEvents; - if (elEvents) { - elEvents.disposeAll(); - } - const sizeChangeEventsHandler = () => { - $raf(() => { - this.itemsChanged(); - }); - }; - elEvents = this._scrollerEvents = new aureliaTemplating.ElementEvents(scrollerEl); - elEvents.subscribe(VirtualizationEvents.scrollerSizeChange, sizeChangeEventsHandler, false); - elEvents.subscribe(VirtualizationEvents.itemSizeChange, sizeChangeEventsHandler, false); - } - unobserveScroller() { - const observer = this._scrollerResizeObserver; - if (observer) { - observer.disconnect(); - } - const scrollerEvents = this._scrollerEvents; - if (scrollerEvents) { - scrollerEvents.disposeAll(); - } - this._scrollerResizeObserver - = this._scrollerEvents = undefined; - } - _observeInnerCollection() { - const items = this._getInnerCollection(); - const strategy = this.strategyLocator.getStrategy(items); - if (!strategy) { - return false; - } - const collectionObserver = strategy.getCollectionObserver(this.observerLocator, items); - if (!collectionObserver) { - return false; - } - const context = "handleInnerCollectionMutated"; - this.collectionObserver = collectionObserver; - this.callContext = context; - collectionObserver.subscribe(context, this); - return true; - } - _getInnerCollection() { - const expression = aureliaTemplatingResources.unwrapExpression(this.sourceExpression); - if (!expression) { - return null; - } - return expression.evaluate(this.scope, null); - } - _observeCollection() { - const collectionObserver = this.strategy.getCollectionObserver(this.observerLocator, this.items); - if (collectionObserver) { - this.callContext = "handleCollectionMutated"; - this.collectionObserver = collectionObserver; - collectionObserver.subscribe(this.callContext, this); - } - } - viewCount() { - return this.viewSlot.children.length; - } - views() { - return this.viewSlot.children; - } - view(index) { - const viewSlot = this.viewSlot; - return index < 0 || index > viewSlot.children.length - 1 ? null : viewSlot.children[index]; - } - addView(bindingContext, overrideContext) { - const view = this.viewFactory.create(); - view.bind(bindingContext, overrideContext); - this.viewSlot.add(view); - return view; - } - insertView(index, bindingContext, overrideContext) { - const view = this.viewFactory.create(); - view.bind(bindingContext, overrideContext); - this.viewSlot.insert(index, view); - } - removeAllViews(returnToCache, skipAnimation) { - return this.viewSlot.removeAll(returnToCache, skipAnimation); - } - removeView(index, returnToCache, skipAnimation) { - return this.viewSlot.removeAt(index, returnToCache, skipAnimation); - } - updateBindings(view) { - const bindings = view.bindings; - let j = bindings.length; - while (j--) { - aureliaTemplatingResources.updateOneTimeBinding(bindings[j]); - } - const controllers = view.controllers; - j = controllers.length; - while (j--) { - const boundProperties = controllers[j].boundProperties; - let k = boundProperties.length; - while (k--) { - let binding = boundProperties[k].binding; - aureliaTemplatingResources.updateOneTimeBinding(binding); - } - } - } - } + class VirtualRepeat extends aureliaTemplatingResources.AbstractRepeater { + constructor(element, viewFactory, instruction, viewSlot, viewResources, observerLocator, collectionStrategyLocator, templateStrategyLocator) { + super({ + local: 'item', + viewsRequireLifecycle: aureliaTemplatingResources.viewsRequireLifecycle(viewFactory), + }); + this.$first = 0; + this._isAttached = false; + this._ticking = false; + this._calledGetMore = false; + this._skipNextScrollHandle = false; + this._handlingMutations = false; + this._lastGetMore = 0; + this.element = element; + this.viewFactory = viewFactory; + this.instruction = instruction; + this.viewSlot = viewSlot; + this.lookupFunctions = viewResources['lookupFunctions']; + this.observerLocator = observerLocator; + this.taskQueue = observerLocator.taskQueue; + this.strategyLocator = collectionStrategyLocator; + this.templateStrategyLocator = templateStrategyLocator; + this.edgeDistance = 5; + this.sourceExpression = aureliaTemplatingResources.getItemsSourceExpression(this.instruction, 'virtual-repeat.for'); + this.isOneTime = aureliaTemplatingResources.isOneTime(this.sourceExpression); + this.topBufferHeight + = this.bottomBufferHeight + = this.itemHeight + = this.distanceToTop + = 0; + this.revertScrollCheckGuard = () => { + this._ticking = false; + }; + this._onScroll = this._onScroll.bind(this); + } + static inject() { + return [ + aureliaPal.DOM.Element, + aureliaTemplating.BoundViewFactory, + aureliaTemplating.TargetInstruction, + aureliaTemplating.ViewSlot, + aureliaTemplating.ViewResources, + aureliaBinding.ObserverLocator, + VirtualRepeatStrategyLocator, + TemplateStrategyLocator, + ]; + } + static $resource() { + return { + type: 'attribute', + name: 'virtual-repeat', + templateController: true, + bindables: ['items', 'local'], + }; + } + bind(bindingContext, overrideContext) { + this.scope = { bindingContext, overrideContext }; + } + attached() { + this._isAttached = true; + const element = this.element; + const templateStrategy = this.templateStrategy = this.templateStrategyLocator.getStrategy(element); + const scrollerEl = this.scrollerEl = templateStrategy.getScrollContainer(element); + const [topBufferEl, bottomBufferEl] = templateStrategy.createBuffers(element); + const isFixedHeightContainer = scrollerEl !== htmlElement; + const scrollListener = this._onScroll; + this.topBufferEl = topBufferEl; + this.bottomBufferEl = bottomBufferEl; + this.itemsChanged(); + this._currScrollerInfo = this.getScrollerInfo(); + if (isFixedHeightContainer) { + scrollerEl.addEventListener('scroll', scrollListener); + } + else { + const firstElement = templateStrategy.getFirstElement(topBufferEl, bottomBufferEl); + this.distanceToTop = firstElement === null ? 0 : getElementDistanceToTopOfDocument(topBufferEl); + aureliaPal.DOM.addEventListener('scroll', scrollListener, false); + this._calcDistanceToTopInterval = aureliaPal.PLATFORM.global.setInterval(() => { + const prevDistanceToTop = this.distanceToTop; + const currDistanceToTop = getElementDistanceToTopOfDocument(topBufferEl); + this.distanceToTop = currDistanceToTop; + if (prevDistanceToTop !== currDistanceToTop) { + const currentScrollerInfo = this.getScrollerInfo(); + const prevScrollerInfo = this._currScrollerInfo; + this._currScrollerInfo = currentScrollerInfo; + this._handleScroll(currentScrollerInfo, prevScrollerInfo); + } + }, 500); + } + this.strategy.onAttached(this); + } + call(context, changes) { + this[context](this.items, changes); + } + detached() { + const scrollCt = this.scrollerEl; + const scrollListener = this._onScroll; + if (hasOverflowScroll(scrollCt)) { + scrollCt.removeEventListener('scroll', scrollListener); + } + else { + aureliaPal.DOM.removeEventListener('scroll', scrollListener, false); + } + this.unobserveScroller(); + this._currScrollerContentRect = undefined; + this._isAttached + = false; + this._unsubscribeCollection(); + this.resetCalculation(); + this.templateStrategy.removeBuffers(this.element, this.topBufferEl, this.bottomBufferEl); + this.topBufferEl = this.bottomBufferEl = this.scrollerEl = null; + this.removeAllViews(true, false); + const $clearInterval = aureliaPal.PLATFORM.global.clearInterval; + $clearInterval(this._calcDistanceToTopInterval); + $clearInterval(this._sizeInterval); + this.distanceToTop + = this._sizeInterval + = this._calcDistanceToTopInterval = 0; + } + unbind() { + this.scope = null; + this.items = null; + } + itemsChanged() { + this._unsubscribeCollection(); + if (!this.scope || !this._isAttached) { + return; + } + const items = this.items; + const strategy = this.strategy = this.strategyLocator.getStrategy(items); + if (strategy === null) { + throw new Error('Value is not iterateable for virtual repeat.'); + } + if (!this.isOneTime && !this._observeInnerCollection()) { + this._observeCollection(); + } + const calculationSignals = strategy.initCalculation(this, items); + strategy.instanceChanged(this, items, this.$first); + if (calculationSignals & 1) { + this.resetCalculation(); + } + if ((calculationSignals & 2) === 0) { + const { setInterval: $setInterval, clearInterval: $clearInterval } = aureliaPal.PLATFORM.global; + $clearInterval(this._sizeInterval); + this._sizeInterval = $setInterval(() => { + if (this.items) { + const firstView = this.firstView() || this.strategy.createFirstRow(this); + const newCalcSize = calcOuterHeight(firstView.firstChild); + if (newCalcSize > 0) { + $clearInterval(this._sizeInterval); + this.itemsChanged(); + } + } + else { + $clearInterval(this._sizeInterval); + } + }, 500); + } + if (calculationSignals & 4) { + this.observeScroller(this.scrollerEl); + } + } + handleCollectionMutated(collection, changes) { + if (this._ignoreMutation) { + return; + } + this._handlingMutations = true; + this.strategy.instanceMutated(this, collection, changes); + } + handleInnerCollectionMutated(collection, changes) { + if (this._ignoreMutation) { + return; + } + this._ignoreMutation = true; + const newItems = this.sourceExpression.evaluate(this.scope, this.lookupFunctions); + this.taskQueue.queueMicroTask(() => this._ignoreMutation = false); + if (newItems === this.items) { + this.itemsChanged(); + } + else { + this.items = newItems; + } + } + enableScroll() { + this._ticking = false; + this._handlingMutations = false; + this._skipNextScrollHandle = false; + } + getScroller() { + return this.scrollerEl; + } + getScrollerInfo() { + const scroller = this.scrollerEl; + return { + scroller: scroller, + scrollTop: scroller.scrollTop, + height: scroller === htmlElement + ? innerHeight + : calcScrollHeight(scroller), + }; + } + resetCalculation() { + this.$first + = this.topBufferHeight + = this.bottomBufferHeight + = this.itemHeight + = this.minViewsRequired = 0; + this._ignoreMutation + = this._handlingMutations + = this._ticking = false; + this.updateBufferElements(true); + } + _onScroll() { + const isHandlingMutations = this._handlingMutations; + if (!this._ticking && !isHandlingMutations) { + const prevScrollerInfo = this._currScrollerInfo; + const currentScrollerInfo = this.getScrollerInfo(); + this._currScrollerInfo = currentScrollerInfo; + this.taskQueue.queueMicroTask(() => { + this._ticking = false; + this._handleScroll(currentScrollerInfo, prevScrollerInfo); + }); + this._ticking = true; + } + if (isHandlingMutations) { + this._handlingMutations = false; + } + } + _handleScroll(current_scroller_info, prev_scroller_info) { + if (!this._isAttached) { + return; + } + if (this._skipNextScrollHandle) { + this._skipNextScrollHandle = false; + return; + } + const items = this.items; + if (!items) { + return; + } + const strategy = this.strategy; + const old_range_start_index = this.$first; + const old_range_end_index = this.lastViewIndex(); + const { 0: new_range_start_index, 1: new_range_end_index } = strategy.getViewRange(this, current_scroller_info); + let scrolling_state = new_range_start_index > old_range_start_index + ? 1 + : new_range_start_index < old_range_start_index + ? 2 + : 0; + let didMovedViews = 0; + if (new_range_start_index >= old_range_start_index && old_range_end_index === new_range_end_index + || new_range_end_index === old_range_end_index && old_range_end_index >= new_range_end_index) { + if (new_range_start_index >= old_range_start_index && old_range_end_index === new_range_end_index) { + if (strategy.isNearBottom(this, new_range_end_index)) { + scrolling_state |= 8; + } + } + else if (strategy.isNearTop(this, new_range_start_index)) { + scrolling_state |= 4; + } + } + else { + if (new_range_start_index > old_range_start_index + && old_range_end_index >= new_range_start_index + && new_range_end_index >= old_range_end_index) { + const views_to_move_count = new_range_start_index - old_range_start_index; + this._moveViews(views_to_move_count, 1); + didMovedViews = 1; + if (strategy.isNearBottom(this, new_range_end_index)) { + scrolling_state |= 8; + } + } + else if (old_range_start_index > new_range_start_index + && old_range_start_index <= new_range_end_index + && old_range_end_index >= new_range_end_index) { + const views_to_move_count = old_range_end_index - new_range_end_index; + this._moveViews(views_to_move_count, -1); + didMovedViews = 1; + if (strategy.isNearTop(this, new_range_start_index)) { + scrolling_state |= 4; + } + } + else if (old_range_end_index < new_range_start_index || old_range_start_index > new_range_end_index) { + strategy.remeasure(this); + if (old_range_end_index < new_range_start_index) { + if (strategy.isNearBottom(this, new_range_end_index)) { + scrolling_state |= 8; + } + } + else if (strategy.isNearTop(this, new_range_start_index)) { + scrolling_state |= 4; + } + } + else { + if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { + console.log(`[!] Scroll intersection not handled. With indices: ` + + `new [${new_range_start_index}, ${new_range_end_index}] / old [${old_range_start_index}, ${old_range_end_index}]`); + strategy.remeasure(this); + } + else { + console.log('[!] Scroll handled, and there\'s no changes'); + } + } + } + if (didMovedViews === 1) { + this.$first = new_range_start_index; + strategy.updateBuffers(this, new_range_start_index); + } + if ((scrolling_state & 9) === 9 + || (scrolling_state & 6) === 6) { + this.getMore(new_range_start_index, (scrolling_state & 4) > 0, (scrolling_state & 8) > 0); + } + else { + const scroll_top_delta = current_scroller_info.scrollTop - prev_scroller_info.scrollTop; + scrolling_state = scroll_top_delta > 0 + ? 1 + : scroll_top_delta < 0 + ? 2 + : 0; + if (strategy.isNearTop(this, new_range_start_index)) { + scrolling_state |= 4; + } + if (strategy.isNearBottom(this, new_range_end_index)) { + scrolling_state |= 8; + } + if ((scrolling_state & 9) === 9 + || (scrolling_state & 6) === 6) { + this.getMore(new_range_start_index, (scrolling_state & 4) > 0, (scrolling_state & 8) > 0); + } + } + } + _moveViews(viewsCount, direction) { + const repeat = this; + if (direction === -1) { + let startIndex = repeat.firstViewIndex(); + while (viewsCount--) { + const view = repeat.lastView(); + rebindAndMoveView(repeat, view, --startIndex, false); + } + } + else { + let lastIndex = repeat.lastViewIndex(); + while (viewsCount--) { + const view = repeat.view(0); + rebindAndMoveView(repeat, view, ++lastIndex, true); + } + } + } + getMore(topIndex, isNearTop, isNearBottom, force) { + if (isNearTop || isNearBottom || force) { + if (!this._calledGetMore) { + const executeGetMore = (time) => { + if (time - this._lastGetMore < 16) { + return; + } + this._lastGetMore = time; + this._calledGetMore = true; + const revertCalledGetMore = () => { + this._calledGetMore = false; + }; + const firstView = this.firstView(); + if (firstView === null) { + revertCalledGetMore(); + return; + } + const firstViewElement = firstView.firstChild; + const scrollNextAttrName = 'infinite-scroll-next'; + const func = firstViewElement + && firstViewElement.au + && firstViewElement.au[scrollNextAttrName] + ? firstViewElement.au[scrollNextAttrName].instruction.attributes[scrollNextAttrName] + : undefined; + if (func === undefined) { + revertCalledGetMore(); + } + else { + const scrollContext = { + topIndex: topIndex, + isAtBottom: isNearBottom, + isAtTop: isNearTop, + }; + const overrideContext = this.scope.overrideContext; + overrideContext.$scrollContext = scrollContext; + if (typeof func === 'string') { + const bindingContext = overrideContext.bindingContext; + const getMoreFuncName = firstView.firstChild.getAttribute(scrollNextAttrName); + const funcCall = bindingContext[getMoreFuncName]; + if (typeof funcCall === 'function') { + revertCalledGetMore(); + const result = funcCall.call(bindingContext, topIndex, isNearBottom, isNearTop); + if (result instanceof Promise) { + this._calledGetMore = true; + return result.then(() => { + revertCalledGetMore(); + }); + } + } + else { + throw new Error(`'${scrollNextAttrName}' must be a function or evaluate to one`); + } + } + else if (func.sourceExpression) { + revertCalledGetMore(); + return func.sourceExpression.evaluate(this.scope); + } + else { + throw new Error(`'${scrollNextAttrName}' must be a function or evaluate to one`); + } + } + }; + $raf(executeGetMore); + } + } + } + updateBufferElements(skipUpdate) { + this.topBufferEl.style.height = `${this.topBufferHeight}px`; + this.bottomBufferEl.style.height = `${this.bottomBufferHeight}px`; + if (skipUpdate) { + this._ticking = true; + $raf(this.revertScrollCheckGuard); + } + } + _unsubscribeCollection() { + const collectionObserver = this.collectionObserver; + if (collectionObserver) { + collectionObserver.unsubscribe(this.callContext, this); + this.collectionObserver = this.callContext = null; + } + } + firstView() { + return this.view(0); + } + lastView() { + return this.view(this.viewCount() - 1); + } + firstViewIndex() { + const firstView = this.firstView(); + return firstView === null ? -1 : firstView.overrideContext.$index; + } + lastViewIndex() { + const lastView = this.lastView(); + return lastView === null ? -1 : lastView.overrideContext.$index; + } + observeScroller(scrollerEl) { + const sizeChangeHandler = (newRect) => { + $raf(() => { + if (newRect === this._currScrollerContentRect) { + this.itemsChanged(); + } + }); + }; + const ResizeObserverConstructor = getResizeObserverClass(); + if (typeof ResizeObserverConstructor === 'function') { + let observer = this._scrollerResizeObserver; + if (observer) { + observer.disconnect(); + } + observer = this._scrollerResizeObserver = new ResizeObserverConstructor((entries) => { + const oldRect = this._currScrollerContentRect; + const newRect = entries[0].contentRect; + this._currScrollerContentRect = newRect; + if (oldRect === undefined || newRect.height !== oldRect.height || newRect.width !== oldRect.width) { + sizeChangeHandler(newRect); + } + }); + observer.observe(scrollerEl); + } + let elEvents = this._scrollerEvents; + if (elEvents) { + elEvents.disposeAll(); + } + const sizeChangeEventsHandler = () => { + $raf(() => { + this.itemsChanged(); + }); + }; + elEvents = this._scrollerEvents = new aureliaTemplating.ElementEvents(scrollerEl); + elEvents.subscribe(VirtualizationEvents.scrollerSizeChange, sizeChangeEventsHandler, false); + elEvents.subscribe(VirtualizationEvents.itemSizeChange, sizeChangeEventsHandler, false); + } + unobserveScroller() { + const observer = this._scrollerResizeObserver; + if (observer) { + observer.disconnect(); + } + const scrollerEvents = this._scrollerEvents; + if (scrollerEvents) { + scrollerEvents.disposeAll(); + } + this._scrollerResizeObserver + = this._scrollerEvents = undefined; + } + _observeInnerCollection() { + const items = this._getInnerCollection(); + const strategy = this.strategyLocator.getStrategy(items); + if (!strategy) { + return false; + } + const collectionObserver = strategy.getCollectionObserver(this.observerLocator, items); + if (!collectionObserver) { + return false; + } + const context = "handleInnerCollectionMutated"; + this.collectionObserver = collectionObserver; + this.callContext = context; + collectionObserver.subscribe(context, this); + return true; + } + _getInnerCollection() { + const expression = aureliaTemplatingResources.unwrapExpression(this.sourceExpression); + if (!expression) { + return null; + } + return expression.evaluate(this.scope, null); + } + _observeCollection() { + const collectionObserver = this.strategy.getCollectionObserver(this.observerLocator, this.items); + if (collectionObserver) { + this.callContext = "handleCollectionMutated"; + this.collectionObserver = collectionObserver; + collectionObserver.subscribe(this.callContext, this); + } + } + viewCount() { + return this.viewSlot.children.length; + } + views() { + return this.viewSlot.children; + } + view(index) { + const viewSlot = this.viewSlot; + return index < 0 || index > viewSlot.children.length - 1 ? null : viewSlot.children[index]; + } + addView(bindingContext, overrideContext) { + const view = this.viewFactory.create(); + view.bind(bindingContext, overrideContext); + this.viewSlot.add(view); + return view; + } + insertView(index, bindingContext, overrideContext) { + const view = this.viewFactory.create(); + view.bind(bindingContext, overrideContext); + this.viewSlot.insert(index, view); + } + removeAllViews(returnToCache, skipAnimation) { + return this.viewSlot.removeAll(returnToCache, skipAnimation); + } + removeView(index, returnToCache, skipAnimation) { + return this.viewSlot.removeAt(index, returnToCache, skipAnimation); + } + updateBindings(view) { + const bindings = view.bindings; + let j = bindings.length; + while (j--) { + aureliaTemplatingResources.updateOneTimeBinding(bindings[j]); + } + const controllers = view.controllers; + j = controllers.length; + while (j--) { + const boundProperties = controllers[j].boundProperties; + let k = boundProperties.length; + while (k--) { + let binding = boundProperties[k].binding; + aureliaTemplatingResources.updateOneTimeBinding(binding); + } + } + } + } - class InfiniteScrollNext { - static $resource() { - return { - type: 'attribute', - name: 'infinite-scroll-next', - }; - } - } + class InfiniteScrollNext { + static $resource() { + return { + type: 'attribute', + name: 'infinite-scroll-next', + }; + } + } - function configure(config) { - config.globalResources(VirtualRepeat, InfiniteScrollNext); - } + function configure(config) { + config.globalResources(VirtualRepeat, InfiniteScrollNext); + } - exports.configure = configure; - exports.VirtualRepeat = VirtualRepeat; - exports.InfiniteScrollNext = InfiniteScrollNext; - exports.VirtualizationEvents = VirtualizationEvents; + exports.InfiniteScrollNext = InfiniteScrollNext; + exports.VirtualRepeat = VirtualRepeat; + exports.VirtualizationEvents = VirtualizationEvents; + exports.configure = configure; - Object.defineProperty(exports, '__esModule', { value: true }); + Object.defineProperty(exports, '__esModule', { value: true }); })); +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/umd-es2015/aurelia-ui-virtualization.js.map b/dist/umd-es2015/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..de78ad8 --- /dev/null +++ b/dist/umd-es2015/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["updateOverrideContext","ArrayRepeatStrategy","createFullOverrideContext","mergeSplice","NullRepeatStrategy","DOM","Container","PLATFORM","AbstractRepeater","viewsRequireLifecycle","getItemsSourceExpression","isOneTime","BoundViewFactory","TargetInstruction","ViewSlot","ViewResources","ObserverLocator","ElementEvents","unwrapExpression","updateOneTimeBinding"],"mappings":"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"} \ No newline at end of file diff --git a/dist/umd/aurelia-ui-virtualization.js b/dist/umd/aurelia-ui-virtualization.js index 45031db..9ec7273 100644 --- a/dist/umd/aurelia-ui-virtualization.js +++ b/dist/umd/aurelia-ui-virtualization.js @@ -1,33 +1,35 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('aurelia-binding'), require('aurelia-templating'), require('aurelia-templating-resources'), require('aurelia-pal'), require('aurelia-dependency-injection')) : typeof define === 'function' && define.amd ? define(['exports', 'aurelia-binding', 'aurelia-templating', 'aurelia-templating-resources', 'aurelia-pal', 'aurelia-dependency-injection'], factory) : - (global = global || self, factory((global.au = global.au || {}, global.au.uiVirtualization = {}), global.au, global.au, global.au, global.au, global.au)); -}(this, function (exports, aureliaBinding, aureliaTemplating, aureliaTemplatingResources, aureliaPal, aureliaDependencyInjection) { 'use strict'; + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.au = global.au || {}, global.au.uiVirtualization = {}), global.au, global.au, global.au, global.au, global.au)); +})(this, (function (exports, aureliaBinding, aureliaTemplating, aureliaTemplatingResources, aureliaPal, aureliaDependencyInjection) { 'use strict'; /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 + Copyright (c) Microsoft Corporation. - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); @@ -158,7 +160,7 @@ } repeat.itemHeight = itemHeight; var scroll_el_height = scrollerInfo.height; - var elementsInView = repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); + repeat.minViewsRequired = calcMinViewsRequired(scroll_el_height, itemHeight); return 2 | 4; }; ArrayVirtualRepeatStrategy.prototype.onAttached = function (repeat) { @@ -323,7 +325,6 @@ } if (allSplicesAreInplace) { var lastIndex = repeat.lastViewIndex(); - var repeatViewSlot = repeat.viewSlot; for (i = 0; spliceCount > i; i++) { splice = splices[i]; for (var collectionIndex = splice.index; collectionIndex < splice.index + splice.addedCount; collectionIndex++) { @@ -510,6 +511,8 @@ }; NullVirtualRepeatStrategy.prototype.remeasure = function (repeat) { }; NullVirtualRepeatStrategy.prototype.updateAllViews = function () { }; + NullVirtualRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) { + }; return NullVirtualRepeatStrategy; }(aureliaTemplatingResources.NullRepeatStrategy)); @@ -961,7 +964,7 @@ else { if (old_range_start_index !== new_range_start_index || old_range_end_index !== new_range_end_index) { console.log("[!] Scroll intersection not handled. With indices: " - + ("new [" + new_range_start_index + ", " + new_range_end_index + "] / old [" + old_range_start_index + ", " + old_range_end_index + "]")); + + "new [".concat(new_range_start_index, ", ").concat(new_range_end_index, "] / old [").concat(old_range_start_index, ", ").concat(old_range_end_index, "]")); strategy.remeasure(this); } else { @@ -1064,7 +1067,7 @@ } } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } else if (func.sourceExpression) { @@ -1072,7 +1075,7 @@ return func.sourceExpression.evaluate(_this.scope); } else { - throw new Error("'" + scrollNextAttrName + "' must be a function or evaluate to one"); + throw new Error("'".concat(scrollNextAttrName, "' must be a function or evaluate to one")); } } }; @@ -1081,8 +1084,8 @@ } }; VirtualRepeat.prototype.updateBufferElements = function (skipUpdate) { - this.topBufferEl.style.height = this.topBufferHeight + "px"; - this.bottomBufferEl.style.height = this.bottomBufferHeight + "px"; + this.topBufferEl.style.height = "".concat(this.topBufferHeight, "px"); + this.bottomBufferEl.style.height = "".concat(this.bottomBufferHeight, "px"); if (skipUpdate) { this._ticking = true; $raf(this.revertScrollCheckGuard); @@ -1253,11 +1256,12 @@ config.globalResources(VirtualRepeat, InfiniteScrollNext); } - exports.configure = configure; - exports.VirtualRepeat = VirtualRepeat; exports.InfiniteScrollNext = InfiniteScrollNext; + exports.VirtualRepeat = VirtualRepeat; exports.VirtualizationEvents = VirtualizationEvents; + exports.configure = configure; Object.defineProperty(exports, '__esModule', { value: true }); })); +//# sourceMappingURL=aurelia-ui-virtualization.js.map diff --git a/dist/umd/aurelia-ui-virtualization.js.map b/dist/umd/aurelia-ui-virtualization.js.map new file mode 100644 index 0000000..17b7a8e --- /dev/null +++ b/dist/umd/aurelia-ui-virtualization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-ui-virtualization.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/utilities.ts","../../src/constants.ts","../../src/utilities-dom.ts","../../src/array-virtual-repeat-strategy.ts","../../src/null-virtual-repeat-strategy.ts","../../src/virtual-repeat-strategy-locator.ts","../../src/template-strategy-default.ts","../../src/template-strategy-table.ts","../../src/template-strategy-list.ts","../../src/template-strategy-locator.ts","../../src/interfaces.ts","../../src/resize-observer.ts","../../src/virtual-repeat.ts","../../src/infinite-scroll-next.ts","../../src/aurelia-ui-virtualization.ts"],"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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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\nexport var __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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["updateOverrideContext","createFullOverrideContext","mergeSplice","ArrayRepeatStrategy","NullRepeatStrategy","DOM","Container","PLATFORM","viewsRequireLifecycle","getItemsSourceExpression","isOneTime","BoundViewFactory","TargetInstruction","ViewSlot","ViewResources","ObserverLocator","ElementEvents","unwrapExpression","updateOneTimeBinding","AbstractRepeater"],"mappings":";;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACF;IACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;IAC7C,QAAQ,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;IAClG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF;;ICNO,IAAM,UAAU,GAAG,UAAC,MAAwB,EAAE,IAAW,EAAE,eAAuB,EAAE,UAAiB,EAAA;IAC1G,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QAChEA,gDAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC,CAAC;IAEK,IAAM,iBAAiB,GAAG,UAAC,MAAwB,EAAE,IAAW,EAAE,KAAa,EAAE,YAAqB,EAAA;IAC3G,IAAA,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAA,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAqB,CAAC;QAE9CA,gDAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjE,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,IAAA,IAAI,YAAY,EAAE;IAChB,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACnE,KAAA;IAAM,SAAA;YACL,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,KAAA;IACH,CAAC,CAAC;IAKK,IAAM,oBAAoB,GAAG,UAAC,cAAsB,EAAE,UAAkB,EAAA;QAG7E,OAAO,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC;IAEK,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;IAC1B,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;IAC1B,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;IAC1B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAE9B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9B,IAAM,MAAM,GAAG,KAAK;;IC1DpB,IAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,IAAM,WAAW,GAAG,GAAG,CAAC,eAAe,CAAC;IACxC,IAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;;ICO/C,IAAM,kBAAkB,GAAG,UAAC,OAAa,EAAA;IAC9C,IAAA,IAAI,OAAO,GAAG,OAAO,CAAC,UAAqB,CAAC;IAC5C,IAAA,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW,EAAE;IAClD,QAAA,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAC9B,YAAA,OAAO,OAAsB,CAAC;IAC/B,SAAA;IACD,QAAA,OAAO,GAAG,OAAO,CAAC,UAAyB,CAAC;IAC7C,KAAA;IACD,IAAA,OAAO,GAAG,CAAC,gBAA+B,IAAI,WAAW,CAAC;IAC5D,CAAC,CAAC;IAKK,IAAM,iCAAiC,GAAG,UAAC,OAAgB,EAAA;IAChE,IAAA,IAAI,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC1C,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IACnC,IAAA,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACtC,IAAI,GAAG,GAAI,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;IAKK,IAAM,iBAAiB,GAAG,UAAC,OAAgB,EAAA;QAChD,IAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,KAAK,KAAK,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC3I,CAAC,CAAC;IAKK,IAAM,cAAc,GAAG,UAAC,OAAgB,EAAA;QAAE,IAAmB,MAAA,GAAA,EAAA,CAAA;aAAnB,IAAmB,EAAA,GAAA,CAAA,EAAnB,EAAmB,GAAA,SAAA,CAAA,MAAA,EAAnB,EAAmB,EAAA,EAAA;YAAnB,MAAmB,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;QAClE,IAAI,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC/C,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,QAAA,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC9C,KAAA;IACD,IAAA,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEK,IAAM,eAAe,GAAG,UAAC,OAAgB,EAAA;QAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAA,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEK,IAAM,gBAAgB,GAAG,UAAC,OAAgB,EAAA;QAC/C,IAAI,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IACzE,IAAA,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEK,IAAM,gBAAgB,GAAG,UAAC,IAAW,EAAE,YAAqB,EAAA;QAEjE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC;IAQK,IAAM,mBAAmB,GAAG,UAAC,KAAkB,EAAE,MAAmB,EAAA;IACzE,IAAA,IAAM,YAAY,GAAG,KAAK,CAAC,YAA2B,CAAC;IACvD,IAAA,IAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;IAIvC,IAAA,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,MAAM,EAAE;IACpD,QAAA,OAAO,cAAc,CAAC;IACvB,KAAA;IACI,SAAA;IAIH,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;IACjC,YAAA,OAAO,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IAC1C,SAAA;IAII,aAAA;gBACH,OAAO,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACnE,SAAA;IACF,KAAA;IACH,CAAC;;IC5ED,IAAA,0BAAA,IAAA,UAAA,MAAA,EAAA;QAAgD,SAAmB,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;IAAnE,IAAA,SAAA,0BAAA,GAAA;;SAkhBC;QAhhBC,0BAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,MAAwB,EAAA;IACrC,QAAA,IAAM,eAAe,GAAGC,oDAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;SACxE,CAAA;QAED,0BAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,KAAY,EAAA;YAChB,OAAO,KAAK,CAAC,MAAM,CAAC;SACrB,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAA;IACpD,QAAA,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAG/B,QAAA,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE;gBACpB,OAAuC,CAAA,CAAA;IACxC,SAAA;IAGD,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAE9C,QAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC7C,QAAA,IAAI,SAAS,GAAG,CAAC,IAAI,iBAAiB,KAAK,CAAC,EAAE;IAC5C,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAA;IAED,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACrC,IAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,UAAqB,CAAC,CAAC;YAIpE,IAAI,UAAU,KAAK,CAAC,EAAE;gBACpB,OAAsC,CAAA,CAAA;IACvC,SAAA;IACD,QAAA,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,QAAA,IAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;IAE7C,QAAuB,MAAM,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,EAAE;IAEpG,QAAA,OAAO,KAAiF,CAAC;SAC1F,CAAA;QAED,0BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,MAAwB,EAAA;YACjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE;gBACjD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAkB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,EAAY,IAAI,CAAC,CAAC;IAC5G,SAAA;SACF,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAwB,EAAE,YAA2B,EAAA;IAChE,QAAA,IAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,QAAA,IAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,KAAK,WAAW,CAAC;IACrE,QAAA,IAAI,sBAAsB,EAAE;gBAI1B,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvE,YAAA,IAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC;IACjD,YAAA,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC9E,SAAA;IAAM,aAAA;IACL,YAAA,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;IACpD,SAAA;IAED,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAIlD,IAAI,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACjG,IAAM,gBAAgB,GAAG,QAAQ,CAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EACvB,iBAAiB,IAAI,aAAa,GAA+D,CAAC,CAAC,CAAC,CAAC;IACvG,QAAA,iBAAiB,GAAG,QAAQ,CAC1B,CAAC,EACD,QAAQ,CACN,iBAAiB,EACjB,gBAAgB,IAAI,aAAa,GAA+D,CAAC,CAAC,CACnG,CACF,CAAC;IACF,QAAA,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;SAC9C,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAwB,EAAE,UAAkB,EAAA;IACxD,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACtC,QAAA,MAAM,CAAC,eAAe,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,QAAA,MAAM,CAAC,kBAAkB,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC;IACvF,QAAA,MAAM,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;SACnD,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,MAAwB,EAAE,UAAkB,EAAA;IACpD,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,OAAO,SAAS,GAAG,CAAC;IAClB,cAAE,UAAU,GAAG,MAAM,CAAC,YAAY;kBAChC,KAAK,CAAC;SACX,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAwB,EAAE,SAAiB,EAAA;IACtD,QAAA,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,OAAO,SAAS,KAAK,CAAC,CAAC;IACrB,cAAE,IAAI;kBACJ,SAAS,GAAG,CAAC;sBACX,SAAS,IAAI,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;sBACjD,KAAK,CAAC;SACb,CAAA;IASD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAE,KAAc,EAAA;YACpE,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;gBAEnD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtG,SAAA;SACF,CAAA;IASD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAwB,EAAE,KAAY,EAAE,OAAoC,EAAA;YAC1F,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC9D,CAAA;IAQD,IAAA,0BAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,OAAyB,EAAE,KAAY,EAAE,UAAkB,EAAA;YAC9E,IAAM,MAAM,GAAG,OAAgC,CAAC;IAChD,QAAA,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,IAAI,aAAa,KAAK,CAAC,EAAE;IACvB,YAAA,MAAM,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;gBAC1E,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACpD,YAAA,OAAO,KAAK,CAAC;IACd,SAAA;IAEF,QAAA,IAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAInD,QAAA,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,cAAc,GAAG,aAAa,EAAE;IACrC,YAAA,cAAc,EAAE,CAAC;gBACjB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;IACvF,SAAA;YAID,OAAO,cAAc,GAAG,eAAe,EAAE;IACvC,YAAA,cAAc,EAAE,CAAC;gBACjB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;IACvF,SAAA;IACD,QAAA,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAE3D,QAAA,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,QAAA,IAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;IAEpC,QAAA,IAAI,UAAU,GAAG,cAAc,GAAG,SAAS,EAAE;gBAI3C,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;IAC1D,SAAA;IAED,QAAA,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;YAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;IACvC,YAAA,IAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC;gBACjC,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAA,IAAM,IAAI,GAAG,SAAS,KAAK,aAAa,GAAG,CAAC,CAAC;gBAC7C,IAAM,MAAM,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,YAAA,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,YAAA,IAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBAE7C,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;uBACzC,eAAe,CAAC,MAAM,KAAK,SAAS;uBACpC,eAAe,CAAC,OAAO,KAAK,MAAM;IAClC,mBAAA,eAAe,CAAC,KAAK,KAAK,IAAI,EACjC;oBAEA,SAAS;IACV,aAAA;gBAED,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,YAAA,eAAe,CAAC,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC;IACzC,YAAA,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC;IACjC,YAAA,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,YAAA,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC;IACnC,YAAA,IAAM,GAAG,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,YAAA,eAAe,CAAC,IAAI,GAAG,GAAG,CAAC;IAC3B,YAAA,eAAe,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;IAC7B,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAA;YAED,IAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;IAC/C,YAAA,IAAM,eAAe,GAAGA,oDAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACjE,SAAA;IACD,QAAA,OAAO,IAAI,CAAC;SACb,CAAA;IAGD,IAAA,0BAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,UAAgC,OAAyB,EAAE,KAAiB,EAAE,OAAoC,EAAA;YAAlH,IAiCC,KAAA,GAAA,IAAA,CAAA;YAhCC,IAAM,MAAM,GAAG,OAAgC,CAAC;YAChD,IAAI,MAAM,CAAC,eAAe,EAAE;IAC1B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;IAC1C,gBAAA,IAAA,EAAiC,GAAA,OAAO,CAAC,CAAC,CAAC,EAAzC,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,UAAU,gBAAe,CAAC;oBAClDC,0BAAW,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,aAAA;gBACD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,OAAO;IACR,SAAA;IACD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IACtB,YAAA,MAAM,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;gBAC1E,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBACpD,OAAO;IACR,SAAA;IAED,QAAA,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,IAAI,YAAY,YAAY,OAAO,EAAE;IACnC,YAAA,IAAM,eAAa,GAAG,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;IAElD,YAAA,IAAM,kBAAgB,GAAG,YAAA;IACvB,gBAAA,IAAI,CAAE,eAAa,CAAC,MAAM,EAAE;wBAC1B,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;wBACpD,OAAO;IACR,iBAAA;IAED,gBAAA,IAAM,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAa,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACjG,gBAAA,WAAW,CAAC,IAAI,CAAC,kBAAgB,CAAC,CAAC;IACrC,aAAC,CAAC;IAEF,YAAA,YAAY,CAAC,IAAI,CAAC,kBAAgB,CAAC,CAAC;IACrC,SAAA;SACF,CAAA;IAUD,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,MAAwB,EAAE,QAAe,EAAE,OAAoC,EAAA;IACzF,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAIjC,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,QAAA,IAAI,MAAiC,CAAC;YAEtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,QAAA,IAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACnC,QAAA,IAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;YAIrC,IAAI,oBAAoB,GAAG,IAAI,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAChC,YAAA,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,YAAA,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3C,YAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBACrC,iBAAiB,IAAI,YAAY,CAAC;gBAClC,eAAe,IAAI,UAAU,CAAC;gBAC9B,IAAI,YAAY,KAAK,UAAU,EAAE;oBAC/B,oBAAoB,GAAG,KAAK,CAAC;IAC9B,aAAA;IACF,SAAA;IAKD,QAAA,IAAI,oBAAoB,EAAE;IACxB,YAAA,IAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBAEzC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAChC,gBAAA,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,gBAAA,KAAK,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE;IAC9G,oBAAA,IAAI,eAAe,IAAI,UAAU,IAAI,eAAe,IAAI,SAAS,EAAE;IACjE,wBAAA,IAAM,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC;IAC/C,wBAAA,IAAM,eAAe,GAAGD,oDAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;4BACpH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAsB,IAAI,EAAqB,IAAI,CAAC,CAAC;4BAChF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC/E,qBAAA;IACF,iBAAA;IACF,aAAA;gBACD,OAAO;IACR,SAAA;YAGD,IAAI,uBAAuB,GAAG,UAAU,CAAC;IACzC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,QAAA,IAAM,YAAY,GAAG,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;IACxE,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAEzC,IAAI,YAAY,GAAG,aAAa,CAAC;IAMjC,QAAA,IAAI,YAAY,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE;gBAC1C,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO;IACR,SAAA;IAKD,QAAA,IAAM,6CAA6C,GAAG,iBAAiB,KAAK,CAAC;IACxE,eAAA,eAAe,GAAG,CAAC;IACnB,eAAA,OAAO,CAAC,KAAK,CAAC,UAAA,MAAM,EAAI,EAAA,OAAA,MAAM,CAAC,KAAK,IAAI,UAAU,CAA1B,EAA0B,CAAC,CAAC;IAEzD,QAAA,IAAI,6CAA6C,EAAE;gBACjD,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,eAAe,GAAG,CAAC,CAAC;IACjD,YAAA,MAAM,CAAC,eAAe,IAAI,eAAe,GAAG,UAAU,CAAC;gBAEvD,MAAM,CAAC,YAAY,EAAE,CAAC;IAItB,YAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,YAAA,IAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC;IACnD,YAAA,IAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC3F,IAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,EAAE,mBAAmB,KAAK,CAAC;IAC3D,kBAAE,CAAC;IACH,mBAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC;IACjD,YAAA,IAAI,mCAAmC,GAAG,eAAe,KAAK,CAAC;IAC7D,kBAAE,CAAC;IACH,kBAAE,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;gBAE7C,IAEE,mBAAmB,GAAG,mBAAmB;uBAEtC,mCAAmC,KAAK,UAAU,EACrD;IACA,gBAAA,MAAM,CAAC,oBAAoB,CAAiB,KAAK,CAAC,CAAC;oBACnD,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;IAC7E,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC5E,OAAO;IACR,aAAA;IAKF,SAAA;IAMD,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC7C,QAAA,IAAM,+BAA+B,GACnC,aAAa,GAAG,MAAM,CAAC,gBAAgB;IACpC,eAAA,OAAO,CAAC,KAAK,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,KAAK,GAAG,aAAa,CAAvB,EAAuB,CAAC,CAAC;IAEjD,QAAA,IAAI,+BAA+B,EAAE;IACnC,YAAA,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC;IAChG,YAAA,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,SAAA;IAII,aAAA;IAEH,YAAA,IAAI,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAIrD,IAAI,kBAAkB,KAAK,CAAC,EAAE;IAC5B,gBAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC9C,IAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE/E,gBAAA,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAE3C,gBAAA,kBAAkB,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAC3C,aAAA;gBAED,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;IAC1B,gBAAA,IAAA,EAAwE,GAAA,OAAO,CAAC,CAAC,CAAC,EAAhF,UAAU,GAAA,EAAA,CAAA,UAAA,EAAqB,YAAY,GAAA,EAAA,CAAA,OAAA,CAAA,MAAA,EAAW,WAAW,WAAe,CAAC;IACzF,gBAAA,IAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;oBAC9C,IAAI,uBAAuB,GAAG,WAAW,EAAE;wBACzC,uBAAuB,GAAG,QAAQ,CAAC,CAAC,EAAE,uBAAuB,GAAG,WAAW,CAAC,CAAC;IAC9E,iBAAA;IACF,aAAA;gBACD,YAAY,GAAG,CAAC,CAAC;IAIjB,YAAA,IAAI,YAAY,IAAI,MAAM,CAAC,gBAAgB,EAAE;oBAC3C,uBAAuB,GAAG,CAAC,CAAC;oBAC5B,YAAY,GAAG,YAAY,CAAC;IAC7B,aAAA;IAEI,iBAAA;oBAMH,IAAI,YAAY,IAAI,kBAAkB,EAAE;wBACtC,YAAY,GAAG,YAAY,CAAC;wBAC5B,uBAAuB,GAAG,CAAC,CAAC;IAC7B,iBAAA;IAII,qBAAA;wBACH,YAAY,GAAG,kBAAkB,CAAC;IACnC,iBAAA;IACF,aAAA;IACD,YAAA,IAAM,qBAAqB,GAAG,YAAY,IAAI,uBAAuB;IACnE,kBAAE,uBAAuB;sBACvB,CAAC,CAAC;IACN,YAAA,IAAM,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;gBAGpD,IAAI,cAAc,GAAG,CAAC,EAAE;oBACtB,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;IACnC,oBAAA,IAAM,eAAe,GAAG,uBAAuB,GAAG,aAAa,GAAG,CAAC,CAAC;IACpE,oBAAA,IAAM,eAAe,GAAGA,oDAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACvH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACjE,iBAAA;IACF,aAAA;IAAM,iBAAA;IACL,gBAAA,IAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACpC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;wBACvB,MAAM,CAAC,UAAU,CAAC,YAAY,EAAsB,IAAI,EAAqB,KAAK,CAAC,CAAC;IACrF,iBAAA;IACF,aAAA;IACD,YAAA,IAAM,qBAAqB,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,YAAY,CAAC,CAAC;IAE/F,YAAA,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC;IAGxC,YAAA,MAAM,CAAC,eAAe,GAAG,qBAAqB,GAAG,UAAU,CAAC;IAC5D,YAAA,MAAM,CAAC,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,CAAC;IAC/D,YAAA,MAAM,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;IACnD,SAAA;IAMD,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;SAC1F,CAAA;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,MAAwB,EAAE,UAAkB,EAAA;IACzD,QAAA,IAAM,KAAK,GAAI,MAAM,CAAC,QAAsB,CAAC,QAAQ,CAAC;IACtD,QAAA,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,QAAA,IAAM,UAAU,GAAG,MAAM,CAAC,KAAc,CAAC;IAEzC,QAAA,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACrE,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,QAAA,IAAI,IAAW,CAAC;IAEhB,QAAA,OAAO,UAAU,GAAG,UAAU,EAAE,EAAE,UAAU,EAAE;IAC5C,YAAA,eAAe,GAAG,UAAU,GAAG,KAAK,CAAC;IACrC,YAAA,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACtD,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAA;SACF,CAAA;QAED,0BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,MAAwB,EAAA;YAChC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;SAC9G,CAAA;QAeD,0BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,MAAwB,EAAE,UAAkB,EAAE,YAAoB,EAAE,YAAoB,EAAE,UAAkB,EAAA;IACrH,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,QAAA,IAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC;IACnD,QAAA,IAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3F,IAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,EAAE,mBAAmB,KAAK,CAAC;IAC3D,cAAE,CAAC;IACH,eAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC;IACjD,QAAA,IAAI,mCAAmC,GAAG,eAAe,KAAK,CAAC;IAC7D,cAAE,CAAC;IACH,cAAE,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;IAK7C,QAAA,IAAI,mCAAmC,GAAG,YAAY,IAAI,YAAY,EAAE;gBACtE,mCAAmC,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;IAChF,SAAA;YACD,IAAM,6CAA6C,GAAG,mCAAmC,CAAC;IAC1F,QAAA,IAAM,6CAA6C,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,6CAA6C,GAAG,YAAY,CAAC,CAAC;IAC/I,QAAA,MAAM,CAAC,MAAM,GAAG,mCAAmC,CAAC;IAIpD,QAAA,MAAM,CAAC,eAAe,GAAG,6CAA6C,GAAG,UAAU,CAAC;IACpF,QAAA,MAAM,CAAC,kBAAkB,GAAG,6CAA6C,GAAG,UAAU,CAAC;IACtF,QAAA,MAAwB,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAEpD,MAAwB,CAAC,sBAAsB,EAAE,CAAC;YACnD,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAChC,CAAA;QACH,OAAC,0BAAA,CAAA;IAAD,CAlhBA,CAAgDE,8CAAmB,CAkhBlE,CAAA;;ICpiBD,IAAA,yBAAA,IAAA,UAAA,MAAA,EAAA;QAA+C,SAAkB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;IAAjE,IAAA,SAAA,yBAAA,GAAA;;SAoDC;IAhDC,IAAA,yBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;IACE,QAAA,OAAO,IAAI,CAAC;SACb,CAAA;QAED,yBAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,KAAU,EAAA;IACd,QAAA,OAAO,CAAC,CAAC;SACV,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAqB,EAAE,YAA2B,EAAA;IAC7D,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACf,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAqB,EAAE,UAAkB,KAAmB,CAAA;QAE1E,yBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,eAAwB,CAAA;IAExB,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;IACE,QAAA,OAAO,KAAK,CAAC;SACd,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;IACE,QAAA,OAAO,KAAK,CAAC;SACd,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,MAAqB,EAAE,KAAU,EAAA;IAC/C,QAAA,MAAM,CAAC,UAAU;IACb,cAAA,MAAM,CAAC,gBAAgB;IAEvB,kBAAA,CAAC,CAAC;YAGN,OAA4C,CAAA,CAAA;SAC7C,CAAA;QAED,yBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,eAA6B,CAAA;QAE7B,yBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,MAAqB,EAAA;IACnC,QAAA,MAAM,CAAC,cAAc,CAAsB,IAAI,EAAsB,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,gBAAgB,EAAE,CAAC;SAC3B,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,MAAqB,EAAA,GAAmB,CAAA;QAElD,yBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,eAAkC,CAAA;IAElC,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UAAsB,eAAoB,EAAE,KAAU,EAAA;SAErD,CAAA;QACH,OAAC,yBAAA,CAAA;IAAD,CApDA,CAA+CC,6CAAkB,CAoDhE,CAAA;;ICjDD,IAAA,4BAAA,IAAA,YAAA;IAOE,IAAA,SAAA,4BAAA,GAAA;IACE,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACnB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,IAAI,CAAC,WAAW,CAAC,UAAA,KAAK,EAAI,EAAA,OAAA,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAArC,EAAqC,EAAE,IAAI,yBAAyB,EAAE,CAAC,CAAC;IAClG,QAAA,IAAI,CAAC,WAAW,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,YAAY,KAAK,GAAA,EAAE,IAAI,0BAA0B,EAAE,CAAC,CAAC;SACrF;IAMD,IAAA,4BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,OAAgC,EAAE,QAAgC,EAAA;IAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC,CAAA;QAKD,4BAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAU,EAAA;IACpB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE7B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;IACjD,YAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;IACtB,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,aAAA;IACF,SAAA;IAED,QAAA,OAAO,IAAI,CAAC;SACb,CAAA;QACH,OAAC,4BAAA,CAAA;IAAD,CAAC,EAAA,CAAA;;ICvCD,IAAA,uBAAA,IAAA,YAAA;IAAA,IAAA,SAAA,uBAAA,GAAA;SAuCC;QArCC,uBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAgB,EAAA;IACjC,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAA;IAED,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,IAAW,EAAE,SAAkB,EAAA;YAC3C,gBAAgB,CAAC,IAAI,EAAEC,cAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D,CAAA;IAED,IAAA,uBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,IAAW,EAAE,YAAqB,EAAA;IAC7C,QAAA,IAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;YACrD,IAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,KAAK,CAAC,IAAK,eAA2B,CAAC,IAAI,KAAK,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC;IACxI,QAAA,gBAAgB,CAAC,IAAI,EAAE,aAAwB,CAAC,CAAC;SAClD,CAAA;QAED,uBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;IAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAClC,OAAO;gBACL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACtD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;aACnE,CAAC;SACH,CAAA;IAED,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,EAAW,EAAE,SAAkB,EAAE,YAAqB,EAAA;IAClE,QAAA,IAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC;IAC7B,QAAA,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,QAAA,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SAClC,CAAA;IAED,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,SAAkB,EAAE,YAAqB,EAAA;IACvD,QAAA,IAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC;YAC7C,OAAO,OAAO,KAAK,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;SAClD,CAAA;IAED,IAAA,uBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,SAAkB,EAAE,YAAqB,EAAA;IACtD,QAAA,IAAM,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC;YACnD,OAAO,MAAM,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;SAC7C,CAAA;QACH,OAAC,uBAAA,CAAA;IAAD,CAAC,EAAA,CAAA;;ICzCD,IAAA,yBAAA,IAAA,UAAA,MAAA,EAAA;QAAiD,SAAuB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;IAAxE,IAAA,SAAA,yBAAA,GAAA;;SAmBC;QAhBC,yBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAgB,EAAA;YACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SACnD,CAAA;QAED,yBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;IAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAElC,OAAO;gBAEL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAErD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;aAClE,CAAC;SACH,CAAA;QAGH,OAAC,yBAAA,CAAA;IAAD,CAnBA,CAAiD,uBAAuB,CAmBvE,CAAA,CAAA;IAED,IAAA,iBAAA,IAAA,UAAA,MAAA,EAAA;QAAuC,SAAyB,CAAA,iBAAA,EAAA,MAAA,CAAA,CAAA;IAAhE,IAAA,SAAA,iBAAA,GAAA;;SASC;QAHW,iBAAQ,CAAA,SAAA,CAAA,QAAA,GAAlB,UAAmB,OAAgB,EAAA;YACjC,OAAO,OAAO,CAAC,UAA8B,CAAC;SAC/C,CAAA;QACH,OAAC,iBAAA,CAAA;IAAD,CATA,CAAuC,yBAAyB,CAS/D,CAAA,CAAA;IAED,IAAA,gBAAA,IAAA,UAAA,MAAA,EAAA;QAAsC,SAAyB,CAAA,gBAAA,EAAA,MAAA,CAAA,CAAA;IAA/D,IAAA,SAAA,gBAAA,GAAA;;SASC;QAHW,gBAAQ,CAAA,SAAA,CAAA,QAAA,GAAlB,UAAmB,OAAgB,EAAA;IACjC,QAAA,OAAO,OAAO,CAAC,UAAU,CAAC,UAA8B,CAAC;SAC1D,CAAA;QACH,OAAC,gBAAA,CAAA;IAAD,CATA,CAAsC,yBAAyB,CAS9D,CAAA;;ICdD,IAAA,oBAAA,IAAA,UAAA,MAAA,EAAA;QAA0C,SAAuB,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;IAAjE,IAAA,SAAA,oBAAA,GAAA;;SAUC;QAPC,oBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,OAAgB,EAAA;IAC5B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAClC,OAAO;gBACL,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACrD,YAAA,MAAM,CAAC,YAAY,CAACA,cAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;aAClE,CAAC;SACH,CAAA;QACH,OAAC,oBAAA,CAAA;IAAD,CAVA,CAA0C,uBAAuB,CAUhE,CAAA;;ICpCD,IAAA,uBAAA,IAAA,YAAA;IAQE,IAAA,SAAA,uBAAA,CAAY,SAAoB,EAAA;IAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QAKD,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,OAAgB,EAAA;IAC1B,QAAA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAqB,CAAC;IAC7C,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,IAAI,MAAM,KAAK,IAAI,EAAE;IACnB,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/C,SAAA;IACD,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;YAGrC,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,OAAO,EAAE;IACvF,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACxC,SAAA;YAED,IAAI,aAAa,KAAK,OAAO,EAAE;IAC7B,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,SAAA;IACD,QAAA,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE;IACpD,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5C,SAAA;IACD,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;SAC/C,CAAA;IAjCM,IAAA,uBAAA,CAAA,MAAM,GAAG,CAACC,oCAAS,CAAC,CAAC;QAkC9B,OAAC,uBAAA,CAAA;IAAA,CArCD,EAqCC,CAAA;;ACmUM,QAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;IACrE,IAAA,kBAAkB,EAAE,sCAA+C;IACnE,IAAA,cAAc,EAAE,kCAA2C;IAC5D,CAAA;;IC3WM,IAAM,sBAAsB,GAAG,YAAiC,EAAA,OAAAC,mBAAQ,CAAC,MAAM,CAAC,cAAc,CAAA,EAAA;;ACwDrG,QAAA,aAAA,IAAA,UAAA,MAAA,EAAA;QAAmC,SAAgB,CAAA,aAAA,EAAA,MAAA,CAAA,CAAA;IAwOjD,IAAA,SAAA,aAAA,CACE,OAAoB,EACpB,WAA6B,EAC7B,WAA8B,EAC9B,QAAkB,EAClB,aAA4B,EAC5B,eAAgC,EAChC,yBAAuD,EACvD,uBAAgD,EAAA;IARlD,QAAA,IAAA,KAAA,GAUE,MAAM,CAAA,IAAA,CAAA,IAAA,EAAA;IACJ,YAAA,KAAK,EAAE,MAAM;IACb,YAAA,qBAAqB,EAAEC,gDAAqB,CAAC,WAAW,CAAC;IAC1D,SAAA,CAAC,IAuBH,IAAA,CAAA;YA9OD,KAAM,CAAA,MAAA,GAAG,CAAC,CAAC;YAcX,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;YAGpB,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;YAWjB,KAAc,CAAA,cAAA,GAAG,KAAK,CAAC;YAYvB,KAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;YAW9B,KAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;YAwrB3B,KAAY,CAAA,YAAA,GAAG,CAAC,CAAC;IAlhBf,QAAA,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,QAAA,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,QAAA,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,QAAA,KAAI,CAAC,QAAQ,GAAG,QAAqB,CAAC;IACtC,QAAA,KAAI,CAAC,eAAe,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACxD,QAAA,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACvC,QAAA,KAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC3C,QAAA,KAAI,CAAC,eAAe,GAAG,yBAAyB,CAAC;IACjD,QAAA,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IACvD,QAAA,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,KAAI,CAAC,gBAAgB,GAAGC,mDAAwB,CAAC,KAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACzF,KAAI,CAAC,SAAS,GAAGC,oCAAS,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAA,KAAI,CAAC,eAAe;IAChB,cAAA,KAAI,CAAC,kBAAkB;IACvB,kBAAA,KAAI,CAAC,UAAU;IACf,sBAAA,KAAI,CAAC,aAAa;IAClB,0BAAA,CAAC,CAAC;YACN,KAAI,CAAC,sBAAsB,GAAG,YAAA;IAC5B,YAAA,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,SAAC,CAAC;YACF,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;SAC5C;IAzQM,IAAA,aAAA,CAAA,MAAM,GAAb,YAAA;YACE,OAAO;IACL,YAAAL,cAAG,CAAC,OAAO;gBACXM,kCAAgB;gBAChBC,mCAAiB;gBACjBC,0BAAQ;gBACRC,+BAAa;gBACbC,8BAAe;gBACf,4BAA4B;gBAC5B,uBAAuB;aACxB,CAAC;SACH,CAAA;IAGM,IAAA,aAAA,CAAA,SAAS,GAAhB,YAAA;YACE,OAAO;IACL,YAAA,IAAI,EAAE,WAAW;IACjB,YAAA,IAAI,EAAE,gBAAgB;IACtB,YAAA,kBAAkB,EAAE,IAAI;IAExB,YAAA,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAQ;aACrC,CAAC;SACH,CAAA;IAsPD,IAAA,aAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAK,cAAmB,EAAE,eAAgC,EAAA;YACxD,IAAI,CAAC,KAAK,GAAG,EAAE,cAAc,gBAAA,EAAE,eAAe,EAAA,eAAA,EAAE,CAAC;SAClD,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;YAAA,IA0CC,KAAA,GAAA,IAAA,CAAA;IAzCC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAExB,QAAA,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,QAAA,IAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnG,QAAA,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAA,IAAA,EAAgC,GAAA,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAtE,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,QAA2C,CAAC;IAC9E,QAAA,IAAM,sBAAsB,GAAG,UAAU,KAAK,WAAW,CAAC;IAG1D,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;IAEtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IAEpB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEhD,QAAA,IAAI,sBAAsB,EAAE;IAC1B,YAAA,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,SAAA;IAAM,aAAA;gBACL,IAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACnF,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;gBAChGV,cAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBAMtD,IAAI,CAAC,0BAA0B,GAAGE,mBAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,YAAA;IAC5D,gBAAA,IAAM,iBAAiB,GAAG,KAAI,CAAC,aAAa,CAAC;IAC7C,gBAAA,IAAM,iBAAiB,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;IACzE,gBAAA,KAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;oBACvC,IAAI,iBAAiB,KAAK,iBAAiB,EAAE;IAC3C,oBAAA,IAAM,mBAAmB,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;IACnD,oBAAA,IAAM,gBAAgB,GAAG,KAAI,CAAC,iBAAiB,CAAC;IAChD,oBAAA,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;IAC7C,oBAAA,KAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC3D,iBAAA;iBACF,EAAE,GAAG,CAAC,CAAC;IACT,SAAA;IACD,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChC,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAK,OAAmE,EAAE,OAAoC,EAAA;YAC5G,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACpC,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;IACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;IACtC,QAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE;IAC/B,YAAA,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,SAAA;IAAM,aAAA;gBACLF,cAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC1D,SAAA;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzB,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAC1C,QAAA,IAAI,CAAC,WAAW;IAEZ,cAAA,KAAK,CAAC;YACV,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAChE,QAAA,IAAI,CAAC,cAAc,CAAqB,IAAI,EAAqB,KAAK,CAAC,CAAC;IACxE,QAAA,IAAM,cAAc,GAAGE,mBAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;IACrD,QAAA,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAChD,QAAA,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,QAAA,IAAI,CAAC,aAAa;IACd,cAAA,IAAI,CAAC,aAAa;IAClB,kBAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;SACzC,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;IACE,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAClB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB,CAAA;IAeD,IAAA,aAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;YAAA,IAuDC,KAAA,GAAA,IAAA,CAAA;YApDC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACpC,OAAO;IACR,SAAA;IAED,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEzE,IAAI,QAAQ,KAAK,IAAI,EAAE;IACrB,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,SAAA;YAID,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;gBACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,SAAA;YAGD,IAAM,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,IAAI,kBAAkB,IAAkC,EAAE;gBACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,SAAA;IAOD,QAAA,IAAI,CAAC,kBAAkB,GAAA,CAAuC,MAAM,CAAC,EAAE;gBAC/D,IAAA,EAAA,GAA+DA,mBAAQ,CAAC,MAAM,EAA/D,YAAY,GAAA,EAAA,CAAA,WAAA,EAAiB,gBAAc,GAAA,EAAA,CAAA,aAAoB,CAAC;IACrF,YAAA,gBAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,YAAA;oBAChC,IAAI,KAAI,CAAC,KAAK,EAAE;IACd,oBAAA,IAAM,SAAS,GAAG,KAAI,CAAC,SAAS,EAAE,IAAI,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,CAAC;wBACzE,IAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,UAAqB,CAAC,CAAC;wBACrE,IAAI,WAAW,GAAG,CAAC,EAAE;IACnB,wBAAA,gBAAc,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;4BACnC,KAAI,CAAC,YAAY,EAAE,CAAC;IACrB,qBAAA;IACF,iBAAA;IAAM,qBAAA;IACL,oBAAA,gBAAc,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;IACpC,iBAAA;iBACF,EAAE,GAAG,CAAC,CAAC;IACT,SAAA;YAED,IAAI,kBAAkB,IAA6C,EAAE;IACnE,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,SAAA;SACF,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,UAAwB,UAAiB,EAAE,OAAoC,EAAA;YAE7E,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO;IACR,SAAA;IACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;SAC1D,CAAA;IAID,IAAA,aAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,UAAiB,EAAE,OAAoC,EAAA;YAApF,IAmBC,KAAA,GAAA,IAAA,CAAA;YAhBC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO;IACR,SAAA;IACD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC5B,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAClF,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAM,EAAA,OAAA,KAAI,CAAC,eAAe,GAAG,KAAK,CAA5B,EAA4B,CAAC,CAAC;IAGlE,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE;gBAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,SAAA;IAAM,aAAA;IAGL,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACvB,SAAA;SACF,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;IACE,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtB,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAChC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACpC,CAAA;IAKD,IAAA,aAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB,CAAA;IAKD,IAAA,aAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;IACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,OAAO;IACL,YAAA,QAAQ,EAAE,QAAQ;gBAElB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAE7B,MAAM,EAAE,QAAQ,KAAK,WAAW;IAC9B,kBAAE,WAAW;IACb,kBAAE,gBAAgB,CAAC,QAAQ,CAAC;aAC/B,CAAC;SACH,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;IACE,QAAA,IAAI,CAAC,MAAM;IAEP,cAAA,IAAI,CAAC,eAAe;IACpB,kBAAA,IAAI,CAAC,kBAAkB;IACvB,sBAAA,IAAI,CAAC,UAAU;IACf,0BAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,eAAe;IAChB,cAAA,IAAI,CAAC,kBAAkB;IACvB,kBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,QAAA,IAAI,CAAC,oBAAoB,CAAiB,IAAI,CAAC,CAAC;SACjD,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;YAAA,IAgBC,KAAA,GAAA,IAAA,CAAA;IAfC,QAAA,IAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACpD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;IAC1C,YAAA,IAAM,kBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChD,YAAA,IAAM,qBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACnD,YAAA,IAAI,CAAC,iBAAiB,GAAG,qBAAmB,CAAC;IAC7C,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAA;IAC5B,gBAAA,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtB,gBAAA,KAAI,CAAC,aAAa,CAAC,qBAAmB,EAAE,kBAAgB,CAAC,CAAC;IAC5D,aAAC,CAAC,CAAC;IACH,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,SAAA;IAED,QAAA,IAAI,mBAAmB,EAAE;IACvB,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACjC,SAAA;SACF,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,qBAAoC,EAAE,kBAAiC,EAAA;IACnF,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,OAAO;IACR,SAAA;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;IAC9B,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,OAAO;IACR,SAAA;IAED,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;IACR,SAAA;IAED,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE/B,QAAA,IAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1C,QAAA,IAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC3C,QAAA,IAAA,EAAuD,GAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAApG,qBAAqB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAK,mBAAmB,QAAuD,CAAC;IAEhH,QAAA,IAAI,eAAe,GACjB,qBAAqB,GAAG,qBAAqB;kBAC1C,CAAA;kBACC,qBAAqB,GAAG,qBAAqB;sBAC5C,CAAA;IACD,mBAAqB,CAAC;YAkC5B,IAAI,aAAa,GAAG,CAAC,CAAC;IAQtB,QAAA,IAEE,qBAAqB,IAAI,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB;IAE1F,eAAA,mBAAmB,KAAK,mBAAmB,IAAI,mBAAmB,IAAI,mBAAmB,EAC5F;IAMA,YAAA,IAAI,qBAAqB,IAAI,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB,EAAE;oBAEjG,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;IAEpD,oBAAA,eAAe,KAA+B,CAAC;IAChD,iBAAA;IACF,aAAA;qBAEI,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;IAGxD,gBAAA,eAAe,KAA4B,CAAC;IAC7C,aAAA;IAEF,SAAA;IAAM,aAAA;gBAGL,IAAI,qBAAqB,GAAG,qBAAqB;IAC5C,mBAAA,mBAAmB,IAAI,qBAAqB;uBAC5C,mBAAmB,IAAI,mBAAmB,EAC7C;IAEA,gBAAA,IAAM,mBAAmB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;IAC1E,gBAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;oBACxC,aAAa,GAAG,CAAC,CAAC;oBAElB,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;IACpD,oBAAA,eAAe,KAA+B,CAAC;IAChD,iBAAA;IACF,aAAA;qBAGI,IAAI,qBAAqB,GAAG,qBAAqB;IACjD,mBAAA,qBAAqB,IAAI,mBAAmB;uBAC5C,mBAAmB,IAAI,mBAAmB,EAC7C;IAEA,gBAAA,IAAM,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;oBACtE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzC,aAAa,GAAG,CAAC,CAAC;oBAElB,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;IACnD,oBAAA,eAAe,KAA4B,CAAC;IAC7C,iBAAA;IACF,aAAA;IAGI,iBAAA,IAAI,mBAAmB,GAAG,qBAAqB,IAAI,qBAAqB,GAAG,mBAAmB,EAAE;IACnG,gBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAEzB,IAAI,mBAAmB,GAAG,qBAAqB,EAAE;wBAC/C,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;IAGpD,wBAAA,eAAe,KAA+B,CAAC;IAChD,qBAAA;IACF,iBAAA;yBAEI,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;IAIxD,oBAAA,eAAe,KAA4B,CAAC;IAC7C,iBAAA;IACF,aAAA;IAII,iBAAA;IACH,gBAAA,IAAI,qBAAqB,KAAK,qBAAqB,IAAI,mBAAmB,KAAK,mBAAmB,EAAE;wBAElG,OAAO,CAAC,GAAG,CAAC,qDAAqD;8BAC7D,OAAQ,CAAA,MAAA,CAAA,qBAAqB,eAAK,mBAAmB,EAAA,WAAA,CAAA,CAAA,MAAA,CAAY,qBAAqB,EAAK,IAAA,CAAA,CAAA,MAAA,CAAA,mBAAmB,EAAG,GAAA,CAAA,CACpH,CAAC;IACF,oBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE1B,iBAAA;IAAM,qBAAA;IACL,oBAAA,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC5D,iBAAA;IACF,aAAA;IACF,SAAA;YAED,IAAI,aAAa,KAAK,CAAC,EAAE;IACvB,YAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC;IACpC,YAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACrD,SAAA;IAKD,QAAA,IACE,CAAC,eAAe,GAA8C,CAAA,MAAiD,CAAA;IAC5G,eAAA,CAAC,eAAe,GAAA,CAAyC,MAAC,CAA2C,EACxG;IACA,YAAA,IAAI,CAAC,OAAO,CACV,qBAAqB,EACrB,CAAC,eAAe,GAA2B,CAAA,IAAI,CAAC,EAChD,CAAC,eAAe,GAAA,CAA8B,IAAI,CAAC,CACpD,CAAC;IACH,SAAA;IACI,aAAA;gBAQH,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC;gBACxF,eAAe,GAAG,gBAAgB,GAAG,CAAC;sBACnC,CAAA;sBACC,gBAAgB,GAAG,CAAC;0BACnB,CAAA;IACD,uBAAqB,CAAC;gBAE1B,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;IACnD,gBAAA,eAAe,KAA4B,CAAC;IAC7C,aAAA;gBACD,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;IACpD,gBAAA,eAAe,KAA+B,CAAC;IAChD,aAAA;IAED,YAAA,IACE,CAAC,eAAe,GAA8C,CAAA,MAAiD,CAAA;IAC5G,mBAAA,CAAC,eAAe,GAAA,CAAyC,MAAC,CAA2C,EACxG;IACA,gBAAA,IAAI,CAAC,OAAO,CACV,qBAAqB,EACrB,CAAC,eAAe,GAA2B,CAAA,IAAI,CAAC,EAChD,CAAC,eAAe,GAAA,CAA8B,IAAI,CAAC,CACpD,CAAC;IACH,aAAA;IACF,SAAA;SACF,CAAA;IAOD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,UAAkB,EAAE,SAA+B,EAAA;YAE5D,IAAM,MAAM,GAAG,IAAI,CAAC;IAEpB,QAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;IACpB,YAAA,IAAI,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBACzC,OAAO,UAAU,EAAE,EAAE;IACnB,gBAAA,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC/B,iBAAiB,CACf,MAAM,EACN,IAAI,EACJ,EAAE,UAAU,EACO,KAAK,CACzB,CAAC;IACH,aAAA;IACF,SAAA;IAEI,aAAA;IACH,YAAA,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvC,OAAO,UAAU,EAAE,EAAE;oBACnB,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,iBAAiB,CACf,MAAM,EACN,IAAI,EACJ,EAAE,SAAS,EACQ,IAAI,CACxB,CAAC;IACH,aAAA;IACF,SAAA;SACF,CAAA;QASD,aAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,QAAgB,EAAE,SAAkB,EAAE,YAAqB,EAAE,KAAe,EAAA;YAApF,IAwEC,KAAA,GAAA,IAAA,CAAA;IAvEC,QAAA,IAAI,SAAS,IAAI,YAAY,IAAI,KAAK,EAAE;IAEtC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACxB,IAAM,cAAc,GAAG,UAAC,IAAY,EAAA;IAClC,oBAAA,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,GAAG,EAAE,EAAE;4BACjC,OAAO;IACR,qBAAA;IACD,oBAAA,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IACzB,oBAAA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC3B,oBAAA,IAAM,mBAAmB,GAAG,YAAA;IAC1B,wBAAA,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,qBAAC,CAAC;IACF,oBAAA,IAAM,SAAS,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;wBACnC,IAAI,SAAS,KAAK,IAAI,EAAE;IACtB,wBAAA,mBAAmB,EAAE,CAAC;4BACtB,OAAO;IACR,qBAAA;IACD,oBAAA,IAAM,gBAAgB,GAAG,SAAS,CAAC,UAAsB,CAAC;wBAC1D,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;wBAClD,IAAM,IAAI,GACR,gBAAgB;IACb,2BAAA,gBAAgB,CAAC,EAAE;IACnB,2BAAA,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC;IACxC,0BAAE,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;8BAClF,SAAS,CAAC;wBAEhB,IAAI,IAAI,KAAK,SAAS,EAAE;IAKtB,wBAAA,mBAAmB,EAAE,CAAC;IACvB,qBAAA;IAAM,yBAAA;IACL,wBAAA,IAAM,aAAa,GAA6B;IAC9C,4BAAA,QAAQ,EAAE,QAAQ;IAClB,4BAAA,UAAU,EAAE,YAAY;IACxB,4BAAA,OAAO,EAAE,SAAS;6BACnB,CAAC;IACF,wBAAA,IAAM,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACnD,wBAAA,eAAe,CAAC,cAAc,GAAG,aAAa,CAAC;IAC/C,wBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IAC5B,4BAAA,IAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;gCACtD,IAAM,eAAe,GAAI,SAAS,CAAC,UAAsB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC3F,4BAAA,IAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAEjD,4BAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;IAClC,gCAAA,mBAAmB,EAAE,CAAC;IACtB,gCAAA,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;oCAChF,IAAI,MAAM,YAAY,OAAO,EAAE;IAC7B,oCAAA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wCAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,YAAA;IAEjB,wCAAA,mBAAmB,EAAE,CAAC;IACxB,qCAAC,CAAC,CAAC;IACJ,iCAAA;IACF,6BAAA;IAAM,iCAAA;IACL,gCAAA,MAAM,IAAI,KAAK,CAAC,WAAI,kBAAkB,EAAA,yCAAA,CAAyC,CAAC,CAAC;IAClF,6BAAA;IACF,yBAAA;iCAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;IAEhC,4BAAA,mBAAmB,EAAE,CAAC;gCACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;IACnD,yBAAA;IAAM,6BAAA;IACL,4BAAA,MAAM,IAAI,KAAK,CAAC,WAAI,kBAAkB,EAAA,yCAAA,CAAyC,CAAC,CAAC;IAClF,yBAAA;IACF,qBAAA;IACH,iBAAC,CAAC;oBAEF,IAAI,CAAC,cAAc,CAAC,CAAC;IACtB,aAAA;IACF,SAAA;SACF,CAAA;QAED,aAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,UAAoB,EAAA;IACvC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,CAAC,eAAe,EAAA,IAAA,CAAI,CAAC;IAC5D,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,CAAC,kBAAkB,EAAA,IAAA,CAAI,CAAC;IAClE,QAAA,IAAI,UAAU,EAAE;IACd,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,SAAA;SACF,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;IACE,QAAA,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnD,QAAA,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACnD,SAAA;SACF,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;SACxC,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;IACE,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACnC,QAAA,OAAO,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;SACnE,CAAA;IAED,IAAA,aAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;IACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjC,QAAA,OAAO,QAAQ,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;SACjE,CAAA;QAKD,aAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,UAAuB,EAAA;YAAvC,IAoDC,KAAA,GAAA,IAAA,CAAA;YAhDC,IAAM,iBAAiB,GAAG,UAAC,OAAwB,EAAA;IACjD,YAAA,IAAI,CAAC,YAAA;IACH,gBAAA,IAAI,OAAO,KAAK,KAAI,CAAC,wBAAwB,EAAE;wBAE7C,KAAI,CAAC,YAAY,EAAE,CAAC;IACrB,iBAAA;IACH,aAAC,CAAC,CAAC;IACL,SAAC,CAAC;IACF,QAAA,IAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAC;IAC3D,QAAA,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE;IACnD,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;IAC5C,YAAA,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;IACvB,aAAA;gBAGD,QAAQ,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,yBAAyB,CAAC,UAAC,OAAO,EAAA;IAC9E,gBAAA,IAAM,OAAO,GAAG,KAAI,CAAC,wBAAwB,CAAC;oBAC9C,IAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACvC,gBAAA,KAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;IAExC,gBAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;wBAKjG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5B,iBAAA;IACH,aAAC,CAAC,CAAC;IACH,YAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,SAAA;IAID,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;IACpC,QAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;IACvB,SAAA;IACD,QAAA,IAAM,uBAAuB,GAAG,YAAA;IAC9B,YAAA,IAAI,CAAC,YAAA;oBACH,KAAI,CAAC,YAAY,EAAE,CAAC;IACtB,aAAC,CAAC,CAAC;IACL,SAAC,CAAC;YAGF,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAIS,+BAAa,CAAC,UAAU,CAAC,CAAC;YAChE,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC5F,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;SACzF,CAAA;IAMD,IAAA,aAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;IACE,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;IAC9C,QAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;IACvB,SAAA;IACD,QAAA,IAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAC5C,QAAA,IAAI,cAAc,EAAE;gBAClB,cAAc,CAAC,UAAU,EAAE,CAAC;IAC7B,SAAA;IACD,QAAA,IAAI,CAAC,uBAAuB;IACxB,cAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SACtC,CAAA;IAQD,IAAA,aAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;IACE,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,EAAE;IACb,YAAA,OAAO,KAAK,CAAC;IACd,SAAA;IACD,QAAA,IAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACvF,IAAI,CAAC,kBAAkB,EAAE;IACvB,YAAA,OAAO,KAAK,CAAC;IACd,SAAA;YACD,IAAM,OAAO,iCAAwD,CAAC;IACtE,QAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC3B,QAAA,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,QAAA,OAAO,IAAI,CAAC;SACb,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;YACE,IAAM,UAAU,GAAGC,2CAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE;IACf,YAAA,OAAO,IAAI,CAAC;IACb,SAAA;YACD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;IACE,QAAA,IAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjG,QAAA,IAAI,kBAAkB,EAAE;gBACtB,IAAI,CAAC,WAAW,GAAA,yBAAmD,CAAC;IACpE,YAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;gBAC7C,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACtD,SAAA;SACF,CAAA;IAKD,IAAA,aAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;SACtC,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,KAAK,GAAL,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC/B,CAAA;QAGD,aAAI,CAAA,SAAA,CAAA,IAAA,GAAJ,UAAK,KAAa,EAAA;IAChB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5F,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,cAAmB,EAAE,eAAgC,EAAA;YAC3D,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACvC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,QAAA,OAAO,IAAa,CAAC;SACtB,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,cAAmB,EAAE,eAAgC,EAAA;YAC7E,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACvC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACnC,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,aAAsB,EAAE,aAAsB,EAAA;YAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;SAC9D,CAAA;IAGD,IAAA,aAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,aAAsB,EAAE,aAAsB,EAAA;IACtE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAA2B,CAAC;SAC9F,CAAA;QAGD,aAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,IAAW,EAAA;IACxB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,QAAA,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YACxB,OAAO,CAAC,EAAE,EAAE;IACV,YAAAC,+CAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,SAAA;IACD,QAAA,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,QAAA,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YACvB,OAAO,CAAC,EAAE,EAAE;gBACV,IAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACvD,YAAA,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;gBAC/B,OAAO,CAAC,EAAE,EAAE;oBACV,IAAI,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzCA,+CAAoB,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAA;IACF,SAAA;SACF,CAAA;QACH,OAAC,aAAA,CAAA;IAAD,CA1iCA,CAAmCC,2CAAgB,CA0iClD;;ACvmCD,QAAA,kBAAA,IAAA,YAAA;IAAA,IAAA,SAAA,kBAAA,GAAA;SASC;IANQ,IAAA,kBAAA,CAAA,SAAS,GAAhB,YAAA;YACE,OAAO;IACL,YAAA,IAAI,EAAE,WAAW;IACjB,YAAA,IAAI,EAAE,sBAAsB;aAC7B,CAAC;SACH,CAAA;QACH,OAAC,kBAAA,CAAA;IAAD,CAAC,EAAA;;ICPK,SAAU,SAAS,CAAC,MAAiD,EAAA;IACzE,IAAA,MAAM,CAAC,eAAe,CACpB,aAAa,EACb,kBAAkB,CACnB,CAAC;IACJ;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 224e030..214ef6e 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,3 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [1.0.0-rc3](https://github.com/aurelia/ui-virtualization/compare/1.0.0-rc2...1.0.0-rc3) (2022-04-20) + + +### Bug Fixes + +* **deps:** resolve vulnerable deps, refactor build ([#237](https://github.com/aurelia/ui-virtualization/issues/237)) ([d92fc9d](https://github.com/aurelia/ui-virtualization/commit/d92fc9d48d977623d8bd441deb5f6e1acfdb3eeb)) + # [1.0.0-rc1](https://github.com/aurelia/ui-virtualization/compare/1.0.0-beta.7...1.0.0-rc1) (2020-06-12) diff --git a/doc/api.json b/doc/api.json index 81dcfa0..5932d7f 100644 --- a/doc/api.json +++ b/doc/api.json @@ -1 +1 @@ -{"name":"aurelia-ui-virtualization","children":[{"id":58,"name":"ArrayVirtualRepeatStrategy","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"A strategy for repeating a template over an array."},"children":[{"id":59,"name":"createFirstItem","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":60,"name":"createFirstItem","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":61,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"VirtualRepeat","id":164}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":78,"character":17}]},{"id":72,"name":"getCollectionObserver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":73,"name":"getCollectionObserver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets an observer for the specified collection."},"parameters":[{"id":74,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The observer locator instance."},"type":{"type":"intrinsic","name":"any"}},{"id":75,"name":"items","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The items to be observed.\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"ArrayRepeatStrategy.getCollectionObserver"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":442,"character":23}],"inheritedFrom":{"type":"reference","name":"ArrayRepeatStrategy.getCollectionObserver"}},{"id":62,"name":"instanceChanged","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":63,"name":"instanceChanged","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Handle the repeat's collection instance changing."},"parameters":[{"id":64,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The repeater instance."},"type":{"type":"reference","name":"VirtualRepeat","id":164}},{"id":65,"name":"items","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The new array instance.\n"},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"intrinsic","name":"any"}]}},{"id":66,"name":"rest","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}}}],"type":{"type":"intrinsic","name":"void"},"overwrites":{"type":"reference","name":"ArrayRepeatStrategy.instanceChanged"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":85,"character":17}],"overwrites":{"type":"reference","name":"ArrayRepeatStrategy.instanceChanged"}},{"id":67,"name":"instanceMutated","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":68,"name":"instanceMutated","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Handle the repeat's collection instance mutating."},"parameters":[{"id":69,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The repeat instance."},"type":{"type":"reference","name":"VirtualRepeat","id":164}},{"id":70,"name":"array","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The modified array."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"intrinsic","name":"any"}]}},{"id":71,"name":"splices","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"Records of array changes.\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"overwrites":{"type":"reference","name":"ArrayRepeatStrategy.instanceMutated"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":93,"character":17}],"overwrites":{"type":"reference","name":"ArrayRepeatStrategy.instanceMutated"}}],"groups":[{"title":"Methods","kind":2048,"children":[59,72,62,67]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":75,"character":47}],"extendedTypes":[{"type":"reference","name":"ArrayRepeatStrategy"}]},{"id":119,"name":"DefaultTemplateStrategy","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":134,"name":"createBottomBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":135,"name":"createBottomBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":136,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":117,"character":27}]},{"id":131,"name":"createTopBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":132,"name":"createTopBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":133,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":116,"character":24}]},{"id":142,"name":"getFirstElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":143,"name":"getFirstElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":144,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":119,"character":17}]},{"id":145,"name":"getLastElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":146,"name":"getLastElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":147,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":120,"character":16}]},{"id":120,"name":"getScrollContainer","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":121,"name":"getScrollContainer","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":122,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":113,"character":20}]},{"id":148,"name":"getTopBufferDistance","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":149,"name":"getTopBufferDistance","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":150,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":121,"character":22}]},{"id":123,"name":"moveViewFirst","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":124,"name":"moveViewFirst","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":125,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":126,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":114,"character":15}]},{"id":127,"name":"moveViewLast","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":128,"name":"moveViewLast","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":129,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":130,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":115,"character":14}]},{"id":137,"name":"removeBufferElements","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":138,"name":"removeBufferElements","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":139,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":140,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":141,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":118,"character":22}]}],"groups":[{"title":"Methods","kind":2048,"children":[134,131,142,145,120,148,123,127,137]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":112,"character":44}]},{"id":42,"name":"DomHelper","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":43,"name":"getElementDistanceToTopOfDocument","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":44,"name":"getElementDistanceToTopOfDocument","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":45,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":49,"character":35}]},{"id":46,"name":"hasOverflowScroll","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":47,"name":"hasOverflowScroll","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":48,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"boolean"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":50,"character":19}]}],"groups":[{"title":"Methods","kind":2048,"children":[43,46]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":48,"character":30}]},{"id":49,"name":"InfiniteScrollNext","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":50,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":51,"name":"new InfiniteScrollNext","kind":16384,"kindString":"Constructor signature","flags":{},"type":{"type":"reference","name":"InfiniteScrollNext","id":49}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":54,"character":41}]},{"id":52,"name":"attached","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":53,"name":"attached","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":56,"character":10}]},{"id":54,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":55,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":56,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":57,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":57,"character":6}]}],"groups":[{"title":"Constructors","kind":512,"children":[50]},{"title":"Methods","kind":2048,"children":[52,54]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":54,"character":39}]},{"id":34,"name":"NullVirtualRepeatStrategy","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":38,"name":"getCollectionObserver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":39,"name":"getCollectionObserver","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":40,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":41,"name":"items","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"NullRepeatStrategy.getCollectionObserver"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":185,"character":23}],"inheritedFrom":{"type":"reference","name":"NullRepeatStrategy.getCollectionObserver"}},{"id":35,"name":"instanceChanged","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":36,"name":"instanceChanged","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":37,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"NullRepeatStrategy.instanceChanged"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":46,"character":17}],"overwrites":{"type":"reference","name":"NullRepeatStrategy.instanceChanged"}}],"groups":[{"title":"Methods","kind":2048,"children":[38,35]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":45,"character":46}],"extendedTypes":[{"type":"reference","name":"NullRepeatStrategy"}]},{"id":83,"name":"TableStrategy","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":85,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":86,"name":"new TableStrategy","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":87,"name":"domHelper","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"TableStrategy","id":83}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":100,"character":21}]},{"id":84,"name":"tableCssReset","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":100,"character":15}],"type":{"type":"intrinsic","name":"any"}},{"id":102,"name":"createBottomBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":103,"name":"createBottomBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":104,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":106,"character":27}]},{"id":99,"name":"createTopBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":100,"name":"createTopBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":101,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":105,"character":24}]},{"id":110,"name":"getFirstElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":111,"name":"getFirstElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":112,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":108,"character":17}]},{"id":113,"name":"getLastElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":114,"name":"getLastElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":115,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":109,"character":16}]},{"id":88,"name":"getScrollContainer","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":89,"name":"getScrollContainer","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":90,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":102,"character":20}]},{"id":116,"name":"getTopBufferDistance","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":117,"name":"getTopBufferDistance","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":118,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":110,"character":22}]},{"id":91,"name":"moveViewFirst","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":92,"name":"moveViewFirst","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":93,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":94,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":103,"character":15}]},{"id":95,"name":"moveViewLast","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":96,"name":"moveViewLast","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":97,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":98,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":104,"character":14}]},{"id":105,"name":"removeBufferElements","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":106,"name":"removeBufferElements","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":107,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":108,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":109,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":107,"character":22}]}],"groups":[{"title":"Constructors","kind":512,"children":[85]},{"title":"Properties","kind":1024,"children":[84]},{"title":"Methods","kind":2048,"children":[102,99,110,113,88,116,91,95,105]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":99,"character":34}]},{"id":76,"name":"TemplateStrategyLocator","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":77,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":78,"name":"new TemplateStrategyLocator","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":79,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}}],"type":{"type":"reference","name":"TemplateStrategyLocator","id":76}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":95,"character":46}]},{"id":80,"name":"getStrategy","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":81,"name":"getStrategy","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":82,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"TemplateStrategy","id":2}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":97,"character":13}]}],"groups":[{"title":"Constructors","kind":512,"children":[77]},{"title":"Methods","kind":2048,"children":[80]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":95,"character":44}]},{"id":164,"name":"VirtualRepeat","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":167,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":168,"name":"new VirtualRepeat","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":169,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":170,"name":"viewFactory","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"BoundViewFactory"}},{"id":171,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"TargetInstruction"}},{"id":172,"name":"viewSlot","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"ViewSlot"}},{"id":173,"name":"viewResources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"ViewResources"}},{"id":174,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"ObserverLocator"}},{"id":175,"name":"strategyLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"VirtualRepeatStrategyLocator","id":151}},{"id":176,"name":"templateStrategyLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"TemplateStrategyLocator","id":76}},{"id":177,"name":"domHelper","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"DomHelper","id":42}}],"type":{"type":"reference","name":"VirtualRepeat","id":164},"overwrites":{"type":"reference","name":"AbstractRepeater.__constructor"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":128,"character":13}],"overwrites":{"type":"reference","name":"AbstractRepeater.__constructor"}},{"id":165,"name":"items","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":127,"character":7}],"type":{"type":"intrinsic","name":"any"}},{"id":166,"name":"local","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":128,"character":7}],"type":{"type":"intrinsic","name":"any"}},{"id":209,"name":"addView","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":210,"name":"addView","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":211,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":212,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.addView"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":144,"character":9}],"overwrites":{"type":"reference","name":"AbstractRepeater.addView"}},{"id":178,"name":"attached","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":179,"name":"attached","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":130,"character":10}]},{"id":180,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":181,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":182,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":183,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":131,"character":6}]},{"id":184,"name":"call","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":185,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":186,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":187,"name":"changes","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":132,"character":6}]},{"id":188,"name":"detached","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":189,"name":"detached","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":133,"character":10}]},{"id":194,"name":"handleCollectionMutated","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":195,"name":"handleCollectionMutated","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":196,"name":"collection","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":197,"name":"changes","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":136,"character":25}]},{"id":198,"name":"handleInnerCollectionMutated","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":199,"name":"handleInnerCollectionMutated","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":200,"name":"collection","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":201,"name":"changes","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":137,"character":30}]},{"id":213,"name":"insertView","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":214,"name":"insertView","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":215,"name":"index","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":216,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":217,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.insertView"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":145,"character":12}],"overwrites":{"type":"reference","name":"AbstractRepeater.insertView"}},{"id":190,"name":"itemsChanged","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":191,"name":"itemsChanged","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":134,"character":14}]},{"id":230,"name":"matcher","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":231,"name":"matcher","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns the matcher function to be used by the repeater, or null if strict matching is to be performed.","returns":"The requested matcher function.\n"},"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.matcher"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":366,"character":9}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.matcher"}},{"id":232,"name":"moveView","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":233,"name":"moveView","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Moves a view across the repeater."},"parameters":[{"id":234,"name":"sourceIndex","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"The index where the view should be placed at.\n"},"type":{"type":"intrinsic","name":"any"}},{"id":235,"name":"targetIndex","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.moveView"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":393,"character":10}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.moveView"}},{"id":218,"name":"removeAllViews","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":219,"name":"removeAllViews","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":220,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":221,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.removeAllViews"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":146,"character":16}],"overwrites":{"type":"reference","name":"AbstractRepeater.removeAllViews"}},{"id":222,"name":"removeView","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":223,"name":"removeView","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":224,"name":"index","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":225,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":226,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.removeView"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":147,"character":12}],"overwrites":{"type":"reference","name":"AbstractRepeater.removeView"}},{"id":236,"name":"removeViews","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":237,"name":"removeViews","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Removes an array of Views from the repeater.","returns":"\n"},"parameters":[{"id":238,"name":"viewsToRemove","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The array of views to be removed."},"type":{"type":"reference","name":"Array","typeArguments":[{"type":"reference","name":"View"}]}},{"id":239,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Should the view be returned to the view cache?"},"type":{"type":"intrinsic","name":"boolean"}},{"id":240,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Should the removal animation be skipped?"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.removeViews"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":411,"character":13}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.removeViews"}},{"id":192,"name":"unbind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":193,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":135,"character":8}]},{"id":227,"name":"updateBindings","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":228,"name":"updateBindings","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":229,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.updateBindings"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":148,"character":16}],"overwrites":{"type":"reference","name":"AbstractRepeater.updateBindings"}},{"id":206,"name":"view","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":207,"name":"view","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":208,"name":"index","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.view"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":143,"character":6}],"overwrites":{"type":"reference","name":"AbstractRepeater.view"}},{"id":202,"name":"viewCount","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":203,"name":"viewCount","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.viewCount"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":141,"character":11}],"overwrites":{"type":"reference","name":"AbstractRepeater.viewCount"}},{"id":204,"name":"views","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":205,"name":"views","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"AbstractRepeater.views"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":142,"character":7}],"overwrites":{"type":"reference","name":"AbstractRepeater.views"}}],"groups":[{"title":"Constructors","kind":512,"children":[167]},{"title":"Properties","kind":1024,"children":[165,166]},{"title":"Methods","kind":2048,"children":[209,178,180,184,188,194,198,213,190,230,232,218,222,236,192,227,206,202,204]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":126,"character":34}],"extendedTypes":[{"type":"reference","name":"AbstractRepeater"}]},{"id":151,"name":"VirtualRepeatStrategyLocator","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":152,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":153,"name":"new VirtualRepeatStrategyLocator","kind":16384,"kindString":"Constructor signature","flags":{},"type":{"type":"reference","name":"VirtualRepeatStrategyLocator","id":151},"overwrites":{"type":"reference","name":"RepeatStrategyLocator.__constructor"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":123,"character":81}],"overwrites":{"type":"reference","name":"RepeatStrategyLocator.__constructor"}},{"id":154,"name":"addStrategy","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":155,"name":"addStrategy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Adds a repeat strategy to be located when repeating a template over different collection types."},"parameters":[{"id":156,"name":"matcher","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reflection","declaration":{"id":157,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":158,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":159,"name":"items","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"boolean"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":662,"character":22}]}}},{"id":160,"name":"strategy","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"A repeat strategy that can iterate a specific collection type.\n"},"type":{"type":"reference","name":"RepeatStrategy"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"RepeatStrategyLocator.addStrategy"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":662,"character":13}],"inheritedFrom":{"type":"reference","name":"RepeatStrategyLocator.addStrategy"}},{"id":161,"name":"getStrategy","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":162,"name":"getStrategy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Gets the best strategy to handle iteration."},"parameters":[{"id":163,"name":"items","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"RepeatStrategy"},"inheritedFrom":{"type":"reference","name":"RepeatStrategyLocator.getStrategy"}}],"sources":[{"fileName":"/Users/EisenbergEffect/Documents/GitHub/aurelia/ui-virtualization/node_modules/aurelia-templating-resources/dist/aurelia-templating-resources.d.ts","line":667,"character":13}],"inheritedFrom":{"type":"reference","name":"RepeatStrategyLocator.getStrategy"}}],"groups":[{"title":"Constructors","kind":512,"children":[152]},{"title":"Methods","kind":2048,"children":[154,161]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":123,"character":49}],"extendedTypes":[{"type":"reference","name":"RepeatStrategyLocator"}]},{"id":2,"name":"TemplateStrategy","kind":256,"kindString":"Interface","flags":{"isExported":true},"children":[{"id":17,"name":"createBottomBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":18,"name":"createBottomBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":19,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":39,"character":27}]},{"id":14,"name":"createTopBufferElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":15,"name":"createTopBufferElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":16,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":38,"character":24}]},{"id":25,"name":"getFirstElement","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":26,"name":"getFirstElement","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":27,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":41,"character":17}]},{"id":28,"name":"getLastView","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":29,"name":"getLastView","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":30,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":42,"character":13}]},{"id":3,"name":"getScrollContainer","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":4,"name":"getScrollContainer","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":5,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"reference","name":"Element"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":35,"character":20}]},{"id":31,"name":"getTopBufferDistance","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":32,"name":"getTopBufferDistance","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":33,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":43,"character":22}]},{"id":6,"name":"moveViewFirst","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":7,"name":"moveViewFirst","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":8,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":9,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":36,"character":15}]},{"id":10,"name":"moveViewLast","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":11,"name":"moveViewLast","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":12,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":13,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":37,"character":14}]},{"id":20,"name":"removeBufferElements","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":21,"name":"removeBufferElements","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":22,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":23,"name":"topBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":24,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":40,"character":22}]}],"groups":[{"title":"Methods","kind":2048,"children":[17,14,25,28,3,31,6,10,20]}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":34,"character":41}]},{"id":241,"name":"calcOuterHeight","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":242,"name":"calcOuterHeight","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":243,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":59,"character":39}]},{"id":262,"name":"getElementDistanceToBottomViewPort","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":263,"name":"getElementDistanceToBottomViewPort","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":264,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":69,"character":58}]},{"id":265,"name":"getElementDistanceToTopViewPort","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":266,"name":"getElementDistanceToTopViewPort","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":267,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}}],"type":{"type":"intrinsic","name":"number"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":70,"character":55}]},{"id":258,"name":"getStyleValue","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":259,"name":"getStyleValue","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":260,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Element"}},{"id":261,"name":"style","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":68,"character":37}]},{"id":244,"name":"insertBeforeNode","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":245,"name":"insertBeforeNode","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":246,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":247,"name":"bottomBuffer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":60,"character":40}]},{"id":252,"name":"rebindAndMoveView","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":253,"name":"rebindAndMoveView","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":254,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"VirtualRepeat","id":164}},{"id":255,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"View"}},{"id":256,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}},{"id":257,"name":"moveToBottom","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":67,"character":41}]},{"id":248,"name":"updateVirtualOverrideContexts","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":249,"name":"updateVirtualOverrideContexts","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Update the override context."},"parameters":[{"id":250,"name":"repeat","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"VirtualRepeat","id":164}},{"id":251,"name":"startIndex","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"index in collection where to start updating.\n"},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"intrinsic","name":"void"}}],"sources":[{"fileName":"aurelia-ui-virtualization.d.ts","line":66,"character":53}]}],"groups":[{"title":"Classes","kind":128,"children":[58,119,42,49,34,83,76,164,151]},{"title":"Interfaces","kind":256,"children":[2]},{"title":"Functions","kind":64,"children":[241,262,265,258,244,252,248]}]} \ No newline at end of file +{"id":0,"name":"aurelia-ui-virtualization","kind":1,"kindString":"Project","flags":{},"originalName":"","children":[{"id":182,"name":"InfiniteScrollNext","kind":128,"kindString":"Class","flags":{},"children":[{"id":188,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"signatures":[{"id":189,"name":"new InfiniteScrollNext","kind":16384,"kindString":"Constructor signature","flags":{},"type":{"type":"reference","id":182,"name":"InfiniteScrollNext"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[188]}],"sources":[{"fileName":"src/infinite-scroll-next.ts","line":2,"character":13}]},{"id":8,"name":"VirtualRepeat","kind":128,"kindString":"Class","flags":{},"children":[{"id":15,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":295,"character":2}],"signatures":[{"id":16,"name":"new VirtualRepeat","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":17,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"}},{"id":18,"name":"viewFactory","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BoundViewFactory","package":"aurelia-templating","name":"BoundViewFactory"}},{"id":19,"name":"instruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"TargetInstruction","package":"aurelia-templating","name":"TargetInstruction"}},{"id":20,"name":"viewSlot","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewSlot","package":"aurelia-templating","name":"ViewSlot"}},{"id":21,"name":"viewResources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":22,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":23,"name":"collectionStrategyLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"VirtualRepeatStrategyLocator"}},{"id":24,"name":"templateStrategyLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"TemplateStrategyLocator"}}],"type":{"type":"reference","id":8,"name":"VirtualRepeat"},"overwrites":{"type":"reference","name":"AbstractRepeater.constructor"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.constructor"}},{"id":25,"name":"$first","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"First view index, for proper follow up calculations"},"sources":[{"fileName":"src/virtual-repeat.ts","line":93,"character":2}],"type":{"type":"intrinsic","name":"number"},"defaultValue":"0","implementationOf":{"type":"reference","name":"IVirtualRepeater.$first"}},{"id":59,"name":"bottomBufferEl","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Bot buffer element, used to reflect the visualization of amount of items `after` the first visible item"},"sources":[{"fileName":"src/virtual-repeat.ts","line":245,"character":2}],"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.bottomBufferEl"}},{"id":27,"name":"bottomBufferHeight","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Height of bottom buffer to properly push the visible rendered list items into right position"},"sources":[{"fileName":"src/virtual-repeat.ts","line":104,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.bottomBufferHeight"}},{"id":69,"name":"collectionObserver","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":293,"character":2}],"type":{"type":"intrinsic","name":"any"}},{"id":61,"name":"distanceToTop","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Calculate current scrolltop position"},"sources":[{"fileName":"src/virtual-repeat.ts","line":255,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.distanceToTop"}},{"id":53,"name":"edgeDistance","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Defines how many items there should be for a given index to be considered at edge"},"sources":[{"fileName":"src/virtual-repeat.ts","line":223,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.edgeDistance"}},{"id":60,"name":"itemHeight","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Height of each item. Calculated based on first item"},"sources":[{"fileName":"src/virtual-repeat.ts","line":250,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.itemHeight"}},{"id":35,"name":"items","kind":1024,"kindString":"Property","flags":{},"comment":{"tags":[{"tag":"bindable","text":"\n"}]},"sources":[{"fileName":"src/virtual-repeat.ts","line":154,"character":2}],"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}},"implementationOf":{"type":"reference","name":"IVirtualRepeater.items"}},{"id":33,"name":"key","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":148,"character":2}],"type":{"type":"intrinsic","name":"any"}},{"id":36,"name":"local","kind":1024,"kindString":"Property","flags":{},"comment":{"tags":[{"tag":"bindable","text":"\n"}]},"sources":[{"fileName":"src/virtual-repeat.ts","line":159,"character":2}],"type":{"type":"intrinsic","name":"string"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.local"}},{"id":62,"name":"minViewsRequired","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Number indicating minimum elements required to render to fill up the visible viewport"},"sources":[{"fileName":"src/virtual-repeat.ts","line":260,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.minViewsRequired"}},{"id":50,"name":"scrollerEl","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Reference to scrolling container of this virtual repeat\nUsually determined by template strategy.","text":"The scrolling container may vary based on different position of `virtual-repeat` attribute\n"},"sources":[{"fileName":"src/virtual-repeat.ts","line":208,"character":2}],"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.scrollerEl"}},{"id":63,"name":"strategy","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"collection repeating strategy"},"sources":[{"fileName":"src/virtual-repeat.ts","line":265,"character":2}],"type":{"type":"reference","typeArguments":[{"type":"reference","id":198,"name":"RepeatableValue"}],"name":"IVirtualRepeatStrategy"}},{"id":57,"name":"templateStrategy","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Template handling strategy for this repeat."},"sources":[{"fileName":"src/virtual-repeat.ts","line":235,"character":2}],"type":{"type":"reference","name":"ITemplateStrategy"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.templateStrategy"}},{"id":58,"name":"topBufferEl","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Top buffer element, used to reflect the visualization of amount of items `before` the first visible item"},"sources":[{"fileName":"src/virtual-repeat.ts","line":240,"character":2}],"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.topBufferEl"}},{"id":26,"name":"topBufferHeight","kind":1024,"kindString":"Property","flags":{},"comment":{"shortText":"Height of top buffer to properly push the visible rendered list items into right position\nUsually determined by `_first` visible index * `itemHeight`"},"sources":[{"fileName":"src/virtual-repeat.ts","line":99,"character":2}],"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.topBufferHeight"}},{"id":34,"name":"value","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":149,"character":2}],"type":{"type":"intrinsic","name":"any"}},{"id":39,"name":"viewFactory","kind":1024,"kindString":"Property","flags":{"isReadonly":true},"sources":[{"fileName":"src/virtual-repeat.ts","line":166,"character":11}],"type":{"type":"reference","qualifiedName":"BoundViewFactory","package":"aurelia-templating","name":"BoundViewFactory"}},{"id":38,"name":"viewSlot","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":164,"character":2}],"type":{"type":"reference","name":"IViewSlot"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.viewSlot"}},{"id":150,"name":"addView","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1087,"character":2}],"signatures":[{"id":151,"name":"addView","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":152,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":153,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"OverrideContext","package":"aurelia-binding","name":"OverrideContext"}}],"type":{"type":"reference","name":"IView"},"overwrites":{"type":"reference","name":"AbstractRepeater.addView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.addView"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.addView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.addView"}},{"id":74,"name":"attached","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":339,"character":2}],"signatures":[{"id":75,"name":"attached","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"type":{"type":"intrinsic","name":"void"}}]},{"id":70,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":334,"character":2}],"signatures":[{"id":71,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":72,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":73,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"OverrideContext","package":"aurelia-binding","name":"OverrideContext"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":76,"name":"call","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":384,"character":2}],"signatures":[{"id":77,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":78,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"union","types":[{"type":"literal","value":"handleCollectionMutated"},{"type":"literal","value":"handleInnerCollectionMutated"}]}},{"id":79,"name":"changes","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"},{"type":"intrinsic","name":"any"}],"qualifiedName":"ICollectionObserverSplice","package":"aurelia-binding","name":"ICollectionObserverSplice"}}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":80,"name":"detached","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":389,"character":2}],"signatures":[{"id":81,"name":"detached","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"type":{"type":"intrinsic","name":"void"}}]},{"id":94,"name":"enableScroll","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":524,"character":2}],"signatures":[{"id":95,"name":"enableScroll","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.enableScroll"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.enableScroll"}},{"id":124,"name":"firstView","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":934,"character":2}],"signatures":[{"id":125,"name":"firstView","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","name":"IView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.firstView"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.firstView"}},{"id":128,"name":"firstViewIndex","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":942,"character":2}],"signatures":[{"id":129,"name":"firstViewIndex","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.firstViewIndex"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.firstViewIndex"}},{"id":113,"name":"getMore","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":842,"character":2}],"signatures":[{"id":114,"name":"getMore","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":115,"name":"topIndex","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}},{"id":116,"name":"isNearTop","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}},{"id":117,"name":"isNearBottom","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}},{"id":118,"name":"force","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.getMore"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.getMore"}},{"id":96,"name":"getScroller","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":533,"character":2}],"signatures":[{"id":97,"name":"getScroller","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Get the real scroller element of the DOM tree this repeat resides in"},"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.getScroller"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.getScroller"}},{"id":98,"name":"getScrollerInfo","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":540,"character":2}],"signatures":[{"id":99,"name":"getScrollerInfo","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Get scrolling information of the real scroller element of the DOM tree this repeat resides in"},"type":{"type":"reference","name":"IScrollerInfo"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.getScrollerInfo"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.getScrollerInfo"}},{"id":86,"name":"handleCollectionMutated","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":492,"character":2}],"signatures":[{"id":87,"name":"handleCollectionMutated","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":88,"name":"collection","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}}},{"id":89,"name":"changes","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"},{"type":"intrinsic","name":"any"}],"qualifiedName":"ICollectionObserverSplice","package":"aurelia-binding","name":"ICollectionObserverSplice"}}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":90,"name":"handleInnerCollectionMutated","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":503,"character":2}],"signatures":[{"id":91,"name":"handleInnerCollectionMutated","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":92,"name":"collection","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}}},{"id":93,"name":"changes","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"},{"type":"intrinsic","name":"any"}],"qualifiedName":"ICollectionObserverSplice","package":"aurelia-binding","name":"ICollectionObserverSplice"}}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":154,"name":"insertView","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1095,"character":2}],"signatures":[{"id":155,"name":"insertView","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":156,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}},{"id":157,"name":"bindingContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":158,"name":"overrideContext","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"OverrideContext","package":"aurelia-binding","name":"OverrideContext"}}],"type":{"type":"intrinsic","name":"void"},"overwrites":{"type":"reference","name":"AbstractRepeater.insertView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.insertView"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.insertView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.insertView"}},{"id":84,"name":"itemsChanged","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":434,"character":2}],"signatures":[{"id":85,"name":"itemsChanged","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":"\n\nIf `items` is truthy, do the following calculation/work:\n\n- container fixed height flag\n- necessary initial heights\n- create new collection observer & observe for changes\n- invoke `instanceChanged` on repeat strategy to create views / move views\n- update indices\n- update scrollbar position in special scenarios\n- handle scroll as if scroll event happened\n"}]},"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.itemsChanged"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.itemsChanged"}},{"id":126,"name":"lastView","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":938,"character":2}],"signatures":[{"id":127,"name":"lastView","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","name":"IView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.lastView"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.lastView"}},{"id":130,"name":"lastViewIndex","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":947,"character":2}],"signatures":[{"id":131,"name":"lastViewIndex","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"number"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.lastViewIndex"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.lastViewIndex"}},{"id":171,"name":"matcher","kind":2048,"kindString":"Method","flags":{"isExternal":true},"sources":[{"fileName":"node_modules/aurelia-templating-resources/dist/types/aurelia-templating-resources.d.ts","line":188,"character":1}],"signatures":[{"id":172,"name":"matcher","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Returns the matcher function to be used by the repeater, or null if strict matching is to be performed.","returns":"The requested matcher function.\n"},"type":{"type":"reference","qualifiedName":"Function","package":"typescript","name":"Function"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.matcher"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.matcher"}}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.matcher"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.matcher"}},{"id":173,"name":"moveView","kind":2048,"kindString":"Method","flags":{"isExternal":true},"sources":[{"fileName":"node_modules/aurelia-templating-resources/dist/types/aurelia-templating-resources.d.ts","line":212,"character":1}],"signatures":[{"id":174,"name":"moveView","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Moves a view across the repeater."},"parameters":[{"id":175,"name":"sourceIndex","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"comment":{"shortText":"The index of the view to be moved."},"type":{"type":"intrinsic","name":"any"}},{"id":176,"name":"targetIndex","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.moveView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.moveView"}}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.moveView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.moveView"}},{"id":132,"name":"observeScroller","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":955,"character":2}],"signatures":[{"id":133,"name":"observeScroller","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Observe scroller element to react upon sizing changes"},"parameters":[{"id":134,"name":"scrollerEl","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HTMLElement","package":"typescript","name":"HTMLElement"}}],"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.observeScroller"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.observeScroller"}},{"id":159,"name":"removeAllViews","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1102,"character":2}],"signatures":[{"id":160,"name":"removeAllViews","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":161,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}},{"id":162,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"union","types":[{"type":"intrinsic","name":"void"},{"type":"reference","typeArguments":[{"type":"intrinsic","name":"void"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}]},"overwrites":{"type":"reference","name":"AbstractRepeater.removeAllViews"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeAllViews"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.removeAllViews"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeAllViews"}},{"id":163,"name":"removeView","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1107,"character":2}],"signatures":[{"id":164,"name":"removeView","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":165,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}},{"id":166,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}},{"id":167,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"union","types":[{"type":"reference","name":"IView"},{"type":"reference","typeArguments":[{"type":"reference","name":"IView"}],"qualifiedName":"Promise","package":"typescript","name":"Promise"}]},"overwrites":{"type":"reference","name":"AbstractRepeater.removeView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeView"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.removeView"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeView"}},{"id":177,"name":"removeViews","kind":2048,"kindString":"Method","flags":{"isExternal":true},"sources":[{"fileName":"node_modules/aurelia-templating-resources/dist/types/aurelia-templating-resources.d.ts","line":227,"character":1}],"signatures":[{"id":178,"name":"removeViews","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Removes an array of Views from the repeater."},"parameters":[{"id":179,"name":"viewsToRemove","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"comment":{"shortText":"The array of views to be removed."},"type":{"type":"array","elementType":{"type":"reference","qualifiedName":"View","package":"aurelia-templating","name":"View"}}},{"id":180,"name":"returnToCache","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"comment":{"shortText":"Should the view be returned to the view cache?"},"type":{"type":"intrinsic","name":"boolean"}},{"id":181,"name":"skipAnimation","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"comment":{"shortText":"Should the removal animation be skipped?\n"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"AbstractRepeater.removeViews"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeViews"}}],"inheritedFrom":{"type":"reference","name":"AbstractRepeater.removeViews"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.removeViews"}},{"id":100,"name":"resetCalculation","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":553,"character":2}],"signatures":[{"id":101,"name":"resetCalculation","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.resetCalculation"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.resetCalculation"}},{"id":82,"name":"unbind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":416,"character":2}],"signatures":[{"id":83,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"type":{"type":"intrinsic","name":"void"}}]},{"id":135,"name":"unobserveScroller","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1013,"character":2}],"signatures":[{"id":136,"name":"unobserveScroller","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Dispose scroller content size observer, if has\nDispose all event listeners related to sizing of scroller, if any"},"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.unobserveScroller"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.unobserveScroller"}},{"id":168,"name":"updateBindings","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1112,"character":2}],"signatures":[{"id":169,"name":"updateBindings","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":170,"name":"view","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"IView"}}],"type":{"type":"intrinsic","name":"void"},"overwrites":{"type":"reference","name":"AbstractRepeater.updateBindings"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.updateBindings"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.updateBindings"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.updateBindings"}},{"id":119,"name":"updateBufferElements","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":916,"character":2}],"signatures":[{"id":120,"name":"updateBufferElements","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":121,"name":"skipUpdate","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"void"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.updateBufferElements"}}],"implementationOf":{"type":"reference","name":"IVirtualRepeater.updateBufferElements"}},{"id":147,"name":"view","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1081,"character":2}],"signatures":[{"id":148,"name":"view","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"parameters":[{"id":149,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","name":"IView"},"overwrites":{"type":"reference","name":"AbstractRepeater.view"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.view"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.view"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.view"}},{"id":143,"name":"viewCount","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1071,"character":2}],"signatures":[{"id":144,"name":"viewCount","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"type":{"type":"intrinsic","name":"number"},"overwrites":{"type":"reference","name":"AbstractRepeater.viewCount"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.viewCount"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.viewCount"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.viewCount"}},{"id":145,"name":"views","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/virtual-repeat.ts","line":1076,"character":2}],"signatures":[{"id":146,"name":"views","kind":4096,"kindString":"Call signature","flags":{},"comment":{"tags":[{"tag":"override","text":""}]},"type":{"type":"array","elementType":{"type":"reference","name":"IView"}},"overwrites":{"type":"reference","name":"AbstractRepeater.views"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.views"}}],"overwrites":{"type":"reference","name":"AbstractRepeater.views"},"implementationOf":{"type":"reference","name":"IVirtualRepeater.views"}}],"groups":[{"title":"Constructors","kind":512,"children":[15]},{"title":"Properties","kind":1024,"children":[25,59,27,69,61,53,60,35,33,36,62,50,63,57,58,26,34,39,38]},{"title":"Methods","kind":2048,"children":[150,74,70,76,80,94,124,128,113,96,98,86,90,154,84,126,130,171,173,132,159,163,177,100,82,135,168,119,147,143,145]}],"sources":[{"fileName":"src/virtual-repeat.ts","line":63,"character":13}],"extendedTypes":[{"type":"reference","qualifiedName":"AbstractRepeater","package":"aurelia-templating-resources","name":"AbstractRepeater"}],"implementedTypes":[{"type":"reference","name":"IVirtualRepeater"}]},{"id":190,"name":"IScrollNextScrollContext","kind":256,"kindString":"Interface","flags":{},"children":[{"id":192,"name":"isAtBottom","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":8,"character":2}],"type":{"type":"intrinsic","name":"boolean"}},{"id":193,"name":"isAtTop","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":9,"character":2}],"type":{"type":"intrinsic","name":"boolean"}},{"id":191,"name":"topIndex","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":7,"character":2}],"type":{"type":"intrinsic","name":"number"}}],"groups":[{"title":"Properties","kind":1024,"children":[192,193,191]}],"sources":[{"fileName":"src/interfaces.ts","line":6,"character":17}]},{"id":198,"name":"RepeatableValue","kind":4194304,"kindString":"Type alias","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":192,"character":12}],"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"array","elementType":{"type":"intrinsic","name":"any"}},{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"},{"type":"intrinsic","name":"any"}],"qualifiedName":"Map","package":"typescript","name":"Map"},{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"}],"qualifiedName":"Set","package":"typescript","name":"Set"}]}},{"id":194,"name":"VirtualizationEvents","kind":32,"kindString":"Variable","flags":{"isConst":true},"comment":{"shortText":"List of events that can be used to notify virtual repeat that size has changed"},"sources":[{"fileName":"src/interfaces.ts","line":367,"character":13}],"type":{"type":"reflection","declaration":{"id":195,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"children":[{"id":197,"name":"itemSizeChange","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":372,"character":2}],"type":{"type":"literal","value":"virtual-repeat-item-size-changed"}},{"id":196,"name":"scrollerSizeChange","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/interfaces.ts","line":371,"character":2}],"type":{"type":"literal","value":"virtual-repeat-scroller-size-changed"}}],"groups":[{"title":"Properties","kind":1024,"children":[197,196]}]}},"defaultValue":"..."},{"id":1,"name":"configure","kind":64,"kindString":"Function","flags":{},"sources":[{"fileName":"src/aurelia-ui-virtualization.ts","line":4,"character":16}],"signatures":[{"id":2,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":3,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reflection","declaration":{"id":4,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"children":[{"id":5,"name":"globalResources","kind":2048,"kindString":"Method","flags":{},"signatures":[{"id":6,"name":"globalResources","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":7,"name":"args","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}}}],"type":{"type":"intrinsic","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[5]}]}}}],"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Classes","kind":128,"children":[182,8]},{"title":"Interfaces","kind":256,"children":[190]},{"title":"Type aliases","kind":4194304,"children":[198]},{"title":"Variables","kind":32,"children":[194]},{"title":"Functions","kind":64,"children":[1]}],"sources":[{"fileName":"src/aurelia-ui-virtualization.ts","line":1,"character":0}]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index aface98..4894eda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aurelia-ui-virtualization", - "version": "1.0.0-rc2", + "version": "1.0.0-rc3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "aurelia-ui-virtualization", - "version": "1.0.0-rc2", + "version": "1.0.0-rc3", "license": "MIT", "dependencies": { "aurelia-binding": "^2.1.7", diff --git a/package.json b/package.json index 15a7b64..02270d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurelia-ui-virtualization", - "version": "1.0.0-rc2", + "version": "1.0.0-rc3", "description": "A plugin that provides a virtualized repeater and other virtualization services.", "keywords": [ "aurelia", @@ -17,7 +17,7 @@ "module": "dist/native-modules/aurelia-ui-virtualization.js", "browser": "dist/umd/aurelia-ui-virtualization.js", "unpkg": "dist/umd-es2015/aurelia-ui-virtualization.js", - "typings": "dist/aurelia-ui-virtualization.d.ts", + "typings": "dist/types/aurelia-ui-virtualization.d.ts", "repository": { "type": "git", "url": "http://github.com/aurelia/ui-virtualization" diff --git a/typings.json b/typings.json index 84aabfb..1f172b2 100644 --- a/typings.json +++ b/typings.json @@ -1,4 +1,4 @@ { "name": "aurelia-ui-virtualization", - "main": "dist/aurelia-ui-virtualization.d.ts" + "main": "dist/types/aurelia-ui-virtualization.d.ts" }