monkey-style-guide 2.0.203 → 2.0.205

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.
@@ -1,7 +1,7 @@
1
1
  /**************************
2
2
  * Copyright Monkey Exchange. All Rights Reserved
3
3
  * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
4
+ * MIT Licence
5
5
  **************************/
6
6
  .mecx-skeleton {
7
7
  animation: mecx-skeleton-loading 1s linear infinite alternate;
@@ -22,7 +22,6 @@
22
22
 
23
23
  width: 100%;
24
24
  height: 12px;
25
- margin-bottom: 8px;
26
25
  border-radius: 8px;
27
26
 
28
27
  &.md {
@@ -7,12 +7,14 @@ import { CurrencyPipe } from '@angular/common';
7
7
  import { Component, ViewEncapsulation, Input, forwardRef, HostListener, Output, EventEmitter, ViewChild, Inject, DEFAULT_CURRENCY_CODE, } from '@angular/core';
8
8
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
9
9
  import { MonkeyUtils } from '../../core/utils';
10
+ import * as moment_ from 'moment';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/common";
12
13
  import * as i2 from "../../core";
13
14
  import * as i3 from "../icon/icon.component";
14
15
  import * as i4 from "@angular/forms";
15
16
  import * as i5 from "ngx-mask";
17
+ const moment = moment_;
16
18
  export class MonkeyInputComponent {
17
19
  constructor(currencyPipe, settingsService, cdr, defaultCurencyCode) {
18
20
  this.currencyPipe = currencyPipe;
@@ -23,16 +25,35 @@ export class MonkeyInputComponent {
23
25
  this.helperMessage = '';
24
26
  this.placeholder = '';
25
27
  this.maxLength = 255;
26
- this.maxDateToday = false;
27
28
  this.onChange = new EventEmitter();
28
29
  this.onModelChange = (value) => { };
29
30
  this.onModelTouched = (value) => { };
30
31
  this._id = `mecx-input-${MonkeyUtils.getRandomString(10)}`;
31
32
  this._disabled = false;
32
- this._maxDateToday = new Date().toISOString().split('T')[0];
33
33
  this._symbol = '';
34
+ this._maxDate = undefined;
34
35
  //not to do
35
36
  }
37
+ set maxDateToday(value) {
38
+ try {
39
+ if (value) {
40
+ this._maxDate = new Date().toISOString().split('T')[0];
41
+ }
42
+ }
43
+ catch (e) {
44
+ // ignore
45
+ }
46
+ }
47
+ set minYears(value) {
48
+ try {
49
+ if (value) {
50
+ this._maxDate = moment.default().subtract(value, 'years').toISOString().split('T')[0];
51
+ }
52
+ }
53
+ catch (e) {
54
+ // ignore
55
+ }
56
+ }
36
57
  handleValue(value, apply = false) {
37
58
  if (this.onlyNumber) {
38
59
  return MonkeyUtils.handleOnlyNumbers(`${value}`);
@@ -153,7 +174,7 @@ export class MonkeyInputComponent {
153
174
  }
154
175
  }
155
176
  MonkeyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputComponent, deps: [{ token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }, { token: i0.ChangeDetectorRef }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Component });
156
- MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
177
+ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", minYears: "minYears", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
157
178
  {
158
179
  provide: NG_VALUE_ACCESSOR,
159
180
  useExisting: forwardRef(() => MonkeyInputComponent),
@@ -217,7 +238,7 @@ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
217
238
  [disabled]="_disabled"
218
239
  [maxLength]="maxLength"
219
240
  *ngIf="!mask && !prefix"
220
- [max]="maxDateToday ? _maxDateToday : null"
241
+ [max]="_maxDate"
221
242
  #monkeyInput
222
243
  />
223
244
  <monkey-icon
@@ -304,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
304
325
  [disabled]="_disabled"
305
326
  [maxLength]="maxLength"
306
327
  *ngIf="!mask && !prefix"
307
- [max]="maxDateToday ? _maxDateToday : null"
328
+ [max]="_maxDate"
308
329
  #monkeyInput
309
330
  />
310
331
  <monkey-icon
@@ -381,6 +402,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
381
402
  type: Input
382
403
  }], maxDateToday: [{
383
404
  type: Input
405
+ }], minYears: [{
406
+ type: Input
384
407
  }], onChange: [{
385
408
  type: Output
386
409
  }], monkeyInput: [{
@@ -394,4 +417,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
394
417
  type: HostListener,
395
418
  args: ['click']
396
419
  }] } });
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFHWixNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCxNQUFNLEVBQ04scUJBQXFCLEdBRXRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFpRy9DLE1BQU0sT0FBTyxvQkFBb0I7SUF1Qy9CLFlBQ1UsWUFBMEIsRUFDMUIsZUFBZ0QsRUFDaEQsR0FBc0IsRUFDUyxrQkFBMEM7UUFIekUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlDO1FBQ2hELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ1MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtRQTFDMUUsU0FBSSxHQUFXLGNBQWMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRS9ELGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBT3pCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFReEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVyQyxRQUFHLEdBQVcsY0FBYyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFhbEIsV0FBVztJQUNiLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbEQ7YUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDbkYsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNwRCxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BELElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQzdFLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUM3QixJQUFHLENBQUMsTUFBTTtnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUN0QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUM1QixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVU7UUFDNUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ2hDLEtBQUssRUFDTCxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxLQUFLLEVBQ2pDLEVBQUUsRUFDRixPQUFPLEVBQ1AsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksT0FBTyxDQUN0QyxDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQ25CO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFHLGtCQUFrQixFQUFDO2dCQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2FBQ3BCO2lCQUFJO2dCQUNILElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ2IsR0FBRyxFQUFFLElBQUk7b0JBQ1QsR0FBRyxFQUFFLEtBQUs7b0JBQ1YsR0FBRyxFQUFFLEtBQUs7b0JBQ1YsR0FBRyxFQUFFLEdBQUc7aUJBQ1QsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQzthQUN0QztTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBd0IsRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUM3RCxDQUFDO0lBR0QsT0FBTztRQUNMLFFBQVEsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BELE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksU0FBUyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25FLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsT0FBTzthQUNSO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoQyxPQUFPLEdBQUcsY0FBYyxDQUFDO1NBQzFCO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7O2tIQXBMVSxvQkFBb0IsOEhBMkNyQixxQkFBcUI7c0dBM0NwQixvQkFBb0IsK2tCQVRwQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ25ELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxZQUFZO0tBQ2Isb0pBM0ZTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0ZUOzRGQVdVLG9CQUFvQjtrQkEvRmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtGVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxZQUFZO3FCQUNiO2lCQUNGOzswQkE0Q0ksTUFBTTsyQkFBQyxxQkFBcUI7NENBMUN0QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQWlCUCxXQUFXO3NCQUhWLFNBQVM7dUJBQUMsYUFBYSxFQUFFO3dCQUN4QixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkE2RkcsS0FBSztzQkFEUixLQUFLO2dCQStCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaW1wb3J0IHsgQ3VycmVuY3lQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uSW5pdCxcbiAgRWxlbWVudFJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEluamVjdCxcbiAgREVGQVVMVF9DVVJSRU5DWV9DT0RFLFxuICBJbmplY3Rpb25Ub2tlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtZWN4LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIiBbaWRdPVwiX2lkXCI+XG4gICAgICA8bWVjeC1mb3JtLWZpZWxkLWhlYWRlcj5cbiAgICAgICAgPGxhYmVsPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxoZWxwZXI+XG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxuICAgICAgICA8L2hlbHBlcj5cbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWhlYWRlcj5cbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keSBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIj5cbiAgICAgICAgPG1vbmtleS1pY29uXG4gICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcbiAgICAgICAgICAqbmdJZj1cImljb25cIlxuICAgICAgICA+PC9tb25rZXktaWNvbj5cbiAgICAgICAgPHN5bWJvbD5cbiAgICAgICAgICB7eyBfc3ltYm9sIH19XG4gICAgICAgIDwvc3ltYm9sPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKCRldmVudClcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAgIFtpZF09XCJuYW1lXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9mb3JtYXRlZFZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcbiAgICAgICAgICBbcHJlZml4XT1cInByZWZpeFwiXG4gICAgICAgICAgKm5nSWY9XCJtYXNrICYmIHByZWZpeFwiXG4gICAgICAgICAgI21vbmtleUlucHV0XG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgW2lkXT1cIm5hbWVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiX2Zvcm1hdGVkVmFsdWVcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxuICAgICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiAhcHJlZml4XCJcbiAgICAgICAgICAjbW9ua2V5SW5wdXRcbiAgICAgICAgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbaWRdPVwibmFtZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJfZm9ybWF0ZWRWYWx1ZVwiXG4gICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXG4gICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICpuZ0lmPVwiIW1hc2sgJiYgIXByZWZpeFwiXG4gICAgICAgICAgW21heF09XCJtYXhEYXRlVG9kYXkgPyBfbWF4RGF0ZVRvZGF5IDogbnVsbFwiXG4gICAgICAgICAgI21vbmtleUlucHV0XG4gICAgICAgIC8+XG4gICAgICAgIDxtb25rZXktaWNvblxuICAgICAgICAgIGljb249XCJleWUtb3Blbi0xNlwiXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICd0ZXh0J1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICAgIDxtb25rZXktaWNvblxuICAgICAgICAgIGljb249XCJleWUtY2xvc2VkLTE2XCJcbiAgICAgICAgICBbY29sb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKCkgPyAnI2ZhMzgzOCcgOiAnIzRCNEE1MydcIlxuICAgICAgICAgICpuZ0lmPVwiX29sZFR5cGUgPT09ICdwYXNzd29yZCcgJiYgdHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1ib2R5PlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XG4gICAgICAgIDxpbmZvPlxuICAgICAgICAgIHt7IGluZm9NZXNzYWdlIH19XG4gICAgICAgIDwvaW5mbz5cbiAgICAgICAgPGVycm9yPlxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Vycm9yPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtZm9vdGVyPlxuICAgIDwvbWVjeC1mb3JtLWZpZWxkPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgQ3VycmVuY3lQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBgbWVjeC1pbnB1dC0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBtYXNrOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciA9IDI1NTtcbiAgQElucHV0KCkgb25seU51bWJlcjogYW55O1xuICBASW5wdXQoKSBvbmx5QWxwaGFOdW1lcmljOiBhbnk7XG4gIEBJbnB1dCgpIHVwcGVyQ2FzZTogYW55O1xuICBASW5wdXQoKSBsb3dlckNhc2U6IGFueTtcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYW55O1xuICBASW5wdXQoKSBjdXJyZW5jeTogYW55O1xuICBASW5wdXQoKSBwZXJjZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1heERhdGVUb2RheSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIHNldHRpbmdzOiBNb25rZXlTdHlsZVNldHRpbmdzO1xuICBwcml2YXRlIGhhbmRsZWRWYWx1ZTogYW55O1xuICBwcml2YXRlIG9uTW9kZWxDaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XG4gIHByaXZhdGUgb25Nb2RlbFRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XG5cbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtaW5wdXQtJHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMTApfWA7XG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIF9vbGRUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyBfZm9ybWF0ZWRWYWx1ZTogYW55O1xuICBwdWJsaWMgX21heERhdGVUb2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICBwdWJsaWMgX3N5bWJvbCA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoJ21vbmtleUlucHV0Jywge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgbW9ua2V5SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChERUZBVUxUX0NVUlJFTkNZX0NPREUpIHByaXZhdGUgZGVmYXVsdEN1cmVuY3lDb2RlOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+LFxuICApIHtcbiAgICAvL25vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55LCBhcHBseSA9IGZhbHNlKTogYW55IHtcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyKSB7XG4gICAgICByZXR1cm4gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnMoYCR7dmFsdWV9YCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMpIHJldHVybiBNb25rZXlVdGlscy5oYW5kbGVPbmx5QWxwaGFOdW1lcmljKGAke3ZhbHVlfWApO1xuICAgIGVsc2UgaWYgKHRoaXMudXBwZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpO1xuICAgIGVsc2UgaWYgKHRoaXMubG93ZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIGVsc2UgaWYgKHRoaXMuY2FwaXRhbGl6ZSkgcmV0dXJuIE1vbmtleVV0aWxzLmNhcGl0YWxpemUoYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpKTtcbiAgICBlbHNlIGlmICh0aGlzLmN1cnJlbmN5IHx8IHRoaXMucGVyY2VudCkge1xuICAgICAgY29uc3QgaGFuZGxlZCA9IE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlZCAvIDEwMDtcbiAgICAgIGlmKCFyZXN1bHQpIHJldHVybiAnJztcbiAgICAgIHJldHVybiByZXN1bHQudG9GaXhlZCgyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VaZXJvKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9YC5yZXBsYWNlKG5ldyBSZWdFeHAoLzAvLCAnZycpLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XG4gICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcbiAgICAgIGlmICghdmFsdWUgfHwgIXRoaXMucmVwbGFjZVplcm8odmFsdWUpKSByZXR1cm4gJyc7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgc2V0dGluZ3M/LmN1cnJlbmN5Py5jb2RlIHx8ICdCUkwnLFxuICAgICAgICAnJyxcbiAgICAgICAgJzEuMi0yJyxcbiAgICAgICAgc2V0dGluZ3M/LmN1cnJlbmN5Py5sb2NhbGUgfHwgJ3B0LUJSJ1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGVyY2VudCkge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTeW1ib2woKSB7XG4gICAgY29uc3QgeyBzZXR0aW5ncywgZGVmYXVsdEN1cmVuY3lDb2RlIH0gPSB0aGlzO1xuICAgIFxuICAgIGlmICh0aGlzLmN1cnJlbmN5KSB7XG4gICAgICBpZihkZWZhdWx0Q3VyZW5jeUNvZGUpe1xuICAgICAgICBjb25zdCBjdXIgPSB0aGlzLmRlZmF1bHRDdXJlbmN5Q29kZS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl9zeW1ib2wgPSBjdXI7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5fc3ltYm9sID0ge1xuICAgICAgICAgIEJSTDogJ1IkJyxcbiAgICAgICAgICBDTFA6ICdDTFAnLFxuICAgICAgICAgIE1YTjogJ01YTicsXG4gICAgICAgICAgVVNEOiAnJCdcbiAgICAgICAgfVtzZXR0aW5ncz8uY3VycmVuY3k/LmNvZGUgfHwgJ0JSTCddO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wZXJjZW50KSB7XG4gICAgICB0aGlzLl9zeW1ib2wgPSAnJSc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyBzZXR0aW5nc1NlcnZpY2UgfSA9IHRoaXM7XG4gICAgdGhpcy5fb2xkVHlwZSA9IHRoaXMudHlwZTtcbiAgICBzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MoKS5zdWJzY3JpYmUoKHZhbDogTW9ua2V5U3R5bGVTZXR0aW5ncykgPT4ge1xuICAgICAgdGhpcy5zZXR0aW5ncyA9IHZhbDtcbiAgICAgIHRoaXMuaGFuZGxlU3ltYm9sKCk7XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmhhbmRsZWRWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuX2Zvcm1hdGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuaGFuZGxlZFZhbHVlKTtcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKHRoaXMuaGFuZGxlZFZhbHVlKTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZWRWYWx1ZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZm9ybWF0ZWRWYWx1ZTtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgaGFuZGxlZCA9IHRoaXMuaGFuZGxlVmFsdWUodmFsdWUsIHRydWUpO1xuICAgIHRoaXMud3JpdGVWYWx1ZShoYW5kbGVkKTtcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQoaGFuZGxlZCk7XG4gIH1cblxuICBvblNob3dBbmRIaWRlUGFzc3dvcmQoKSB7XG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBkb2N1bWVudD8uZ2V0RWxlbWVudEJ5SWQodGhpcy5faWQpPy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKT8uWzBdPy5mb2N1cygpO1xuICB9XG5cbiAgb25LZXlQcmVzcyhldmVudDogYW55KSB7XG4gICAgbGV0IHBhdHRlcm4gPSBudWxsO1xuICAgIGNvbnN0IGNtcCA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlO1xuICAgIGNvbnN0IGlucHV0Q2hhciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZXZlbnQuY2hhckNvZGUpO1xuICAgIGlmICh0aGlzLmN1cnJlbmN5IHx8IHRoaXMub25seU51bWJlciB8fCB0aGlzLnBlcmNlbnQpIHtcbiAgICAgIHBhdHRlcm4gPSAvWzAtOV0vO1xuICAgICAgaWYgKCF0aGlzLm9ubHlOdW1iZXIgJiYgaW5wdXRDaGFyID09PSAnMCcgJiYgIXRoaXMucmVwbGFjZVplcm8oY21wKSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMpIHtcbiAgICAgIHBhdHRlcm4gPSAvW14wLTlBLVphLXpdLztcbiAgICB9XG5cbiAgICBpZiAocGF0dGVybiAmJiAhcGF0dGVybi50ZXN0KGlucHV0Q2hhcikpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
420
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFHWixNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCxNQUFNLEVBQ04scUJBQXFCLEdBRXRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFFbEMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBaUc1QixNQUFNLE9BQU8sb0JBQW9CO0lBd0QvQixZQUNVLFlBQTBCLEVBQzFCLGVBQWdELEVBQ2hELEdBQXNCLEVBQ1Msa0JBQTBDO1FBSHpFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNTLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUEzRDFFLFNBQUksR0FBVyxjQUFjLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUUvRCxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQU96QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBMEJ2QixhQUFRLEdBQUcsSUFBSSxZQUFZ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SztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDTyxZQUFZO3NCQUF4QixLQUFLO2dCQVNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBU0ksUUFBUTtzQkFBakIsTUFBTTtnQkFpQlAsV0FBVztzQkFIVixTQUFTO3VCQUFDLGFBQWEsRUFBRTt3QkFDeEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBNkZHLEtBQUs7c0JBRFIsS0FBSztnQkErQk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXQsXG4gIEVsZW1lbnRSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBJbmplY3QsXG4gIERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSxcbiAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5U3R5bGVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuY29uc3QgbW9tZW50OiBhbnkgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtZWN4LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIiBbaWRdPVwiX2lkXCI+XG4gICAgICA8bWVjeC1mb3JtLWZpZWxkLWhlYWRlcj5cbiAgICAgICAgPGxhYmVsPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxoZWxwZXI+XG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxuICAgICAgICA8L2hlbHBlcj5cbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWhlYWRlcj5cbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keSBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIj5cbiAgICAgICAgPG1vbmtleS1pY29uXG4gICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcbiAgICAgICAgICAqbmdJZj1cImljb25cIlxuICAgICAgICA+PC9tb25rZXktaWNvbj5cbiAgICAgICAgPHN5bWJvbD5cbiAgICAgICAgICB7eyBfc3ltYm9sIH19XG4gICAgICAgIDwvc3ltYm9sPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKCRldmVudClcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAgIFtpZF09XCJuYW1lXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9mb3JtYXRlZFZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcbiAgICAgICAgICBbcHJlZml4XT1cInByZWZpeFwiXG4gICAgICAgICAgKm5nSWY9XCJtYXNrICYmIHByZWZpeFwiXG4gICAgICAgICAgI21vbmtleUlucHV0XG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgW2lkXT1cIm5hbWVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiX2Zvcm1hdGVkVmFsdWVcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxuICAgICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiAhcHJlZml4XCJcbiAgICAgICAgICAjbW9ua2V5SW5wdXRcbiAgICAgICAgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbaWRdPVwibmFtZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJfZm9ybWF0ZWRWYWx1ZVwiXG4gICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXG4gICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICpuZ0lmPVwiIW1hc2sgJiYgIXByZWZpeFwiXG4gICAgICAgICAgW21heF09XCJfbWF4RGF0ZVwiXG4gICAgICAgICAgI21vbmtleUlucHV0XG4gICAgICAgIC8+XG4gICAgICAgIDxtb25rZXktaWNvblxuICAgICAgICAgIGljb249XCJleWUtb3Blbi0xNlwiXG4gICAgICAgICAgW2NvbG9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpID8gJyNmYTM4MzgnIDogJyM0QjRBNTMnXCJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICd0ZXh0J1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICAgIDxtb25rZXktaWNvblxuICAgICAgICAgIGljb249XCJleWUtY2xvc2VkLTE2XCJcbiAgICAgICAgICBbY29sb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKCkgPyAnI2ZhMzgzOCcgOiAnIzRCNEE1MydcIlxuICAgICAgICAgICpuZ0lmPVwiX29sZFR5cGUgPT09ICdwYXNzd29yZCcgJiYgdHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1ib2R5PlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XG4gICAgICAgIDxpbmZvPlxuICAgICAgICAgIHt7IGluZm9NZXNzYWdlIH19XG4gICAgICAgIDwvaW5mbz5cbiAgICAgICAgPGVycm9yPlxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Vycm9yPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtZm9vdGVyPlxuICAgIDwvbWVjeC1mb3JtLWZpZWxkPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgQ3VycmVuY3lQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBgbWVjeC1pbnB1dC0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBtYXNrOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciA9IDI1NTtcbiAgQElucHV0KCkgb25seU51bWJlcjogYW55O1xuICBASW5wdXQoKSBvbmx5QWxwaGFOdW1lcmljOiBhbnk7XG4gIEBJbnB1dCgpIHVwcGVyQ2FzZTogYW55O1xuICBASW5wdXQoKSBsb3dlckNhc2U6IGFueTtcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYW55O1xuICBASW5wdXQoKSBjdXJyZW5jeTogYW55O1xuICBASW5wdXQoKSBwZXJjZW50OiBhbnk7XG4gIEBJbnB1dCgpIHNldCBtYXhEYXRlVG9kYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0cnl7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cbiAgfVxuICBASW5wdXQoKSBzZXQgbWluWWVhcnModmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0cnl7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZSA9IG1vbWVudC5kZWZhdWx0KCkuc3VidHJhY3QodmFsdWUsICd5ZWFycycpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG4gIH1cbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncztcbiAgcHJpdmF0ZSBoYW5kbGVkVmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIHB1YmxpYyBfaWQ6IHN0cmluZyA9IGBtZWN4LWlucHV0LSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBfb2xkVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgX2Zvcm1hdGVkVmFsdWU6IGFueTtcbiAgcHVibGljIF9zeW1ib2wgPSAnJztcbiAgcHVibGljIF9tYXhEYXRlID0gdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ21vbmtleUlucHV0Jywge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgbW9ua2V5SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChERUZBVUxUX0NVUlJFTkNZX0NPREUpIHByaXZhdGUgZGVmYXVsdEN1cmVuY3lDb2RlOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+LFxuICApIHtcbiAgICAvL25vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55LCBhcHBseSA9IGZhbHNlKTogYW55IHtcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyKSB7XG4gICAgICByZXR1cm4gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnMoYCR7dmFsdWV9YCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMpIHJldHVybiBNb25rZXlVdGlscy5oYW5kbGVPbmx5QWxwaGFOdW1lcmljKGAke3ZhbHVlfWApO1xuICAgIGVsc2UgaWYgKHRoaXMudXBwZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpO1xuICAgIGVsc2UgaWYgKHRoaXMubG93ZXJDYXNlKSByZXR1cm4gYCR7dmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIGVsc2UgaWYgKHRoaXMuY2FwaXRhbGl6ZSkgcmV0dXJuIE1vbmtleVV0aWxzLmNhcGl0YWxpemUoYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpKTtcbiAgICBlbHNlIGlmICh0aGlzLmN1cnJlbmN5IHx8IHRoaXMucGVyY2VudCkge1xuICAgICAgY29uc3QgaGFuZGxlZCA9IE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlZCAvIDEwMDtcbiAgICAgIGlmKCFyZXN1bHQpIHJldHVybiAnJztcbiAgICAgIHJldHVybiByZXN1bHQudG9GaXhlZCgyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VaZXJvKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9YC5yZXBsYWNlKG5ldyBSZWdFeHAoLzAvLCAnZycpLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XG4gICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcbiAgICAgIGlmICghdmFsdWUgfHwgIXRoaXMucmVwbGFjZVplcm8odmFsdWUpKSByZXR1cm4gJyc7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgc2V0dGluZ3M/LmN1cnJlbmN5Py5jb2RlIHx8ICdCUkwnLFxuICAgICAgICAnJyxcbiAgICAgICAgJzEuMi0yJyxcbiAgICAgICAgc2V0dGluZ3M/LmN1cnJlbmN5Py5sb2NhbGUgfHwgJ3B0LUJSJ1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGVyY2VudCkge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTeW1ib2woKSB7XG4gICAgY29uc3QgeyBzZXR0aW5ncywgZGVmYXVsdEN1cmVuY3lDb2RlIH0gPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuY3VycmVuY3kpIHtcbiAgICAgIGlmKGRlZmF1bHRDdXJlbmN5Q29kZSl7XG4gICAgICAgIGNvbnN0IGN1ciA9IHRoaXMuZGVmYXVsdEN1cmVuY3lDb2RlLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuX3N5bWJvbCA9IGN1cjtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLl9zeW1ib2wgPSB7XG4gICAgICAgICAgQlJMOiAnUiQnLFxuICAgICAgICAgIENMUDogJ0NMUCcsXG4gICAgICAgICAgTVhOOiAnTVhOJyxcbiAgICAgICAgICBVU0Q6ICckJ1xuICAgICAgICB9W3NldHRpbmdzPy5jdXJyZW5jeT8uY29kZSB8fCAnQlJMJ107XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnBlcmNlbnQpIHtcbiAgICAgIHRoaXMuX3N5bWJvbCA9ICclJztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB7IHNldHRpbmdzU2VydmljZSB9ID0gdGhpcztcbiAgICB0aGlzLl9vbGRUeXBlID0gdGhpcy50eXBlO1xuICAgIHNldHRpbmdzU2VydmljZS5zZXR0aW5ncygpLnN1YnNjcmliZSgodmFsOiBNb25rZXlTdHlsZVNldHRpbmdzKSA9PiB7XG4gICAgICB0aGlzLnNldHRpbmdzID0gdmFsO1xuICAgICAgdGhpcy5oYW5kbGVTeW1ib2woKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuaGFuZGxlZFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fZm9ybWF0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5oYW5kbGVkVmFsdWUpO1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQodGhpcy5oYW5kbGVkVmFsdWUpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9mb3JtYXRlZFZhbHVlO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBoYW5kbGVkID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gICAgdGhpcy53cml0ZVZhbHVlKGhhbmRsZWQpO1xuICAgIHRoaXMub25DaGFuZ2UubmV4dChoYW5kbGVkKTtcbiAgfVxuXG4gIG9uU2hvd0FuZEhpZGVQYXNzd29yZCgpIHtcbiAgICB0aGlzLnR5cGUgPSB0aGlzLnR5cGUgPT09ICdwYXNzd29yZCcgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCkge1xuICAgIGRvY3VtZW50Py5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCk/LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpPy5bMF0/LmZvY3VzKCk7XG4gIH1cblxuICBvbktleVByZXNzKGV2ZW50OiBhbnkpIHtcbiAgICBsZXQgcGF0dGVybiA9IG51bGw7XG4gICAgY29uc3QgY21wID0gZXZlbnQ/LnRhcmdldD8udmFsdWU7XG4gICAgY29uc3QgaW5wdXRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSk7XG4gICAgaWYgKHRoaXMuY3VycmVuY3kgfHwgdGhpcy5vbmx5TnVtYmVyIHx8IHRoaXMucGVyY2VudCkge1xuICAgICAgcGF0dGVybiA9IC9bMC05XS87XG4gICAgICBpZiAoIXRoaXMub25seU51bWJlciAmJiBpbnB1dENoYXIgPT09ICcwJyAmJiAhdGhpcy5yZXBsYWNlWmVybyhjbXApKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMub25seUFscGhhTnVtZXJpYykge1xuICAgICAgcGF0dGVybiA9IC9bXjAtOUEtWmEtel0vO1xuICAgIH1cblxuICAgIGlmIChwYXR0ZXJuICYmICFwYXR0ZXJuLnRlc3QoaW5wdXRDaGFyKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -184,7 +184,7 @@ MonkeySelectSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
184
184
  <mecx-select class="trigger" [ngClass]="{ open: _opened }">
