@syncfusion/ej2-vue-base 19.4.52 → 20.1.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +2 -4
- package/dist/ej2-vue-base.umd.min.js +1 -1
- package/dist/es6/ej2-vue-base.es2015.js +198 -75
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +202 -79
- package/dist/es6/ej2-vue-base.es5.js.map +1 -1
- package/dist/global/ej2-vue-base.min.js +2 -2
- package/dist/global/ej2-vue-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +6 -6
- package/postinstall.js +25 -10
- package/src/component-base.js +15 -1
- package/src/template.d.ts +1 -1
- package/src/template.js +187 -78
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
### Common
|
|
6
6
|
|
|
7
|
+
#### New Features
|
|
8
|
+
|
|
9
|
+
- `F140652`, `F138394`, `F148391`, `I309881`, `F167735`, `I228458` - Provided slot template support for the Vue components.
|
|
10
|
+
|
|
11
|
+
## 19.4.53 (2022-02-22)
|
|
12
|
+
|
|
13
|
+
### Common
|
|
14
|
+
|
|
15
|
+
#### Bug Fixes
|
|
16
|
+
|
|
17
|
+
- `I364613` - Object property templates are not working in production mode issue has been resolved.
|
|
18
|
+
|
|
19
|
+
## 19.4.52 (2022-02-15)
|
|
20
|
+
|
|
21
|
+
### Common
|
|
22
|
+
|
|
7
23
|
#### Bug Fixes
|
|
8
24
|
|
|
9
25
|
- `I362388` - Modules in provider section not works properly issue has been resolved.
|
package/README.md
CHANGED
|
@@ -78,9 +78,7 @@ Check the license detail [here](https://github.com/syncfusion/ej2-vue-ui-compone
|
|
|
78
78
|
|
|
79
79
|
## Changelog
|
|
80
80
|
|
|
81
|
-
Check the changelog [here](https://ej2.syncfusion.com/vue/documentation/release-notes
|
|
81
|
+
Check the changelog [here](https://ej2.syncfusion.com/vue/documentation/release-notes?utm_source=npm&utm_campaign=ej2-vue-base)
|
|
82
82
|
|
|
83
83
|
© Copyright 2022 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
|
|
84
|
-
The Syncfusion Essential Studio license and copyright applies to this distribution.
|
|
85
|
-
|
|
86
|
-
Added code
|
|
84
|
+
The Syncfusion Essential Studio license and copyright applies to this distribution.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: ej2-vue-base.umd.min.js
|
|
3
|
-
* version :
|
|
3
|
+
* version : 20.1.47
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
|
@@ -69,6 +69,12 @@ class ComponentBase extends vueImport {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
mounted() {
|
|
72
|
+
let cusEle = this.$el ? this.$el.querySelectorAll("div.e-directive") : null;
|
|
73
|
+
if (gh && cusEle) {
|
|
74
|
+
for (let i = 0; i < cusEle.length; i++) {
|
|
75
|
+
cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
72
78
|
this.ej2Instances.isVue = true;
|
|
73
79
|
this.ej2Instances.isVue3 = this.isVue3;
|
|
74
80
|
this.ej2Instances.vueInstance = this;
|
|
@@ -151,8 +157,16 @@ class ComponentBase extends vueImport {
|
|
|
151
157
|
dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});
|
|
152
158
|
}
|
|
153
159
|
else {
|
|
160
|
+
let propRef;
|
|
154
161
|
if (this[0] && this[0][1].slots.default) {
|
|
155
|
-
|
|
162
|
+
propRef = this[0][1].slots.default();
|
|
163
|
+
}
|
|
164
|
+
else if (this && this.$) {
|
|
165
|
+
if (this.$.slots) {
|
|
166
|
+
propRef = this.$.slots.default();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (propRef) {
|
|
156
170
|
for (let i = 0; i < propRef.length; i++) {
|
|
157
171
|
if (propRef[i].type.methods) {
|
|
158
172
|
let key = propRef[i].type.methods.getTag().replace("e-", "");
|
|
@@ -551,11 +565,9 @@ function collectDataFromConstructor(vm, Component) {
|
|
|
551
565
|
let stringCompiler = getTemplateEngine();
|
|
552
566
|
function compile(templateElement, helper) {
|
|
553
567
|
let that = this;
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
else {
|
|
558
|
-
return (data, context, propName) => {
|
|
568
|
+
return (data, context, propName, element, root) => {
|
|
569
|
+
let returnEle;
|
|
570
|
+
if (context) {
|
|
559
571
|
let pid = getUniqueID("templateParentDiv");
|
|
560
572
|
let id = getUniqueID("templateDiv");
|
|
561
573
|
let ele = createElement("div", {
|
|
@@ -563,90 +575,201 @@ function compile(templateElement, helper) {
|
|
|
563
575
|
innerHTML: '<div id="' + id + '"></div>',
|
|
564
576
|
});
|
|
565
577
|
document.body.appendChild(ele);
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
let object = tempObj;
|
|
571
|
-
let propsData = getValue("template.propsData", tempObj);
|
|
572
|
-
let dataObj = {
|
|
573
|
-
data: { data: extend(tempObj.data || {}, data) },
|
|
574
|
-
parent: context.vueInstance,
|
|
575
|
-
};
|
|
576
|
-
if (!object.template) {
|
|
577
|
-
object.template = object[Object.keys(object)[0]];
|
|
578
|
-
}
|
|
579
|
-
let templateCompRef;
|
|
580
|
-
if (object.template.extends) {
|
|
581
|
-
templateCompRef = object.template.extends._context.components.template;
|
|
582
|
-
}
|
|
583
|
-
else {
|
|
584
|
-
templateCompRef = object.template._context.components[templateElement.name];
|
|
585
|
-
}
|
|
586
|
-
let tempRef;
|
|
587
|
-
if (propsData) {
|
|
588
|
-
tempRef = Object.assign(templateCompRef.data(), propsData);
|
|
589
|
-
}
|
|
590
|
-
else {
|
|
591
|
-
tempRef = Object.assign(templateCompRef.data(), dataObj.data);
|
|
592
|
-
if (templateCompRef.components) {
|
|
593
|
-
let objkeys = Object.keys(templateCompRef.components) || [];
|
|
594
|
-
for (let objstring of objkeys) {
|
|
595
|
-
let intComponent = templateCompRef.components[objstring];
|
|
596
|
-
if (intComponent && intComponent.data) {
|
|
597
|
-
let tempRef2 = Object.assign(intComponent.data(), dataObj.data);
|
|
598
|
-
intComponent.data = function () { return tempRef2; };
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
}
|
|
603
|
-
templateCompRef.data = function () { return tempRef; };
|
|
578
|
+
if (gh && typeof templateElement === "string") {
|
|
579
|
+
let vue3Slots = getVue3Slot(context.vueInstance, templateElement, root);
|
|
580
|
+
if (vue3Slots) {
|
|
581
|
+
// Compilation for Vue 3 slot template
|
|
604
582
|
allVue
|
|
605
|
-
.createApp(
|
|
583
|
+
.createApp({
|
|
584
|
+
render() {
|
|
585
|
+
return vue3Slots[templateElement]({ data: data });
|
|
586
|
+
}
|
|
587
|
+
})
|
|
606
588
|
.mount("#" + id);
|
|
607
589
|
returnEle = ele.childNodes;
|
|
608
590
|
detach(ele);
|
|
609
591
|
}
|
|
610
592
|
else {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
593
|
+
// Compilation for Vue 3 string template
|
|
594
|
+
detach(ele);
|
|
595
|
+
return stringCompiler(templateElement, helper)(data);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
else if (gh) {
|
|
599
|
+
// Compilation for Vue 3 functional template
|
|
600
|
+
let tempObj = templateElement.call(that, {});
|
|
601
|
+
let object = tempObj;
|
|
602
|
+
let propsData = getValue("template.propsData", tempObj);
|
|
603
|
+
let dataObj = {
|
|
604
|
+
data: { data: extend(tempObj.data || {}, data) },
|
|
605
|
+
parent: context.vueInstance,
|
|
606
|
+
};
|
|
607
|
+
if (!object.template) {
|
|
608
|
+
object.template = object[Object.keys(object)[0]];
|
|
609
|
+
}
|
|
610
|
+
let templateCompRef;
|
|
611
|
+
if (object.template.extends) {
|
|
612
|
+
templateCompRef = object.template.extends._context.components.template;
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
templateCompRef = object.template._context.components[templateElement.name];
|
|
616
|
+
if (!templateCompRef) {
|
|
617
|
+
let key = Object.keys(object.template._context.components)[0];
|
|
618
|
+
templateCompRef = object.template._context.components[key];
|
|
623
619
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
620
|
+
}
|
|
621
|
+
let tempRef;
|
|
622
|
+
if (propsData) {
|
|
623
|
+
tempRef = Object.assign(templateCompRef.data(), propsData);
|
|
624
|
+
}
|
|
625
|
+
else {
|
|
626
|
+
tempRef = Object.assign(templateCompRef.data(), dataObj.data);
|
|
627
|
+
if (templateCompRef.components) {
|
|
628
|
+
let objkeys = Object.keys(templateCompRef.components) || [];
|
|
629
|
+
for (let objstring of objkeys) {
|
|
630
|
+
let intComponent = templateCompRef.components[objstring];
|
|
631
|
+
if (intComponent && intComponent.data) {
|
|
632
|
+
let tempRef2 = Object.assign(intComponent.data(), dataObj.data);
|
|
633
|
+
intComponent.data = function () { return tempRef2; };
|
|
638
634
|
}
|
|
639
|
-
templateInstance[propName].push(returnEle[0]);
|
|
640
635
|
}
|
|
641
636
|
}
|
|
637
|
+
}
|
|
638
|
+
templateCompRef.data = function () { return tempRef; };
|
|
639
|
+
allVue
|
|
640
|
+
.createApp(templateCompRef)
|
|
641
|
+
.mount("#" + id);
|
|
642
|
+
returnEle = ele.childNodes;
|
|
643
|
+
detach(ele);
|
|
644
|
+
}
|
|
645
|
+
else if (typeof templateElement === "string") {
|
|
646
|
+
let vue2Slots = getVue2Slot(context.vueInstance, templateElement, root);
|
|
647
|
+
if (vue2Slots) {
|
|
648
|
+
// Compilation for Vue 2 slot template
|
|
649
|
+
let vueTemplate = new Vue$1__default({
|
|
650
|
+
render() {
|
|
651
|
+
return vue2Slots[templateElement]({ data: data });
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
vueTemplate.$mount("#" + id);
|
|
655
|
+
returnEle = ele.childNodes;
|
|
642
656
|
detach(ele);
|
|
643
657
|
}
|
|
658
|
+
else {
|
|
659
|
+
// Compilation for Vue 2 string template
|
|
660
|
+
detach(ele);
|
|
661
|
+
return stringCompiler(templateElement, helper)(data);
|
|
662
|
+
}
|
|
644
663
|
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
664
|
+
else {
|
|
665
|
+
// Compilation for Vue 2 functional template
|
|
666
|
+
let tempObj = templateElement.call(that, {});
|
|
667
|
+
let templateFunction = tempObj.template;
|
|
668
|
+
let propsData = getValue("template.propsData", tempObj);
|
|
669
|
+
let dataObj = {
|
|
670
|
+
data: { data: extend(tempObj.data || {}, data) },
|
|
671
|
+
parent: context.vueInstance,
|
|
672
|
+
};
|
|
673
|
+
if (propsData) {
|
|
674
|
+
templateFunction = tempObj.template.extends;
|
|
675
|
+
dataObj.propsData = propsData;
|
|
676
|
+
}
|
|
677
|
+
if (typeof templateFunction !== "function") {
|
|
678
|
+
templateFunction = Vue$1__default.extend(templateFunction);
|
|
679
|
+
}
|
|
680
|
+
let templateVue = new templateFunction(dataObj);
|
|
681
|
+
// let templateVue = new Vue(tempObj.template);
|
|
682
|
+
// templateVue.$data.data = extend(tempObj.data, data);
|
|
683
|
+
templateVue.$mount("#" + id);
|
|
684
|
+
returnEle = ele.childNodes;
|
|
685
|
+
if (context.vueInstance) {
|
|
686
|
+
let templateInstance = context.vueInstance.templateCollection;
|
|
687
|
+
if (!templateInstance) {
|
|
688
|
+
context.vueInstance.templateCollection = {};
|
|
689
|
+
templateInstance = context.vueInstance.templateCollection;
|
|
690
|
+
}
|
|
691
|
+
if (propName) {
|
|
692
|
+
if (!templateInstance[propName]) {
|
|
693
|
+
templateInstance[propName] = [];
|
|
694
|
+
}
|
|
695
|
+
templateInstance[propName].push(returnEle[0]);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
detach(ele);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
return returnEle || [];
|
|
702
|
+
};
|
|
648
703
|
}
|
|
649
704
|
setTemplateEngine({ compile: compile });
|
|
705
|
+
// Get the Vue2 slot template from the root or current Vue component.
|
|
706
|
+
function getVue2Slot(vueInstance, templateElement, root) {
|
|
707
|
+
if (!vueInstance && !(root && root.vueInstance)) {
|
|
708
|
+
return undefined;
|
|
709
|
+
}
|
|
710
|
+
let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;
|
|
711
|
+
return getVue2ChildSlot(instance, templateElement);
|
|
712
|
+
}
|
|
713
|
+
function getVue2ChildSlot(vueInstance, templateElement) {
|
|
714
|
+
if (!vueInstance) {
|
|
715
|
+
return undefined;
|
|
716
|
+
}
|
|
717
|
+
let slots = vueInstance.$slots;
|
|
718
|
+
let scopedSlots = vueInstance.$scopedSlots;
|
|
719
|
+
let vSlots = vueInstance.scopedSlots;
|
|
720
|
+
let children = vueInstance.children;
|
|
721
|
+
if (scopedSlots && scopedSlots[templateElement]) {
|
|
722
|
+
return scopedSlots;
|
|
723
|
+
}
|
|
724
|
+
else if (slots && slots.default) {
|
|
725
|
+
let childSlots = slots.default;
|
|
726
|
+
for (let i = 0; i < childSlots.length; i++) {
|
|
727
|
+
let slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);
|
|
728
|
+
if (slot) {
|
|
729
|
+
return slot;
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
else if (vSlots && vSlots[templateElement]) {
|
|
734
|
+
return vSlots;
|
|
735
|
+
}
|
|
736
|
+
else if (children) {
|
|
737
|
+
for (let i = 0; i < children.length; i++) {
|
|
738
|
+
let slot = getVue2ChildSlot(getSlot(children[i]), templateElement);
|
|
739
|
+
if (slot) {
|
|
740
|
+
return slot;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
return undefined;
|
|
745
|
+
}
|
|
746
|
+
function getSlot(vnode) {
|
|
747
|
+
let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;
|
|
748
|
+
return vnode.componentInstance ? vnode.componentInstance : slot;
|
|
749
|
+
}
|
|
750
|
+
// Get the Vue3 slot template from the root or current Vue component.
|
|
751
|
+
function getVue3Slot(vueInstance, templateElement, root) {
|
|
752
|
+
if (!vueInstance && !(root && root.vueInstance)) {
|
|
753
|
+
return undefined;
|
|
754
|
+
}
|
|
755
|
+
let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;
|
|
756
|
+
return getVue3ChildSlot(slots, templateElement);
|
|
757
|
+
}
|
|
758
|
+
function getVue3ChildSlot(slots, templateElement) {
|
|
759
|
+
if (slots && slots[templateElement]) {
|
|
760
|
+
return slots;
|
|
761
|
+
}
|
|
762
|
+
else if (slots && slots.default) {
|
|
763
|
+
let childSlots = slots.default();
|
|
764
|
+
for (let i = 0; i < childSlots.length; i++) {
|
|
765
|
+
let slot = getVue3ChildSlot(childSlots[i].children, templateElement);
|
|
766
|
+
if (slot) {
|
|
767
|
+
return slot;
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
return undefined;
|
|
772
|
+
}
|
|
650
773
|
|
|
651
774
|
/**
|
|
652
775
|
* index for component base
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/component-decorator.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nimport * as Vue3 from 'vue-class-component';\nimport * as Vue2 from 'vue';\nimport Vue from 'vue';\nexport const aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nexport const allVue = aVue;\nexport const gh = allVue.h;\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nexport class ComponentBase extends vueImport {\n constructor() {\n super(arguments);\n this.hasInjectedModules = false;\n this.hasChildDirective = false;\n this.childDirObjects = '';\n }\n created() {\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n }\n mounted() {\n this.ej2Instances.isVue = true;\n this.ej2Instances.isVue3 = this.isVue3;\n this.ej2Instances.vueInstance = this;\n if (this.isVue3) {\n this.ej2Instances.ej2Instances = this.ej2Instances;\n this.ej2Instances.referModels = this.models;\n }\n this.ej2Instances.appendTo(this.$el);\n }\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n // tslint:disable:no-any\n if (this.$vnode) {\n injectables = this.$vnode.context.$options.provide();\n }\n else if (this.$parent) {\n injectables = this.$parent.$options.provide();\n }\n }\n ret = injectables[this.ej2Instances.getModuleName()] || [];\n }\n return ret;\n }\n updated() {\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n }\n beforeDestroy() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n }\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if ((!isNullOrUndefined(this[prop]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][prop]))) {\n options[prop] = !this.isVue3 ? this[prop] : this[0][0][prop];\n }\n }\n if (this.hasChildDirective) {\n this.fetchChildPropValues(options);\n }\n if (this.hasInjectedModules) {\n let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n }\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n }\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n if (this[0] && this[0][1].slots.default) {\n let propRef = this[0][1].slots.default();\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n let key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[i].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n dirProps[keyRef] = ref[key];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[dirProp] = dirProps[dirProp];\n }\n }\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[tagName] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[i];\n tempObj[key] = innerDirValues[key];\n }\n ;\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n tempObj[key] = childSlot.props[key];\n });\n }\n if ((/[s]\\b/).test(tagRef) && innerDirValues) {\n if (!(/[s]\\b/).test(tagName) || innerDirValues.length) {\n items[tagName] = tempObj;\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n return items;\n }\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find((key) => tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if (!items[tag]) {\n items[tag] = [];\n }\n if (innerDirValues.length > 1) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n if (slot.length > 1) {\n items = Object.keys(items).length == 0 && !items.length ? [] : items;\n if (childSlot.props) {\n items.push(childSlot.props);\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if ((/[s]\\b/).test(tag) || slot.length > 1) {\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n else if (innerDirValues) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (slot.length > 1 && childSlot.props) {\n if (items.length >= 0) {\n items.push(childSlot.props);\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveMultilevelComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n }\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n if (childSlot.props) {\n items[tag].push(childSlot.props);\n }\n }\n else {\n items = innerDirValues;\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n getDirectiveValues(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n let dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (let tagDirChild of tagDirective.componentOptions.children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[dirTag], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n }\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n if (tagDir.componentOptions) {\n let key = tagDir.componentOptions.tag;\n let tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (let tagDirChild of tagDir.componentOptions.children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[key], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n }\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions) {\n let dirTag = tagDirective.componentOptions.tag;\n if (typeof tagKey === 'string' && dirTag === tagKey && tagDirective.data) {\n ret = tagDirective.data.attrs ? this.getCamelCaseProps(tagDirective.data.attrs) : this.getCamelCaseProps(tagDirective.data);\n }\n else if (typeof tagKey === 'object') {\n if (tagDirective.componentOptions.children && (Object.keys(tagKey).indexOf(dirTag) !== -1)) {\n ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[dirTag], tagNameMapper);\n }\n if (tagDirective.data && tagDirective.data.attrs) {\n ret = extend(ret, this.getCamelCaseProps(tagDirective.data.attrs));\n }\n }\n }\n return ret;\n }\n /**\n * convert kebab case directive props to camel case\n */\n getCamelCaseProps(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n }\n dataBind() {\n this.ej2Instances.dataBind();\n }\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n }\n}\n","/**\n * Vue Component Base\n */\nimport Vue from 'vue';\n// import { Base, Component as EJ2Component, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase } from './component-base';\nexport let $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured' // 2.5\n];\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\nexport function EJComponentDecorator(options, isExecute) {\n if (!isExecute) {\n return;\n }\n return function (Component) {\n return EJcomponentFactory(Component, options);\n };\n}\nexport function EJcomponentFactory(Component, options = {}) {\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n const proto = Component.prototype;\n if (options.props) {\n for (let prop of options.props) {\n (options.props || (options.props = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n // hooks\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n // methods\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n Object.getOwnPropertyNames(ComponentBase.prototype).forEach(function (key) {\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data() {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n const decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n const superProto = Object.getPrototypeOf(Component.prototype);\n const Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n const Extended = Super.extend(options);\n return Extended;\n}\nfunction collectDataFromConstructor(vm, Component) {\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; }\n });\n }\n });\n };\n var data = new Component();\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\n","import Vue from \"vue\";\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue, } from \"@syncfusion/ej2-base\";\nimport { allVue, gh } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n if (typeof templateElement === \"string\") {\n return stringCompiler(templateElement, helper);\n }\n else {\n return (data, context, propName) => {\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n let tempObj = templateElement.call(that, {});\n let returnEle;\n if (context) {\n if (gh) {\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n let tempRef2 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2; };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n allVue\n .createApp(templateCompRef)\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[propName]) {\n templateInstance[propName] = [];\n }\n templateInstance[propName].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n }\n}\nsetTemplateEngine({ compile: compile });\n","/**\n * index for component base\n */\nexport * from './component-base';\nexport * from './component-decorator';\nexport * from './template';\n"],"names":["Vue2","Vue3.Vue","Vue","isExecute"],"mappings":";;;;;AAAA;;;AAGA,AAIO,MAAM,IAAI,GAAG,uBAAuB,CAACA,KAAI,CAAC,CAAC;AAClD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;IACzC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACd;SACI;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;gBACjB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;aAC9B;SACJ;QACD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,OAAO,MAAM,CAAC;KACjB;CACJ;AACD,AAAO,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,AAAO,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,AAAO,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;AAC3C,IAAI,SAAS,CAAC;AACd,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IAC5C,SAAS,GAAGC,GAAQ,CAAC;CACxB;KACI;IACD,SAAS,GAAGC,cAAG,CAAC;CACnB;AACD,AAAO,MAAM,aAAa,SAAS,SAAS,CAAC;IACzC,WAAW,GAAG;QACV,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC7B;IACD,OAAO,GAAG;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QACD,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK;gBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC1B,CAAC,CAAC;SACN;QACD,IAAI,WAAW,GAAG,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,cAAc,GAAG,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE;YACvC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,EAAE;gBACb,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;aACrE;iBACI,IAAI,cAAc,EAAE;gBACrB,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;aACjD;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACvB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;aACJ;YACD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC;SAClD;KACJ;IACD,OAAO,GAAG;QACN,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;SAC/C;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACxC;IACD,mBAAmB,GAAG;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,GAAG,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;SAC/D;aACI,IAAI,IAAI,CAAC,OAAO,EAAE;YACnB,OAAO,GAAG,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;SACxD;QACD,IAAI,OAAO,EAAE;;YAET,IAAI,WAAW,GAAG,OAAO,CAAC;YAC1B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;;gBAE/B,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBACxD;qBACI,IAAI,IAAI,CAAC,OAAO,EAAE;oBACnB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBACjD;aACJ;YACD,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;SAC9D;QACD,OAAO,GAAG,CAAC;KACd;IACD,OAAO,GAAG;QACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBACtC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC9C;SACJ;KACJ;IACD,aAAa,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC;QACjC,qBAAqB,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7C,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACtD,qBAAqB,GAAG,IAAI,CAAC;KAChC;IACD,cAAc,GAAG;QACb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACzI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChE;SACJ;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACvB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;aACJ;YACD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC;SAClD;QACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;KACtC;IACD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE;QACjC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;KAC5G;IACD,oBAAoB,CAAC,WAAW,EAAE;QAC9B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SAC3G;aACI;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;gBACrC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;wBACzB,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC7D,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAChE,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;wBAClE,IAAI,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC5G,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBACzC,IAAI,WAAW,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,EAAE;4BAChD,MAAM,GAAG,cAAc,CAAC;yBAC3B;6BACI,IAAI,WAAW,IAAI,aAAa,IAAI,MAAM,IAAI,OAAO,EAAE;4BACxD,MAAM,GAAG,QAAQ,CAAC;yBACrB;wBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC/B;iBACJ;aACJ;iBACI;gBACD,OAAO;aACV;SACJ;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACnD;QACD,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC5C;KACJ;IACD,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;YAChF,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,IAAI,GAAG,CAAC;gBACR,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;gBACrG,IAAI,cAAc,CAAC,MAAM,EAAE;oBACvB,OAAO,GAAG,cAAc,CAAC;iBAC5B;qBACI;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzD,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;qBACtC;oBACD,AAAC;iBACJ;aACJ;YACD,IAAI,SAAS,CAAC,KAAK,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;oBAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACvC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC1C,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE;oBACnD,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;iBAC5B;qBACI;oBACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChC;aACJ;iBACI;gBACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QAC1C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,MAAM,CAAC;YACX,IAAI,GAAG,CAAC;YACR,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;gBACpB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBAC9C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1D,GAAG,GAAG,GAAG;sBACH,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;sBACrB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE;oBAClG,GAAG,GAAG,aAAa,CAAC;iBACvB;aACJ;YACD,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACnB;gBACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;iBAC/B;qBACI;oBACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACnC;aACJ;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;gBACrE,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC/B;aACJ;iBACI;gBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;wBACrB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC3C,IAAI,cAAc,CAAC,MAAM,EAAE;4BACvB,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;yBAC/B;6BACI;4BACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;yBACnC;qBACJ;yBACI,IAAI,cAAc,EAAE;wBACrB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAC9B;iBACJ;qBACI;oBACD,KAAK,GAAG,cAAc,GAAG,cAAc,GAAG,KAAK,CAAC;iBACnD;aACJ;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE;gBACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBACI;oBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;iBAC3E;aACJ;iBACI;gBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,iCAAiC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QACzD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aAC1H;YACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;gBACrB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,cAAc,CAAC,MAAM,EAAE;oBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;iBAC/B;qBACI;oBACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACnC;gBACD,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACpC;aACJ;iBACI;gBACD,KAAK,GAAG,cAAc,CAAC;gBACvB,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;QACxD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,aAAa,EAAE;YACf,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;gBACpC,IAAI,YAAY,CAAC,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBAC9G,IAAI,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;wBAChC,IAAI,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACrE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpC,KAAK,IAAI,WAAW,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE;4BAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gCAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BAC/C;yBACJ;qBACJ;iBACJ;aACJ;SACJ;QACD,OAAO,GAAG,CAAC;KACd;IACD,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE;QACzD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,MAAM,IAAI,cAAc,EAAE;YAC/B,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBACzB,IAAI,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBACtC,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC7D,KAAK,IAAI,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;wBACtD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;wBAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACrD;qBACJ;iBACJ;aACJ;SACJ;QACD,OAAO,MAAM,CAAC;KACjB;IACD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE;QAC/C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,gBAAgB,EAAE;YAC/B,IAAI,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;gBACtE,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/H;iBACI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBACjC,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACxF,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;iBAC3G;gBACD,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC9C,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACtE;aACJ;SACJ;QACD,OAAO,GAAG,CAAC;KACd;;;;IAID,iBAAiB,CAAC,KAAK,EAAE;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1F;QACD,OAAO,QAAQ,CAAC;KACnB;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAChC;IACD,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAC7D;CACJ;;AC7ZD;;;AAGA,AACA;AACA,AACO,IAAI,cAAc,GAAG;IACxB,MAAM;IACN,cAAc;IACd,SAAS;IACT,aAAa;IACb,SAAS;IACT,eAAe;IACf,WAAW;IACX,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,eAAe;CAClB,CAAC;AACF,AAAO,SAAS,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;IACnC,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;YAC5B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACzD,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,MAAM,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAAE;oBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;aACJ,CAAC;SACL;KACJ;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5C;AACD,AAAO,SAAS,oBAAoB,CAAC,OAAO,EAAEC,YAAS,EAAE;IACrD,IAAI,CAACA,YAAS,EAAE;QACZ,OAAO;KACV;IACD,OAAO,UAAU,SAAS,EAAE;QACxB,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KACjD,CAAC;CACL;AACD,AAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,EAAE,EAAE;IACxD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC;;IAEzE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;YAC5B,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,MAAM,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAAE;oBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;aACJ,CAAC;SACL;KACJ;IACD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;;QAErD,IAAI,GAAG,KAAK,aAAa,EAAE;YACvB,OAAO;SACV;QACD,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;SACV;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;;YAExC,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SACvE;aACI,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE;;YAEvC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG;gBACjD,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,GAAG,EAAE,UAAU,CAAC,GAAG;aACtB,CAAC;SACL;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;QACvE,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;SACV;KACJ,CAAC,CAAC;IACH,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC;QAC3C,IAAI,GAAG;YACH,OAAO,0BAA0B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACtD;KACJ,CAAC,CAAC;;IAEH,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;IAC5C,IAAI,UAAU,EAAE;QACZ,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC,cAAc,CAAC;KACnC;;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,UAAU,YAAYD,cAAG;UACjC,UAAU,CAAC,WAAW;UACtBA,cAAG,CAAC;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;CACnB;AACD,SAAS,0BAA0B,CAAC,EAAE,EAAE,SAAS,EAAE;IAC/C,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;YACnB,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB;aACJ;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;YACxB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACvB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC9B,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpC,GAAG,EAAE,UAAU,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE;iBACpD,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;KACN,CAAC;IACF,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACzB,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;KACJ,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;CACpB;;AClID;AACA,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;AACzC,AAAO,SAAS,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE;IAC7C,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;QACrC,OAAO,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;KAClD;SACI;QACD,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,KAAK;YAChC,IAAI,GAAG,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAC3C,IAAI,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE;gBAC3B,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,WAAW,GAAG,EAAE,GAAG,UAAU;aAC3C,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC;YACd,IAAI,OAAO,EAAE;gBACT,IAAI,EAAE,EAAE;oBACJ,IAAI,MAAM,GAAG,OAAO,CAAC;oBACrB,IAAI,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;oBACxD,IAAI,OAAO,GAAG;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE;wBAChD,MAAM,EAAE,OAAO,CAAC,WAAW;qBAC9B,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAClB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpD;oBACD,IAAI,eAAe,CAAC;oBACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;wBACzB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAC1E;yBACI;wBACD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;qBAC/E;oBACD,IAAI,OAAO,CAAC;oBACZ,IAAI,SAAS,EAAE;wBACX,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;qBAC9D;yBACI;wBACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC9D,IAAI,eAAe,CAAC,UAAU,EAAE;4BAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;4BAC5D,KAAK,IAAI,SAAS,IAAI,OAAO,EAAE;gCAC3B,IAAI,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gCACzD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE;oCACnC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oCAChE,YAAY,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;iCACxD;6BACJ;yBACJ;qBACJ;oBACD,eAAe,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,OAAO,CAAC,EAAE,CAAC;oBACvD,MAAM;yBACD,SAAS,CAAC,eAAe,CAAC;yBAC1B,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;oBACrB,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBACI;oBACD,IAAI,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACxC,IAAI,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;oBACxD,IAAI,OAAO,GAAG;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE;wBAChD,MAAM,EAAE,OAAO,CAAC,WAAW;qBAC9B,CAAC;oBACF,IAAI,SAAS,EAAE;wBACX,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC5C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;qBACjC;oBACD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;wBACxC,gBAAgB,GAAGA,cAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBACnD;oBACD,IAAI,WAAW,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;;;oBAGhD,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;oBAC7B,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC3B,IAAI,OAAO,CAAC,WAAW,EAAE;wBACrB,IAAI,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;wBAC9D,IAAI,CAAC,gBAAgB,EAAE;4BACnB,OAAO,CAAC,WAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;4BAC5C,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;yBAC7D;wBACD,IAAI,QAAQ,EAAE;4BACV,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gCAC7B,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;6BACnC;4BACD,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjD;qBACJ;oBACD,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;aACJ;YACD,OAAO,SAAS,IAAI,EAAE,CAAC;SAC1B,CAAC;KACL;CACJ;AACD,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;ACtGxC;;GAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/component-decorator.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nimport * as Vue3 from 'vue-class-component';\nimport * as Vue2 from 'vue';\nimport Vue from 'vue';\nexport const aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nexport const allVue = aVue;\nexport const gh = allVue.h;\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nexport class ComponentBase extends vueImport {\n constructor() {\n super(arguments);\n this.hasInjectedModules = false;\n this.hasChildDirective = false;\n this.childDirObjects = '';\n }\n created() {\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n }\n mounted() {\n let cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (gh && cusEle) {\n for (let i = 0; i < cusEle.length; i++) {\n cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);\n }\n }\n this.ej2Instances.isVue = true;\n this.ej2Instances.isVue3 = this.isVue3;\n this.ej2Instances.vueInstance = this;\n if (this.isVue3) {\n this.ej2Instances.ej2Instances = this.ej2Instances;\n this.ej2Instances.referModels = this.models;\n }\n this.ej2Instances.appendTo(this.$el);\n }\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n // tslint:disable:no-any\n if (this.$vnode) {\n injectables = this.$vnode.context.$options.provide();\n }\n else if (this.$parent) {\n injectables = this.$parent.$options.provide();\n }\n }\n ret = injectables[this.ej2Instances.getModuleName()] || [];\n }\n return ret;\n }\n updated() {\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n }\n beforeDestroy() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n }\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if ((!isNullOrUndefined(this[prop]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][prop]))) {\n options[prop] = !this.isVue3 ? this[prop] : this[0][0][prop];\n }\n }\n if (this.hasChildDirective) {\n this.fetchChildPropValues(options);\n }\n if (this.hasInjectedModules) {\n let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n }\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n }\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n let propRef;\n if (this[0] && this[0][1].slots.default) {\n propRef = this[0][1].slots.default();\n }\n else if (this && this.$) {\n if (this.$.slots) {\n propRef = this.$.slots.default();\n }\n }\n if (propRef) {\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n let key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[i].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n dirProps[keyRef] = ref[key];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[dirProp] = dirProps[dirProp];\n }\n }\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[tagName] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[i];\n tempObj[key] = innerDirValues[key];\n }\n ;\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n tempObj[key] = childSlot.props[key];\n });\n }\n if ((/[s]\\b/).test(tagRef) && innerDirValues) {\n if (!(/[s]\\b/).test(tagName) || innerDirValues.length) {\n items[tagName] = tempObj;\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n return items;\n }\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find((key) => tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if (!items[tag]) {\n items[tag] = [];\n }\n if (innerDirValues.length > 1) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n if (slot.length > 1) {\n items = Object.keys(items).length == 0 && !items.length ? [] : items;\n if (childSlot.props) {\n items.push(childSlot.props);\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if ((/[s]\\b/).test(tag) || slot.length > 1) {\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n else if (innerDirValues) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (slot.length > 1 && childSlot.props) {\n if (items.length >= 0) {\n items.push(childSlot.props);\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveMultilevelComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n }\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n if (childSlot.props) {\n items[tag].push(childSlot.props);\n }\n }\n else {\n items = innerDirValues;\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n getDirectiveValues(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n let dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (let tagDirChild of tagDirective.componentOptions.children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[dirTag], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n }\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n if (tagDir.componentOptions) {\n let key = tagDir.componentOptions.tag;\n let tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (let tagDirChild of tagDir.componentOptions.children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[key], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n }\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions) {\n let dirTag = tagDirective.componentOptions.tag;\n if (typeof tagKey === 'string' && dirTag === tagKey && tagDirective.data) {\n ret = tagDirective.data.attrs ? this.getCamelCaseProps(tagDirective.data.attrs) : this.getCamelCaseProps(tagDirective.data);\n }\n else if (typeof tagKey === 'object') {\n if (tagDirective.componentOptions.children && (Object.keys(tagKey).indexOf(dirTag) !== -1)) {\n ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[dirTag], tagNameMapper);\n }\n if (tagDirective.data && tagDirective.data.attrs) {\n ret = extend(ret, this.getCamelCaseProps(tagDirective.data.attrs));\n }\n }\n }\n return ret;\n }\n /**\n * convert kebab case directive props to camel case\n */\n getCamelCaseProps(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n }\n dataBind() {\n this.ej2Instances.dataBind();\n }\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n }\n}\n","/**\n * Vue Component Base\n */\nimport Vue from 'vue';\n// import { Base, Component as EJ2Component, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase } from './component-base';\nexport let $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured' // 2.5\n];\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\nexport function EJComponentDecorator(options, isExecute) {\n if (!isExecute) {\n return;\n }\n return function (Component) {\n return EJcomponentFactory(Component, options);\n };\n}\nexport function EJcomponentFactory(Component, options = {}) {\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n const proto = Component.prototype;\n if (options.props) {\n for (let prop of options.props) {\n (options.props || (options.props = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n // hooks\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n // methods\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n Object.getOwnPropertyNames(ComponentBase.prototype).forEach(function (key) {\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data() {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n const decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n const superProto = Object.getPrototypeOf(Component.prototype);\n const Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n const Extended = Super.extend(options);\n return Extended;\n}\nfunction collectDataFromConstructor(vm, Component) {\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; }\n });\n }\n });\n };\n var data = new Component();\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\n","import Vue from \"vue\";\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue, } from \"@syncfusion/ej2-base\";\nimport { allVue, gh } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n return (data, context, propName, element, root) => {\n let returnEle;\n if (context) {\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n if (gh && typeof templateElement === \"string\") {\n let vue3Slots = getVue3Slot(context.vueInstance, templateElement, root);\n if (vue3Slots) {\n // Compilation for Vue 3 slot template\n allVue\n .createApp({\n render() {\n return vue3Slots[templateElement]({ data: data });\n }\n })\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 3 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else if (gh) {\n // Compilation for Vue 3 functional template\n let tempObj = templateElement.call(that, {});\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n if (!templateCompRef) {\n let key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[key];\n }\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n let tempRef2 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2; };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n allVue\n .createApp(templateCompRef)\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n let vue2Slots = getVue2Slot(context.vueInstance, templateElement, root);\n if (vue2Slots) {\n // Compilation for Vue 2 slot template\n let vueTemplate = new Vue({\n render() {\n return vue2Slots[templateElement]({ data: data });\n }\n });\n vueTemplate.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 2 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else {\n // Compilation for Vue 2 functional template\n let tempObj = templateElement.call(that, {});\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[propName]) {\n templateInstance[propName] = [];\n }\n templateInstance[propName].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n}\nsetTemplateEngine({ compile: compile });\n// Get the Vue2 slot template from the root or current Vue component.\nfunction getVue2Slot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVue2ChildSlot(instance, templateElement);\n}\nfunction getVue2ChildSlot(vueInstance, templateElement) {\n if (!vueInstance) {\n return undefined;\n }\n let slots = vueInstance.$slots;\n let scopedSlots = vueInstance.$scopedSlots;\n let vSlots = vueInstance.scopedSlots;\n let children = vueInstance.children;\n if (scopedSlots && scopedSlots[templateElement]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default;\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n else if (vSlots && vSlots[templateElement]) {\n return vSlots;\n }\n else if (children) {\n for (let i = 0; i < children.length; i++) {\n let slot = getVue2ChildSlot(getSlot(children[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\nfunction getSlot(vnode) {\n let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;\n return vnode.componentInstance ? vnode.componentInstance : slot;\n}\n// Get the Vue3 slot template from the root or current Vue component.\nfunction getVue3Slot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;\n return getVue3ChildSlot(slots, templateElement);\n}\nfunction getVue3ChildSlot(slots, templateElement) {\n if (slots && slots[templateElement]) {\n return slots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default();\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVue3ChildSlot(childSlots[i].children, templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n","/**\n * index for component base\n */\nexport * from './component-base';\nexport * from './component-decorator';\nexport * from './template';\n"],"names":["Vue2","Vue3.Vue","Vue","isExecute"],"mappings":";;;;;AAAA;;;AAGA,AAIO,MAAM,IAAI,GAAG,uBAAuB,CAACA,KAAI,CAAC,CAAC;AAClD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;IACzC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACd;SACI;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;gBACjB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;aAC9B;SACJ;QACD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,OAAO,MAAM,CAAC;KACjB;CACJ;AACD,AAAO,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,AAAO,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,AAAO,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;AAC3C,IAAI,SAAS,CAAC;AACd,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IAC5C,SAAS,GAAGC,GAAQ,CAAC;CACxB;KACI;IACD,SAAS,GAAGC,cAAG,CAAC;CACnB;AACD,AAAO,MAAM,aAAa,SAAS,SAAS,CAAC;IACzC,WAAW,GAAG;QACV,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC7B;IACD,OAAO,GAAG;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;SACV;QACD,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK;gBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC1B,CAAC,CAAC;SACN;QACD,IAAI,WAAW,GAAG,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,cAAc,GAAG,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE;YACvC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,EAAE;gBACb,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;aACrE;iBACI,IAAI,cAAc,EAAE;gBACrB,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;aACjD;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACvB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;aACJ;YACD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC;SAClD;KACJ;IACD,OAAO,GAAG;QACN,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAC5E,IAAI,EAAE,IAAI,MAAM,EAAE;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7E;SACJ;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;SAC/C;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACxC;IACD,mBAAmB,GAAG;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,GAAG,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;SAC/D;aACI,IAAI,IAAI,CAAC,OAAO,EAAE;YACnB,OAAO,GAAG,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;SACxD;QACD,IAAI,OAAO,EAAE;;YAET,IAAI,WAAW,GAAG,OAAO,CAAC;YAC1B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;;gBAE/B,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBACxD;qBACI,IAAI,IAAI,CAAC,OAAO,EAAE;oBACnB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBACjD;aACJ;YACD,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;SAC9D;QACD,OAAO,GAAG,CAAC;KACd;IACD,OAAO,GAAG;QACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;gBACtC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC9C;SACJ;KACJ;IACD,aAAa,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC;QACjC,qBAAqB,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7C,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACtD,qBAAqB,GAAG,IAAI,CAAC;KAChC;IACD,cAAc,GAAG;QACb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACzI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChE;SACJ;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACvB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;aACJ;YACD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC;SAClD;QACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;KACtC;IACD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE;QACjC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;KAC5G;IACD,oBAAoB,CAAC,WAAW,EAAE;QAC9B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SAC3G;aACI;YACD,IAAI,OAAO,CAAC;YACZ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;gBACrC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aACxC;iBACI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE;gBACrB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;oBACd,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;iBACpC;aACJ;YACD,IAAI,OAAO,EAAE;gBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;wBACzB,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC7D,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAChE,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;wBAClE,IAAI,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC5G,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBACzC,IAAI,WAAW,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,EAAE;4BAChD,MAAM,GAAG,cAAc,CAAC;yBAC3B;6BACI,IAAI,WAAW,IAAI,aAAa,IAAI,MAAM,IAAI,OAAO,EAAE;4BACxD,MAAM,GAAG,QAAQ,CAAC;yBACrB;wBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC/B;iBACJ;aACJ;iBACI;gBACD,OAAO;aACV;SACJ;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACnD;QACD,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC5C;KACJ;IACD,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;YAChF,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,IAAI,GAAG,CAAC;gBACR,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;gBACrG,IAAI,cAAc,CAAC,MAAM,EAAE;oBACvB,OAAO,GAAG,cAAc,CAAC;iBAC5B;qBACI;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzD,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;qBACtC;oBACD,AAAC;iBACJ;aACJ;YACD,IAAI,SAAS,CAAC,KAAK,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;oBAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACvC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC1C,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE;oBACnD,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;iBAC5B;qBACI;oBACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChC;aACJ;iBACI;gBACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QAC1C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,MAAM,CAAC;YACX,IAAI,GAAG,CAAC;YACR,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;gBACpB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;oBAC9C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1D,GAAG,GAAG,GAAG;sBACH,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;sBACrB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE;oBAClG,GAAG,GAAG,aAAa,CAAC;iBACvB;aACJ;YACD,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACnB;gBACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;iBAC/B;qBACI;oBACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACnC;aACJ;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;gBACrE,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC/B;aACJ;iBACI;gBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;wBACrB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC3C,IAAI,cAAc,CAAC,MAAM,EAAE;4BACvB,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;yBAC/B;6BACI;4BACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;yBACnC;qBACJ;yBACI,IAAI,cAAc,EAAE;wBACrB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAC9B;iBACJ;qBACI;oBACD,KAAK,GAAG,cAAc,GAAG,cAAc,GAAG,KAAK,CAAC;iBACnD;aACJ;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE;gBACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBACI;oBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;iBAC3E;aACJ;iBACI;gBACD,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,iCAAiC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QACzD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aAC1H;YACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;gBACrB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,cAAc,CAAC,MAAM,EAAE;oBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;iBAC/B;qBACI;oBACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACnC;gBACD,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACpC;aACJ;iBACI;gBACD,KAAK,GAAG,cAAc,CAAC;gBACvB,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC3E;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;IACD,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;QACxD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,aAAa,EAAE;YACf,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;gBACpC,IAAI,YAAY,CAAC,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBAC9G,IAAI,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;wBAChC,IAAI,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBACrE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpC,KAAK,IAAI,WAAW,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE;4BAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gCAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BAC/C;yBACJ;qBACJ;iBACJ;aACJ;SACJ;QACD,OAAO,GAAG,CAAC;KACd;IACD,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE;QACzD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,MAAM,IAAI,cAAc,EAAE;YAC/B,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBACzB,IAAI,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBACtC,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC7D,KAAK,IAAI,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;wBACtD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;wBAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACrD;qBACJ;iBACJ;aACJ;SACJ;QACD,OAAO,MAAM,CAAC;KACjB;IACD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE;QAC/C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,gBAAgB,EAAE;YAC/B,IAAI,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;gBACtE,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/H;iBACI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBACjC,IAAI,YAAY,CAAC,gBAAgB,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACxF,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;iBAC3G;gBACD,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC9C,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACtE;aACJ;SACJ;QACD,OAAO,GAAG,CAAC;KACd;;;;IAID,iBAAiB,CAAC,KAAK,EAAE;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1F;QACD,OAAO,QAAQ,CAAC;KACnB;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAChC;IACD,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAC7D;CACJ;;AC3aD;;;AAGA,AACA;AACA,AACO,IAAI,cAAc,GAAG;IACxB,MAAM;IACN,cAAc;IACd,SAAS;IACT,aAAa;IACb,SAAS;IACT,eAAe;IACf,WAAW;IACX,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,QAAQ;IACR,eAAe;CAClB,CAAC;AACF,AAAO,SAAS,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;IACnC,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;YAC5B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACzD,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,MAAM,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAAE;oBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;aACJ,CAAC;SACL;KACJ;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5C;AACD,AAAO,SAAS,oBAAoB,CAAC,OAAO,EAAEC,YAAS,EAAE;IACrD,IAAI,CAACA,YAAS,EAAE;QACZ,OAAO;KACV;IACD,OAAO,UAAU,SAAS,EAAE;QACxB,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KACjD,CAAC;CACL;AACD,AAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,EAAE,EAAE;IACxD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC;;IAEzE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;YAC5B,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,MAAM,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAAE;oBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;aACJ,CAAC;SACL;KACJ;IACD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;;QAErD,IAAI,GAAG,KAAK,aAAa,EAAE;YACvB,OAAO;SACV;QACD,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;SACV;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;;YAExC,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SACvE;aACI,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE;;YAEvC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG;gBACjD,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,GAAG,EAAE,UAAU,CAAC,GAAG;aACtB,CAAC;SACL;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;QACvE,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;SACV;KACJ,CAAC,CAAC;IACH,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC;QAC3C,IAAI,GAAG;YACH,OAAO,0BAA0B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACtD;KACJ,CAAC,CAAC;;IAEH,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;IAC5C,IAAI,UAAU,EAAE;QACZ,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC,cAAc,CAAC;KACnC;;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,UAAU,YAAYD,cAAG;UACjC,UAAU,CAAC,WAAW;UACtBA,cAAG,CAAC;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;CACnB;AACD,SAAS,0BAA0B,CAAC,EAAE,EAAE,SAAS,EAAE;IAC/C,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;YACnB,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB;aACJ;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;YACxB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACvB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC9B,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpC,GAAG,EAAE,UAAU,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE;iBACpD,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;KACN,CAAC;IACF,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACzB,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;KACJ,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;CACpB;;AClID;AACA,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;AACzC,AAAO,SAAS,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE;IAC7C,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,KAAK;QAC/C,IAAI,SAAS,CAAC;QACd,IAAI,OAAO,EAAE;YACT,IAAI,GAAG,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAC3C,IAAI,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE;gBAC3B,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,WAAW,GAAG,EAAE,GAAG,UAAU;aAC3C,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,EAAE,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;gBAC3C,IAAI,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,SAAS,EAAE;;oBAEX,MAAM;yBACD,SAAS,CAAC;wBACX,MAAM,GAAG;4BACL,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;yBACrD;qBACJ,CAAC;yBACG,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;oBACrB,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBACI;;oBAED,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;iBACxD;aACJ;iBACI,IAAI,EAAE,EAAE;;gBAET,IAAI,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,MAAM,GAAG,OAAO,CAAC;gBACrB,IAAI,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,OAAO,GAAG;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE;oBAChD,MAAM,EAAE,OAAO,CAAC,WAAW;iBAC9B,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAClB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpD;gBACD,IAAI,eAAe,CAAC;gBACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACzB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC1E;qBACI;oBACD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,CAAC,eAAe,EAAE;wBAClB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;qBAC9D;iBACJ;gBACD,IAAI,OAAO,CAAC;gBACZ,IAAI,SAAS,EAAE;oBACX,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;iBAC9D;qBACI;oBACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9D,IAAI,eAAe,CAAC,UAAU,EAAE;wBAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;wBAC5D,KAAK,IAAI,SAAS,IAAI,OAAO,EAAE;4BAC3B,IAAI,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;4BACzD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE;gCACnC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gCAChE,YAAY,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;6BACxD;yBACJ;qBACJ;iBACJ;gBACD,eAAe,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,OAAO,CAAC,EAAE,CAAC;gBACvD,MAAM;qBACD,SAAS,CAAC,eAAe,CAAC;qBAC1B,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACrB,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;iBACI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;gBAC1C,IAAI,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,SAAS,EAAE;;oBAEX,IAAI,WAAW,GAAG,IAAIA,cAAG,CAAC;wBACtB,MAAM,GAAG;4BACL,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;yBACrD;qBACJ,CAAC,CAAC;oBACH,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;oBAC7B,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBACI;;oBAED,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;iBACxD;aACJ;iBACI;;gBAED,IAAI,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACxC,IAAI,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,OAAO,GAAG;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE;oBAChD,MAAM,EAAE,OAAO,CAAC,WAAW;iBAC9B,CAAC;gBACF,IAAI,SAAS,EAAE;oBACX,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;iBACjC;gBACD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;oBACxC,gBAAgB,GAAGA,cAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBACnD;gBACD,IAAI,WAAW,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;;;gBAGhD,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBAC7B,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;gBAC3B,IAAI,OAAO,CAAC,WAAW,EAAE;oBACrB,IAAI,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;oBAC9D,IAAI,CAAC,gBAAgB,EAAE;wBACnB,OAAO,CAAC,WAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;wBAC5C,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;qBAC7D;oBACD,IAAI,QAAQ,EAAE;wBACV,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;4BAC7B,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;yBACnC;wBACD,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjD;iBACJ;gBACD,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;SACJ;QACD,OAAO,SAAS,IAAI,EAAE,CAAC;KAC1B,CAAC;CACL;AACD,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;AAExC,SAAS,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;IACrD,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;QAC7C,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC3E,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;CACtD;AACD,SAAS,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE;IACpD,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;IAC/B,IAAI,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;IAC3C,IAAI,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;IACrC,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACpC,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE;QAC7C,OAAO,WAAW,CAAC;KACtB;SACI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;SACJ;KACJ;SACI,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE;QACxC,OAAO,MAAM,CAAC;KACjB;SACI,IAAI,QAAQ,EAAE;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,IAAI,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;SACJ;KACJ;IACD,OAAO,SAAS,CAAC;CACpB;AACD,SAAS,OAAO,CAAC,KAAK,EAAE;IACpB,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,IAAI,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7G,OAAO,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;CACnE;;AAED,SAAS,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;IACrD,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;QAC7C,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACtF,OAAO,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;CACnD;AACD,SAAS,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;IAC9C,IAAI,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC;KAChB;SACI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;SACJ;KACJ;IACD,OAAO,SAAS,CAAC;CACpB;;ACnND;;GAEG;;;;"}
|