@colijnit/transaction 256.1.92 → 256.1.94

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.
@@ -19,7 +19,7 @@ export class RelationAddressComponent extends RelationBaseComponent {
19
19
  this.transactionService = transactionService;
20
20
  this.addressChange = new EventEmitter();
21
21
  this.countries = [];
22
- this.addressTypes = [];
22
+ // public addressTypes: CoDomainValue[] = [];
23
23
  this.fields = { text: "description", value: "code" };
24
24
  this.postalCodeCheckErrorMessage = "";
25
25
  this._prevPostalCodeForCheck = "";
@@ -42,9 +42,9 @@ export class RelationAddressComponent extends RelationBaseComponent {
42
42
  this.countries = countries;
43
43
  this._setSelectedAddress();
44
44
  });
45
- this._connector.getAddressTypes('NL').then((codes) => {
46
- this.addressTypes = codes;
47
- });
45
+ // this._connector.getAddressTypes('NL').then((codes: CoDomainValue[]) => {
46
+ // this.addressTypes = codes;
47
+ // });
48
48
  });
49
49
  }
50
50
  checkForPostalCodeCheckError() {
@@ -167,16 +167,16 @@ RelationAddressComponent.decorators = [
167
167
  (modelChange)="handleCountryChange($event)"
168
168
  ></co-list-of-values>
169
169
  </div>
170
- <div class="relation-address-data-row default single">
171
- <co-list-of-values
172
- [(model)]="address.addressType"
173
- [collection]="addressTypes"
174
- [displayField]="'description'"
175
- [label]="'ADDRESS_TYPE' | localize"
176
- [required]="true"
177
- ></co-list-of-values>
178
- </div>
179
-
170
+ <!-- <div class="relation-address-data-row default single">-->
171
+ <!-- <co-list-of-values-->
172
+ <!-- [(model)]="address.addressType"-->
173
+ <!-- [collection]="addressTypes"-->
174
+ <!-- [displayField]="'description'"-->
175
+ <!-- [label]="'ADDRESS_TYPE' | localize"-->
176
+ <!-- [required]="true"-->
177
+ <!-- ></co-list-of-values>-->
178
+ <!-- </div>-->
179
+ <!-- -->
180
180
  `,
181
181
  encapsulation: ViewEncapsulation.None
182
182
  },] }
@@ -195,4 +195,4 @@ RelationAddressComponent.propDecorators = {
195
195
  addressChange: [{ type: Output }],
196
196
  showClass: [{ type: HostBinding, args: ["class.co-relation-address",] }]
197
197
  };
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUUzRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFckUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQWdFeEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHFCQUFxQjtJQXFDakUsWUFDVSxXQUE4QixFQUM5QixVQUF1QyxFQUN2QyxrQkFBcUMsRUFDbkMsZUFBMkMsRUFDOUMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQU5uQyxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsZUFBVSxH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QUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7OztZQS9MRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeEVPLGlCQUFpQjtZQUZqQiwyQkFBMkI7WUFHM0IsaUJBQWlCO1lBT2pCLDBCQUEwQjtZQUMxQixrQkFBa0I7OzswQkFrRXZCLEtBQUs7c0JBR0wsS0FBSztvQkFVTCxLQUFLOzRCQUdMLE1BQU07d0JBR04sV0FBVyxTQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7R2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dldC1wb3N0YWwtY29kZS1yZXRyaWV2YWwtb3V0cHV0LXBhcmFtcyc7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcbmltcG9ydCB7UmVsYXRpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi9yZWxhdGlvbi1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvJztcbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm8nO1xuaW1wb3J0IHtpc05pbGx9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb24nO1xuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvc3RyaW5nLXV0aWxzJztcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1hZGRyZXNzLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tcmVsYXRpb24tYWRkcmVzc1wiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGxhYmVsICpuZ0lmPWxhYmVsIFt0ZXh0Q29udGVudF09XCJsYWJlbCB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICAgID48L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtZGF0YS1yb3cgZGVmYXVsdFwiIFtjbGFzcy52YWxpZGF0aW9uLWVycm9yXT1cIndyb25nQWRkcmVzc1wiPlxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhZGRyZXNzLnBvc3RhbENvZGVcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQT1NUQUxfQ09ERScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAoYmx1cik9XCJjaGVja0ZvclBvc3RhbENvZGVDaGVja0Vycm9yKClcIlxuICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVBvc3RhbENvZGVDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhZGRyZXNzLmhvdXNlTm9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSE9VU0VfTk8nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZUhvdXNlTm8oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhZGRyZXNzLmhvdXNlTm9BZGRpdGlvblwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0hPVVNFX05PX0FERElUSU9OJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICA8c3BhbiAqbmdJZj1cIndyb25nQWRkcmVzc1wiIGNsYXNzPVwid3JvbmctYWRkcmVzc1wiIFt0ZXh0Q29udGVudF09XCInVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWRkcmVzcy5zdHJlZXROYW1lXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NUUkVFVCcgfCBsb2NhbGl6ZVwiIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN0cmVldENoYW5nZSgpXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgIFsobW9kZWwpXT1cImFkZHJlc3MuY2l0eVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDSVRZJyB8IGxvY2FsaXplXCIgcmVxdWlyZWRcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2l0eUNoYW5nZSgpXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0IHNpbmdsZVwiPlxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXNcbiAgICAgICAgICBbbW9kZWxdPVwiY291bnRyeU1vZGVsXCJcbiAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb3VudHJpZXNcIlxuICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidDT1VOVFJZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUNvdW50cnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0IHNpbmdsZVwiPlxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXNcbiAgICAgICAgICBbKG1vZGVsKV09XCJhZGRyZXNzLmFkZHJlc3NUeXBlXCJcbiAgICAgICAgICBbY29sbGVjdGlvbl09XCJhZGRyZXNzVHlwZXNcIlxuICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBRERSRVNTX1RZUEUnIHwgbG9jYWxpemVcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ05hbWVzOiBSZWxhdGlvbkFkZHJlc3NDZmdOYW1lcztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFkZHJlc3ModmFsdWU6IEFkZHJlc3MpIHtcbiAgICB0aGlzLl9hZGRyZXNzID0gdmFsdWU7XG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRBZGRyZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFkZHJlc3MoKTogQWRkcmVzcyB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZHJlc3M7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBZGRyZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkcmVzcz4oKTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1yZWxhdGlvbi1hZGRyZXNzXCIpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgY291bnRyaWVzOiBDb3VudHJ5W10gPSBbXTtcbiAgcHVibGljIGFkZHJlc3NUeXBlczogQ29Eb21haW5WYWx1ZVtdID0gW107XG4gIHB1YmxpYyBmaWVsZHM6IE9iamVjdCA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XG4gIHB1YmxpYyBjb3VudHJ5TW9kZWw6IENvdW50cnk7XG5cbiAgcHVibGljIHBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfcHJldlBvc3RhbENvZGVGb3JDaGVjazogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfcHJldkhvdXNlTm9Gb3JDaGVjazogbnVtYmVyO1xuICBwcml2YXRlIF9hZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgcHVibGljIHdyb25nQWRkcmVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwcml2YXRlIF9jb25uZWN0b3I6IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uU2VydmljZSwgcmVsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Nvbm5lY3Rvci5nZXRDb3VudHJpZXMoKS50aGVuKChjb3VudHJpZXM6IENvdW50cnlbXSkgPT4ge1xuICAgICAgdGhpcy5jb3VudHJpZXMgPSBjb3VudHJpZXM7XG4gICAgICB0aGlzLl9zZXRTZWxlY3RlZEFkZHJlc3MoKTtcbiAgICB9KTtcbiAgICB0aGlzLl9jb25uZWN0b3IuZ2V0QWRkcmVzc1R5cGVzKCdOTCcpLnRoZW4oKGNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcbiAgICAgIHRoaXMuYWRkcmVzc1R5cGVzID0gY29kZXM7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIHx8IGlzTmlsbCh0aGlzLmFkZHJlc3MuaG91c2VObykpIHtcbiAgICAgIHRoaXMucG9zdGFsQ29kZUNoZWNrRXJyb3JNZXNzYWdlID0gXCJcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldlBvc3RhbENvZGVGb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLnBvc3RhbENvZGUgfHwgdGhpcy5fcHJldkhvdXNlTm9Gb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLmhvdXNlTm8pIHtcbiAgICAgIHRoaXMuX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMuX3ByZXZIb3VzZU5vRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MuaG91c2VObztcbiAgICAgIGNvbnN0IHBvc3RhbENvZGVSZXNwb25zZTogR2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtcyA9IGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRQb3N0YWxDb2RlUmV0cmlldmFsKCh0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSA/IHRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIDogXCJcIiksXG4gICAgICAgIFN0cmluZ1V0aWxzLlBhcnNlU3RyaW5nKHRoaXMuYWRkcmVzcy5ob3VzZU5vKSk7XG4gICAgICBpZiAocG9zdGFsQ29kZVJlc3BvbnNlICYmIHBvc3RhbENvZGVSZXNwb25zZS5pc0JhZEFkZHJlc3MpIHtcbiAgICAgICAgdGhpcy53cm9uZ0FkZHJlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCIpO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IFwiXCI7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gXCJcIjtcbiAgICAgIH0gZWxzZSBpZiAoIXBvc3RhbENvZGVSZXNwb25zZS5zdGF0dXMgfHwgKHBvc3RhbENvZGVSZXNwb25zZS5zdGF0dXMgJiYgcG9zdGFsQ29kZVJlc3BvbnNlLnN0YXR1cy50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJmb3V0XCIpIDwgMCkpIHtcbiAgICAgICAgdGhpcy5wb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IHBvc3RhbENvZGVSZXNwb25zZS5zdHJlZXQ7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gcG9zdGFsQ29kZVJlc3BvbnNlLmNpdHk7XG4gICAgICAgIHRoaXMud3JvbmdBZGRyZXNzID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndyb25nQWRkcmVzcyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VIb3VzZU5vKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgIHRoaXMuYWRkcmVzcy5ob3VzZU5vID0gTnVtYmVyKHRoaXMuYWRkcmVzcy5ob3VzZU5vKTtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuaG91c2VOciA9IHRoaXMuYWRkcmVzcy5ob3VzZU5vO1xuICAgICAgdGhpcy5pbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zLm5leHQodGhpcy5zdWdnZXN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUNvdW50cnlDaGFuZ2UoY291bnRyeTogQ291bnRyeSk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeU1vZGVsID0gY291bnRyeTtcbiAgICBpZiAodGhpcy5hZGRyZXNzKSB7XG4gICAgICB0aGlzLmFkZHJlc3MuY291bnRyeUlkID0gdGhpcy5jb3VudHJ5TW9kZWwuY29kZTtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuY291bnRyeSA9IGNvdW50cnkuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLmlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMubmV4dCh0aGlzLnN1Z2dlc3Rpb25SZXF1ZXN0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUG9zdGFsQ29kZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGRyZXNzKSB7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25SZXF1ZXN0LnBvc3RhbENvZGUgPSB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucy5uZXh0KHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdHJlZXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkcmVzcykge1xuICAgICAgdGhpcy5zdWdnZXN0aW9uUmVxdWVzdC5zdHJlZXQgPSB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZTtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucy5uZXh0KHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDaXR5Q2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuY2l0eSA9IHRoaXMuYWRkcmVzcy5jaXR5O1xuICAgICAgdGhpcy5pbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zLm5leHQodGhpcy5zdWdnZXN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0ZWRBZGRyZXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hZGRyZXNzIHx8ICF0aGlzLmNvdW50cmllcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWRkcmVzcy5jb3VudHJ5SWQpIHtcbiAgICAgIHRoaXMuYWRkcmVzcy5jb3VudHJ5SWQgPSBcIk5MXCI7XG4gICAgfVxuICAgIHRoaXMuY291bnRyeU1vZGVsID0gdGhpcy5jb3VudHJpZXMuZmluZChjID0+IGMuY29kZSA9PT0gdGhpcy5hZGRyZXNzLmNvdW50cnlJZCk7XG4gIH1cbn1cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUUzRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFckUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQWdFeEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHFCQUFxQjtJQXFDakUsWUFDVSxXQUE4QixFQUM5QixVQUF1QyxFQUN2QyxrQkFBcUMsRUFDbkMsZUFBMkMsRUFDOUMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQU5uQyxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsZUFBVSxH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cUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RU8saUJBQWlCO1lBRmpCLDJCQUEyQjtZQUczQixpQkFBaUI7WUFPakIsMEJBQTBCO1lBQzFCLGtCQUFrQjs7OzBCQWtFdkIsS0FBSztzQkFHTCxLQUFLO29CQVVMLEtBQUs7NEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtHZXRQb3N0YWxDb2RlUmV0cmlldmFsT3V0cHV0UGFyYW1zfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXBvc3RhbC1jb2RlLXJldHJpZXZhbC1vdXRwdXQtcGFyYW1zJztcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xuaW1wb3J0IHtSZWxhdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm8nO1xuaW1wb3J0IHtDb3VudHJ5fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ibyc7XG5pbXBvcnQge2lzTmlsbH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvbic7XG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3JlbGF0aW9uLWFkZHJlc3MtY2ZnLW5hbWVzLmludGVyZmFjZSc7XG5pbXBvcnQge1RyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ibyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8bGFiZWwgKm5nSWY9bGFiZWwgW3RleHRDb250ZW50XT1cImxhYmVsIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgPjwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCIgW2NsYXNzLnZhbGlkYXRpb24tZXJyb3JdPVwid3JvbmdBZGRyZXNzXCI+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFkZHJlc3MucG9zdGFsQ29kZVwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BPU1RBTF9DT0RFJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlUG9zdGFsQ29kZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFkZHJlc3MuaG91c2VOb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidIT1VTRV9OTycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlSG91c2VObygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFkZHJlc3MuaG91c2VOb0FkZGl0aW9uXCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSE9VU0VfTk9fQURESVRJT04nIHwgbG9jYWxpemVcIlxuICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwid3JvbmdBZGRyZXNzXCIgY2xhc3M9XCJ3cm9uZy1hZGRyZXNzXCIgW3RleHRDb250ZW50XT1cIidVTktOT1dOX0FERFJFU1NfQ0hFQ0tfSVQnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLWRhdGEtcm93IGRlZmF1bHRcIj5cbiAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhZGRyZXNzLnN0cmVldE5hbWVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU1RSRUVUJyB8IGxvY2FsaXplXCIgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RyZWV0Q2hhbmdlKClcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgWyhtb2RlbCldPVwiYWRkcmVzcy5jaXR5XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NJVFknIHwgbG9jYWxpemVcIiByZXF1aXJlZFxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDaXR5Q2hhbmdlKClcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLWRhdGEtcm93IGRlZmF1bHQgc2luZ2xlXCI+XG4gICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xuICAgICAgICAgIFttb2RlbF09XCJjb3VudHJ5TW9kZWxcIlxuICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImNvdW50cmllc1wiXG4gICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0NPVU5UUlknIHwgbG9jYWxpemVcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ291bnRyeUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XG4gICAgICA8L2Rpdj5cbjwhLS0gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0IHNpbmdsZVwiPi0tPlxuPCEtLSAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzLS0+XG48IS0tICAgICAgICAgIFsobW9kZWwpXT1cImFkZHJlc3MuYWRkcmVzc1R5cGVcIi0tPlxuPCEtLSAgICAgICAgICBbY29sbGVjdGlvbl09XCJhZGRyZXNzVHlwZXNcIi0tPlxuPCEtLSAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIi0tPlxuPCEtLSAgICAgICAgICBbbGFiZWxdPVwiJ0FERFJFU1NfVFlQRScgfCBsb2NhbGl6ZVwiLS0+XG48IS0tICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCItLT5cbjwhLS0gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPi0tPlxuPCEtLSAgICAgIDwvZGl2Pi0tPlxuPCEtLSAgICAgIC0tPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ05hbWVzOiBSZWxhdGlvbkFkZHJlc3NDZmdOYW1lcztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFkZHJlc3ModmFsdWU6IEFkZHJlc3MpIHtcbiAgICB0aGlzLl9hZGRyZXNzID0gdmFsdWU7XG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRBZGRyZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFkZHJlc3MoKTogQWRkcmVzcyB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZHJlc3M7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBZGRyZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkcmVzcz4oKTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1yZWxhdGlvbi1hZGRyZXNzXCIpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgY291bnRyaWVzOiBDb3VudHJ5W10gPSBbXTtcbiAgLy8gcHVibGljIGFkZHJlc3NUeXBlczogQ29Eb21haW5WYWx1ZVtdID0gW107XG4gIHB1YmxpYyBmaWVsZHM6IE9iamVjdCA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XG4gIHB1YmxpYyBjb3VudHJ5TW9kZWw6IENvdW50cnk7XG5cbiAgcHVibGljIHBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfcHJldlBvc3RhbENvZGVGb3JDaGVjazogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfcHJldkhvdXNlTm9Gb3JDaGVjazogbnVtYmVyO1xuICBwcml2YXRlIF9hZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgcHVibGljIHdyb25nQWRkcmVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwcml2YXRlIF9jb25uZWN0b3I6IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uU2VydmljZSwgcmVsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Nvbm5lY3Rvci5nZXRDb3VudHJpZXMoKS50aGVuKChjb3VudHJpZXM6IENvdW50cnlbXSkgPT4ge1xuICAgICAgdGhpcy5jb3VudHJpZXMgPSBjb3VudHJpZXM7XG4gICAgICB0aGlzLl9zZXRTZWxlY3RlZEFkZHJlc3MoKTtcbiAgICB9KTtcbiAgICAvLyB0aGlzLl9jb25uZWN0b3IuZ2V0QWRkcmVzc1R5cGVzKCdOTCcpLnRoZW4oKGNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcbiAgICAvLyAgIHRoaXMuYWRkcmVzc1R5cGVzID0gY29kZXM7XG4gICAgLy8gfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIHx8IGlzTmlsbCh0aGlzLmFkZHJlc3MuaG91c2VObykpIHtcbiAgICAgIHRoaXMucG9zdGFsQ29kZUNoZWNrRXJyb3JNZXNzYWdlID0gXCJcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldlBvc3RhbENvZGVGb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLnBvc3RhbENvZGUgfHwgdGhpcy5fcHJldkhvdXNlTm9Gb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLmhvdXNlTm8pIHtcbiAgICAgIHRoaXMuX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMuX3ByZXZIb3VzZU5vRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MuaG91c2VObztcbiAgICAgIGNvbnN0IHBvc3RhbENvZGVSZXNwb25zZTogR2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtcyA9IGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRQb3N0YWxDb2RlUmV0cmlldmFsKCh0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSA/IHRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIDogXCJcIiksXG4gICAgICAgIFN0cmluZ1V0aWxzLlBhcnNlU3RyaW5nKHRoaXMuYWRkcmVzcy5ob3VzZU5vKSk7XG4gICAgICBpZiAocG9zdGFsQ29kZVJlc3BvbnNlICYmIHBvc3RhbENvZGVSZXNwb25zZS5pc0JhZEFkZHJlc3MpIHtcbiAgICAgICAgdGhpcy53cm9uZ0FkZHJlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCIpO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IFwiXCI7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gXCJcIjtcbiAgICAgIH0gZWxzZSBpZiAoIXBvc3RhbENvZGVSZXNwb25zZS5zdGF0dXMgfHwgKHBvc3RhbENvZGVSZXNwb25zZS5zdGF0dXMgJiYgcG9zdGFsQ29kZVJlc3BvbnNlLnN0YXR1cy50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJmb3V0XCIpIDwgMCkpIHtcbiAgICAgICAgdGhpcy5wb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IHBvc3RhbENvZGVSZXNwb25zZS5zdHJlZXQ7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gcG9zdGFsQ29kZVJlc3BvbnNlLmNpdHk7XG4gICAgICAgIHRoaXMud3JvbmdBZGRyZXNzID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndyb25nQWRkcmVzcyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VIb3VzZU5vKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgIHRoaXMuYWRkcmVzcy5ob3VzZU5vID0gTnVtYmVyKHRoaXMuYWRkcmVzcy5ob3VzZU5vKTtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuaG91c2VOciA9IHRoaXMuYWRkcmVzcy5ob3VzZU5vO1xuICAgICAgdGhpcy5pbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zLm5leHQodGhpcy5zdWdnZXN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUNvdW50cnlDaGFuZ2UoY291bnRyeTogQ291bnRyeSk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeU1vZGVsID0gY291bnRyeTtcbiAgICBpZiAodGhpcy5hZGRyZXNzKSB7XG4gICAgICB0aGlzLmFkZHJlc3MuY291bnRyeUlkID0gdGhpcy5jb3VudHJ5TW9kZWwuY29kZTtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuY291bnRyeSA9IGNvdW50cnkuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLmlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMubmV4dCh0aGlzLnN1Z2dlc3Rpb25SZXF1ZXN0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUG9zdGFsQ29kZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGRyZXNzKSB7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25SZXF1ZXN0LnBvc3RhbENvZGUgPSB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucy5uZXh0KHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdHJlZXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkcmVzcykge1xuICAgICAgdGhpcy5zdWdnZXN0aW9uUmVxdWVzdC5zdHJlZXQgPSB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZTtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucy5uZXh0KHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDaXR5Q2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvblJlcXVlc3QuY2l0eSA9IHRoaXMuYWRkcmVzcy5jaXR5O1xuICAgICAgdGhpcy5pbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zLm5leHQodGhpcy5zdWdnZXN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0ZWRBZGRyZXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hZGRyZXNzIHx8ICF0aGlzLmNvdW50cmllcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWRkcmVzcy5jb3VudHJ5SWQpIHtcbiAgICAgIHRoaXMuYWRkcmVzcy5jb3VudHJ5SWQgPSBcIk5MXCI7XG4gICAgfVxuICAgIHRoaXMuY291bnRyeU1vZGVsID0gdGhpcy5jb3VudHJpZXMuZmluZChjID0+IGMuY29kZSA9PT0gdGhpcy5hZGRyZXNzLmNvdW50cnlJZCk7XG4gIH1cbn1cbiJdfQ==
@@ -72,7 +72,7 @@ export class TransactionHeaderPaymentComponent extends TransactionHeaderBaseComp
72
72
  if (this.transactionInfo && this.transactionInfo.id && this.transactionInfo.uuid) {
73
73
  this._paymentConnectorService.getDepositPaymentInfo(this.transactionInfo.uuid).then((info) => {
74
74
  if (info) {
75
- this.toPay = info.depositAmount;
75
+ this.toPay = info.depositRemainderAmount;
76
76
  this.paid = info.depositPaymentAmountTotal;
77
77
  }
78
78
  });
@@ -222,4 +222,4 @@ TransactionHeaderPaymentComponent.ctorParameters = () => [
222
222
  TransactionHeaderPaymentComponent.propDecorators = {
223
223
  showClass: [{ type: HostBinding, args: ["class.co-transaction-header-payment",] }]
224
224
  };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50L3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFJMUcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFFaEgsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDakcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFpSTVGLE1BQU0sT0FB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SUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtZQUNoRixJQUFJLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFtQyxFQUFFLEVBQUU7Z0JBQzFILElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUM7aUJBQzVDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OztZQTNNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVIVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsOENBQThDLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxFQUFDO2lCQUM1SDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBaElPLHdCQUF3QjtZQVB4Qix1QkFBdUI7WUFOdkIsa0JBQWtCO1lBRGxCLGdCQUFnQjtZQVNoQixxQ0FBcUM7WUFIckMsaUJBQWlCO1lBRWpCLHVCQUF1QjtZQVZ2QixpQkFBaUI7WUFJakIsa0NBQWtDOzs7d0JBZ0p2QyxXQUFXLFNBQUMscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZGVwb3NpdC1wYXltZW50LWluZm8uYm8nO1xyXG5pbXBvcnQge0RlcG9zaXRQYXltZW50Vmlld01vZGVsfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9kZXBvc2l0LXBheW1lbnQtdmlldy1tb2RlbCc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24taGVhZGVyLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC13cmFwcGVyLWNvbnRlbnRcIiBbY2xhc3Muc2hvdy1yZW1haW5pbmddPVwic2hvd1JlbWFpbmluZ1BheW1lbnRcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrXHJcbiAgICAgICAgICBbZmlyc3RCbG9ja1RlbXBsYXRlXT1cImZpcnN0QmxvY2tcIlxyXG4gICAgICAgICAgW3NlY29uZEJsb2NrVGVtcGxhdGVdPVwic2Vjb25kQmxvY2tcIlxyXG4gICAgICAgICAgW3RoaXJkQmxvY2tUZW1wbGF0ZV09XCJ0aGlyZEJsb2NrXCJcclxuICAgICAgICAgIFtoaWRkZW5CbG9ja1RlbXBsYXRlXT1cImhpZGRlbkJsb2NrXCJcclxuICAgICAgICAgIChoZWFkZXJDbGljayk9XCJzaG93RGlhbG9nID0gdHJ1ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItYmxvY2sgKm5nSWY9XCJzaG93UmVtYWluaW5nUGF5bWVudFwiXHJcbiAgICAgICAgICBbZmlyc3RCbG9ja1RlbXBsYXRlXT1cImZpcnN0QmxvY2tSZXN0XCJcclxuICAgICAgICAgIChoZWFkZXJDbGljayk9XCJzaG93RGlhbG9nID0gdHJ1ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmaXJzdEJsb2NrPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrLXJvd1wiIChjbGljayk9XCJzaG93RGlhbG9nID0gdHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZG93bnBheW1lbnQtYW1vdW50LXdyYXBwZXJcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJQYXltZW50QW1vdW50SGVhZGVyXCIgc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZGVwb3NpdC1sYWJlbCBjby10cmFuc2FjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRE9XTlBBWU1FTlRfQU1PVU5UJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJQYXltZW50QW1vdW50SGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ZpcnN0QmxvY2tSZXN0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItaWNvblwiIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRBdmF0YXJIZWFkZXJcIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJoZWFkZXItb3JkZXItaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1BheW1lbnREaWFsb2cgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3JlZGl0Q2FyZFJlZ3VsYXJDaGVjaylcIj5cclxuICAgICAgICAgIDwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJlbWFpbmluZy1wYXltZW50LWFtb3VudC13cmFwcGVyXCIgKGNsaWNrKT1cInNob3dEaWFsb2cgPSB0cnVlXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyUGF5bWVudEFtb3VudEhlYWRlclwiIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWRlcG9zaXQtbGFiZWwgY28tdHJhbnNhY3Rpb24tbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1JFTUFJTklOR19QQVlNRU5UJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXJlbWFpbmluZy1hbW91bnQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcmVtYWluaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJQYXltZW50QW1vdW50SGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtYWluaW5nQW1vdW50Q2hhbmdlKT1cInJlbWFpbmluZ1RvUGF5ID0gJGV2ZW50XCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1yZW1haW5pbmctYW1vdW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3NlY29uZEJsb2NrPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZG93bnBheW1lbnQtcGVyY2VudGFnZS13cmFwcGVyXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyUGF5bWVudFBlcmNlbnRhZ2VIZWFkZXJcIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1kZXBvc2l0LWxhYmVsIGNvLXRyYW5zYWN0aW9uLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIiclJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZSBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRQZXJjZW50YWdlSGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3RoaXJkQmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItYmxvY2stcm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcGF5ZWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1wYXllZC1sYWJlbCBjby10cmFuc2FjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRE9XTlBBWU1FTlRfRE9ORScgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LXBhaWRcIiBbY2xhc3Muc3VjY2Vzc109XCJwYWlkID49IHRvUGF5XCIgW3RleHRDb250ZW50XT1cIihwYWlkIHwgY29DdXJyZW5jeSkgfHwgMFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXBheW1lbnQtYnV0dG9uLXdyYXBwZXJcIiAoY2xpY2spPVwib3BlblBheW1lbnQoJGV2ZW50KVwiIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRQYXltZW50SGVhZGVyXCIgc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudD5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJoZWFkZXItb3JkZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuTGlnaHRDcmVkaXRDYXJkQ2hlY2spXCI+XHJcbiAgICAgICAgICAgIDwvY28taWNvbj5cclxuXHJcbiAgICAgICAgICA8IS0tY28tdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQtYnV0dG9uICpuZ0lmPVwidHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1idXR0b24tLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoaWRkZW5CbG9jaz5cclxuICAgICAgPCEtLWRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1ibG9jay1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWJyYW5jaC1sYWJlbCBjby10cmFuc2FjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQlJBTkNIJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJyYW5jaC1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5mYW1pbHlOYW1lXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2LS0+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cCAqbmdJZj1cInNob3dEaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnlEZXNjcmlwdGlvbl09XCInUEFZTUVOVF9JTkZPUk1BVElPTidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93RGlhbG9nID0gZmFsc2VcIj48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cD5cclxuPCEtLVxyXG4gICAgPGNvLWRpYWxvZyBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWRpYWxvZ1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiICpuZ0lmPVwic2hvd0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cInNob3dEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX0lORk9STUFUSU9OJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1ibG9ja1xyXG4gICAgICAgICAgW2hlYWRlckJsb2NrVGVtcGxhdGVdPVwiaGVhZGVyQmxvY2tcIlxyXG4gICAgICAgICAgW2ZpcnN0QmxvY2tUZW1wbGF0ZV09XCJmaXJzdEJsb2NrXCJcclxuICAgICAgICAgIFtzZWNvbmRCbG9ja1RlbXBsYXRlXT1cInNlY29uZEJsb2NrXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItYmxvY2s+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRpYWxvZy1zZWN0aW9uXCI+XHJcbiAgICAgICAgPGNvLWRlcG9zaXQtcGF5bWVudCBbYnJhbmNoXT1cInRyYW5zYWN0aW9uSW5mby5icmFuY2g/LnJlbGF0aW9uTnJcIiBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCI+PC9jby1kZXBvc2l0LXBheW1lbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbi0tPlxyXG4gICAgPGNvLWRpYWxvZyBjbGFzcz1cInBheW1lbnQtZGlhbG9nXCIgW21vZGFsXT1cInRydWVcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiAqbmdJZj1cInNob3dQYXltZW50RGlhbG9nXCIgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2xvc2VEaWFsb2coKVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctd3JhcHBlci1wb3B1cC10aXRsZVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhckNoZWNrKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8Y28tcGF5bWVudFxyXG4gICAgICAgIFt0cmFuc0lkXT1cInRyYW5zYWN0aW9uSW5mby5pZFwiXHJcbiAgICAgICAgW2JyYW5jaF09XCJ0cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbk5yXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICBbYW1vdW50XT1cInNob3dSZW1haW5pbmdQYXltZW50ID8gcmVtYWluaW5nVG9QYXkgOiB0b1BheVwiXHJcbiAgICAgICAgW3JlbWFpbmluZ1BheW1lbnRdPVwic2hvd1JlbWFpbmluZ1BheW1lbnRcIlxyXG4gICAgICAgIFtjdXJyZW5jeUlkXT1cInRyYW5zYWN0aW9uSW5mby5jdXJyZW5jeUlkXCJcclxuICAgICAgICBbZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nXT1cInRydWVcIlxyXG4gICAgICAgIFtzaG93UGF5bWVudERhdGVdPVwidHJ1ZVwiXHJcbiAgICAgID48L2NvLXBheW1lbnQ+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyYW5zYWN0aW9uSGVhZGVyUGF5bWVudENvbXBvbmVudCl9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlclBheW1lbnRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZGVwb3NpdFBheW1lbnRzOiBEZXBvc2l0UGF5bWVudFZpZXdNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1BheW1lbnREaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0xvYWRlckRlcG9zaXRQYXltZW50czogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHBhaWQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHRvUGF5OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyByZW1haW5pbmdUb1BheTogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2hvd1JlbWFpbmluZ1BheW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGF5bWVudENvbm5lY3RvclNlcnZpY2U6IFRyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBzZXJ2aWNlLCBjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvblBheW1lbnREb25lLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8oKSksXHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hY3RpdmVSdWJyaWNDaGFuZ2Uuc3Vic2NyaWJlKChydWJyaWM6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZW1haW5pbmdQYXltZW50ID0gcnVicmljID09PSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlIHx8IHJ1YnJpYyA9PT0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2U7XHJcbiAgICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgb3BlblBheW1lbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BheW1lbnREaWFsb2cgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHRyYW5zYWN0aW9uU2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQYXltZW50RGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yb2xsYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXBvc2l0UGF5bWVudHMubGVuZ3RoID0gMDtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSW5mbyAmJiB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCAmJiB0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKSB7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbykgPT4ge1xyXG4gICAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgICB0aGlzLnRvUGF5ID0gaW5mby5kZXBvc2l0QW1vdW50O1xyXG4gICAgICAgICAgdGhpcy5wYWlkID0gaW5mby5kZXBvc2l0UGF5bWVudEFtb3VudFRvdGFsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50L3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFJMUcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFFaEgsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDakcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFpSTVGLE1BQU0sT0FB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SUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtZQUNoRixJQUFJLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFtQyxFQUFFLEVBQUU7Z0JBQzFILElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO29CQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztpQkFDNUM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBM01GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUhUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUM7aUJBQzVIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoSU8sd0JBQXdCO1lBUHhCLHVCQUF1QjtZQU52QixrQkFBa0I7WUFEbEIsZ0JBQWdCO1lBU2hCLHFDQUFxQztZQUhyQyxpQkFBaUI7WUFFakIsdUJBQXVCO1lBVnZCLGlCQUFpQjtZQUlqQixrQ0FBa0M7Ozt3QkFnSnZDLFdBQVcsU0FBQyxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcGF5bWVudC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRWaWV3TW9kZWx9IGZyb20gJy4uLy4uLy4uL21vZGVsL2RlcG9zaXQtcGF5bWVudC12aWV3LW1vZGVsJztcclxuaW1wb3J0IHtQYXltZW50Vmlld21vZGVsfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9wYXltZW50LnZpZXdtb2RlbCc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1oZWFkZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LXdyYXBwZXItY29udGVudFwiIFtjbGFzcy5zaG93LXJlbWFpbmluZ109XCJzaG93UmVtYWluaW5nUGF5bWVudFwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItYmxvY2tcclxuICAgICAgICAgIFtmaXJzdEJsb2NrVGVtcGxhdGVdPVwiZmlyc3RCbG9ja1wiXHJcbiAgICAgICAgICBbc2Vjb25kQmxvY2tUZW1wbGF0ZV09XCJzZWNvbmRCbG9ja1wiXHJcbiAgICAgICAgICBbdGhpcmRCbG9ja1RlbXBsYXRlXT1cInRoaXJkQmxvY2tcIlxyXG4gICAgICAgICAgW2hpZGRlbkJsb2NrVGVtcGxhdGVdPVwiaGlkZGVuQmxvY2tcIlxyXG4gICAgICAgICAgKGhlYWRlckNsaWNrKT1cInNob3dEaWFsb2cgPSB0cnVlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItYmxvY2s+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1ibG9jayAqbmdJZj1cInNob3dSZW1haW5pbmdQYXltZW50XCJcclxuICAgICAgICAgIFtmaXJzdEJsb2NrVGVtcGxhdGVdPVwiZmlyc3RCbG9ja1Jlc3RcIlxyXG4gICAgICAgICAgKGhlYWRlckNsaWNrKT1cInNob3dEaWFsb2cgPSB0cnVlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItYmxvY2s+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ZpcnN0QmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItYmxvY2stcm93XCIgKGNsaWNrKT1cInNob3dEaWFsb2cgPSB0cnVlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1kb3ducGF5bWVudC1hbW91bnQtd3JhcHBlclwiIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRBbW91bnRIZWFkZXJcIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1kZXBvc2l0LWxhYmVsIGNvLXRyYW5zYWN0aW9uLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidET1dOUEFZTUVOVF9BTU9VTlQnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRBbW91bnRIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEVkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZmlyc3RCbG9ja1Jlc3Q+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItYmxvY2stcm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1pY29uXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyUGF5bWVudEF2YXRhckhlYWRlclwiIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImhlYWRlci1vcmRlci1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UGF5bWVudERpYWxvZyA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhckNoZWNrKVwiPlxyXG4gICAgICAgICAgPC9jby1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmVtYWluaW5nLXBheW1lbnQtYW1vdW50LXdyYXBwZXJcIiAoY2xpY2spPVwic2hvd0RpYWxvZyA9IHRydWVcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJQYXltZW50QW1vdW50SGVhZGVyXCIgc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZGVwb3NpdC1sYWJlbCBjby10cmFuc2FjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUkVNQUlOSU5HX1BBWU1FTlQnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItcmVtYWluaW5nLWFtb3VudCBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1yZW1haW5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlclBheW1lbnRBbW91bnRIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1haW5pbmdBbW91bnRDaGFuZ2UpPVwicmVtYWluaW5nVG9QYXkgPSAkZXZlbnRcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24taGVhZGVyLXJlbWFpbmluZy1hbW91bnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2Vjb25kQmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItYmxvY2stcm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1kb3ducGF5bWVudC1wZXJjZW50YWdlLXdyYXBwZXJcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJQYXltZW50UGVyY2VudGFnZUhlYWRlclwiIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWRlcG9zaXQtbGFiZWwgY28tdHJhbnNhY3Rpb24tbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJyUnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlIGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyUGF5bWVudFBlcmNlbnRhZ2VIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LXBlcmNlbnRhZ2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGhpcmRCbG9jaz5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1ibG9jay1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1wYXllZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXBheWVkLWxhYmVsIGNvLXRyYW5zYWN0aW9uLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidET1dOUEFZTUVOVF9ET05FJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtcGFpZFwiIFtjbGFzcy5zdWNjZXNzXT1cInBhaWQgPj0gdG9QYXlcIiBbdGV4dENvbnRlbnRdPVwiKHBhaWQgfCBjb0N1cnJlbmN5KSB8fCAwXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcGF5bWVudC1idXR0b24td3JhcHBlclwiIChjbGljayk9XCJvcGVuUGF5bWVudCgkZXZlbnQpXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyUGF5bWVudFBheW1lbnRIZWFkZXJcIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImhlYWRlci1vcmRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5MaWdodENyZWRpdENhcmRDaGVjaylcIj5cclxuICAgICAgICAgICAgPC9jby1pY29uPlxyXG5cclxuICAgICAgICAgIDwhLS1jby10cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1idXR0b24gKm5nSWY9XCJ0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICE9PSB0cmFuc0tpbmQuUHVyY2hhc2VPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvbi0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hpZGRlbkJsb2NrPlxyXG4gICAgICA8IS0tZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYnJhbmNoLWxhYmVsIGNvLXRyYW5zYWN0aW9uLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidCUkFOQ0gnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnJhbmNoLWxhYmVsXCIgW3RleHRDb250ZW50XT1cInRyYW5zYWN0aW9uSW5mby5icmFuY2g/LmZhbWlseU5hbWVcIj48L2Rpdj5cclxuICAgICAgPC9kaXYtLT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwICpuZ0lmPVwic2hvd0RpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeURlc2NyaXB0aW9uXT1cIidQQVlNRU5UX0lORk9STUFUSU9OJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dEaWFsb2cgPSBmYWxzZVwiPjwvY28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwPlxyXG48IS0tXHJcbiAgICA8Y28tZGlhbG9nIGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQtZGlhbG9nXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgKm5nSWY9XCJzaG93RGlhbG9nXCIgKGNsb3NlQ2xpY2spPVwic2hvd0RpYWxvZyA9IGZhbHNlXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWU1FTlRfSU5GT1JNQVRJT04nIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWJsb2NrXHJcbiAgICAgICAgICBbaGVhZGVyQmxvY2tUZW1wbGF0ZV09XCJoZWFkZXJCbG9ja1wiXHJcbiAgICAgICAgICBbZmlyc3RCbG9ja1RlbXBsYXRlXT1cImZpcnN0QmxvY2tcIlxyXG4gICAgICAgICAgW3NlY29uZEJsb2NrVGVtcGxhdGVdPVwic2Vjb25kQmxvY2tcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1ibG9jaz5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtZGlhbG9nLXNlY3Rpb25cIj5cclxuICAgICAgICA8Y28tZGVwb3NpdC1wYXltZW50IFticmFuY2hdPVwidHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25OclwiIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25JbmZvLnV1aWRcIj48L2NvLWRlcG9zaXQtcGF5bWVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuLS0+XHJcbiAgICA8Y28tZGlhbG9nIGNsYXNzPVwicGF5bWVudC1kaWFsb2dcIiBbbW9kYWxdPVwidHJ1ZVwiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiICpuZ0lmPVwic2hvd1BheW1lbnREaWFsb2dcIiAoY2xvc2VDbGljayk9XCJoYW5kbGVDbG9zZURpYWxvZygpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy13cmFwcGVyLXBvcHVwLXRpdGxlXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyZWRpdENhcmRSZWd1bGFyQ2hlY2spXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWU1FTlRfTUVUSE9EJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxjby1wYXltZW50XHJcbiAgICAgICAgW3RyYW5zSWRdPVwidHJhbnNhY3Rpb25JbmZvLmlkXCJcclxuICAgICAgICBbYnJhbmNoXT1cInRyYW5zYWN0aW9uSW5mby5icmFuY2g/LnJlbGF0aW9uTnJcIlxyXG4gICAgICAgIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25JbmZvLnV1aWRcIlxyXG4gICAgICAgIFthbW91bnRdPVwic2hvd1JlbWFpbmluZ1BheW1lbnQgPyByZW1haW5pbmdUb1BheSA6IHRvUGF5XCJcclxuICAgICAgICBbcmVtYWluaW5nUGF5bWVudF09XCJzaG93UmVtYWluaW5nUGF5bWVudFwiXHJcbiAgICAgICAgW2N1cnJlbmN5SWRdPVwidHJhbnNhY3Rpb25JbmZvLmN1cnJlbmN5SWRcIlxyXG4gICAgICAgIFtkb05vdEZldGNoQW1vdW50VG9QYXlGb3JSZW1haW5pbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Nob3dQYXltZW50RGF0ZV09XCJ0cnVlXCJcclxuICAgICAgPjwvY28tcGF5bWVudD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJhbnNhY3Rpb25IZWFkZXJQYXltZW50Q29tcG9uZW50KX1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uSGVhZGVyUGF5bWVudENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uSGVhZGVyQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBkZXBvc2l0UGF5bWVudHM6IERlcG9zaXRQYXltZW50Vmlld01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgc2hvd0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UGF5bWVudERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyRGVwb3NpdFBheW1lbnRzOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgcGFpZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgdG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHJlbWFpbmluZ1RvUGF5OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBzaG93UmVtYWluaW5nUGF5bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpKSxcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFjdGl2ZVJ1YnJpY0NoYW5nZS5zdWJzY3JpYmUoKHJ1YnJpYzogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd1JlbWFpbmluZ1BheW1lbnQgPSBydWJyaWMgPT09IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGUgfHwgcnVicmljID09PSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZTtcclxuICAgICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBvcGVuUGF5bWVudChldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgdGhpcy5zaG93UGF5bWVudERpYWxvZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdHJhbnNhY3Rpb25TZXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbG9zZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1BheW1lbnREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREZXBvc2l0UGF5bWVudEluZm8oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlcG9zaXRQYXltZW50cy5sZW5ndGggPSAwO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25JbmZvICYmIHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkICYmIHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICAgIHRoaXMudG9QYXkgPSBpbmZvLmRlcG9zaXRSZW1haW5kZXJBbW91bnQ7XHJcbiAgICAgICAgICB0aGlzLnBhaWQgPSBpbmZvLmRlcG9zaXRQYXltZW50QW1vdW50VG90YWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -138,22 +138,24 @@ export class TransactionHeaderPopupPaymentComponent extends TransactionHeaderPop
138
138
  });
139
139
  }
140
140
  _getOutstandingAmounts() {
141
- // keeping this for now, could be that we need to use this call after all
142
- // const outstandingAmountsRequest: OutstandingAmountFilterCustomer = new OutstandingAmountFilterCustomer();
143
- // outstandingAmountsRequest.transactionId = this.transactionInfo.id;
144
- // this._paymentConnectorService.getOutstandingCustomerAmounts(outstandingAmountsRequest).then((response: OutstandingAmountCustomer[]) => {
145
- // this.outstandingCustomerAmount = response;
146
- // });
147
- const paymentAnalysisRequest = new OrderPaymentAnalysisFilter();
148
- paymentAnalysisRequest.transactionId = this.transactionInfo.id;
149
- this._paymentConnectorService.getSalesOrderPaymentAnalysis(paymentAnalysisRequest).then((response) => {
150
- this.orderPaymentAnalysis = response;
151
- this.orderPaymentAnalysis = this.orderPaymentAnalysis.map(transaction => (Object.assign(Object.assign({}, transaction), { isSelected: false })));
152
- });
153
- this._paymentConnectorService.getPaymentAnalysis(this.transactionInfo.uuid).then((response) => {
154
- this.paymentAnalysis = response;
155
- this.chosenAmountToPay = this.paymentAnalysis.totalToPay;
156
- this._updateChosenAmountToPay();
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ // keeping this for now, could be that we need to use this call after all
143
+ // const outstandingAmountsRequest: OutstandingAmountFilterCustomer = new OutstandingAmountFilterCustomer();
144
+ // outstandingAmountsRequest.transactionId = this.transactionInfo.id;
145
+ // this._paymentConnectorService.getOutstandingCustomerAmounts(outstandingAmountsRequest).then((response: OutstandingAmountCustomer[]) => {
146
+ // this.outstandingCustomerAmount = response;
147
+ // });
148
+ const paymentAnalysisRequest = new OrderPaymentAnalysisFilter();
149
+ paymentAnalysisRequest.transactionId = this.transactionInfo.id;
150
+ yield this._paymentConnectorService.getSalesOrderPaymentAnalysis(paymentAnalysisRequest).then((response) => {
151
+ this.orderPaymentAnalysis = response;
152
+ this.orderPaymentAnalysis = this.orderPaymentAnalysis.map(transaction => (Object.assign(Object.assign({}, transaction), { isSelected: false })));
153
+ });
154
+ yield this._paymentConnectorService.getPaymentAnalysis(this.transactionInfo.uuid).then((response) => {
155
+ this.paymentAnalysis = response;
156
+ this.chosenAmountToPay = this.paymentAnalysis.totalToPay;
157
+ this._updateChosenAmountToPay();
158
+ });
157
159
  });
158
160
  }
159
161
  _getRegisteredPaymentInfo() {
@@ -175,6 +177,11 @@ export class TransactionHeaderPopupPaymentComponent extends TransactionHeaderPop
175
177
  this.orderPaymentAnalysis.filter(payment => payment.transactionKind === this.transKind.SalesInvoice).length === 0) {
176
178
  this.chosenAmountToPay = this.paymentAnalysis.totalDeposit;
177
179
  }
180
+ // Deposit only
181
+ if (this.orderPaymentAnalysis.filter(payment => payment.transactionKind === this.transKind.SalesOrder &&
182
+ payment.outstandingAmount > 0).length === 1) {
183
+ this.chosenAmountToPay = this.orderPaymentAnalysis[0].outstandingAmount;
184
+ }
178
185
  if (this.orderPaymentAnalysis.filter(payment => (payment.transactionKind === this.transKind.SalesInvoice) && (payment.outstandingAmount > 0)).length === 1) {
179
186
  const remainingInvoice = this.orderPaymentAnalysis.filter(payment => (payment.transactionKind === this.transKind.SalesInvoice) && (payment.outstandingAmount > 0))[0];
180
187
  this.chosenAmountToPay = remainingInvoice.outstandingAmount;
@@ -441,4 +448,4 @@ TransactionHeaderPopupPaymentComponent.ctorParameters = () => [
441
448
  TransactionHeaderPopupPaymentComponent.propDecorators = {
442
449
  showClass: [{ type: HostBinding, args: ['class.co-transaction-header-popup-payment',] }]
443
450
  };
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUc5RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFHNUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRTlELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBc1BqSCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsbUNBQW1DO0lBNkI3RixZQUNTLHdCQUFrRCxFQUNsRCx1QkFBZ0QsRUFDaEQsT0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLHFDQUE0RSxFQUN6RSxpQkFBb0MsRUFDcEMsWUFBcUMsRUFDckMsY0FBaUMsRUFDakMsYUFBdUMsRUFDdkMsaUJBQW9DLEVBQ3BDLGVBQTJDLEVBQzdDLHdCQUE0RDtRQUVwRSxLQUFLLENBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFDQUFxQyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBYnhOLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDekUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtRQUM3Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQW9DO1FBbkMvRCxpQkFBWSxHQUEwQixjQUFjLENBQUM7UUFDckQsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBQzVDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDMUMsc0VBQXNFO1FBQy9ELHlCQUFvQixHQUEyQixFQUFFLENBQUM7UUFFbEQsc0JBQWlCLEdBQXNCO1lBQzVDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUM7WUFDckMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUM7U0FDbkMsQ0FBQztRQUNLLG1CQUFjLEdBQW9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUszRCxpQkFBWSxHQUFtQixFQUFFLENBQUM7SUFpQjFDLENBQUM7SUExQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQTBDSyxRQUFROzs7OztZQUNaLE1BQU0sT0FBTSxRQUFRLFdBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFvQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDcEksQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwSCxDQUFDO0tBQUE7SUFFSyxXQUFXOzs7OztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDaEQsTUFBTSxPQUFNLFdBQVcsV0FBRSxDQUFDO1FBQzVCLENBQUM7S0FBQTtJQUVNLG1CQUFtQixDQUFDLEdBQW9CO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVZLHNCQUFzQjs7WUFDakMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7S0FBQTtJQUVNLHVCQUF1QixDQUFDLEtBQWM7UUFDM0MsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRVksV0FBVyxDQUFDLEtBQWlCOzs7WUFDeEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBQSxJQUFJLENBQUMsa0JBQWtCLG1DQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3RKLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakssSUFBSSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUM7YUFDekQ7WUFDRCxJQUFJLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2FBQy9COztLQUNGO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzFKLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxXQUFpQztRQUMvRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUUsT0FBZSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNqRixXQUFtQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN0RCxDQUFDO0lBRVMsY0FBYztRQUN0QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQW1DLEVBQUUsRUFBRTtZQUMxSCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDMUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIseUVBQXlFO1FBQ3pFLDRHQUE0RztRQUM1RyxxRUFBcUU7UUFDckUsMklBQTJJO1FBQzNJLCtDQUErQztRQUMvQyxNQUFNO1FBRU4sTUFBTSxzQkFBc0IsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzVGLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsNEJBQTRCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFnQyxFQUFFLEVBQUU7WUFDM0gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztZQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGlDQUNwRSxXQUFXLEtBQ2QsVUFBVSxFQUFFLEtBQUssSUFDakIsQ0FBc0MsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRTtZQUM3RyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDekQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRWEseUJBQXlCOztZQUNyQyxNQUFNLFdBQVcsR0FBcUMsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5SSxJQUFJLFdBQVcsRUFBRTtnQkFDZixJQUFJLENBQUMscUJBQXFCLEdBQUcsV0FBVyxDQUFDO2FBQzFDO1FBQ0gsQ0FBQztLQUFBO0lBRU8sdUJBQXVCLENBQUMsYUFBb0M7UUFDbEUsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzlILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDeEc7SUFDSCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25ILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztTQUM1RDtRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RLLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztTQUM3RDtRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4SixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7O1lBMWFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeU9UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUExUE8sd0JBQXdCO1lBWHhCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyxpQkFBaUI7WUFDakIsdUJBQXVCO1lBVHZCLGlCQUFpQjtZQVVqQix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQixrQ0FBa0M7Ozt3QkE4UHZDLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBCYXNlQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7UGF5bWVudEFuYWx5c2lzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1hbmFseXNpcy5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcmVsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1wYXltZW50LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtJbnRlcm5hbFBhcmFtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7Q29DdXJyZW5jeVBpcGV9IGZyb20gXCIuLi8uLi8uLi9waXBlL2NvLWN1cnJlbmN5LnBpcGVcIjtcclxuaW1wb3J0IHtPcmRlclBheW1lbnRBbmFseXNpc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLXBheW1lbnQtYW5hbHlzaXMuYm8nO1xyXG5pbXBvcnQge09yZGVyUGF5bWVudEFuYWx5c2lzRmlsdGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItcGF5bWVudC1hbmFseXNpcy1maWx0ZXIuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tcmVnaXN0ZXJlZC1wYXltZW50LWluZm8uYm8nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q2F0ZWdvcnkge1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jYXRlZ29yeS13cmFwcGVyIGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgPGNvLWZvcm0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQYXlEb3duTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInVE9fUEFZX0RPV04nIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LXBlcmNlbnRhZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGVwb3NpdFBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZXBvc2l0VXBkYXRlZCk9XCJzaG93T3V0c3RhbmRpbmdBbW91bnRzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkRlcG9zaXRBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidXNpbmVzc1J1bGVBcHBsaWVkKT1cInNob3dCdXNpbmVzc1J1bGVJbmZvID0gJGV2ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXRocmVlLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXVzZS1kZXBvc2l0LXJ1bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICE9PSB0cmFuc0tpbmQuUHVyY2hhc2VPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlVzZURlcG9zaXRSdWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci11c2UtZGVwb3NpdC1ydWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1hdXRvLXJlY2FsY3VsYXRlLWRlcG9zaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICE9PSB0cmFuc0tpbmQuUHVyY2hhc2VPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkF1dG9SZWNhbGN1bGF0ZURlcG9zaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWF1dG8tcmVjYWxjdWxhdGUtZGVwb3NpdD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGl2aWRlLWV2ZW5seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGl2aWRlRXZlbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1kaXZpZGUtZXZlbmx5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1idXNpbmVzcy1ydWxlLWFwcGxpZWRcIiAqbmdJZj1cInNob3dCdXNpbmVzc1J1bGVJbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaXJjbGVFeGNsYW1hdGlvblJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInREVQT1NJVF9CVVNJTkVTU19SVUxFX0FQUExJRUQnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1hbW91bnQtdG8tc2V0dGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkFtb3VudFRvU2V0dGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1hbW91bnQtdG8tc2V0dGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1hbHJlYWR5LXBhaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuVG90YWxQYWlkRG93blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RPVEFMX1BBSURfRE9XTicgfCBsb2NhbGl6ZVwiIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInBhaWREb3duXCIgW2Zvcm1hdFBpcGVdPVwiY3VycmVuY3lQaXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TZXR0bGVkU29GYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRVRUTEVEX1NPX0ZBUicgfCBsb2NhbGl6ZVwiIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInNldHRsZWRcIiBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiICpuZ0lmPVwic2hvd0Nhc2hPbkRlbGl2ZXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1vbi1kZWxpdmVyeS1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDQVNIX09OX0RFTElWRVJZJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiY2FzaE9uRGVsaXZlcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdFBpcGVdPVwiY3VycmVuY3lQaXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0RpcmVjdFNlbGxFbmFibGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcnVja01vdmluZ1JlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXNoT25EZWxpdmVyeU1vZGFsVmlzaWJsZSA9IHRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5QYXltZW50QnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIignREVMSVZFUllfVE9UQUwnIHwgbG9jYWxpemUpIHwgYXBwZW5kOicgLyAnIHwgYXBwZW5kOignVE9fU0VUVExFJyB8IGxvY2FsaXplOmZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGF5bWVudEFuYWx5c2lzXCIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1RPX0lOVk9JQ0UnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0aWxsLXRvcC1wYXktc3RhdHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidUT19CRV9JTlZPSUNFRCcgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiPnt7IHBheW1lbnRBbmFseXNpcz8udG90YWxUb0ludm9pY2UgfCBjb0N1cnJlbmN5OnRydWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FMUkVBRFlfSU5WT0lDRUQnIHwgbG9jYWxpemVcIj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnRcIj57eyBwYXltZW50QW5hbHlzaXM/LnRvdGFsRGVwb3NpdEludm9pY2UgfCBjb0N1cnJlbmN5OnRydWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1NUSUxMX1RPX1BBWScgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiIFtjbGFzcy5vdXRzdGFuZGluZ109XCJwYXltZW50QW5hbHlzaXM/LnRvdGFsVG9QYXkgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEFuYWx5c2lzPy50b3RhbFRvUGF5IHwgY29DdXJyZW5jeTp0cnVlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmRlclBheW1lbnRBbmFseXNpcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJwYXltZW50LWluZm9ybWF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNhdmUtYnV0dG9uIHBheW1lbnQtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQYXltZW50QnV0dG9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3JlZGl0Q2FyZFJlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBheW1lbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYXltZW50LWNhdGVnb3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSBjYXRlZ29yeS5pbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBwYXltZW50Q2F0ZWdvcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDYXRlZ29yeUNsaWNrKGNhdGVnb3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJjYXRlZ29yeS50aXRsZSB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeS5pbmRleCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIiAqbmdJZj1cInNob3dJbnZvaWNlU2VsZWN0aW9uKClcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWScgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiIFt0ZXh0Q29udGVudF09XCInREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVDInIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ1BBSUQnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ1NFVFRMRUQnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ09VVFNUQU5ESU5HJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXltZW50SW5mbyBvZiBvcmRlclBheW1lbnRBbmFseXNpc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIiAqbmdJZj1cInNob3dJbnZvaWNlU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50ID4gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXltZW50SW5mby5pc1NlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0SW52b2ljZUxpbmVzKHBheW1lbnRJbmZvKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBheW1lbnRJbmZvLnRyYW5zYWN0aW9uS2luZCA9PT0gdHJhbnNLaW5kLlNhbGVzT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInREVQT1NJVCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNJbnZvaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidJTlZPSUNFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBwYXltZW50SW5mby50cmFuc2FjdGlvbk51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgcGF5bWVudEluZm8udHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7IHBheW1lbnRJbmZvLmludm9pY2VBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3MucGFpZF09XCJwYXltZW50SW5mby5wYWlkQW1vdW50ID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHBheW1lbnRJbmZvLnBhaWRBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBwYXltZW50SW5mby5zZXR0bGVkQW1vdW50IHwgY29DdXJyZW5jeTp0cnVlIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgW2NsYXNzLm91dHN0YW5kaW5nXT1cInBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50ID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50IHwgY29DdXJyZW5jeTp0cnVlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlZ2lzdGVyZWRQYXltZW50SW5mbyAmJiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHMubGVuZ3RoID09PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidOT1RfRk9VTkQnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJyZWdpc3RlcmVkUGF5bWVudEluZm8gJiYgcmVnaXN0ZXJlZFBheW1lbnRJbmZvLnBheW1lbnRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCIgW3RleHRDb250ZW50XT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVDInIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW3RleHRDb250ZW50XT1cIidEQVRFJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcGF5bWVudEluZm8gb2YgcmVnaXN0ZXJlZFBheW1lbnRJbmZvLnBheW1lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIj57eyBwYXltZW50SW5mby5yZWZlcmVuY2UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHN0cm9uZz57eyBwYXltZW50SW5mby5hbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcGF5bWVudEluZm8ucGF5bWVudERhdGVUaW1lIHwgZGF0ZTonZGQtTU0teXl5eScgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jby1mb3JtPlxyXG5cclxuICAgICAgICAgIDxjby1jYXNoLW9uLWRlbGl2ZXJ5LW1vZGFsXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvVXVpZF09XCJ0cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICAgICAgICAgIChjYXNoQW1vdW50KT1cImdldENhc2hBbW91bnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChzaG93Q2FzaE9uRGVsaXZlcnlNb2RhbCk9XCJzaG93Q2FzaE9uRGVsaXZlcnlNb2RhbCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWNhc2gtb24tZGVsaXZlcnktbW9kYWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLWRpYWxvZ1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwicGF5bWVudC1kaWFsb2dcIlxyXG4gICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheW1lbnREaWFsb2dcIlxyXG4gICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImhhbmRsZUNsb3NlRGlhbG9nKClcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy13cmFwcGVyLXBvcHVwLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3JlZGl0Q2FyZFJlZ3VsYXJDaGVjaylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxjby1wYXltZW50XHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc0lkXT1cInRyYW5zYWN0aW9uSWRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgIFticmFuY2hdPVwidHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25OclwiXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25JbmZvLnV1aWRcIlxyXG4gICAgICAgICAgICAgICAgICBbYW1vdW50XT1cImNob3NlbkFtb3VudFRvUGF5XCJcclxuICAgICAgICAgICAgICAgICAgW3JlbWFpbmluZ1BheW1lbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjdXJyZW5jeUlkXT1cInRyYW5zYWN0aW9uSW5mby5jdXJyZW5jeUlkXCJcclxuICAgICAgICAgICAgICAgICAgW2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dQYXltZW50RGF0ZV09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQ+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFBheW1lbnRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1wYXltZW50JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3VycmVuY3lQaXBlOiB0eXBlb2YgQ29DdXJyZW5jeVBpcGUgPSBDb0N1cnJlbmN5UGlwZTtcclxuICBwdWJsaWMgcGFpZERvd246IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHNldHRsZWQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGNhc2hPbkRlbGl2ZXJ5OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBzaG93QnVzaW5lc3NSdWxlSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UGF5RG93bkxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNhc2hPbkRlbGl2ZXJ5TW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dDYXNoT25EZWxpdmVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UGF5bWVudERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIHB1YmxpYyBvdXRzdGFuZGluZ0N1c3RvbWVyQW1vdW50OiBPdXRzdGFuZGluZ0Ftb3VudEN1c3RvbWVyW10gPSBbXTtcclxuICBwdWJsaWMgb3JkZXJQYXltZW50QW5hbHlzaXM6IE9yZGVyUGF5bWVudEFuYWx5c2lzW10gPSBbXTtcclxuICBwdWJsaWMgcGF5bWVudEFuYWx5c2lzOiBQYXltZW50QW5hbHlzaXM7XHJcbiAgcHVibGljIHBheW1lbnRDYXRlZ29yaWVzOiBQYXltZW50Q2F0ZWdvcnlbXSA9IFtcclxuICAgIHtpbmRleDogMCwgdGl0bGU6IFwiUEFZTUVOVF9BTkFMWVNJU1wifSxcclxuICAgIHtpbmRleDogMSwgdGl0bGU6IFwiUEFZTUVOVFNfTUFERVwifVxyXG4gIF07XHJcbiAgcHVibGljIGFjdGl2ZUNhdGVnb3J5OiBQYXltZW50Q2F0ZWdvcnkgPSB0aGlzLnBheW1lbnRDYXRlZ29yaWVzWzBdO1xyXG4gIHB1YmxpYyBjaG9zZW5BbW91bnRUb1BheTogbnVtYmVyO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbklkVG9QYXk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVnaXN0ZXJlZFBheW1lbnRJbmZvOiBUcmFuc2FjdGlvblJlZ2lzdGVyZWRQYXltZW50SW5mbztcclxuXHJcbiAgcHJpdmF0ZSBfcGF5bWVudFN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHJlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50Q29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgc2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIGltYWdlU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IsIGRpYWxvZ1NlcnZpY2UsIGZvcm1NYXN0ZXJTZXJ2aWNlLCByZWxhdGlvblNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fcGF5bWVudFN1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvblBheW1lbnREb25lLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZ2V0RGVwb3NpdEluZm8oKTtcclxuICAgICAgICB0aGlzLl9nZXRPdXRzdGFuZGluZ0Ftb3VudHMoKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5jb25maWdTZXQuc3Vic2NyaWJlKChjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10pID0+IHRoaXMuX2dldE9iamVjdENvbmZpZ3VyYXRpb24oY29uZmlnT2JqZWN0cykpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zaG93Q2FzaE9uRGVsaXZlcnkgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRJbnRlcm5hbFBhcmFtZXRlcihJbnRlcm5hbFBhcmFtLlNlbGxEaXJlY3RseUZyb21TdXBwbCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uRGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3BheW1lbnRTdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgYXdhaXQgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYXRlZ29yeUNsaWNrKGNhdDogUGF5bWVudENhdGVnb3J5KTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gY2F0O1xyXG5cclxuICAgIGlmICh0aGlzLmFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAxKSB7XHJcbiAgICAgIHRoaXMuX2dldFJlZ2lzdGVyZWRQYXltZW50SW5mbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNob3dPdXRzdGFuZGluZ0Ftb3VudHMoKSB7XHJcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRyYW5zYWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Nhc2hPbkRlbGl2ZXJ5TW9kYWwodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDYXNoQW1vdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FzaE9uRGVsaXZlcnkgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UGF5bWVudEJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLnNvbWUodCA9PiB0Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkgJiYgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA+IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgb3BlblBheW1lbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID0gdGhpcy50cmFuc2FjdGlvbklkVG9QYXkgPz8gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICBpZiAodGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiBwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgbGFzdFRyYW5zYWN0aW9uID0gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiBwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKVswXTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkVG9QYXkgPSBsYXN0VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JZDtcclxuICAgIH1cclxuICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BheW1lbnREaWFsb2cgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93UGF5bWVudERpYWxvZyA9IGZhbHNlO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uucm9sbGJhY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0RpcmVjdFNlbGxFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5zb21lKGxpbmUgPT4gbGluZS5kaXJlY3RTZWxsICYmIGxpbmUuZHJvcFNoaXBtZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93SW52b2ljZVNlbGVjdGlvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UgJiYgcGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApLmxlbmd0aCA+IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0SW52b2ljZUxpbmVzKHBheW1lbnRJbmZvOiBPcmRlclBheW1lbnRBbmFseXNpcyk6IHZvaWQge1xyXG4gICAgdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5mb3JFYWNoKGludm9pY2UgPT4gKGludm9pY2UgYXMgYW55KS5pc1NlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgKHBheW1lbnRJbmZvIGFzIGFueSkuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gcGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSWRUb1BheSA9IHBheW1lbnRJbmZvLnRyYW5zYWN0aW9uSWQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXQoKSB7XHJcbiAgICBzdXBlci50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgdGhpcy5fZ2V0RGVwb3NpdEluZm8oKTtcclxuICAgIHRoaXMuX2dldE91dHN0YW5kaW5nQW1vdW50cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RGVwb3NpdEluZm8oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXREZXBvc2l0UGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCkudGhlbigoaW5mbzogVHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8pID0+IHtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLnBhaWREb3duID0gaW5mby5kZXBvc2l0UGF5bWVudEFtb3VudFRvdGFsO1xyXG4gICAgICAgIHRoaXMuc2V0dGxlZCA9IGluZm8uZGVwb3NpdEFtb3VudFNldHRsZWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0T3V0c3RhbmRpbmdBbW91bnRzKCk6IHZvaWQge1xyXG4gICAgLy8ga2VlcGluZyB0aGlzIGZvciBub3csIGNvdWxkIGJlIHRoYXQgd2UgbmVlZCB0byB1c2UgdGhpcyBjYWxsIGFmdGVyIGFsbFxyXG4gICAgLy8gY29uc3Qgb3V0c3RhbmRpbmdBbW91bnRzUmVxdWVzdDogT3V0c3RhbmRpbmdBbW91bnRGaWx0ZXJDdXN0b21lciA9IG5ldyBPdXRzdGFuZGluZ0Ftb3VudEZpbHRlckN1c3RvbWVyKCk7XHJcbiAgICAvLyBvdXRzdGFuZGluZ0Ftb3VudHNSZXF1ZXN0LnRyYW5zYWN0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIC8vIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldE91dHN0YW5kaW5nQ3VzdG9tZXJBbW91bnRzKG91dHN0YW5kaW5nQW1vdW50c1JlcXVlc3QpLnRoZW4oKHJlc3BvbnNlOiBPdXRzdGFuZGluZ0Ftb3VudEN1c3RvbWVyW10pID0+IHtcclxuICAgIC8vICAgdGhpcy5vdXRzdGFuZGluZ0N1c3RvbWVyQW1vdW50ID0gcmVzcG9uc2U7XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICBjb25zdCBwYXltZW50QW5hbHlzaXNSZXF1ZXN0OiBPcmRlclBheW1lbnRBbmFseXNpc0ZpbHRlciA9IG5ldyBPcmRlclBheW1lbnRBbmFseXNpc0ZpbHRlcigpO1xyXG4gICAgcGF5bWVudEFuYWx5c2lzUmVxdWVzdC50cmFuc2FjdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRTYWxlc09yZGVyUGF5bWVudEFuYWx5c2lzKHBheW1lbnRBbmFseXNpc1JlcXVlc3QpLnRoZW4oKHJlc3BvbnNlOiBPcmRlclBheW1lbnRBbmFseXNpc1tdKSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMgPSByZXNwb25zZTtcclxuICAgICAgdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcyA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMubWFwKHRyYW5zYWN0aW9uID0+ICh7XHJcbiAgICAgICAgLi4udHJhbnNhY3Rpb24sXHJcbiAgICAgICAgaXNTZWxlY3RlZDogZmFsc2VcclxuICAgICAgfSkpIGFzIHVua25vd24gYXMgT3JkZXJQYXltZW50QW5hbHlzaXNbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldFBheW1lbnRBbmFseXNpcyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChyZXNwb25zZTogUGF5bWVudEFuYWx5c2lzKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudEFuYWx5c2lzID0gcmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSB0aGlzLnBheW1lbnRBbmFseXNpcy50b3RhbFRvUGF5O1xyXG4gICAgICB0aGlzLl91cGRhdGVDaG9zZW5BbW91bnRUb1BheSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRSZWdpc3RlcmVkUGF5bWVudEluZm8oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBwYXltZW50SW5mbzogVHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm8gPSBhd2FpdCB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRSZWdpc3RlcmVkUGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgICBpZiAocGF5bWVudEluZm8pIHtcclxuICAgICAgdGhpcy5yZWdpc3RlcmVkUGF5bWVudEluZm8gPSBwYXltZW50SW5mbztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9iamVjdENvbmZpZ3VyYXRpb24oY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdKTogdm9pZCB7XHJcbiAgICBpZiAoY29uZmlnT2JqZWN0cyAmJiBjb25maWdPYmplY3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zaG93UGF5RG93bkxhYmVsID0gdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5EZXBvc2l0UGVyY2VudGFnZSkuaW1tZWRpYXRlbHlWaXNpYmxlKCkgfHxcclxuICAgICAgICB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlcG9zaXRBbW91bnQpLmltbWVkaWF0ZWx5VmlzaWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlQ2hvc2VuQW1vdW50VG9QYXkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5zb21lKHQgPT4gdC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApICYmXHJcbiAgICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSB0aGlzLnBheW1lbnRBbmFseXNpcy50b3RhbERlcG9zaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gKHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpICYmIChwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkpLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBjb25zdCByZW1haW5pbmdJbnZvaWNlID0gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiAocGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSkgJiYgKHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSlbMF07XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSByZW1haW5pbmdJbnZvaWNlLm91dHN0YW5kaW5nQW1vdW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IChwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlKSAmJiAocGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
451
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUc5RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0UsT0FBTyxFQUFD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QTBCO1lBQzFCLGtDQUFrQzs7O3dCQThQdkMsV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cEJhc2VDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtQYXltZW50QW5hbHlzaXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LWFuYWx5c2lzLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXBheW1lbnQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ludGVybmFsUGFyYW19IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2ludGVybmFsLXBhcmFtLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ3VyYXRpb259IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHtDb0N1cnJlbmN5UGlwZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvY28tY3VycmVuY3kucGlwZVwiO1xyXG5pbXBvcnQge09yZGVyUGF5bWVudEFuYWx5c2lzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItcGF5bWVudC1hbmFseXNpcy5ibyc7XHJcbmltcG9ydCB7T3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1wYXltZW50LWFuYWx5c2lzLWZpbHRlci5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1yZWdpc3RlcmVkLXBheW1lbnQtaW5mby5ibyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDYXRlZ29yeSB7XHJcbiAgaW5kZXg6IG51bWJlcjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1wYXltZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWNhdGVnb3J5LXdyYXBwZXIgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8Y28tZm9ybT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheURvd25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidUT19QQVlfRE9XTicgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5EZXBvc2l0UGVyY2VudGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlcG9zaXRVcGRhdGVkKT1cInNob3dPdXRzdGFuZGluZ0Ftb3VudHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGVwb3NpdEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1c2luZXNzUnVsZUFwcGxpZWQpPVwic2hvd0J1c2luZXNzUnVsZUluZm8gPSAkZXZlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdGhyZWUtY29sdW1uLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItdXNlLWRlcG9zaXQtcnVsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuVXNlRGVwb3NpdFJ1bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLXVzZS1kZXBvc2l0LXJ1bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWF1dG8tcmVjYWxjdWxhdGUtZGVwb3NpdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuQXV0b1JlY2FsY3VsYXRlRGVwb3NpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItYXV0by1yZWNhbGN1bGF0ZS1kZXBvc2l0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kaXZpZGUtZXZlbmx5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5EaXZpZGVFdmVubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRpdmlkZS1ldmVubHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWJ1c2luZXNzLXJ1bGUtYXBwbGllZFwiICpuZ0lmPVwic2hvd0J1c2luZXNzUnVsZUluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNpcmNsZUV4Y2xhbWF0aW9uUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidERVBPU0lUX0JVU0lORVNTX1JVTEVfQVBQTElFRCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWFtb3VudC10by1zZXR0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuQW1vdW50VG9TZXR0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWFtb3VudC10by1zZXR0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWFscmVhZHktcGFpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5Ub3RhbFBhaWREb3duXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVE9UQUxfUEFJRF9ET1dOJyB8IGxvY2FsaXplXCIgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwicGFpZERvd25cIiBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlNldHRsZWRTb0ZhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFVFRMRURfU09fRkFSJyB8IGxvY2FsaXplXCIgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2V0dGxlZFwiIFtmb3JtYXRQaXBlXT1cImN1cnJlbmN5UGlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCIgKm5nSWY9XCJzaG93Q2FzaE9uRGVsaXZlcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLW9uLWRlbGl2ZXJ5LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NBU0hfT05fREVMSVZFUlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJjYXNoT25EZWxpdmVyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRGlyZWN0U2VsbEVuYWJsZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrTW92aW5nUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhc2hPbkRlbGl2ZXJ5TW9kYWxWaXNpYmxlID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC10d28tY29sdW1uLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlBheW1lbnRCdG5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiKCdERUxJVkVSWV9UT1RBTCcgfCBsb2NhbGl6ZSkgfCBhcHBlbmQ6JyAvICcgfCBhcHBlbmQ6KCdUT19TRVRUTEUnIHwgbG9jYWxpemU6ZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwYXltZW50QW5hbHlzaXNcIiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInVE9fSU5WT0lDRScgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RpbGwtdG9wLXBheS1zdGF0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1RPX0JFX0lOVk9JQ0VEJyB8IGxvY2FsaXplXCI+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50XCI+e3sgcGF5bWVudEFuYWx5c2lzPy50b3RhbFRvSW52b2ljZSB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQUxSRUFEWV9JTlZPSUNFRCcgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiPnt7IHBheW1lbnRBbmFseXNpcz8udG90YWxEZXBvc2l0SW52b2ljZSB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RJTExfVE9fUEFZJyB8IGxvY2FsaXplXCI+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50XCIgW2NsYXNzLm91dHN0YW5kaW5nXT1cInBheW1lbnRBbmFseXNpcz8udG90YWxUb1BheSA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBwYXltZW50QW5hbHlzaXM/LnRvdGFsVG9QYXkgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZGVyUGF5bWVudEFuYWx5c2lzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInBheW1lbnQtaW5mb3JtYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2F2ZS1idXR0b24gcGF5bWVudC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheW1lbnRCdXR0b24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUGF5bWVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2F0ZWdvcmllc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBheW1lbnQtY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlQ2F0ZWdvcnkuaW5kZXggPT09IGNhdGVnb3J5LmluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHBheW1lbnRDYXRlZ29yaWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNhdGVnb3J5Q2xpY2soY2F0ZWdvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgW3RleHRDb250ZW50XT1cImNhdGVnb3J5LnRpdGxlIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiICpuZ0lmPVwic2hvd0ludm9pY2VTZWxlY3Rpb24oKVwiIFt0ZXh0Q29udGVudF09XCInUEFZJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCIgW3RleHRDb250ZW50XT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInQU1PVU5UMicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInUEFJRCcgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInU0VUVExFRCcgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInT1VUU1RBTkRJTkcnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHBheW1lbnRJbmZvIG9mIG9yZGVyUGF5bWVudEFuYWx5c2lzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiICpuZ0lmPVwic2hvd0ludm9pY2VTZWxlY3Rpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYXltZW50SW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zS2luZC5TYWxlc0ludm9pY2UgJiYgcGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgPiAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInBheW1lbnRJbmZvLmlzU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RJbnZvaWNlTGluZXMocGF5bWVudEluZm8pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidERVBPU0lUJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwYXltZW50SW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zS2luZC5TYWxlc0ludm9pY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0UnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7IHBheW1lbnRJbmZvLnRyYW5zYWN0aW9uTnVtYmVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBwYXltZW50SW5mby50cmFuc2FjdGlvbkRhdGUgfCBkYXRlOidkZC1NTS15eXl5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzdHJvbmc+e3sgcGF5bWVudEluZm8uaW52b2ljZUFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5wYWlkXT1cInBheW1lbnRJbmZvLnBhaWRBbW91bnQgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEluZm8ucGFpZEFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHBheW1lbnRJbmZvLnNldHRsZWRBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3Mub3V0c3RhbmRpbmddPVwicGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkuaW5kZXggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmVnaXN0ZXJlZFBheW1lbnRJbmZvICYmIHJlZ2lzdGVyZWRQYXltZW50SW5mby5wYXltZW50cy5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJ05PVF9GT1VORCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cInJlZ2lzdGVyZWRQYXltZW50SW5mbyAmJiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIiBbdGV4dENvbnRlbnRdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInQU1PVU5UMicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0RBVEUnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXltZW50SW5mbyBvZiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiPnt7IHBheW1lbnRJbmZvLnJlZmVyZW5jZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7IHBheW1lbnRJbmZvLmFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBwYXltZW50SW5mby5wYXltZW50RGF0ZVRpbWUgfCBkYXRlOidkZC1NTS15eXl5JyB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2NvLWZvcm0+XHJcblxyXG4gICAgICAgICAgPGNvLWNhc2gtb24tZGVsaXZlcnktbW9kYWxcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXNoT25EZWxpdmVyeU1vZGFsVmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgICAgICAgKGNhc2hBbW91bnQpPVwiZ2V0Q2FzaEFtb3VudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKHNob3dDYXNoT25EZWxpdmVyeU1vZGFsKT1cInNob3dDYXNoT25EZWxpdmVyeU1vZGFsKCRldmVudClcIj5cclxuICAgICAgICAgIDwvY28tY2FzaC1vbi1kZWxpdmVyeS1tb2RhbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tZGlhbG9nXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYXltZW50LWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgW21vZGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UGF5bWVudERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2xvc2VEaWFsb2coKVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhckNoZWNrKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWU1FTlRfTUVUSE9EJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnRcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zSWRdPVwidHJhbnNhY3Rpb25JZFRvUGF5XCJcclxuICAgICAgICAgICAgICAgICAgW2JyYW5jaF09XCJ0cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbk5yXCJcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICAgICAgICAgIFthbW91bnRdPVwiY2hvc2VuQW1vdW50VG9QYXlcIlxyXG4gICAgICAgICAgICAgICAgICBbcmVtYWluaW5nUGF5bWVudF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2N1cnJlbmN5SWRdPVwidHJhbnNhY3Rpb25JbmZvLmN1cnJlbmN5SWRcIlxyXG4gICAgICAgICAgICAgICAgICBbZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd1BheW1lbnREYXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tcGF5bWVudD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwUGF5bWVudENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW5jeVBpcGU6IHR5cGVvZiBDb0N1cnJlbmN5UGlwZSA9IENvQ3VycmVuY3lQaXBlO1xyXG4gIHB1YmxpYyBwYWlkRG93bjogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2V0dGxlZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaE9uRGVsaXZlcnk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHNob3dCdXNpbmVzc1J1bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQYXlEb3duTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0Nhc2hPbkRlbGl2ZXJ5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQYXltZW50RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gcHVibGljIG91dHN0YW5kaW5nQ3VzdG9tZXJBbW91bnQ6IE91dHN0YW5kaW5nQW1vdW50Q3VzdG9tZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBvcmRlclBheW1lbnRBbmFseXNpczogT3JkZXJQYXltZW50QW5hbHlzaXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBwYXltZW50QW5hbHlzaXM6IFBheW1lbnRBbmFseXNpcztcclxuICBwdWJsaWMgcGF5bWVudENhdGVnb3JpZXM6IFBheW1lbnRDYXRlZ29yeVtdID0gW1xyXG4gICAge2luZGV4OiAwLCB0aXRsZTogXCJQQVlNRU5UX0FOQUxZU0lTXCJ9LFxyXG4gICAge2luZGV4OiAxLCB0aXRsZTogXCJQQVlNRU5UU19NQURFXCJ9XHJcbiAgXTtcclxuICBwdWJsaWMgYWN0aXZlQ2F0ZWdvcnk6IFBheW1lbnRDYXRlZ29yeSA9IHRoaXMucGF5bWVudENhdGVnb3JpZXNbMF07XHJcbiAgcHVibGljIGNob3NlbkFtb3VudFRvUGF5OiBudW1iZXI7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uSWRUb1BheTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWdpc3RlcmVkUGF5bWVudEluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvO1xyXG5cclxuICBwcml2YXRlIF9wYXltZW50U3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IFRyYW5zYWN0aW9uRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBmb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlOiBUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBzZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvciwgZGlhbG9nU2VydmljZSwgZm9ybU1hc3RlclNlcnZpY2UsIHJlbGF0aW9uU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9wYXltZW50U3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9nZXREZXBvc2l0SW5mbygpO1xyXG4gICAgICAgIHRoaXMuX2dldE91dHN0YW5kaW5nQW1vdW50cygpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmNvbmZpZ1NldC5zdWJzY3JpYmUoKGNvbmZpZ09iamVjdHM6IE9iamVjdENvbmZpZ3VyYXRpb25bXSkgPT4gdGhpcy5fZ2V0T2JqZWN0Q29uZmlndXJhdGlvbihjb25maWdPYmplY3RzKSlcclxuICAgICk7XHJcbiAgICB0aGlzLnNob3dDYXNoT25EZWxpdmVyeSA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEludGVybmFsUGFyYW1ldGVyKEludGVybmFsUGFyYW0uU2VsbERpcmVjdGx5RnJvbVN1cHBsKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25EZXN0cm95KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fcGF5bWVudFN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBhd2FpdCBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhdGVnb3J5Q2xpY2soY2F0OiBQYXltZW50Q2F0ZWdvcnkpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBjYXQ7XHJcblxyXG4gICAgaWYgKHRoaXMuYWN0aXZlQ2F0ZWdvcnkuaW5kZXggPT09IDEpIHtcclxuICAgICAgdGhpcy5fZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2hvd091dHN0YW5kaW5nQW1vdW50cygpIHtcclxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93Q2FzaE9uRGVsaXZlcnlNb2RhbCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5jYXNoT25EZWxpdmVyeU1vZGFsVmlzaWJsZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENhc2hBbW91bnQodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5jYXNoT25EZWxpdmVyeSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQYXltZW50QnV0dG9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuc29tZSh0ID0+IHQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSAmJiB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBvcGVuUGF5bWVudChldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbklkVG9QYXkgPSB0aGlzLnRyYW5zYWN0aW9uSWRUb1BheSA/PyB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UgJiYgcGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBjb25zdCBsYXN0VHJhbnNhY3Rpb24gPSB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UgJiYgcGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApWzBdO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uSWRUb1BheSA9IGxhc3RUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklkO1xyXG4gICAgfVxyXG4gICAgaWYgKGF3YWl0IHRoaXMubG9ja1RyYW5zYWN0aW9uKCkpIHtcclxuICAgICAgdGhpcy5zaG93UGF5bWVudERpYWxvZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQYXltZW50RGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yb2xsYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGlyZWN0U2VsbEVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkxpbmVzLnNvbWUobGluZSA9PiBsaW5lLmRpcmVjdFNlbGwgJiYgbGluZS5kcm9wU2hpcG1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dJbnZvaWNlU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSAmJiBwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkubGVuZ3RoID4gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RJbnZvaWNlTGluZXMocGF5bWVudEluZm86IE9yZGVyUGF5bWVudEFuYWx5c2lzKTogdm9pZCB7XHJcbiAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZvckVhY2goaW52b2ljZSA9PiAoaW52b2ljZSBhcyBhbnkpLmlzU2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICAocGF5bWVudEluZm8gYXMgYW55KS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSBwYXltZW50SW5mby5vdXRzdGFuZGluZ0Ftb3VudDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID0gcGF5bWVudEluZm8udHJhbnNhY3Rpb25JZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvblNldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uU2V0KCk7XHJcbiAgICB0aGlzLl9nZXREZXBvc2l0SW5mbygpO1xyXG4gICAgdGhpcy5fZ2V0T3V0c3RhbmRpbmdBbW91bnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREZXBvc2l0SW5mbygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbykgPT4ge1xyXG4gICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgIHRoaXMucGFpZERvd24gPSBpbmZvLmRlcG9zaXRQYXltZW50QW1vdW50VG90YWw7XHJcbiAgICAgICAgdGhpcy5zZXR0bGVkID0gaW5mby5kZXBvc2l0QW1vdW50U2V0dGxlZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRPdXRzdGFuZGluZ0Ftb3VudHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBrZWVwaW5nIHRoaXMgZm9yIG5vdywgY291bGQgYmUgdGhhdCB3ZSBuZWVkIHRvIHVzZSB0aGlzIGNhbGwgYWZ0ZXIgYWxsXHJcbiAgICAvLyBjb25zdCBvdXRzdGFuZGluZ0Ftb3VudHNSZXF1ZXN0OiBPdXRzdGFuZGluZ0Ftb3VudEZpbHRlckN1c3RvbWVyID0gbmV3IE91dHN0YW5kaW5nQW1vdW50RmlsdGVyQ3VzdG9tZXIoKTtcclxuICAgIC8vIG91dHN0YW5kaW5nQW1vdW50c1JlcXVlc3QudHJhbnNhY3Rpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgLy8gdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0T3V0c3RhbmRpbmdDdXN0b21lckFtb3VudHMob3V0c3RhbmRpbmdBbW91bnRzUmVxdWVzdCkudGhlbigocmVzcG9uc2U6IE91dHN0YW5kaW5nQW1vdW50Q3VzdG9tZXJbXSkgPT4ge1xyXG4gICAgLy8gICB0aGlzLm91dHN0YW5kaW5nQ3VzdG9tZXJBbW91bnQgPSByZXNwb25zZTtcclxuICAgIC8vIH0pO1xyXG5cclxuICAgIGNvbnN0IHBheW1lbnRBbmFseXNpc1JlcXVlc3Q6IE9yZGVyUGF5bWVudEFuYWx5c2lzRmlsdGVyID0gbmV3IE9yZGVyUGF5bWVudEFuYWx5c2lzRmlsdGVyKCk7XHJcbiAgICBwYXltZW50QW5hbHlzaXNSZXF1ZXN0LnRyYW5zYWN0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldFNhbGVzT3JkZXJQYXltZW50QW5hbHlzaXMocGF5bWVudEFuYWx5c2lzUmVxdWVzdCkudGhlbigocmVzcG9uc2U6IE9yZGVyUGF5bWVudEFuYWx5c2lzW10pID0+IHtcclxuICAgICAgdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcyA9IHJlc3BvbnNlO1xyXG4gICAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzID0gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5tYXAodHJhbnNhY3Rpb24gPT4gKHtcclxuICAgICAgICAuLi50cmFuc2FjdGlvbixcclxuICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZVxyXG4gICAgICB9KSkgYXMgdW5rbm93biBhcyBPcmRlclBheW1lbnRBbmFseXNpc1tdO1xyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UGF5bWVudEFuYWx5c2lzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKHJlc3BvbnNlOiBQYXltZW50QW5hbHlzaXMpID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50QW5hbHlzaXMgPSByZXNwb25zZTtcclxuICAgICAgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA9IHRoaXMucGF5bWVudEFuYWx5c2lzLnRvdGFsVG9QYXk7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZUNob3NlbkFtb3VudFRvUGF5KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFJlZ2lzdGVyZWRQYXltZW50SW5mbygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHBheW1lbnRJbmZvOiBUcmFuc2FjdGlvblJlZ2lzdGVyZWRQYXltZW50SW5mbyA9IGF3YWl0IHRoaXMuX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlLmdldFJlZ2lzdGVyZWRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICAgIGlmIChwYXltZW50SW5mbykge1xyXG4gICAgICB0aGlzLnJlZ2lzdGVyZWRQYXltZW50SW5mbyA9IHBheW1lbnRJbmZvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0T2JqZWN0Q29uZmlndXJhdGlvbihjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10pOiB2b2lkIHtcclxuICAgIGlmIChjb25maWdPYmplY3RzICYmIGNvbmZpZ09iamVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNob3dQYXlEb3duTGFiZWwgPSB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlcG9zaXRQZXJjZW50YWdlKS5pbW1lZGlhdGVseVZpc2libGUoKSB8fFxyXG4gICAgICAgIHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuRGVwb3NpdEFtb3VudCkuaW1tZWRpYXRlbHlWaXNpYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVDaG9zZW5BbW91bnRUb1BheSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLnNvbWUodCA9PiB0Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkgJiZcclxuICAgICAgdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiBwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA9IHRoaXMucGF5bWVudEFuYWx5c2lzLnRvdGFsRGVwb3NpdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEZXBvc2l0IG9ubHlcclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc09yZGVyICYmXHJcbiAgICAgIHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXNbMF0ub3V0c3RhbmRpbmdBbW91bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gKHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpICYmIChwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkpLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBjb25zdCByZW1haW5pbmdJbnZvaWNlID0gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiAocGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSkgJiYgKHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSlbMF07XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSByZW1haW5pbmdJbnZvaWNlLm91dHN0YW5kaW5nQW1vdW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IChwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlKSAmJiAocGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=