185
185
  <mecx-select__trigger>
186
186
  <input
187
- [placeholder]="labelSelect || placeholder"
187
+ [placeholder]="placeholder || labelSelect"
188
188
  (input)="onChangeInput($event)"
189
189
  #inputFilter
190
190
  [ngModel]="_selected?.label || ''"
@@ -230,7 +230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
230
230
  <mecx-select class="trigger" [ngClass]="{ open: _opened }">
231
231
  <mecx-select__trigger>
232
232
  <input
233
- [placeholder]="labelSelect || placeholder"
233
+ [placeholder]="placeholder || labelSelect"
234
234
  (input)="onChangeInput($event)"
235
235
  #inputFilter
236
236
  [ngModel]="_selected?.label || ''"
@@ -303,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
303
303
  type: HostListener,
304
304
  args: ['document:click']
305
305
  }] } });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBRVosZUFBZSxFQUNmLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQU1WLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQXVEL0MsTUFBTSxPQUFPLDJCQUEyQjtJQStCdEMsWUFBb0IsS0FBd0IsRUFBVSxRQUFtQjtRQUFyRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF4QmhFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxZQUFZLENBQU0sSUFBSSxDQUFDLENBQUM7UUFTekMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQU1yQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFFBQUcsR0FBVyxzQkFBc0IsV0FBVyxDQUFDLGVBQWUsQ0FB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QXJEdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO2dJQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR1AsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVDLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9sQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMscUJBQXFCO2dCQWlHbEMsS0FBSztzQkFEUixLQUFLO2dCQTBCTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1vbmtleU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktc2VsZWN0LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1lY3gtZm9ybS1maWVsZCBbaWRdPVwiX2lkXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIj5cbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxuICAgICAgICA8bGFiZWw+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGhlbHBlcj5cbiAgICAgICAgICB7eyBoZWxwZXJNZXNzYWdlIH19XG4gICAgICAgIDwvaGVscGVyPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1ib2R5IChjbGljayk9XCJvcGVuKClcIiBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIiBkYXRhLXRlc3RpZD1cIm1lY3gtc2VsZWN0LWJvZHlcIj5cbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyNhYWFhYWEnXCI+PC9tb25rZXktaWNvbj5cbiAgICAgICAgPG1lY3gtc2VsZWN0IGNsYXNzPVwidHJpZ2dlclwiIFtuZ0NsYXNzXT1cInsgb3BlbjogX29wZW5lZCB9XCI+XG4gICAgICAgICAgPG1lY3gtc2VsZWN0X190cmlnZ2VyPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFNlbGVjdCB8fCBwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUlucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAjaW5wdXRGaWx0ZXJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGVkPy5sYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG1vbmtleS1pY29uXG4gICAgICAgICAgICAgIFtpY29uXT1cIiFfb3BlbmVkID8gJ2Fycm93LWRvd24tMTYnIDogJ2Fycm93LXVwLTE2J1wiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCInIzRCNEE1MydcIlxuICAgICAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICAgICAgPC9tZWN4LXNlbGVjdF9fdHJpZ2dlcj5cbiAgICAgICAgPC9tZWN4LXNlbGVjdD5cbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XG4gICAgICA8bWVjeC1zZWxlY3QtaW5zaWRlIFtuZ0NsYXNzXT1cInsgb3BlbjogX29wZW5lZCB9XCI+XG4gICAgICAgIDxtZWN4LXNlbGVjdC1vcHRpb25zICNzZWxlY3RPcHRpb25zPlxuICAgICAgICAgIDxuZy1jb250ZW50PiA8L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbWVjeC1zZWxlY3Qtb3B0aW9ucz5cbiAgICAgIDwvbWVjeC1zZWxlY3QtaW5zaWRlPlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XG4gICAgICAgIDxpbmZvPlxuICAgICAgICAgIHt7IGluZm9NZXNzYWdlIH19XG4gICAgICAgIDwvaW5mbz5cbiAgICAgICAgPGVycm9yPlxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Vycm9yPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtZm9vdGVyPlxuICAgIDwvbWVjeC1mb3JtLWZpZWxkPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleVNlbGVjdFNlYXJjaENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlTZWxlY3RTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFNlbGVjdCA9ICdTZWxlY2lvbmUnO1xuICBASW5wdXQoKSBmaWVsZFRvQ29tcGFyZTogc3RyaW5nO1xuICBASW5wdXQoKSBvbkhhbmRsZU9wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihudWxsKTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RPcHRpb25zJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2VsZWN0T3B0aW9uczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdpbnB1dEZpbHRlcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0RmlsdGVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaGFuZGxlZFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBvbk1vZGVsVG91Y2hlZCA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlPcHRpb25Db21wb25lbnQpXG4gIHByaXZhdGUgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxNb25rZXlPcHRpb25Db21wb25lbnQ+O1xuICBwcml2YXRlIHRpbWVyOiBhbnk7XG5cbiAgcHVibGljIF9zZWxlY3RlZDogTW9ua2V5T3B0aW9uQ29tcG9uZW50O1xuICBwdWJsaWMgX29wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgX2lkOiBzdHJpbmcgPSBgbWVjeC1zZWxlY3Qtc2VhcmNoLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIC8vbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIG9uSGFuZGxlU2VhcmNoKHNlYXJjaDogYW55KSB7XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgJHtvcC5sYWJlbH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IGAke3NlYXJjaH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAoc291cmNlLmluZGV4T2YoZGVzdGluYXRpb24pID4gLTEpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvcC5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdpbmxpbmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3AuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnaW5saW5lJyk7XG4gICAgICB9XG4gICAgICBsZXQgZGlzcGxheSA9ICdpbmxpbmUnO1xuICAgICAgaWYgKHNvdXJjZS5pbmRleE9mKGRlc3RpbmF0aW9uKSA9PT0gLTEpIHtcbiAgICAgICAgZGlzcGxheSA9ICdub25lJztcbiAgICAgIH1cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3AuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCBkaXNwbGF5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25IYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBjb25zdCB7IF9vcGVuZWQsIF9zZWxlY3RlZCB9ID0gdGhpcztcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcbiAgICAgIG9wLnNlbGVjdGVkID0gX3NlbGVjdGVkO1xuICAgIH0pO1xuICAgIGlmIChfb3BlbmVkKSB7XG4gICAgICBsZXQgc2Nyb2xsVmFsdWUgPSAwO1xuICAgICAgaWYgKF9zZWxlY3RlZCkge1xuICAgICAgICBjb25zdCB7IF9pZCB9ID0gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgICAgIHNjcm9sbFZhbHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5vZmZzZXRUb3AgLSAxMDtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKDAsIHNjcm9sbFZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlT3B0aW9ucygpIHtcbiAgICBjb25zdCB7IGZpZWxkVG9Db21wYXJlIH0gPSB0aGlzO1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wKSA9PiB7XG4gICAgICBvcC5vblNlbGVjdE9wdGlvbiA9IHRoaXMub25TZWxlY3RPcHRpb24uYmluZCh0aGlzKTtcbiAgICAgIG9wLnR5cGUgPSBvcD8udHlwZSB8fCAnc2VsZWN0JztcbiAgICAgIG9wLnNlbGVjdGVkID0gbnVsbDtcbiAgICAgIGxldCBzb3VyY2UgPSAnJztcbiAgICAgIGxldCBkZXN0aW5hdGlvbiA9ICcnO1xuICAgICAgaWYgKGZpZWxkVG9Db21wYXJlKSB7XG4gICAgICAgIHNvdXJjZSA9IGAke29wLnZhbHVlW2ZpZWxkVG9Db21wYXJlXX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGRlc3RpbmF0aW9uID0gYCR7dGhpcy5oYW5kbGVkVmFsdWU/LltmaWVsZFRvQ29tcGFyZV19YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlID0gYCR7b3AudmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBkZXN0aW5hdGlvbiA9IGAke3RoaXMuaGFuZGxlZFZhbHVlfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3VyY2UgPT09IGRlc3RpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gb3A7XG4gICAgICAgIG9wLnNlbGVjdGVkID0gb3A7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRvU2VhcmNoKHNlYXJjaDogc3RyaW5nKSB7XG4gICAgdGhpcy5vblNlYXJjaC5uZXh0KHNlYXJjaCk7XG4gICAgdGhpcy5vbkhhbmRsZVNlYXJjaChzZWFyY2gpO1xuICAgIHRoaXMuX29wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XG4gICAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucygpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5oYW5kbGVkVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmhhbmRsZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcbiAgY2xpY2tvdXQoKSB7XG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5fb3BlbmVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XG4gICAgICAgICh0aGlzLmlucHV0RmlsdGVyPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMub25IYW5kbGVPcHRpb25zLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgb25TZWxlY3RPcHRpb24oc2VsZWN0OiBNb25rZXlPcHRpb25Db21wb25lbnQpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdDtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBzZWxlY3Q7XG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKG51bGwsIHZhbHVlKTtcbiAgICB0aGlzLm9uSGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50Py50YXJnZXQ7XG4gICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICB9XG4gICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kb1NlYXJjaCh2YWx1ZSk7XG4gICAgfSwgNDAwKTtcbiAgfVxufVxuIl19
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBRVosZUFBZSxFQUNmLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQU1WLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQXVEL0MsTUFBTSxPQUFPLDJCQUEyQjtJQStCdEMsWUFBb0IsS0FBd0IsRUFBVSxRQUFtQjtRQUFyRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF4QmhFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxZQUFZLENBQU0sSUFBSSxDQUFDLENBQUM7UUFTekMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQU1yQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFFBQUcsR0FBVyxzQkFBc0IsV0FBVyxDQUFDLGVBQWUsQ0FB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QXJEdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO2dJQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR1AsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVDLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9sQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMscUJBQXFCO2dCQWlHbEMsS0FBSztzQkFEUixLQUFLO2dCQTBCTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1vbmtleU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktc2VsZWN0LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1lY3gtZm9ybS1maWVsZCBbaWRdPVwiX2lkXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIj5cbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxuICAgICAgICA8bGFiZWw+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGhlbHBlcj5cbiAgICAgICAgICB7eyBoZWxwZXJNZXNzYWdlIH19XG4gICAgICAgIDwvaGVscGVyPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1ib2R5IChjbGljayk9XCJvcGVuKClcIiBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIiBkYXRhLXRlc3RpZD1cIm1lY3gtc2VsZWN0LWJvZHlcIj5cbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyNhYWFhYWEnXCI+PC9tb25rZXktaWNvbj5cbiAgICAgICAgPG1lY3gtc2VsZWN0IGNsYXNzPVwidHJpZ2dlclwiIFtuZ0NsYXNzXT1cInsgb3BlbjogX29wZW5lZCB9XCI+XG4gICAgICAgICAgPG1lY3gtc2VsZWN0X190cmlnZ2VyPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCBsYWJlbFNlbGVjdFwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUlucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAjaW5wdXRGaWx0ZXJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGVkPy5sYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG1vbmtleS1pY29uXG4gICAgICAgICAgICAgIFtpY29uXT1cIiFfb3BlbmVkID8gJ2Fycm93LWRvd24tMTYnIDogJ2Fycm93LXVwLTE2J1wiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCInIzRCNEE1MydcIlxuICAgICAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICAgICAgPC9tZWN4LXNlbGVjdF9fdHJpZ2dlcj5cbiAgICAgICAgPC9tZWN4LXNlbGVjdD5cbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XG4gICAgICA8bWVjeC1zZWxlY3QtaW5zaWRlIFtuZ0NsYXNzXT1cInsgb3BlbjogX29wZW5lZCB9XCI+XG4gICAgICAgIDxtZWN4LXNlbGVjdC1vcHRpb25zICNzZWxlY3RPcHRpb25zPlxuICAgICAgICAgIDxuZy1jb250ZW50PiA8L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbWVjeC1zZWxlY3Qtb3B0aW9ucz5cbiAgICAgIDwvbWVjeC1zZWxlY3QtaW5zaWRlPlxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XG4gICAgICAgIDxpbmZvPlxuICAgICAgICAgIHt7IGluZm9NZXNzYWdlIH19XG4gICAgICAgIDwvaW5mbz5cbiAgICAgICAgPGVycm9yPlxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Vycm9yPlxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtZm9vdGVyPlxuICAgIDwvbWVjeC1mb3JtLWZpZWxkPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleVNlbGVjdFNlYXJjaENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlTZWxlY3RTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFNlbGVjdCA9ICdTZWxlY2lvbmUnO1xuICBASW5wdXQoKSBmaWVsZFRvQ29tcGFyZTogc3RyaW5nO1xuICBASW5wdXQoKSBvbkhhbmRsZU9wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihudWxsKTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RPcHRpb25zJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2VsZWN0T3B0aW9uczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdpbnB1dEZpbHRlcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0RmlsdGVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaGFuZGxlZFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBvbk1vZGVsVG91Y2hlZCA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlPcHRpb25Db21wb25lbnQpXG4gIHByaXZhdGUgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxNb25rZXlPcHRpb25Db21wb25lbnQ+O1xuICBwcml2YXRlIHRpbWVyOiBhbnk7XG5cbiAgcHVibGljIF9zZWxlY3RlZDogTW9ua2V5T3B0aW9uQ29tcG9uZW50O1xuICBwdWJsaWMgX29wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgX2lkOiBzdHJpbmcgPSBgbWVjeC1zZWxlY3Qtc2VhcmNoLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIC8vbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIG9uSGFuZGxlU2VhcmNoKHNlYXJjaDogYW55KSB7XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgJHtvcC5sYWJlbH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IGAke3NlYXJjaH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAoc291cmNlLmluZGV4T2YoZGVzdGluYXRpb24pID4gLTEpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvcC5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdpbmxpbmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3AuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnaW5saW5lJyk7XG4gICAgICB9XG4gICAgICBsZXQgZGlzcGxheSA9ICdpbmxpbmUnO1xuICAgICAgaWYgKHNvdXJjZS5pbmRleE9mKGRlc3RpbmF0aW9uKSA9PT0gLTEpIHtcbiAgICAgICAgZGlzcGxheSA9ICdub25lJztcbiAgICAgIH1cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3AuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCBkaXNwbGF5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25IYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBjb25zdCB7IF9vcGVuZWQsIF9zZWxlY3RlZCB9ID0gdGhpcztcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcbiAgICAgIG9wLnNlbGVjdGVkID0gX3NlbGVjdGVkO1xuICAgIH0pO1xuICAgIGlmIChfb3BlbmVkKSB7XG4gICAgICBsZXQgc2Nyb2xsVmFsdWUgPSAwO1xuICAgICAgaWYgKF9zZWxlY3RlZCkge1xuICAgICAgICBjb25zdCB7IF9pZCB9ID0gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgICAgIHNjcm9sbFZhbHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5vZmZzZXRUb3AgLSAxMDtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKDAsIHNjcm9sbFZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlT3B0aW9ucygpIHtcbiAgICBjb25zdCB7IGZpZWxkVG9Db21wYXJlIH0gPSB0aGlzO1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wKSA9PiB7XG4gICAgICBvcC5vblNlbGVjdE9wdGlvbiA9IHRoaXMub25TZWxlY3RPcHRpb24uYmluZCh0aGlzKTtcbiAgICAgIG9wLnR5cGUgPSBvcD8udHlwZSB8fCAnc2VsZWN0JztcbiAgICAgIG9wLnNlbGVjdGVkID0gbnVsbDtcbiAgICAgIGxldCBzb3VyY2UgPSAnJztcbiAgICAgIGxldCBkZXN0aW5hdGlvbiA9ICcnO1xuICAgICAgaWYgKGZpZWxkVG9Db21wYXJlKSB7XG4gICAgICAgIHNvdXJjZSA9IGAke29wLnZhbHVlW2ZpZWxkVG9Db21wYXJlXX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGRlc3RpbmF0aW9uID0gYCR7dGhpcy5oYW5kbGVkVmFsdWU/LltmaWVsZFRvQ29tcGFyZV19YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlID0gYCR7b3AudmFsdWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBkZXN0aW5hdGlvbiA9IGAke3RoaXMuaGFuZGxlZFZhbHVlfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3VyY2UgPT09IGRlc3RpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gb3A7XG4gICAgICAgIG9wLnNlbGVjdGVkID0gb3A7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRvU2VhcmNoKHNlYXJjaDogc3RyaW5nKSB7XG4gICAgdGhpcy5vblNlYXJjaC5uZXh0KHNlYXJjaCk7XG4gICAgdGhpcy5vbkhhbmRsZVNlYXJjaChzZWFyY2gpO1xuICAgIHRoaXMuX29wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XG4gICAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucygpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5oYW5kbGVkVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmhhbmRsZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcbiAgY2xpY2tvdXQoKSB7XG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5fb3BlbmVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XG4gICAgICAgICh0aGlzLmlucHV0RmlsdGVyPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMub25IYW5kbGVPcHRpb25zLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgb25TZWxlY3RPcHRpb24oc2VsZWN0OiBNb25rZXlPcHRpb25Db21wb25lbnQpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdDtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBzZWxlY3Q7XG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKG51bGwsIHZhbHVlKTtcbiAgICB0aGlzLm9uSGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50Py50YXJnZXQ7XG4gICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICB9XG4gICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kb1NlYXJjaCh2YWx1ZSk7XG4gICAgfSwgNDAwKTtcbiAgfVxufVxuIl19
@@ -5305,7 +5305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
5305
5305
  * This style guide was developed by Monkey Exchange Team
