barsa-novin-ray-core 2.0.106 → 2.0.107

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.
@@ -101,78 +101,78 @@ export class RootPortalComponent extends PageBaseComponent {
101
101
  }
102
102
  }
103
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
105
- @if(inLocalMode){
106
- <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
107
- <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
108
- حذف اطلاعات آفلاین
109
- </button>
110
- <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
111
- حذف اطلاعات آفلاین و برگشت به حالت آنلاین
112
- </button>
113
- <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
114
- ارسال اطلاعات آفلاین به سرور
115
- </button>
116
- </div>
117
- } @if (imageUrl) {
118
- <div id="headerSpaceHolder" #headerSpaceHolder>
119
- <div id="bgOuterHolder" #bgOuterHolder>
120
- <div id="bgInnerHolder" style="height: 100vh">
121
- <div class="backgroundImage" id="backgroundImage">
122
- <img class="picture" [src]="imageUrl" loading="lazy" />
123
- <span id="backgroundImageOverlay" class="overlay"></span>
124
- </div>
125
- </div>
126
- </div>
127
- </div>
128
- }
129
- <section class="section" id="mainpage" #sectionRef>
130
- <div #containerRef></div>
131
- </section>
132
- <div class="page-wrapper">
133
- <router-outlet></router-outlet>
134
- </div>
135
- <!-- <footer #footerRef></footer> -->
136
- <ng-container #footerRef></ng-container>
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
105
+ @if(inLocalMode){
106
+ <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
107
+ <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
108
+ حذف اطلاعات آفلاین
109
+ </button>
110
+ <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
111
+ حذف اطلاعات آفلاین و برگشت به حالت آنلاین
112
+ </button>
113
+ <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
114
+ ارسال اطلاعات آفلاین به سرور
115
+ </button>
116
+ </div>
117
+ } @if (imageUrl) {
118
+ <div id="headerSpaceHolder" #headerSpaceHolder>
119
+ <div id="bgOuterHolder" #bgOuterHolder>
120
+ <div id="bgInnerHolder" style="height: 100vh">
121
+ <div class="backgroundImage" id="backgroundImage">
122
+ <img class="picture" [src]="imageUrl" loading="lazy" />
123
+ <span id="backgroundImageOverlay" class="overlay"></span>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ }
129
+ <section class="section" id="mainpage" #sectionRef>
130
+ <div #containerRef></div>
131
+ </section>
132
+ <div class="page-wrapper">
133
+ <router-outlet></router-outlet>
134
+ </div>
135
+ <!-- <footer #footerRef></footer> -->
136
+ <ng-container #footerRef></ng-container>
137
137
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
138
  }
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{
142
142
  selector: 'bnrc-root-portal',
143
- template: `
144
- @if(inLocalMode){
145
- <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
146
- <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
147
- حذف اطلاعات آفلاین
148
- </button>
149
- <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
150
- حذف اطلاعات آفلاین و برگشت به حالت آنلاین
151
- </button>
152
- <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
153
- ارسال اطلاعات آفلاین به سرور
154
- </button>
155
- </div>
156
- } @if (imageUrl) {
157
- <div id="headerSpaceHolder" #headerSpaceHolder>
158
- <div id="bgOuterHolder" #bgOuterHolder>
159
- <div id="bgInnerHolder" style="height: 100vh">
160
- <div class="backgroundImage" id="backgroundImage">
161
- <img class="picture" [src]="imageUrl" loading="lazy" />
162
- <span id="backgroundImageOverlay" class="overlay"></span>
163
- </div>
164
- </div>
165
- </div>
166
- </div>
167
- }
168
- <section class="section" id="mainpage" #sectionRef>
169
- <div #containerRef></div>
170
- </section>
171
- <div class="page-wrapper">
172
- <router-outlet></router-outlet>
173
- </div>
174
- <!-- <footer #footerRef></footer> -->
175
- <ng-container #footerRef></ng-container>
143
+ template: `
144
+ @if(inLocalMode){
145
+ <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
146
+ <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
147
+ حذف اطلاعات آفلاین
148
+ </button>
149
+ <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
150
+ حذف اطلاعات آفلاین و برگشت به حالت آنلاین
151
+ </button>
152
+ <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
153
+ ارسال اطلاعات آفلاین به سرور
154
+ </button>
155
+ </div>
156
+ } @if (imageUrl) {
157
+ <div id="headerSpaceHolder" #headerSpaceHolder>
158
+ <div id="bgOuterHolder" #bgOuterHolder>
159
+ <div id="bgInnerHolder" style="height: 100vh">
160
+ <div class="backgroundImage" id="backgroundImage">
161
+ <img class="picture" [src]="imageUrl" loading="lazy" />
162
+ <span id="backgroundImageOverlay" class="overlay"></span>
163
+ </div>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ }
168
+ <section class="section" id="mainpage" #sectionRef>
169
+ <div #containerRef></div>
170
+ </section>
171
+ <div class="page-wrapper">
172
+ <router-outlet></router-outlet>
173
+ </div>
174
+ <!-- <footer #footerRef></footer> -->
175
+ <ng-container #footerRef></ng-container>
176
176
  `,
177
177
  changeDetection: ChangeDetectionStrategy.OnPush
178
178
  }]
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
183
183
  type: ViewChild,
184
184
  args: ['footerRef', { read: ViewContainerRef }]
185
185
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBMEM3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBdEMxRDs7UUEyQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0tBaUd0QjtJQS9GRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkMsMkJBQTJCO1FBRTNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLElBQUksS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLEtBQUssWUFBWSxhQUFhLElBQUksS0FBSyxZQUFZ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QUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztZQUMzRSw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLG9CQUFvQjtZQUVwQixLQUFLO1lBQ0wsZ0ZBQWdGO1FBQ3BGLENBQUM7SUFDTCxDQUFDOzhHQXRHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5T0FFSSxnQkFBZ0Isb0RBdEN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUOzsyRkFHUSxtQkFBbUI7a0JBdEMvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFyc2FBcGksIFBhZ2VCYXNlQ29tcG9uZW50LCBQYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmRlY2xhcmUgY29uc3QgaGVhZDogYW55O1xuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdG9vbGJhclwiIHN0eWxlPVwiZmxleC13cmFwOndyYXA7cGFkZGluZzowLjVyZW07aGVpZ2h0OmF1dG9cIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1hdHRlbnRpb24gaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhKClcIj5cbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1uZWdhdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpXCI+XG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1wb3NpdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKVwiPlxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XG4gICAgICAgIDxkaXYgaWQ9XCJoZWFkZXJTcGFjZUhvbGRlclwiICNoZWFkZXJTcGFjZUhvbGRlcj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhY2tncm91bmRJbWFnZVwiIGlkPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIFtzcmNdPVwiaW1hZ2VVcmxcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cbiAgICAgICAgICAgIDxkaXYgI2NvbnRhaW5lclJlZj48L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgI2Zvb3RlclJlZj48L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RQb3J0YWxDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZm9vdGVyUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGZvb3RlclJlZlZjcjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBwb3J0YWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBtb2R1bGVzOiBhbnk7XG4gICAgaXNSb290ID0gdHJ1ZTtcbiAgICBpbkxvY2FsTW9kZSA9IHRydWU7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcbiAgICAgICAgLy8gdGhpcy5pbkxvY2FsTW9kZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uU3RhcnQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5uYXZpYXRpb25FbmQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUdvT25saW5lLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5Hb09ubGluZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyQWxsLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNsZWFyQWxsKCk7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyVW5zYXZlZERhdGEsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5zYXZlKCk7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhCYXJzYUFwaS5CQkIuQWN0aW9uICsgQmFyc2FBcGkuQkJCLkpvYkNvbXBsZXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXBhZ2VEYXRhPy5Gb290ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb290ZXJDb21wb25lbnQgPSBwYWdlRGF0YS5Gb290ZXIuQ29tcG9uZW50O1xuICAgICAgICB0aGlzLmdldENvbXBvbmVudEZhY3RvcnkoZm9vdGVyQ29tcG9uZW50KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgoY29udHJvbFVpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbFVpLmluc3RhbmNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGU7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvb3RlclJlZlZjcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci5yZW5kZXJQbGFjZUhvbGRlcnMocGFnZURhdGEpO1xuICAgICAgICB0aGlzLmFkZEZvb3RlcihwYWdlRGF0YSk7XG5cbiAgICAgICAgY29uc3QganNmaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgY3NzZmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdKU0ZpbGUnKSkge1xuICAgICAgICAgICAgICAgIGpzZmlsZXMucHVzaChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdDU1NGaWxlJykpIHtcbiAgICAgICAgICAgICAgICBjc3NmaWxlcy5wdXNoKEJhcnNhQXBpLkxvZ2luRm9ybURhdGFba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLnN1YnRyYWN0ID0gQmlnTnVtYmVyLnByb3RvdHlwZS5taW51cztcbiAgICAgICAgQmlnTnVtYmVyLnByb3RvdHlwZS5hZGQgPSBCaWdOdW1iZXIucHJvdG90eXBlLnBsdXM7XG4gICAgICAgIGlmIChqc2ZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGhlYWQubG9hZChqc2ZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3NzZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY3NzZmlsZXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBgIDxsaW5rIGhyZWY9XCIke2N9XCIgcmVsPVwic3R5bGVzaGVldFwiIG5vcG9ydGFsIC8+YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IEJhY2tncm91bmRJZCB9ID0gdGhpcy5wYWdlRGF0YSBhcyBhbnk7XG4gICAgICAgIGlmIChCYWNrZ3JvdW5kSWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IGAvSUguYXNoeD90eT1JRCZtb0lkPSZpZD0ke0JhY2tncm91bmRJZH0mc2k9MTkyMCZzaWg9MTA4MGA7XG4gICAgICAgICAgICAvLyB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC8vICAgICAnYmFja2dyb3VuZCcsXG5cbiAgICAgICAgICAgIC8vICk7XG4gICAgICAgICAgICAvLyB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtc2l6ZScsIGBjb3ZlcmApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBMEM3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBdEMxRDs7UUEyQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0tBaUd0QjtJQS9GRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkMsMkJBQTJCO1FBRTNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLElBQUksS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLEtBQUssWUFBWSxhQUFhLElBQUksS0FBSyxZQUFZ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QUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztZQUMzRSw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLG9CQUFvQjtZQUVwQixLQUFLO1lBQ0wsZ0ZBQWdGO1FBQ3BGLENBQUM7SUFDTCxDQUFDOzhHQXRHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5T0FFSSxnQkFBZ0Isb0RBdEN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUOzsyRkFHUSxtQkFBbUI7a0JBdEMvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBoZWFkOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgQmlnTnVtYmVyOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1yb290LXBvcnRhbCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIEBpZihpbkxvY2FsTW9kZSl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXJcIiBzdHlsZT1cImZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MC41cmVtO2hlaWdodDphdXRvXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1hdHRlbnRpb24gaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhKClcIj5cclxuICAgICAgICAgICAgICAgINit2LDZgSDYp9i32YTYp9i52KfYqiDYotmB2YTYp9uM2YZcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1uZWdhdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINmIINio2LHar9i02Kog2KjZhyDYrdin2YTYqiDYotmG2YTYp9uM2YZcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1wb3NpdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAg2KfYsdiz2KfZhCDYp9i32YTYp9i52KfYqiDYotmB2YTYp9uM2YYg2KjZhyDYs9ix2YjYsVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZiAoaW1hZ2VVcmwpIHtcclxuICAgICAgICA8ZGl2IGlkPVwiaGVhZGVyU3BhY2VIb2xkZXJcIiAjaGVhZGVyU3BhY2VIb2xkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYmdJbm5lckhvbGRlclwiIHN0eWxlPVwiaGVpZ2h0OiAxMDB2aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kSW1hZ2VcIiBpZD1cImJhY2tncm91bmRJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIFtzcmNdPVwiaW1hZ2VVcmxcIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwiYmFja2dyb3VuZEltYWdlT3ZlcmxheVwiIGNsYXNzPVwib3ZlcmxheVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZWN0aW9uXCIgaWQ9XCJtYWlucGFnZVwiICNzZWN0aW9uUmVmPlxyXG4gICAgICAgICAgICA8ZGl2ICNjb250YWluZXJSZWY+PC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGZvb3RlciAjZm9vdGVyUmVmPjwvZm9vdGVyPiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICNmb290ZXJSZWY+PC9uZy1jb250YWluZXI+XHJcbiAgICBgLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvb3RQb3J0YWxDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uUmVmJykgc2VjdGlvblJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2Zvb3RlclJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBmb290ZXJSZWZWY3I6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBwb3J0YWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1vZHVsZXM6IGFueTtcclxuICAgIGlzUm9vdCA9IHRydWU7XHJcbiAgICBpbkxvY2FsTW9kZSA9IHRydWU7XHJcbiAgICBpbWFnZVVybDogc3RyaW5nO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmluTG9jYWxNb2RlID0gaXNJbkxvY2FsTW9kZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uU3RhcnQoZXZlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5uYXZpYXRpb25FbmQoZXZlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25TZW5kT2ZmbGluZURhdGFUb1NlcnZlcigpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVHb09ubGluZSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5XYWl0KDAsIEJhcnNhQXBpLkJCQi5Mb2FkaW5nTWFza01zZywgJ3dhaXQnKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuR29PbmxpbmUoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25SZW1vdmVPZmZsaW5lRGF0YUFuZFJldHVyblRvT25saW5lKCk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyQWxsLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DbGVhckFsbCgpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25SZW1vdmVPZmZsaW5lRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhclVuc2F2ZWREYXRhLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLlVuc2F2ZWREYXRhID0ge307XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNhY2hlZERhdGEuc2F2ZSgpO1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhCYXJzYUFwaS5CQkIuQWN0aW9uICsgQmFyc2FBcGkuQkJCLkpvYkNvbXBsZXRlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBhZGRGb290ZXIocGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFwYWdlRGF0YT8uRm9vdGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZm9vdGVyQ29tcG9uZW50ID0gcGFnZURhdGEuRm9vdGVyLkNvbXBvbmVudDtcclxuICAgICAgICB0aGlzLmdldENvbXBvbmVudEZhY3RvcnkoZm9vdGVyQ29tcG9uZW50KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIHRhcCgoY29udHJvbFVpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbFVpLmluc3RhbmNlLnNldHRpbmdzID0gZm9vdGVyQ29tcG9uZW50LlNldHRpbmdzO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5hY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvb3RlclJlZlZjcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclJlZlZjci5pbnNlcnQoY29udHJvbFVpLmhvc3RWaWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZW5kZXJQbGFjZUhvbGRlcnMocGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhKTtcclxuICAgICAgICB0aGlzLmFkZEZvb3RlcihwYWdlRGF0YSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGpzZmlsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgY29uc3QgY3NzZmlsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgT2JqZWN0LmtleXMoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnSlNGaWxlJykpIHtcclxuICAgICAgICAgICAgICAgIGpzZmlsZXMucHVzaChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnQ1NTRmlsZScpKSB7XHJcbiAgICAgICAgICAgICAgICBjc3NmaWxlcy5wdXNoKEJhcnNhQXBpLkxvZ2luRm9ybURhdGFba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLnN1YnRyYWN0ID0gQmlnTnVtYmVyLnByb3RvdHlwZS5taW51cztcclxuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLmFkZCA9IEJpZ051bWJlci5wcm90b3R5cGUucGx1cztcclxuICAgICAgICBpZiAoanNmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGhlYWQubG9hZChqc2ZpbGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNzc2ZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY3NzZmlsZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsIGAgPGxpbmsgaHJlZj1cIiR7Y31cIiByZWw9XCJzdHlsZXNoZWV0XCIgbm9wb3J0YWwgLz5gKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkIH0gPSB0aGlzLnBhZ2VEYXRhIGFzIGFueTtcclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsID0gYC9JSC5hc2h4P3R5PUlEJm1vSWQ9JmlkPSR7QmFja2dyb3VuZElkfSZzaT0xOTIwJnNpaD0xMDgwYDtcclxuICAgICAgICAgICAgLy8gdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKFxyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgLy8gICAgICdiYWNrZ3JvdW5kJyxcclxuXHJcbiAgICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1zaXplJywgYGNvdmVyYCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==