blob: fc664a9e3d071adf65039e5a8aec68544d7593b5 [file] [log] [blame]
{"version":3,"file":"testing.js","sources":["../../../packages/platform-browser-dynamic/esm5/testing/src/dom_test_component_renderer.js","../../../packages/platform-browser-dynamic/esm5/testing/src/metadata_overrider.js","../../../packages/platform-browser-dynamic/esm5/testing/src/compiler_factory.js","../../../packages/platform-browser-dynamic/esm5/testing/src/platform_core_dynamic_testing.js","../../../packages/platform-browser-dynamic/esm5/testing/src/private_export_testing.js","../../../packages/platform-browser-dynamic/esm5/testing/src/testing.js","../../../packages/platform-browser-dynamic/esm5/testing/public_api.js","../../../packages/platform-browser-dynamic/esm5/testing/testing.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { Inject, Injectable } from '@angular/core';\nimport { TestComponentRenderer } from '@angular/core/testing';\nimport { DOCUMENT, ɵgetDOM as getDOM } from '@angular/platform-browser';\n/**\n * A DOM based implementation of the TestComponentRenderer.\n */\nvar DOMTestComponentRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(DOMTestComponentRenderer, _super);\n function DOMTestComponentRenderer(_doc /** TODO #9100 */) {\n var _this = _super.call(this) || this;\n _this._doc = _doc;\n return _this;\n }\n /**\n * @param {?} rootElId\n * @return {?}\n */\n DOMTestComponentRenderer.prototype.insertRootElement = /**\n * @param {?} rootElId\n * @return {?}\n */\n function (rootElId) {\n var /** @type {?} */ rootEl = /** @type {?} */ (getDOM().firstChild(getDOM().content(getDOM().createTemplate(\"<div id=\\\"\" + rootElId + \"\\\"></div>\"))));\n // TODO(juliemr): can/should this be optional?\n var /** @type {?} */ oldRoots = getDOM().querySelectorAll(this._doc, '[id^=root]');\n for (var /** @type {?} */ i = 0; i < oldRoots.length; i++) {\n getDOM().remove(oldRoots[i]);\n }\n getDOM().appendChild(this._doc.body, rootEl);\n };\n DOMTestComponentRenderer.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n DOMTestComponentRenderer.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },\n ]; };\n return DOMTestComponentRenderer;\n}(TestComponentRenderer));\nexport { DOMTestComponentRenderer };\nfunction DOMTestComponentRenderer_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */\n DOMTestComponentRenderer.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}\n */\n DOMTestComponentRenderer.ctorParameters;\n /** @type {?} */\n DOMTestComponentRenderer.prototype._doc;\n}\n//# sourceMappingURL=dom_test_component_renderer.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { ɵstringify as stringify } from '@angular/core';\nvar /** @type {?} */ _nextReferenceId = 0;\nvar MetadataOverrider = /** @class */ (function () {\n function MetadataOverrider() {\n this._references = new Map();\n }\n /**\n * Creates a new instance for the given metadata class\n * based on an old instance and overrides.\n */\n /**\n * Creates a new instance for the given metadata class\n * based on an old instance and overrides.\n * @template C, T\n * @param {?} metadataClass\n * @param {?} oldMetadata\n * @param {?} override\n * @return {?}\n */\n MetadataOverrider.prototype.overrideMetadata = /**\n * Creates a new instance for the given metadata class\n * based on an old instance and overrides.\n * @template C, T\n * @param {?} metadataClass\n * @param {?} oldMetadata\n * @param {?} override\n * @return {?}\n */\n function (metadataClass, oldMetadata, override) {\n var /** @type {?} */ props = {};\n if (oldMetadata) {\n _valueProps(oldMetadata).forEach(function (prop) { return props[prop] = (/** @type {?} */ (oldMetadata))[prop]; });\n }\n if (override.set) {\n if (override.remove || override.add) {\n throw new Error(\"Cannot set and add/remove \" + stringify(metadataClass) + \" at the same time!\");\n }\n setMetadata(props, override.set);\n }\n if (override.remove) {\n removeMetadata(props, override.remove, this._references);\n }\n if (override.add) {\n addMetadata(props, override.add);\n }\n return new metadataClass(/** @type {?} */ (props));\n };\n return MetadataOverrider;\n}());\nexport { MetadataOverrider };\nfunction MetadataOverrider_tsickle_Closure_declarations() {\n /** @type {?} */\n MetadataOverrider.prototype._references;\n}\n/**\n * @param {?} metadata\n * @param {?} remove\n * @param {?} references\n * @return {?}\n */\nfunction removeMetadata(metadata, remove, references) {\n var /** @type {?} */ removeObjects = new Set();\n var _loop_1 = function (prop) {\n var /** @type {?} */ removeValue = remove[prop];\n if (removeValue instanceof Array) {\n removeValue.forEach(function (value) { removeObjects.add(_propHashKey(prop, value, references)); });\n }\n else {\n removeObjects.add(_propHashKey(prop, removeValue, references));\n }\n };\n for (var /** @type {?} */ prop in remove) {\n _loop_1(prop);\n }\n var _loop_2 = function (prop) {\n var /** @type {?} */ propValue = metadata[prop];\n if (propValue instanceof Array) {\n metadata[prop] = propValue.filter(function (value) { return !removeObjects.has(_propHashKey(prop, value, references)); });\n }\n else {\n if (removeObjects.has(_propHashKey(prop, propValue, references))) {\n metadata[prop] = undefined;\n }\n }\n };\n for (var /** @type {?} */ prop in metadata) {\n _loop_2(prop);\n }\n}\n/**\n * @param {?} metadata\n * @param {?} add\n * @return {?}\n */\nfunction addMetadata(metadata, add) {\n for (var /** @type {?} */ prop in add) {\n var /** @type {?} */ addValue = add[prop];\n var /** @type {?} */ propValue = metadata[prop];\n if (propValue != null && propValue instanceof Array) {\n metadata[prop] = propValue.concat(addValue);\n }\n else {\n metadata[prop] = addValue;\n }\n }\n}\n/**\n * @param {?} metadata\n * @param {?} set\n * @return {?}\n */\nfunction setMetadata(metadata, set) {\n for (var /** @type {?} */ prop in set) {\n metadata[prop] = set[prop];\n }\n}\n/**\n * @param {?} propName\n * @param {?} propValue\n * @param {?} references\n * @return {?}\n */\nfunction _propHashKey(propName, propValue, references) {\n var /** @type {?} */ replacer = function (key, value) {\n if (typeof value === 'function') {\n value = _serializeReference(value, references);\n }\n return value;\n };\n return propName + \":\" + JSON.stringify(propValue, replacer);\n}\n/**\n * @param {?} ref\n * @param {?} references\n * @return {?}\n */\nfunction _serializeReference(ref, references) {\n var /** @type {?} */ id = references.get(ref);\n if (!id) {\n id = \"\" + stringify(ref) + _nextReferenceId++;\n references.set(ref, id);\n }\n return id;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction _valueProps(obj) {\n var /** @type {?} */ props = [];\n // regular public props\n Object.keys(obj).forEach(function (prop) {\n if (!prop.startsWith('_')) {\n props.push(prop);\n }\n });\n // getters\n var /** @type {?} */ proto = obj;\n while (proto = Object.getPrototypeOf(proto)) {\n Object.keys(proto).forEach(function (protoProp) {\n var /** @type {?} */ desc = Object.getOwnPropertyDescriptor(proto, protoProp);\n if (!protoProp.startsWith('_') && desc && 'get' in desc) {\n props.push(protoProp);\n }\n });\n }\n return props;\n}\n//# sourceMappingURL=metadata_overrider.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { CompileReflector, DirectiveResolver, ERROR_COMPONENT_TYPE, NgModuleResolver, PipeResolver } from '@angular/compiler';\nimport { MockDirectiveResolver, MockNgModuleResolver, MockPipeResolver } from '@angular/compiler/testing';\nimport { Component, Directive, NgModule, Pipe, ɵstringify } from '@angular/core';\nimport { MetadataOverrider } from './metadata_overrider';\nexport var /** @type {?} */ COMPILER_PROVIDERS = [\n { provide: MockPipeResolver, deps: [CompileReflector] },\n { provide: PipeResolver, useExisting: MockPipeResolver },\n { provide: MockDirectiveResolver, deps: [CompileReflector] },\n { provide: DirectiveResolver, useExisting: MockDirectiveResolver },\n { provide: MockNgModuleResolver, deps: [CompileReflector] },\n { provide: NgModuleResolver, useExisting: MockNgModuleResolver },\n];\nvar TestingCompilerFactoryImpl = /** @class */ (function () {\n function TestingCompilerFactoryImpl(_injector, _compilerFactory) {\n this._injector = _injector;\n this._compilerFactory = _compilerFactory;\n }\n /**\n * @param {?} options\n * @return {?}\n */\n TestingCompilerFactoryImpl.prototype.createTestingCompiler = /**\n * @param {?} options\n * @return {?}\n */\n function (options) {\n var /** @type {?} */ compiler = /** @type {?} */ (this._compilerFactory.createCompiler(options));\n return new TestingCompilerImpl(compiler, compiler.injector.get(MockDirectiveResolver), compiler.injector.get(MockPipeResolver), compiler.injector.get(MockNgModuleResolver));\n };\n return TestingCompilerFactoryImpl;\n}());\nexport { TestingCompilerFactoryImpl };\nfunction TestingCompilerFactoryImpl_tsickle_Closure_declarations() {\n /** @type {?} */\n TestingCompilerFactoryImpl.prototype._injector;\n /** @type {?} */\n TestingCompilerFactoryImpl.prototype._compilerFactory;\n}\nvar TestingCompilerImpl = /** @class */ (function () {\n function TestingCompilerImpl(_compiler, _directiveResolver, _pipeResolver, _moduleResolver) {\n this._compiler = _compiler;\n this._directiveResolver = _directiveResolver;\n this._pipeResolver = _pipeResolver;\n this._moduleResolver = _moduleResolver;\n this._overrider = new MetadataOverrider();\n }\n Object.defineProperty(TestingCompilerImpl.prototype, \"injector\", {\n get: /**\n * @return {?}\n */\n function () { return this._compiler.injector; },\n enumerable: true,\n configurable: true\n });\n /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n TestingCompilerImpl.prototype.compileModuleSync = /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n return this._compiler.compileModuleSync(moduleType);\n };\n /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n TestingCompilerImpl.prototype.compileModuleAsync = /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n return this._compiler.compileModuleAsync(moduleType);\n };\n /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n TestingCompilerImpl.prototype.compileModuleAndAllComponentsSync = /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n return this._compiler.compileModuleAndAllComponentsSync(moduleType);\n };\n /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n TestingCompilerImpl.prototype.compileModuleAndAllComponentsAsync = /**\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType);\n };\n /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n TestingCompilerImpl.prototype.getComponentFactory = /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n function (component) {\n return this._compiler.getComponentFactory(component);\n };\n /**\n * @param {?} type\n * @return {?}\n */\n TestingCompilerImpl.prototype.checkOverrideAllowed = /**\n * @param {?} type\n * @return {?}\n */\n function (type) {\n if (this._compiler.hasAotSummary(type)) {\n throw new Error(ɵstringify(type) + \" was AOT compiled, so its metadata cannot be changed.\");\n }\n };\n /**\n * @param {?} ngModule\n * @param {?} override\n * @return {?}\n */\n TestingCompilerImpl.prototype.overrideModule = /**\n * @param {?} ngModule\n * @param {?} override\n * @return {?}\n */\n function (ngModule, override) {\n this.checkOverrideAllowed(ngModule);\n var /** @type {?} */ oldMetadata = this._moduleResolver.resolve(ngModule, false);\n this._moduleResolver.setNgModule(ngModule, this._overrider.overrideMetadata(NgModule, oldMetadata, override));\n this.clearCacheFor(ngModule);\n };\n /**\n * @param {?} directive\n * @param {?} override\n * @return {?}\n */\n TestingCompilerImpl.prototype.overrideDirective = /**\n * @param {?} directive\n * @param {?} override\n * @return {?}\n */\n function (directive, override) {\n this.checkOverrideAllowed(directive);\n var /** @type {?} */ oldMetadata = this._directiveResolver.resolve(directive, false);\n this._directiveResolver.setDirective(directive, this._overrider.overrideMetadata(Directive, /** @type {?} */ ((oldMetadata)), override));\n this.clearCacheFor(directive);\n };\n /**\n * @param {?} component\n * @param {?} override\n * @return {?}\n */\n TestingCompilerImpl.prototype.overrideComponent = /**\n * @param {?} component\n * @param {?} override\n * @return {?}\n */\n function (component, override) {\n this.checkOverrideAllowed(component);\n var /** @type {?} */ oldMetadata = this._directiveResolver.resolve(component, false);\n this._directiveResolver.setDirective(component, this._overrider.overrideMetadata(Component, /** @type {?} */ ((oldMetadata)), override));\n this.clearCacheFor(component);\n };\n /**\n * @param {?} pipe\n * @param {?} override\n * @return {?}\n */\n TestingCompilerImpl.prototype.overridePipe = /**\n * @param {?} pipe\n * @param {?} override\n * @return {?}\n */\n function (pipe, override) {\n this.checkOverrideAllowed(pipe);\n var /** @type {?} */ oldMetadata = this._pipeResolver.resolve(pipe, false);\n this._pipeResolver.setPipe(pipe, this._overrider.overrideMetadata(Pipe, oldMetadata, override));\n this.clearCacheFor(pipe);\n };\n /**\n * @param {?} summaries\n * @return {?}\n */\n TestingCompilerImpl.prototype.loadAotSummaries = /**\n * @param {?} summaries\n * @return {?}\n */\n function (summaries) { this._compiler.loadAotSummaries(summaries); };\n /**\n * @return {?}\n */\n TestingCompilerImpl.prototype.clearCache = /**\n * @return {?}\n */\n function () { this._compiler.clearCache(); };\n /**\n * @param {?} type\n * @return {?}\n */\n TestingCompilerImpl.prototype.clearCacheFor = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { this._compiler.clearCacheFor(type); };\n /**\n * @param {?} error\n * @return {?}\n */\n TestingCompilerImpl.prototype.getComponentFromError = /**\n * @param {?} error\n * @return {?}\n */\n function (error) { return (/** @type {?} */ (error))[ERROR_COMPONENT_TYPE] || null; };\n return TestingCompilerImpl;\n}());\nexport { TestingCompilerImpl };\nfunction TestingCompilerImpl_tsickle_Closure_declarations() {\n /** @type {?} */\n TestingCompilerImpl.prototype._overrider;\n /** @type {?} */\n TestingCompilerImpl.prototype._compiler;\n /** @type {?} */\n TestingCompilerImpl.prototype._directiveResolver;\n /** @type {?} */\n TestingCompilerImpl.prototype._pipeResolver;\n /** @type {?} */\n TestingCompilerImpl.prototype._moduleResolver;\n}\n//# sourceMappingURL=compiler_factory.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { COMPILER_OPTIONS, CompilerFactory, Injector, createPlatformFactory } from '@angular/core';\nimport { ɵTestingCompilerFactory as TestingCompilerFactory } from '@angular/core/testing';\nimport { ɵplatformCoreDynamic as platformCoreDynamic } from '@angular/platform-browser-dynamic';\nimport { COMPILER_PROVIDERS, TestingCompilerFactoryImpl } from './compiler_factory';\n/**\n * Platform for dynamic tests\n *\n * \\@experimental\n */\nexport var /** @type {?} */ platformCoreDynamicTesting = createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [\n { provide: COMPILER_OPTIONS, useValue: { providers: COMPILER_PROVIDERS }, multi: true }, {\n provide: TestingCompilerFactory,\n useClass: TestingCompilerFactoryImpl,\n deps: [Injector, CompilerFactory]\n }\n]);\n//# sourceMappingURL=platform_core_dynamic_testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport { DOMTestComponentRenderer as ɵDOMTestComponentRenderer } from './dom_test_component_renderer';\nexport { platformCoreDynamicTesting as ɵplatformCoreDynamicTesting } from './platform_core_dynamic_testing';\n//# sourceMappingURL=private_export_testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { NgModule, createPlatformFactory } from '@angular/core';\nimport { TestComponentRenderer } from '@angular/core/testing';\nimport { ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS } from '@angular/platform-browser-dynamic';\nimport { BrowserTestingModule } from '@angular/platform-browser/testing';\nimport { DOMTestComponentRenderer } from './dom_test_component_renderer';\nimport { platformCoreDynamicTesting } from './platform_core_dynamic_testing';\nexport { ɵDOMTestComponentRenderer, ɵplatformCoreDynamicTesting } from './private_export_testing';\n/**\n * \\@stable\n */\nexport var /** @type {?} */ platformBrowserDynamicTesting = createPlatformFactory(platformCoreDynamicTesting, 'browserDynamicTesting', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);\n/**\n * NgModule for testing.\n *\n * \\@stable\n */\nvar BrowserDynamicTestingModule = /** @class */ (function () {\n function BrowserDynamicTestingModule() {\n }\n BrowserDynamicTestingModule.decorators = [\n { type: NgModule, args: [{\n exports: [BrowserTestingModule],\n providers: [\n { provide: TestComponentRenderer, useClass: DOMTestComponentRenderer },\n ]\n },] },\n ];\n /** @nocollapse */\n BrowserDynamicTestingModule.ctorParameters = function () { return []; };\n return BrowserDynamicTestingModule;\n}());\nexport { BrowserDynamicTestingModule };\nfunction BrowserDynamicTestingModule_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */\n BrowserDynamicTestingModule.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}\n */\n BrowserDynamicTestingModule.ctorParameters;\n}\n//# sourceMappingURL=testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { platformBrowserDynamicTesting, BrowserDynamicTestingModule, ɵDOMTestComponentRenderer, ɵplatformCoreDynamicTesting } from './src/testing';\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { platformBrowserDynamicTesting, BrowserDynamicTestingModule, ɵDOMTestComponentRenderer, ɵplatformCoreDynamicTesting } from './public_api';\nexport { COMPILER_PROVIDERS as ɵa, TestingCompilerFactoryImpl as ɵb } from './src/compiler_factory';\n//# sourceMappingURL=testing.js.map"],"names":["tslib_1.__extends","getDOM","stringify","platformCoreDynamic","TestingCompilerFactory","INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;;AAWA,AAIA;;;AAGA,IAAI,wBAAwB,kBAAkB,UAAU,MAAM,EAAE;IAC5DA,SAAiB,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACpD,SAAS,wBAAwB,CAAC,IAAI,oBAAoB;QACtD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,KAAK,CAAC;KAChB;;;;;IAKD,wBAAwB,CAAC,SAAS,CAAC,iBAAiB;;;;IAIpD,UAAU,QAAQ,EAAE;QAChB,qBAAqB,MAAM,qBAAqBC,OAAM,EAAE,CAAC,UAAU,CAACA,OAAM,EAAE,CAAC,OAAO,CAACA,OAAM,EAAE,CAAC,cAAc,CAAC,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;;QAEvJ,qBAAqB,QAAQ,GAAGA,OAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnF,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvDA,OAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAChC;QACDA,OAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;IACF,wBAAwB,CAAC,UAAU,GAAG;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE;KACvB,CAAC;;IAEF,wBAAwB,CAAC,cAAc,GAAG,YAAY,EAAE,OAAO;QAC3D,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;KAC1E,CAAC,EAAE,CAAC;IACL,OAAO,wBAAwB,CAAC;CACnC,CAAC,qBAAqB,CAAC,CAAC;;AClDzB;;;;;;;;;;;AAWA,AACA,IAAqB,gBAAgB,GAAG,CAAC,CAAC;AAC1C,IAAI,iBAAiB,kBAAkB,YAAY;IAC/C,SAAS,iBAAiB,GAAG;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;KAChC;;;;;;;;;;;;;;IAcD,iBAAiB,CAAC,SAAS,CAAC,gBAAgB;;;;;;;;;IAS5C,UAAU,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC5C,qBAAqB,KAAK,GAAG,EAAE,CAAC;QAChC,IAAI,WAAW,EAAE;YACb,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,WAAW,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SACtH;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE;YACd,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAGC,UAAS,CAAC,aAAa,CAAC,GAAG,oBAAoB,CAAC,CAAC;aACnG;YACD,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE;YACjB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5D;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE;YACd,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,OAAO,IAAI,aAAa,mBAAmB,KAAK,EAAE,CAAC;KACtD,CAAC;IACF,OAAO,iBAAiB,CAAC;CAC5B,EAAE,CAAC,CAAC;AACL,AAKA;;;;;;AAMA,SAAS,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;IAClD,qBAAqB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/C,IAAI,OAAO,GAAG,UAAU,IAAI,EAAE;QAC1B,qBAAqB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,YAAY,KAAK,EAAE;YAC9B,WAAW,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvG;aACI;YACD,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;SAClE;KACJ,CAAC;IACF,KAAK,qBAAqB,IAAI,IAAI,MAAM,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC;KACjB;IACD,IAAI,OAAO,GAAG,UAAU,IAAI,EAAE;QAC1B,qBAAqB,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,SAAS,YAAY,KAAK,EAAE;YAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7H;aACI;YACD,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE;gBAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;aAC9B;SACJ;KACJ,CAAC;IACF,KAAK,qBAAqB,IAAI,IAAI,QAAQ,EAAE;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC;KACjB;CACJ;;;;;;AAMD,SAAS,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE;IAChC,KAAK,qBAAqB,IAAI,IAAI,GAAG,EAAE;QACnC,qBAAqB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,qBAAqB,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,YAAY,KAAK,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC/C;aACI;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SAC7B;KACJ;CACJ;;;;;;AAMD,SAAS,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE;IAChC,KAAK,qBAAqB,IAAI,IAAI,GAAG,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;KAC9B;CACJ;;;;;;;AAOD,SAAS,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;IACnD,qBAAqB,QAAQ,GAAG,UAAU,GAAG,EAAE,KAAK,EAAE;QAClD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAClD;QACD,OAAO,KAAK,CAAC;KAChB,CAAC;IACF,OAAO,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CAC/D;;;;;;AAMD,SAAS,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE;IAC1C,qBAAqB,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,EAAE;QACL,EAAE,GAAG,EAAE,GAAGA,UAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,CAAC;QAC9C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KAC3B;IACD,OAAO,EAAE,CAAC;CACb;;;;;AAKD,SAAS,WAAW,CAAC,GAAG,EAAE;IACtB,qBAAqB,KAAK,GAAG,EAAE,CAAC;;IAEhC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;KACJ,CAAC,CAAC;;IAEH,qBAAqB,KAAK,GAAG,GAAG,CAAC;IACjC,OAAO,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;YAC5C,qBAAqB,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;gBACrD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACzB;SACJ,CAAC,CAAC;KACN;IACD,OAAO,KAAK,CAAC;CAChB;;AClLD;;;;;;;;;;;AAWA,AAIO,IAAqB,kBAAkB,GAAG;IAC7C,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACvD,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACxD,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE;IAC5D,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAClE,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE;IAC3D,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE;CACnE,CAAC;AACF,IAAI,0BAA0B,kBAAkB,YAAY;IACxD,SAAS,0BAA0B,CAAC,SAAS,EAAE,gBAAgB,EAAE;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;KAC5C;;;;;IAKD,0BAA0B,CAAC,SAAS,CAAC,qBAAqB;;;;IAI1D,UAAU,OAAO,EAAE;QACf,qBAAqB,QAAQ,qBAAqB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACjG,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;KAChL,CAAC;IACF,OAAO,0BAA0B,CAAC;CACrC,EAAE,CAAC,CAAC;AACL,AAOA,IAAI,mBAAmB,kBAAkB,YAAY;IACjD,SAAS,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE;QACxF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;KAC7C;IACD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE;QAC7D,GAAG;;;QAGH,YAAY,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;;;;;;IAMH,mBAAmB,CAAC,SAAS,CAAC,iBAAiB;;;;;IAK/C,UAAU,UAAU,EAAE;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,kBAAkB;;;;;IAKhD,UAAU,UAAU,EAAE;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;KACxD,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,iCAAiC;;;;;IAK/D,UAAU,UAAU,EAAE;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,UAAU,CAAC,CAAC;KACvE,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,kCAAkC;;;;;IAKhE,UAAU,UAAU,EAAE;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,UAAU,CAAC,CAAC;KACxE,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,mBAAmB;;;;;IAKjD,UAAU,SAAS,EAAE;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;KACxD,CAAC;;;;;IAKF,mBAAmB,CAAC,SAAS,CAAC,oBAAoB;;;;IAIlD,UAAU,IAAI,EAAE;QACZ,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,uDAAuD,CAAC,CAAC;SAC/F;KACJ,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,cAAc;;;;;IAK5C,UAAU,QAAQ,EAAE,QAAQ,EAAE;QAC1B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpC,qBAAqB,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAChC,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,iBAAiB;;;;;IAK/C,UAAU,SAAS,EAAE,QAAQ,EAAE;QAC3B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACrC,qBAAqB,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,qBAAqB,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC;QACzI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,iBAAiB;;;;;IAK/C,UAAU,SAAS,EAAE,QAAQ,EAAE;QAC3B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACrC,qBAAqB,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,qBAAqB,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC;QACzI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;;;;;;IAMF,mBAAmB,CAAC,SAAS,CAAC,YAAY;;;;;IAK1C,UAAU,IAAI,EAAE,QAAQ,EAAE;QACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,qBAAqB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC;;;;;IAKF,mBAAmB,CAAC,SAAS,CAAC,gBAAgB;;;;IAI9C,UAAU,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;;;;IAIrE,mBAAmB,CAAC,SAAS,CAAC,UAAU;;;IAGxC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;;;;IAK7C,mBAAmB,CAAC,SAAS,CAAC,aAAa;;;;IAI3C,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;;;;;IAKxD,mBAAmB,CAAC,SAAS,CAAC,qBAAqB;;;;IAInD,UAAU,KAAK,EAAE,EAAE,OAAO,mBAAmB,KAAK,GAAG,oBAAoB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IACtF,OAAO,mBAAmB,CAAC;CAC9B,EAAE,CAAC;;AClPJ;;;;;;;;;;;AAWA,AAIA;;;;;AAKA,AAAO,IAAqB,0BAA0B,GAAG,qBAAqB,CAACC,oBAAmB,EAAE,oBAAoB,EAAE;IACtH,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACrF,OAAO,EAAEC,uBAAsB;QAC/B,QAAQ,EAAE,0BAA0B;QACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;KACpC;CACJ,CAAC;;AC1BF;;;;;;;;;;GAUG;;ACVH;;;;;;;;;;;AAWA,AAOA;;;AAGA,AAAO,IAAqB,6BAA6B,GAAG,qBAAqB,CAAC,0BAA0B,EAAE,uBAAuB,EAAEC,4CAA2C,CAAC,CAAC;;;;;;AAMpL,IAAI,2BAA2B,kBAAkB,YAAY;IACzD,SAAS,2BAA2B,GAAG;KACtC;IACD,2BAA2B,CAAC,UAAU,GAAG;QACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,SAAS,EAAE;wBACP,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;qBACzE;iBACJ,EAAE,EAAE;KAChB,CAAC;;IAEF,2BAA2B,CAAC,cAAc,GAAG,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxE,OAAO,2BAA2B,CAAC;CACtC,EAAE,CAAC;;ACzCJ;;;;;;;;;;;;;;;GAeG;;ACfH;;;;;;GAMG;;;;"}