5306
5306
  * MIT Licence
5307
5307
  **************************/
5308
- const moment$1 = moment_;
5308
+ const moment$2 = moment_;
5309
5309
  class MonkeyDateRangePickerComponent {
5310
5310
  constructor(fb, cdr) {
5311
5311
  this.fb = fb;
@@ -5313,11 +5313,11 @@ class MonkeyDateRangePickerComponent {
5313
5313
  this.helperMessage = '';
5314
5314
  this.moveDaysForward = true;
5315
5315
  this.onChange = new EventEmitter();
5316
- this.today = moment$1.default().format('YYYY-MM-DD');
5316
+ this.today = moment$2.default().format('YYYY-MM-DD');
5317
5317
  this.onModelChange = (value) => { };
5318
5318
  this.onModelTouched = (value) => { };
5319
- this._dateFirst = moment$1.default();
5320
- this._dateSecond = moment$1.default().add(1, 'M');
5319
+ this._dateFirst = moment$2.default();
5320
+ this._dateSecond = moment$2.default().add(1, 'M');
5321
5321
  this._id = `mecx-date-range-picker-${MonkeyUtils.getRandomString(10)}`;
5322
5322
  this._daysArrFirst = [];
5323
5323
  this._daysArrSecond = [];
@@ -5339,17 +5339,17 @@ class MonkeyDateRangePickerComponent {
5339
5339
  });
5340
5340
  (_c = (_b = (_a = this._dateForm) === null || _a === void 0 ? void 0 : _a.valueChanges) === null || _b === void 0 ? void 0 : _b.pipe(takeUntil(this.unsubscribeAll))) === null || _c === void 0 ? void 0 : _c.subscribe((values) => {
5341
5341
  const { startDate, endDate } = values;
5342
- this._startDate = startDate && moment$1.default(startDate);
5343
- this._endDate = endDate && moment$1.default(endDate);
5342
+ this._startDate = startDate && moment$2.default(startDate);
5343
+ this._endDate = endDate && moment$2.default(endDate);
5344
5344
  });
5345
5345
  }
5346
5346
  createCalendar(month) {
5347
- let firstDay = moment$1.default(month).startOf('M');
5348
- let lastDay = moment$1.default(month).endOf('M');
5347
+ let firstDay = moment$2.default(month).startOf('M');
5348
+ let lastDay = moment$2.default(month).endOf('M');
5349
5349
  let days = Array.apply(null, { length: month.daysInMonth() })
5350
5350
  .map(Number.call, Number)
5351
5351
  .map((n) => {
5352
- return moment$1.default(firstDay).add(n, 'd');
5352
+ return moment$2.default(firstDay).add(n, 'd');
5353
5353
  });
5354
5354
  let n = 0;
5355
5355
  while (n < firstDay.weekday()) {
@@ -5387,8 +5387,8 @@ class MonkeyDateRangePickerComponent {
5387
5387
  this.writeValue(this._dateForm.value);
5388
5388
  }
5389
5389
  navigateToToday() {
5390
- this._dateFirst = moment$1.default();
5391
- this._dateSecond = moment$1.default().add(1, 'M');
5390
+ this._dateFirst = moment$2.default();
5391
+ this._dateSecond = moment$2.default().add(1, 'M');
5392
5392
  this.build();
5393
5393
  }
5394
5394
  ngOnInit() {
@@ -5443,14 +5443,14 @@ class MonkeyDateRangePickerComponent {
5443
5443
  if (!day) {
5444
5444
  return false;
5445
5445
  }
5446
- return moment$1.default().format('L') === day.format('L');
5446
+ return moment$2.default().format('L') === day.format('L');
5447
5447
  }
5448
5448
  isSelected(day) {
5449
5449
  if (!day) {
5450
5450
  return false;
5451
5451
  }
5452
- let startDateMoment = moment$1.default(this._dateForm.value.startDate, 'YYYY-MM-DD');
5453
- let endDateMoment = moment$1.default(this._dateForm.value.endDate, 'YYYY-MM-DD');
5452
+ let startDateMoment = moment$2.default(this._dateForm.value.startDate, 'YYYY-MM-DD');
5453
+ let endDateMoment = moment$2.default(this._dateForm.value.endDate, 'YYYY-MM-DD');
5454
5454
  if (this._dateForm.valid) {
5455
5455
  return startDateMoment.isSameOrBefore(day) && endDateMoment.isSameOrAfter(day);
5456
5456
  }
@@ -5461,7 +5461,7 @@ class MonkeyDateRangePickerComponent {
5461
5461
  isDisabled(day) {
5462
5462
  const { _minDate } = this;
5463
5463
  if (_minDate) {
5464
- const firstDay = moment$1.default(_minDate);
5464
+ const firstDay = moment$2.default(_minDate);
5465
5465
  return day.isBefore(firstDay.subtract(1, 'day'));
5466
5466
  }
5467
5467
  return false;
@@ -5482,7 +5482,7 @@ class MonkeyDateRangePickerComponent {
5482
5482
  const { _dateForm, _minDate } = this;
5483
5483
  let dayFormatted = day.format('YYYY-MM-DD');
5484
5484
  if (_minDate) {
5485
- const firstDay = moment$1.default(_minDate);
5485
+ const firstDay = moment$2.default(_minDate);
5486
5486
  if (day.isBefore(firstDay.subtract(1, 'day')))
5487
5487
  return;
5488
5488
  }
@@ -5491,7 +5491,7 @@ class MonkeyDateRangePickerComponent {
5491
5491
  }
5492
5492
  let { startDate, endDate } = _dateForm.value;
5493
5493
  if (startDate) {
5494
- if (moment$1.default(startDate).isAfter(moment$1.default(dayFormatted))) {
5494
+ if (moment$2.default(startDate).isAfter(moment$2.default(dayFormatted))) {
5495
5495
  endDate = startDate;
5496
5496
  startDate = dayFormatted;
5497
5497
  }
@@ -5514,9 +5514,9 @@ class MonkeyDateRangePickerComponent {
5514
5514
  return;
5515
5515
  const { _dateForm, _minDate, today, moveDaysForward } = this;
5516
5516
  const { startDate } = _dateForm.value;
5517
- const firstDay = moment$1.default(startDate || _minDate || today).format('YYYY-MM-DD');
5517
+ const firstDay = moment$2.default(startDate || _minDate || today).format('YYYY-MM-DD');
5518
5518
  const method = moveDaysForward ? 'add' : 'subtract';
5519
- const lastDay = moment$1.default(firstDay)[method](days, 'day').format('YYYY-MM-DD');
5519
+ const lastDay = moment$2.default(firstDay)[method](days, 'day').format('YYYY-MM-DD');
5520
5520
  if (moveDaysForward) {
5521
5521
  _dateForm.get('startDate').patchValue(firstDay);
5522
5522
  _dateForm.get('endDate').patchValue(lastDay);
@@ -5970,7 +5970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
5970
5970
  * This style guide was developed by Monkey Exchange Team
5971
5971
  * MIT Licence
5972
5972
  **************************/
5973
- const moment = moment_;
5973
+ const moment$1 = moment_;
5974
5974
  class MonkeyDateRangePickerV2Component {
5975
5975
  constructor(fb, cdr) {
5976
5976
  this.fb = fb;
@@ -5981,11 +5981,11 @@ class MonkeyDateRangePickerV2Component {
5981
5981
  this.onChange = new EventEmitter();
5982
5982
  this.onSubmit = new EventEmitter();
5983
5983
  this.onClose = new EventEmitter();
5984
- this.today = moment.default().format('YYYY-MM-DD');
5984
+ this.today = moment$1.default().format('YYYY-MM-DD');
5985
5985
  this.onModelChange = (value) => { };
5986
5986
  this.onModelTouched = (value) => { };
5987
- this._dateFirst = moment.default();
5988
- this._dateSecond = moment.default().add(1, 'M');
5987
+ this._dateFirst = moment$1.default();
5988
+ this._dateSecond = moment$1.default().add(1, 'M');
5989
5989
  this._id = `mecx-date-range-picker-v2-${MonkeyUtils.getRandomString(10)}`;
5990
5990
  this._daysArrFirst = [];
5991
5991
  this._daysArrSecond = [];
@@ -6007,17 +6007,17 @@ class MonkeyDateRangePickerV2Component {
6007
6007
  });
6008
6008
  (_c = (_b = (_a = this._dateForm) === null || _a === void 0 ? void 0 : _a.valueChanges) === null || _b === void 0 ? void 0 : _b.pipe(takeUntil(this.unsubscribeAll))) === null || _c === void 0 ? void 0 : _c.subscribe((values) => {
6009
6009
  const { startDate, endDate } = values;
6010
- this._startDate = startDate && moment.default(startDate);
6011
- this._endDate = endDate && moment.default(endDate);
6010
+ this._startDate = startDate && moment$1.default(startDate);
6011
+ this._endDate = endDate && moment$1.default(endDate);
6012
6012
  });
6013
6013
  }
6014
6014
  createCalendar(month) {
6015
- let firstDay = moment.default(month).startOf('M');
6016
- let lastDay = moment.default(month).endOf('M');
6015
+ let firstDay = moment$1.default(month).startOf('M');
6016
+ let lastDay = moment$1.default(month).endOf('M');
6017
6017
  let days = Array.apply(null, { length: month.daysInMonth() })
6018
6018
  .map(Number.call, Number)
6019
6019
  .map((n) => {
6020
- return moment.default(firstDay).add(n, 'd');
6020
+ return moment$1.default(firstDay).add(n, 'd');
6021
6021
  });
6022
6022
  let n = 0;
6023
6023
  while (n < firstDay.weekday()) {
@@ -6055,8 +6055,8 @@ class MonkeyDateRangePickerV2Component {
6055
6055
  this.writeValue(this._dateForm.value);
6056
6056
  }
6057
6057
  navigateToToday() {
6058
- this._dateFirst = moment.default();
6059
- this._dateSecond = moment.default().add(1, 'M');
6058
+ this._dateFirst = moment$1.default();
6059
+ this._dateSecond = moment$1.default().add(1, 'M');
6060
6060
  this.build();
6061
6061
  }
6062
6062
  ngOnInit() {
@@ -6115,14 +6115,14 @@ class MonkeyDateRangePickerV2Component {
6115
6115
  if (!day) {
6116
6116
  return false;
6117
6117
  }
6118
- return moment.default().format('L') === day.format('L');
6118
+ return moment$1.default().format('L') === day.format('L');
6119
6119
  }
6120
6120
  isSelected(day) {
6121
6121
  if (!day) {
6122
6122
  return false;
6123
6123
  }
6124
- let startDateMoment = moment.default(this._dateForm.value.startDate, 'YYYY-MM-DD');
6125
- let endDateMoment = moment.default(this._dateForm.value.endDate, 'YYYY-MM-DD');
6124
+ let startDateMoment = moment$1.default(this._dateForm.value.startDate, 'YYYY-MM-DD');
6125
+ let endDateMoment = moment$1.default(this._dateForm.value.endDate, 'YYYY-MM-DD');
6126
6126
  if (this._dateForm.valid) {
6127
6127
  return startDateMoment.isSameOrBefore(day) && endDateMoment.isSameOrAfter(day);
6128
6128
  }
@@ -6133,7 +6133,7 @@ class MonkeyDateRangePickerV2Component {
6133
6133
  isDisabled(day) {
6134
6134
  const { _minDate } = this;
6135
6135
  if (_minDate) {
6136
- const firstDay = moment.default(_minDate);
6136
+ const firstDay = moment$1.default(_minDate);
6137
6137
  return day.isBefore(firstDay.subtract(1, 'day'));
6138
6138
  }
6139
6139
  return false;
@@ -6154,7 +6154,7 @@ class MonkeyDateRangePickerV2Component {
6154
6154
  const { _dateForm, _minDate } = this;
6155
6155
  let dayFormatted = day.format('YYYY-MM-DD');
6156
6156
  if (_minDate) {
6157
- const firstDay = moment.default(_minDate);
6157
+ const firstDay = moment$1.default(_minDate);
6158
6158
  if (day.isBefore(firstDay.subtract(1, 'day')))
6159
6159
  return;
6160
6160
  }
@@ -6163,7 +6163,7 @@ class MonkeyDateRangePickerV2Component {
6163
6163
  }
6164
6164
  let { startDate, endDate } = _dateForm.value;
6165
6165
  if (startDate) {
6166
- if (moment.default(startDate).isAfter(moment.default(dayFormatted))) {
6166
+ if (moment$1.default(startDate).isAfter(moment$1.default(dayFormatted))) {
6167
6167
  endDate = startDate;
6168
6168
  startDate = dayFormatted;
6169
6169
  }
@@ -6186,9 +6186,9 @@ class MonkeyDateRangePickerV2Component {
6186
6186
  return;
6187
6187
  const { _dateForm, _minDate, today, moveDaysForward } = this;
6188
6188
  const { startDate } = _dateForm.value;
6189
- const firstDay = moment.default(startDate || _minDate || today).format('YYYY-MM-DD');
6189
+ const firstDay = moment$1.default(startDate || _minDate || today).format('YYYY-MM-DD');
6190
6190
  const method = moveDaysForward ? 'add' : 'subtract';
6191
- const lastDay = moment.default(firstDay)[method](days, 'day').format('YYYY-MM-DD');
6191
+ const lastDay = moment$1.default(firstDay)[method](days, 'day').format('YYYY-MM-DD');
6192
6192
  if (moveDaysForward) {
6193
6193
  _dateForm.get('startDate').patchValue(firstDay);
6194
6194
  _dateForm.get('endDate').patchValue(lastDay);
@@ -7630,6 +7630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
7630
7630
  * This style guide was developed by Monkey Exchange Team
7631
7631
  * MIT Licence
7632
7632
  **************************/
7633
+ const moment = moment_;
7633
7634
  class MonkeyInputComponent {
7634
7635
  constructor(currencyPipe, settingsService, cdr, defaultCurencyCode) {
7635
7636
  this.currencyPipe = currencyPipe;
@@ -7640,16 +7641,35 @@ class MonkeyInputComponent {
7640
7641
  this.helperMessage = '';
7641
7642
  this.placeholder = '';
7642
7643
  this.maxLength = 255;
7643
- this.maxDateToday = false;
7644
7644
  this.onChange = new EventEmitter();
7645
7645
  this.onModelChange = (value) => { };
7646
7646
  this.onModelTouched = (value) => { };
7647
7647
  this._id = `mecx-input-${MonkeyUtils.getRandomString(10)}`;
7648
7648
  this._disabled = false;
7649
- this._maxDateToday = new Date().toISOString().split('T')[0];
7650
7649
  this._symbol = '';
7650
+ this._maxDate = undefined;
7651
7651
  //not to do
7652
7652
  }
7653
+ set maxDateToday(value) {
7654
+ try {
7655
+ if (value) {
7656
+ this._maxDate = new Date().toISOString().split('T')[0];
7657
+ }
7658
+ }
7659
+ catch (e) {
7660
+ // ignore
7661
+ }
7662
+ }
7663
+ set minYears(value) {
7664
+ try {
7665
+ if (value) {
7666
+ this._maxDate = moment.default().subtract(value, 'years').toISOString().split('T')[0];
7667
+ }
7668
+ }
7669
+ catch (e) {
7670
+ // ignore
7671
+ }
7672
+ }
7653
7673
  handleValue(value, apply = false) {
7654
7674
  if (this.onlyNumber) {
7655
7675
  return MonkeyUtils.handleOnlyNumbers(`${value}`);
@@ -7774,7 +7794,7 @@ class MonkeyInputComponent {
7774
7794
  }
7775
7795
  }
7776
7796
  MonkeyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeyInputComponent, deps: [{ token: i1$1.CurrencyPipe }, { token: MonkeyStyleGuideSettingsService }, { token: i0.ChangeDetectorRef }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Component });
7777
- MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
7797
+ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeyInputComponent, selector: "monkey-input", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", maxLength: "maxLength", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", percent: "percent", maxDateToday: "maxDateToday", minYears: "minYears", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, providers: [
7778
7798
  {
7779
7799
  provide: NG_VALUE_ACCESSOR,
7780
7800
  useExisting: forwardRef(() => MonkeyInputComponent),
@@ -7838,7 +7858,7 @@ MonkeyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
7838
7858
  [disabled]="_disabled"
7839
7859
  [maxLength]="maxLength"
7840
7860
  *ngIf="!mask && !prefix"
7841
- [max]="maxDateToday ? _maxDateToday : null"
7861
+ [max]="_maxDate"
7842
7862
  #monkeyInput
7843
7863
  />
7844
7864
  <monkey-icon
@@ -7925,7 +7945,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
7925
7945
  [disabled]="_disabled"
7926
7946
  [maxLength]="maxLength"
7927
7947
  *ngIf="!mask && !prefix"
7928
- [max]="maxDateToday ? _maxDateToday : null"
7948
+ [max]="_maxDate"
7929
7949
  #monkeyInput
7930
7950
  />
7931
7951
  <monkey-icon
@@ -8004,6 +8024,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
8004
8024
  type: Input
8005
8025
  }], maxDateToday: [{
8006
8026
  type: Input
8027
+ }], minYears: [{
8028
+ type: Input
8007
8029
  }], onChange: [{
8008
8030
  type: Output
8009
8031
  }], monkeyInput: [{
@@ -9503,7 +9525,7 @@ MonkeySelectSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
9503
9525
  <mecx-select class="trigger" [ngClass]="{ open: _opened }">
9504
9526
  <mecx-select__trigger>
9505
9527
  <input
9506
- [placeholder]="labelSelect || placeholder"
9528
+ [placeholder]="placeholder || labelSelect"
9507
9529
  (input)="onChangeInput($event)"
9508
9530
  #inputFilter
9509
9531
  [ngModel]="_selected?.label || ''"
@@ -9549,7 +9571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
9549
9571
  <mecx-select class="trigger" [ngClass]="{ open: _opened }">
9550
9572
  <mecx-select__trigger>
9551
9573
  <input
9552
- [placeholder]="labelSelect || placeholder"
9574
+ [placeholder]="placeholder || labelSelect"
9553
9575
  (input)="onChangeInput($event)"
9554
9576
  #inputFilter
9555
9577
  [ngModel]="_selected?.label || ''"