@ng-nest/ui 13.1.2 → 13.1.5

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.
Files changed (217) hide show
  1. package/core/config/config.d.ts +9 -0
  2. package/date-picker/picker-date.component.d.ts +1 -1
  3. package/dialog/dialog-portal.component.d.ts +33 -5
  4. package/dialog/dialog-portal.directives.d.ts +17 -0
  5. package/dialog/dialog-ref.d.ts +11 -1
  6. package/dialog/dialog.component.d.ts +3 -5
  7. package/dialog/dialog.module.d.ts +1 -1
  8. package/dialog/dialog.property.d.ts +37 -4
  9. package/dialog/dialog.service.d.ts +1 -0
  10. package/empty/empty.component.d.ts +1 -1
  11. package/esm2020/core/config/config.mjs +1 -1
  12. package/esm2020/date-picker/picker-date.component.mjs +2 -2
  13. package/esm2020/dialog/dialog-portal.component.mjs +49 -12
  14. package/esm2020/dialog/dialog-portal.directives.mjs +47 -1
  15. package/esm2020/dialog/dialog-ref.mjs +83 -2
  16. package/esm2020/dialog/dialog.component.mjs +27 -28
  17. package/esm2020/dialog/dialog.module.mjs +10 -2
  18. package/esm2020/dialog/dialog.property.mjs +10 -3
  19. package/esm2020/dialog/dialog.service.mjs +56 -8
  20. package/esm2020/empty/empty.component.mjs +2 -2
  21. package/esm2020/i18n/i18n.property.mjs +1 -1
  22. package/esm2020/i18n/languages/ar_EG.mjs +7 -1
  23. package/esm2020/i18n/languages/bg_BG.mjs +7 -1
  24. package/esm2020/i18n/languages/ca_ES.mjs +7 -1
  25. package/esm2020/i18n/languages/cs_CZ.mjs +7 -1
  26. package/esm2020/i18n/languages/da_DK.mjs +7 -1
  27. package/esm2020/i18n/languages/de_DE.mjs +7 -1
  28. package/esm2020/i18n/languages/el_GR.mjs +7 -1
  29. package/esm2020/i18n/languages/en_GB.mjs +7 -1
  30. package/esm2020/i18n/languages/en_US.mjs +7 -1
  31. package/esm2020/i18n/languages/es_ES.mjs +7 -1
  32. package/esm2020/i18n/languages/et_EE.mjs +7 -1
  33. package/esm2020/i18n/languages/fa_IR.mjs +7 -1
  34. package/esm2020/i18n/languages/fi_FI.mjs +7 -1
  35. package/esm2020/i18n/languages/fr_BE.mjs +7 -1
  36. package/esm2020/i18n/languages/fr_FR.mjs +7 -1
  37. package/esm2020/i18n/languages/he_IL.mjs +7 -1
  38. package/esm2020/i18n/languages/hi_IN.mjs +7 -1
  39. package/esm2020/i18n/languages/hr_HR.mjs +7 -1
  40. package/esm2020/i18n/languages/hu_HU.mjs +7 -1
  41. package/esm2020/i18n/languages/hy_AM.mjs +7 -1
  42. package/esm2020/i18n/languages/id_ID.mjs +7 -1
  43. package/esm2020/i18n/languages/is_IS.mjs +7 -1
  44. package/esm2020/i18n/languages/it_IT.mjs +7 -1
  45. package/esm2020/i18n/languages/ja_JP.mjs +7 -1
  46. package/esm2020/i18n/languages/ka_GE.mjs +7 -1
  47. package/esm2020/i18n/languages/kn_IN.mjs +7 -1
  48. package/esm2020/i18n/languages/ko_KR.mjs +7 -1
  49. package/esm2020/i18n/languages/ku_IQ.mjs +7 -1
  50. package/esm2020/i18n/languages/lv_LV.mjs +7 -1
  51. package/esm2020/i18n/languages/mn_MN.mjs +7 -1
  52. package/esm2020/i18n/languages/ms_MY.mjs +7 -1
  53. package/esm2020/i18n/languages/nb_NO.mjs +7 -1
  54. package/esm2020/i18n/languages/ne_NP.mjs +7 -1
  55. package/esm2020/i18n/languages/nl_BE.mjs +7 -1
  56. package/esm2020/i18n/languages/nl_NL.mjs +7 -1
  57. package/esm2020/i18n/languages/pl_PL.mjs +7 -1
  58. package/esm2020/i18n/languages/pt_BR.mjs +7 -1
  59. package/esm2020/i18n/languages/pt_PT.mjs +7 -1
  60. package/esm2020/i18n/languages/ro_RO.mjs +7 -1
  61. package/esm2020/i18n/languages/ru_RU.mjs +7 -1
  62. package/esm2020/i18n/languages/sk_SK.mjs +7 -1
  63. package/esm2020/i18n/languages/sl_SI.mjs +7 -1
  64. package/esm2020/i18n/languages/sr_RS.mjs +7 -1
  65. package/esm2020/i18n/languages/sv_SE.mjs +7 -1
  66. package/esm2020/i18n/languages/ta_IN.mjs +7 -1
  67. package/esm2020/i18n/languages/th_TH.mjs +7 -1
  68. package/esm2020/i18n/languages/tr_TR.mjs +7 -1
  69. package/esm2020/i18n/languages/uk_UA.mjs +7 -1
  70. package/esm2020/i18n/languages/vi_VN.mjs +7 -1
  71. package/esm2020/i18n/languages/zh_CN.mjs +7 -1
  72. package/esm2020/i18n/languages/zh_TW.mjs +7 -1
  73. package/esm2020/list/list-option.component.mjs +21 -8
  74. package/esm2020/list/list.component.mjs +55 -13
  75. package/esm2020/list/list.module.mjs +5 -1
  76. package/esm2020/list/list.property.mjs +33 -5
  77. package/esm2020/page-header/page-header.component.mjs +2 -2
  78. package/esm2020/pagination/pagination.component.mjs +2 -2
  79. package/esm2020/rate/rate.component.mjs +21 -4
  80. package/esm2020/rate/rate.property.mjs +9 -3
  81. package/esm2020/resizable/resizable.directive.mjs +81 -37
  82. package/esm2020/resizable/resizable.property.mjs +1 -1
  83. package/esm2020/select/select-portal.component.mjs +26 -9
  84. package/esm2020/select/select.component.mjs +15 -3
  85. package/esm2020/select/select.module.mjs +5 -4
  86. package/esm2020/select/select.property.mjs +12 -2
  87. package/esm2020/text-retract/text-retract.component.mjs +2 -2
  88. package/esm2020/upload/upload.component.mjs +13 -9
  89. package/esm2020/upload/upload.property.mjs +30 -2
  90. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  91. package/fesm2015/ng-nest-ui-date-picker.mjs +1 -1
  92. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  93. package/fesm2015/ng-nest-ui-dialog.mjs +285 -55
  94. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  95. package/fesm2015/ng-nest-ui-empty.mjs +1 -1
  96. package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
  97. package/fesm2015/ng-nest-ui-i18n.mjs +306 -0
  98. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  99. package/fesm2015/ng-nest-ui-list.mjs +107 -22
  100. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  101. package/fesm2015/ng-nest-ui-page-header.mjs +1 -1
  102. package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
  103. package/fesm2015/ng-nest-ui-pagination.mjs +1 -1
  104. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  105. package/fesm2015/ng-nest-ui-rate.mjs +27 -4
  106. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  107. package/fesm2015/ng-nest-ui-resizable.mjs +80 -36
  108. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
  109. package/fesm2015/ng-nest-ui-select.mjs +56 -16
  110. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  111. package/fesm2015/ng-nest-ui-text-retract.mjs +1 -1
  112. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  113. package/fesm2015/ng-nest-ui-upload.mjs +41 -9
  114. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  115. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  116. package/fesm2020/ng-nest-ui-date-picker.mjs +1 -1
  117. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  118. package/fesm2020/ng-nest-ui-dialog.mjs +277 -54
  119. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  120. package/fesm2020/ng-nest-ui-empty.mjs +1 -1
  121. package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
  122. package/fesm2020/ng-nest-ui-i18n.mjs +306 -0
  123. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  124. package/fesm2020/ng-nest-ui-list.mjs +107 -22
  125. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  126. package/fesm2020/ng-nest-ui-page-header.mjs +1 -1
  127. package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
  128. package/fesm2020/ng-nest-ui-pagination.mjs +1 -1
  129. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  130. package/fesm2020/ng-nest-ui-rate.mjs +27 -4
  131. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  132. package/fesm2020/ng-nest-ui-resizable.mjs +80 -36
  133. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
  134. package/fesm2020/ng-nest-ui-select.mjs +56 -16
  135. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  136. package/fesm2020/ng-nest-ui-text-retract.mjs +1 -1
  137. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  138. package/fesm2020/ng-nest-ui-upload.mjs +41 -9
  139. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  140. package/i18n/i18n.property.d.ts +8 -0
  141. package/i18n/languages/ar_EG.d.ts +6 -0
  142. package/i18n/languages/bg_BG.d.ts +6 -0
  143. package/i18n/languages/ca_ES.d.ts +6 -0
  144. package/i18n/languages/cs_CZ.d.ts +6 -0
  145. package/i18n/languages/da_DK.d.ts +6 -0
  146. package/i18n/languages/de_DE.d.ts +6 -0
  147. package/i18n/languages/el_GR.d.ts +6 -0
  148. package/i18n/languages/en_GB.d.ts +6 -0
  149. package/i18n/languages/en_US.d.ts +6 -0
  150. package/i18n/languages/es_ES.d.ts +6 -0
  151. package/i18n/languages/et_EE.d.ts +6 -0
  152. package/i18n/languages/fa_IR.d.ts +6 -0
  153. package/i18n/languages/fi_FI.d.ts +6 -0
  154. package/i18n/languages/fr_BE.d.ts +6 -0
  155. package/i18n/languages/fr_FR.d.ts +6 -0
  156. package/i18n/languages/he_IL.d.ts +6 -0
  157. package/i18n/languages/hi_IN.d.ts +6 -0
  158. package/i18n/languages/hr_HR.d.ts +6 -0
  159. package/i18n/languages/hu_HU.d.ts +6 -0
  160. package/i18n/languages/hy_AM.d.ts +6 -0
  161. package/i18n/languages/id_ID.d.ts +6 -0
  162. package/i18n/languages/is_IS.d.ts +6 -0
  163. package/i18n/languages/it_IT.d.ts +6 -0
  164. package/i18n/languages/ja_JP.d.ts +6 -0
  165. package/i18n/languages/ka_GE.d.ts +6 -0
  166. package/i18n/languages/kn_IN.d.ts +6 -0
  167. package/i18n/languages/ko_KR.d.ts +6 -0
  168. package/i18n/languages/ku_IQ.d.ts +6 -0
  169. package/i18n/languages/lv_LV.d.ts +6 -0
  170. package/i18n/languages/mn_MN.d.ts +6 -0
  171. package/i18n/languages/ms_MY.d.ts +6 -0
  172. package/i18n/languages/nb_NO.d.ts +6 -0
  173. package/i18n/languages/ne_NP.d.ts +6 -0
  174. package/i18n/languages/nl_BE.d.ts +6 -0
  175. package/i18n/languages/nl_NL.d.ts +6 -0
  176. package/i18n/languages/pl_PL.d.ts +6 -0
  177. package/i18n/languages/pt_BR.d.ts +6 -0
  178. package/i18n/languages/pt_PT.d.ts +6 -0
  179. package/i18n/languages/ro_RO.d.ts +6 -0
  180. package/i18n/languages/ru_RU.d.ts +6 -0
  181. package/i18n/languages/sk_SK.d.ts +6 -0
  182. package/i18n/languages/sl_SI.d.ts +6 -0
  183. package/i18n/languages/sr_RS.d.ts +6 -0
  184. package/i18n/languages/sv_SE.d.ts +6 -0
  185. package/i18n/languages/ta_IN.d.ts +6 -0
  186. package/i18n/languages/th_TH.d.ts +6 -0
  187. package/i18n/languages/tr_TR.d.ts +6 -0
  188. package/i18n/languages/uk_UA.d.ts +6 -0
  189. package/i18n/languages/vi_VN.d.ts +6 -0
  190. package/i18n/languages/zh_CN.d.ts +6 -0
  191. package/i18n/languages/zh_TW.d.ts +6 -0
  192. package/list/examples/en_US/default/size/README.md +6 -0
  193. package/list/examples/zh_CN/default/size/README.md +6 -0
  194. package/list/list-option.component.d.ts +8 -2
  195. package/list/list.component.d.ts +7 -1
  196. package/list/list.module.d.ts +3 -2
  197. package/list/list.property.d.ts +29 -4
  198. package/package.json +1 -1
  199. package/page-header/page-header.component.d.ts +1 -1
  200. package/pagination/pagination.component.d.ts +1 -1
  201. package/rate/examples/en_US/default/color/README.md +6 -0
  202. package/rate/examples/zh_CN/default/color/README.md +6 -0
  203. package/rate/rate.component.d.ts +1 -0
  204. package/rate/rate.property.d.ts +13 -1
  205. package/resizable/resizable.directive.d.ts +5 -8
  206. package/resizable/resizable.property.d.ts +5 -0
  207. package/select/select-portal.component.d.ts +10 -1
  208. package/select/select.component.d.ts +1 -0
  209. package/select/select.module.d.ts +2 -1
  210. package/select/select.property.d.ts +11 -1
  211. package/style/core/index.css +3 -0
  212. package/style/core/index.css.map +1 -1
  213. package/style/directives/resizable/mixin.scss +5 -0
  214. package/tag/examples/zh_CN/default/bordered/README.md +1 -1
  215. package/text-retract/text-retract.component.d.ts +1 -1
  216. package/upload/upload.component.d.ts +4 -4
  217. package/upload/upload.property.d.ts +21 -1
@@ -52,6 +52,7 @@ export interface XComponentConfig {
52
52
  ripple?: XRippleConfig;
53
53
  link?: XLinkConfig;
54
54
  list?: XListConfig;
55
+ listOption?: XListOptionConfig;
55
56
  loading?: XLoadingConfig;
56
57
  menu?: XMenuConfig;
57
58
  message?: XMessageConfig;
@@ -300,6 +301,10 @@ export interface XLinkConfig {
300
301
  iconRight?: XBoolean;
301
302
  }
302
303
  export interface XListConfig {
304
+ selectAllText?: string;
305
+ }
306
+ export interface XListOptionConfig {
307
+ size?: XSize;
303
308
  }
304
309
  export interface XLoadingConfig {
305
310
  size?: XSize;
@@ -375,6 +380,9 @@ export interface XRadioConfig {
375
380
  size?: XSize;
376
381
  }
377
382
  export interface XRateConfig {
383
+ color?: string | {
384
+ [color: string]: (rate: number) => boolean;
385
+ };
378
386
  }
379
387
  export interface XResultConfig {
380
388
  }
@@ -384,6 +392,7 @@ export interface XSelectConfig {
384
392
  size?: XSize;
385
393
  bordered?: XBoolean;
386
394
  portalMaxHeight?: string;
395
+ selectAllText?: string;
387
396
  }
388
397
  export interface XSkeletonConfig {
389
398
  }
@@ -21,7 +21,7 @@ export declare class XPickerDateComponent extends XPickerDateProperty implements
21
21
  constructor(renderer: Renderer2, datePipe: DatePipe, lowerCasePipe: LowerCasePipe, cdr: ChangeDetectorRef, configService: XConfigService, i18n: XI18nService);
22
22
  ngOnInit(): void;
23
23
  ngOnChanges(simples: SimpleChanges): void;
24
- ngOnDestory(): void;
24
+ ngOnDestroy(): void;
25
25
  init(): void;
26
26
  setDays(date: Date): void;
27
27
  dateClick(date: Date): void;
@@ -1,18 +1,46 @@
1
1
  import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
2
- import { ComponentRef, EmbeddedViewRef, EventEmitter } from '@angular/core';
3
- import { XDialogAnimationEvent, XDialogAnimationState } from './dialog.property';
2
+ import { ComponentRef, EmbeddedViewRef, EventEmitter, QueryList, Renderer2 } from '@angular/core';
3
+ import { XDialogAnimationEvent, XDialogAnimationState, XDialogRefOption } from './dialog.property';
4
4
  import { AnimationEvent } from '@angular/animations';
5
+ import { CdkDrag, CdkDragEnd, CdkDragHandle } from '@angular/cdk/drag-drop';
6
+ import { XDialogRef } from './dialog-ref';
7
+ import { XResizableEvent } from '@ng-nest/ui/resizable';
5
8
  import * as i0 from "@angular/core";
6
9
  export declare class XDialogPortalComponent extends BasePortalOutlet {
7
- _has: boolean;
10
+ private renderer;
8
11
  placement?: XDialogAnimationState;
9
12
  done({ toState, totalTime }: AnimationEvent): void;
10
13
  start({ toState, totalTime }: AnimationEvent): void;
11
14
  portalOutlet: CdkPortalOutlet;
15
+ dragRef: CdkDrag;
16
+ handles: QueryList<CdkDragHandle>;
12
17
  animationChanged: EventEmitter<XDialogAnimationEvent>;
13
- constructor();
18
+ option: XDialogRefOption;
19
+ dialogRef: XDialogRef<any>;
20
+ offsetLeft: number;
21
+ offsetTop: number;
22
+ minWidth: string;
23
+ minHeight: string;
24
+ initHeight: number;
25
+ initContentHeight: number;
26
+ dialogContent?: HTMLElement;
27
+ defaultMaximize: boolean;
28
+ overlayElement?: HTMLElement;
29
+ hostElement?: HTMLElement;
30
+ distance: {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ dialogBox: {
35
+ [key: string]: any;
36
+ };
37
+ constructor(renderer: Renderer2);
38
+ ngOnInit(): void;
39
+ ngAfterViewInit(): void;
14
40
  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
15
41
  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
42
+ resizing(event: XResizableEvent): void;
43
+ onDragEnded(event: CdkDragEnd): void;
16
44
  static ɵfac: i0.ɵɵFactoryDeclaration<XDialogPortalComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<XDialogPortalComponent, "x-dialog-portal", never, {}, {}, never, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<XDialogPortalComponent, "x-dialog-portal", never, {}, {}, ["handles"], never>;
18
46
  }
@@ -1,3 +1,4 @@
1
+ import { ElementRef } from '@angular/core';
1
2
  import { XDialogRef } from './dialog-ref';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class XDialogCloseDirective {
@@ -22,3 +23,19 @@ export declare class XDialogActionsDirective {
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<XDialogActionsDirective, never>;
23
24
  static ɵdir: i0.ɵɵDirectiveDeclaration<XDialogActionsDirective, "[x-dialog-actions], x-dialog-actions", never, {}, {}, never>;
24
25
  }
26
+ export declare class XDialogDragHandleDirective {
27
+ dialogRef: XDialogRef<any>;
28
+ private elementRef;
29
+ get getDraggable(): boolean | undefined;
30
+ constructor(dialogRef: XDialogRef<any>, elementRef: ElementRef);
31
+ ngOnInit(): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<XDialogDragHandleDirective, [{ optional: true; }, null]>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<XDialogDragHandleDirective, "[x-dialog-drag-handle], x-dialog-drag-handle", never, {}, {}, never>;
34
+ }
35
+ export declare class XDialogFullscreenDirective {
36
+ dialogRef: XDialogRef<any>;
37
+ onFullscreenClick(): void;
38
+ constructor(dialogRef: XDialogRef<any>);
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<XDialogFullscreenDirective, [{ optional: true; }]>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<XDialogFullscreenDirective, "[x-dialog-fullscreen], x-dialog-fullscreen", never, {}, {}, never>;
41
+ }
@@ -1,9 +1,19 @@
1
1
  import { OverlayRef } from '@angular/cdk/overlay';
2
+ import { ElementRef, Renderer2 } from '@angular/core';
3
+ import { XPortalService } from '@ng-nest/ui/portal';
2
4
  import { XDialogPortalComponent } from './dialog-portal.component';
5
+ import { XDialogRefOption } from './dialog.property';
3
6
  export declare class XDialogRef<C> {
4
7
  overlayRef: OverlayRef;
5
8
  containerInstance: XDialogPortalComponent;
9
+ renderer: Renderer2;
10
+ portalService: XPortalService;
6
11
  componentInstance: C;
7
- constructor(overlayRef: OverlayRef, containerInstance: XDialogPortalComponent);
12
+ option: XDialogRefOption;
13
+ fullscreen: boolean;
14
+ dragHandleRefs: ElementRef<HTMLElement>[];
15
+ private _isFristFullscreen;
16
+ constructor(overlayRef: OverlayRef, containerInstance: XDialogPortalComponent, renderer: Renderer2, portalService: XPortalService);
8
17
  close(): void;
18
+ onFullscreen(): void;
9
19
  }
@@ -1,5 +1,5 @@
1
1
  import { Renderer2, ElementRef, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef, OnDestroy } from '@angular/core';
2
- import { XDialogOverlayRef, XDialogProperty } from './dialog.property';
2
+ import { XDialogOverlayRef, XDialogProperty, XDialogAction } from './dialog.property';
3
3
  import { XPortalService } from '@ng-nest/ui/portal';
4
4
  import { Subscription } from 'rxjs';
5
5
  import { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';
@@ -35,6 +35,7 @@ export declare class XDialogComponent extends XDialogProperty implements OnChang
35
35
  y: number;
36
36
  };
37
37
  viewInit: boolean;
38
+ action: XDialogAction | null;
38
39
  private _unSubject;
39
40
  get getCancelText(): string | undefined;
40
41
  get getConfirmText(): string | undefined;
@@ -47,15 +48,12 @@ export declare class XDialogComponent extends XDialogProperty implements OnChang
47
48
  setVisible(): void;
48
49
  create(): void;
49
50
  setWidthHeight(): void;
50
- detach(): void;
51
51
  portalAttached(): boolean | undefined;
52
- onClose(): void;
52
+ onClose(action: XDialogAction, execFunction?: boolean): void;
53
53
  onDragEnded($event: CdkDragEnd): void;
54
54
  onSize(): void;
55
55
  onMaximize(): void;
56
56
  onMinimize(): void;
57
- onCancel(): void;
58
- onConfirm(): void;
59
57
  moveDone($event: {
60
58
  toState: string;
61
59
  }): void;
@@ -15,6 +15,6 @@ import * as i13 from "@ng-nest/ui/outlet";
15
15
  import * as i14 from "@ng-nest/ui/resizable";
16
16
  export declare class XDialogModule {
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<XDialogModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<XDialogModule, [typeof i1.XDialogComponent, typeof i2.XDialogCloseDirective, typeof i2.XDialogTitleDirective, typeof i2.XDialogContentDirective, typeof i2.XDialogActionsDirective, typeof i3.XDialogPortalComponent, typeof i4.XDialogProperty], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.DragDropModule, typeof i8.XInputModule, typeof i9.XButtonModule, typeof i10.XIconModule, typeof i11.XPortalModule, typeof i12.XAlertModule, typeof i13.XOutletModule, typeof i14.XResizableModule], [typeof i1.XDialogComponent, typeof i2.XDialogCloseDirective, typeof i2.XDialogTitleDirective, typeof i2.XDialogContentDirective, typeof i2.XDialogActionsDirective, typeof i3.XDialogPortalComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<XDialogModule, [typeof i1.XDialogComponent, typeof i2.XDialogCloseDirective, typeof i2.XDialogTitleDirective, typeof i2.XDialogContentDirective, typeof i2.XDialogActionsDirective, typeof i2.XDialogDragHandleDirective, typeof i2.XDialogFullscreenDirective, typeof i3.XDialogPortalComponent, typeof i4.XDialogProperty], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.DragDropModule, typeof i8.XInputModule, typeof i9.XButtonModule, typeof i10.XIconModule, typeof i11.XPortalModule, typeof i12.XAlertModule, typeof i13.XOutletModule, typeof i14.XResizableModule], [typeof i1.XDialogComponent, typeof i2.XDialogCloseDirective, typeof i2.XDialogTitleDirective, typeof i2.XDialogContentDirective, typeof i2.XDialogActionsDirective, typeof i2.XDialogDragHandleDirective, typeof i2.XDialogFullscreenDirective, typeof i3.XDialogPortalComponent]>;
19
19
  static ɵinj: i0.ɵɵInjectorDeclaration<XDialogModule>;
20
20
  }
@@ -123,7 +123,7 @@ export declare class XDialogProperty extends XAlertProperty {
123
123
  * @zh_CN 关闭前处理函数
124
124
  * @en_US Processing function before closing
125
125
  */
126
- beforeClose: Function;
126
+ beforeClose: (action: XDialogAction) => void;
127
127
  /**
128
128
  * @zh_CN 取消按钮的事件
129
129
  * @en_US Cancel button event
@@ -134,6 +134,11 @@ export declare class XDialogProperty extends XAlertProperty {
134
134
  * @en_US Confirm button event
135
135
  */
136
136
  confirm: EventEmitter<any>;
137
+ /**
138
+ * @zh_CN 确认按钮的事件
139
+ * @en_US Confirm button event
140
+ */
141
+ close: EventEmitter<any>;
137
142
  /**
138
143
  * @zh_CN 显示/隐藏改变事件
139
144
  * @en_US Show/hide change events
@@ -150,7 +155,7 @@ export declare class XDialogProperty extends XAlertProperty {
150
155
  */
151
156
  closeDone: EventEmitter<any>;
152
157
  static ɵfac: i0.ɵɵFactoryDeclaration<XDialogProperty, never>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<XDialogProperty, "ng-component", never, { "visible": "visible"; "placement": "placement"; "offset": "offset"; "type": "type"; "width": "width"; "height": "height"; "minWidth": "minWidth"; "minHeight": "minHeight"; "effect": "effect"; "footer": "footer"; "showCancel": "showCancel"; "cancelText": "cancelText"; "showConfirm": "showConfirm"; "confirmText": "confirmText"; "backdropClose": "backdropClose"; "hasBackdrop": "hasBackdrop"; "className": "className"; "buttonsCenter": "buttonsCenter"; "draggable": "draggable"; "resizable": "resizable"; "maximize": "maximize"; "beforeClose": "beforeClose"; }, { "cancel": "cancel"; "confirm": "confirm"; "visibleChange": "visibleChange"; "showDone": "showDone"; "closeDone": "closeDone"; }, never, never>;
158
+ static ɵcmp: i0.ɵɵComponentDeclaration<XDialogProperty, "ng-component", never, { "visible": "visible"; "placement": "placement"; "offset": "offset"; "type": "type"; "width": "width"; "height": "height"; "minWidth": "minWidth"; "minHeight": "minHeight"; "effect": "effect"; "footer": "footer"; "showCancel": "showCancel"; "cancelText": "cancelText"; "showConfirm": "showConfirm"; "confirmText": "confirmText"; "backdropClose": "backdropClose"; "hasBackdrop": "hasBackdrop"; "className": "className"; "buttonsCenter": "buttonsCenter"; "draggable": "draggable"; "resizable": "resizable"; "maximize": "maximize"; "beforeClose": "beforeClose"; }, { "cancel": "cancel"; "confirm": "confirm"; "close": "close"; "visibleChange": "visibleChange"; "showDone": "showDone"; "closeDone": "closeDone"; }, never, never>;
154
159
  }
155
160
  export interface XDialogOption extends XAlertOption {
156
161
  visible?: boolean;
@@ -243,7 +248,7 @@ export interface XDialogOption extends XAlertOption {
243
248
  * @zh_CN 关闭前处理函数
244
249
  * @en_US Processing function before closing
245
250
  */
246
- beforeClose?: Function;
251
+ beforeClose?: (action: XDialogAction) => void;
247
252
  }
248
253
  /**
249
254
  * Dialog option by service
@@ -294,6 +299,34 @@ export interface XDialogRefOption {
294
299
  * @withConfig true
295
300
  */
296
301
  hasBackdrop?: boolean;
302
+ /**
303
+ * @zh_CN 拖动对话框
304
+ * @en_US Drag dialog
305
+ * @default false
306
+ * @withConfig true
307
+ */
308
+ draggable?: boolean;
309
+ /**
310
+ * @zh_CN 调整弹框的大小
311
+ * @en_US Adjust the size of the box
312
+ * @default false
313
+ * @withConfig true
314
+ */
315
+ resizable?: boolean;
316
+ /**
317
+ * @zh_CN 最小宽度
318
+ * @en_US Min width
319
+ * @default '18rem'
320
+ * @withConfig true
321
+ */
322
+ minWidth?: string;
323
+ /**
324
+ * @zh_CN 最小高度
325
+ * @en_US Min height
326
+ * @default '8rem'
327
+ * @withConfig true
328
+ */
329
+ minHeight?: string;
297
330
  /**
298
331
  * @zh_CN 数据,通过 "@Inject(X_DIALOG_DATA)" 来接收数据
299
332
  * @en_US Data. Receive data by "@Inject(X_DIALOG_DATA)"
@@ -314,7 +347,7 @@ export interface XDialogAnimationEvent {
314
347
  export interface XDialogCallback {
315
348
  (action: XDialogAction, message?: string): void;
316
349
  }
317
- export declare type XDialogAction = 'confirm' | 'cancel';
350
+ export declare type XDialogAction = 'confirm' | 'cancel' | 'close';
318
351
  /**
319
352
  * @zh_CN 创建的弹框对象
320
353
  * @en_US Dialog object created
@@ -16,6 +16,7 @@ export declare class XDialogService {
16
16
  renderer: Renderer2;
17
17
  constructor(portalService: XPortalService, configService: XConfigService, overlay: Overlay, rendererFactory: RendererFactory2);
18
18
  create<T>(content: TemplateRef<any> | ComponentType<T>, option?: XDialogRefOption): XDialogRef<T>;
19
+ private setMaximize;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<XDialogService, never>;
20
21
  static ɵprov: i0.ɵɵInjectableDeclaration<XDialogService>;
21
22
  }
@@ -10,7 +10,7 @@ export declare class XEmptyComponent extends XEmptyProperty {
10
10
  private _unSubject;
11
11
  constructor(configService: XConfigService, cdr: ChangeDetectorRef, i18n: XI18nService);
12
12
  ngOnInit(): void;
13
- ngOnDestory(): void;
13
+ ngOnDestroy(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<XEmptyComponent, never>;
15
15
  static ɵcmp: i0.ɵɵComponentDeclaration<XEmptyComponent, "x-empty", never, {}, {}, never, never>;
16
16
  }
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const X_CONFIG = new InjectionToken('x-config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbG9hZGluZz86IFhMb2FkaW5nQ29uZmlnO1xyXG4gIG1lbnU/OiBYTWVudUNvbmZpZztcclxuICBtZXNzYWdlPzogWE1lc3NhZ2VDb25maWc7XHJcbiAgbWVzc2FnZUJveD86IFhNZXNzYWdlQm94Q29uZmlnO1xyXG4gIG5vdGlmaWNhdGlvbj86IFhOb3RpZmljYXRpb25Db25maWc7XHJcbiAgb3V0bGV0PzogWE91dGxldENvbmZpZztcclxuICBwYWdlSGVhZGVyPzogWFBhZ2VIZWFkZXJDb25maWc7XHJcbiAgcGFnaW5hdGlvbj86IFhQYWdpbmF0aW9uQ29uZmlnO1xyXG4gIHBhdHRlcm4/OiBYUGF0dGVybkNvbmZpZztcclxuICBwb3Bjb25maXJtPzogWFBvcGNvbmZpcm1Db25maWc7XHJcbiAgcG9wb3Zlcj86IFhQb3BvdmVyQ29uZmlnO1xyXG4gIHBvcnRhbD86IFhQb3J0YWxDb25maWc7XHJcbiAgcHJvZ3Jlc3M/OiBYUHJvZ3Jlc3NDb25maW5nO1xyXG4gIHJhZGlvPzogWFJhZGlvQ29uZmlnO1xyXG4gIHJhdGU/OiBYUmF0ZUNvbmZpZztcclxuICByZXN1bHQ/OiBYUmVzdWx0Q29uZmlnO1xyXG4gIHNlbGVjdD86IFhTZWxlY3RDb25maWc7XHJcbiAgc2tlbGV0b24/OiBYU2tlbGV0b25Db25maWc7XHJcbiAgc2xpZGVyPzogWFNsaWRlckNvbmZpZztcclxuICBzbGlkZXJTZWxlY3Q/OiBYU2xpZGVyU2VsZWN0Q29uZmlnO1xyXG4gIHN0YXRpc3RpYz86IFhTdGF0aXN0aWNDb25maWc7XHJcbiAgY291bnRkb3duPzogWENvdW50ZG93bkNvbmZpZztcclxuICBzdGVwcz86IFhTdGVwc0NvbmZpZztcclxuICBzd2l0Y2g/OiBYU3dpdGNoQ29uZmlnO1xyXG4gIHRhYmxlPzogWFRhYmxlQ29uZmlnO1xyXG4gIHRhYnM/OiBYVGFic0NvbmZpZztcclxuICB0YWc/OiBYVGFnQ29uZmlnO1xyXG4gIHRleHRSZXRyYWN0PzogWFRleHRSZXRyYWN0Q29uZmlnO1xyXG4gIHRoZW1lPzogWFRoZW1lQ29uZmlnO1xyXG4gIHRpbWVBZ28/OiBYVGltZUFnb0NvbmZpZztcclxuICB0aW1lUGlja2VyPzogWFRpbWVQaWNrZXJDb25maWc7XHJcbiAgdGltZVJhbmdlPzogWFRpbWVSYW5nZUNvbmZpZztcclxuICB0aW1lbGluZT86IFhUaW1lbGluZUNvbmZpZztcclxuICB0b29sdGlwPzogWFRvb2x0aXBDb25maWc7XHJcbiAgdHJhbnNmZXI/OiBYVHJhbnNmZXJDb25maWc7XHJcbiAgdHJlZT86IFhUcmVlQ29uZmlnO1xyXG4gIHRyZWVGaWxlPzogWFRyZWVGaWxlQ29uZmlnO1xyXG4gIHRleHRhcmVhPzogWFRleHRhcmVhQ29uZmlnO1xyXG4gIHVwbG9hZD86IFhVcGxvYWRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF1dG9Db21wbGV0ZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhCYWNrVG9wQ29uZmlnIHtcclxuICByaWdodD86IHN0cmluZztcclxuICBib3R0b20/OiBzdHJpbmc7XHJcbiAgdmlzaWJpbGl0eUhlaWdodD86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhZGdlQ29uZmdpZyB7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhCdXR0b25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICB0eXBlPzogWFR5cGU7XHJcbiAgcGxhaW4/OiBYQm9vbGVhbjtcclxuICByb3VuZD86IFhCb29sZWFuO1xyXG4gIGNpcmNsZT86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhCdXR0b25zQ29uZmlnIHtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgaGlkZGVuQm9yZGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhbGVuZGFyQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDYXJkQ29uZmlnIHtcclxuICBzaGFkb3c/OiBYU2hhZG93O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDYXJvdXNlbENvbmZpZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICBhcnJvdz86IFhTaGFkb3c7XHJcbiAgZGlyZWN0aW9uPzogWERpc3BsYXlEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhc2NhZGVDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcclxuICBub2RlVHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIG5vZGVIb3ZlckRlbGF5PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2hlY2tib3hDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sbGFwc2VDb25maWcge1xyXG4gIHNob3dJY29uPzogQm9vbGVhbjtcclxuICBnaG9zdD86IEJvb2xlYW47XHJcbiAgaWNvblBvc2l0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICBib3JkZXJlZD86IEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yQ29uZmlnIHtcclxuICBtZXJnZT86IHN0cmluZztcclxuICBhbW91bnRzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xvclBpY2tlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29tbWVudENvbmZpZyB7XHJcbiAgY29udGVudE1heD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29udGFpbmVyQ29uZmlnIHtcclxuICBkaXJlY3Rpb24/OiBYRGlyZWN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIZWFkZXJDb25maWcge1xyXG4gIGhlaWdodD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXNpZGVDb25maWcge1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhGb290ZXJDb25maWcge1xyXG4gIGhlaWdodD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ3J1bWJDb21maWcge1xyXG4gIHNlcGFyYXRvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVJhbmdlQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGlhbG9nQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2U7XHJcbiAgb2Zmc2V0Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBlZmZlY3Q/OiBYRWZmZWN0O1xyXG4gIHNob3dDYW5jZWw/OiBYQm9vbGVhbjtcclxuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIHNob3dDb25maXJtPzogWEJvb2xlYW47XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIG1heGltaXplPzogWEJvb2xlYW47XHJcbiAgaGFzQmFja2Ryb3A/OiBYQm9vbGVhbjtcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgYnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcmF3ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvbjtcclxuICBzaXplPzogc3RyaW5nO1xyXG4gIGJhY2tkcm9wQ2xvc2U/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRHJvcGRvd25Db25maWcge1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEZXNjcmlwdGlvbkNvbmZpZyB7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEVtcHR5Q29uZmlnIHtcclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhGaW5kQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb2x1bW5MYWJlbD86IHN0cmluZztcclxuICBkaWFsb2dUaXRsZT86IHN0cmluZztcclxuICBkaWFsb2dDaGVja2JveExhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94V2lkdGg/OiBudW1iZXI7XHJcbiAgZGlhbG9nRW1wdHlDb250ZW50Pzogc3RyaW5nO1xyXG4gIGRpYWxvZ0J1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxuICB0YWJsZUluZGV4PzogbnVtYmVyO1xyXG4gIHRhYmxlU2l6ZT86IG51bWJlcjtcclxuICB0YWJsZUxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICB0YWJsZVZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIHRhYmxlUm93SGVpZ2h0PzogWE51bWJlcjtcclxuICB0cmVlRXhwYW5kZWRMZXZlbD86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvcm1Db25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBsYWJlbFN1ZmZpeD86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSGlnaGxpZ2h0Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJY29uQ29uZmlnIHtcclxuICBocmVmPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbm5lckNvbmZpZyB7XHJcbiAgcGFkZGluZz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW5wdXRDb25maWcge1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIGljb25MYXlvdXQ/OiBYUG9zaXRpb25MZWZ0UmlnaHQ7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0R3JvdXBDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbXBhY3Q/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW5wdXROdW1iZXJDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMb2FkaW5nQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lbnVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICB3aWR0aD86IHN0cmluZztcclxuICB0cmlnZ2VyPzogWFRyaWdnZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lc3NhZ2VDb25maWcge1xyXG4gIHR5cGU/OiBYU3RhdHVzO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBkaXNwbGF5VHlwZT86IHN0cmluZztcclxuICBvZmZzZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBoaWRlQ2xvc2U/OiBib29sZWFuO1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUJveENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTm90aWZpY2F0aW9uQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhPdXRsZXRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2VIZWFkZXJDb25maWcge1xyXG4gIGJhY2tJY29uPzogc3RyaW5nO1xyXG4gIGJhY2tUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQYWdpbmF0aW9uQ29uZmlnIHtcclxuICBpbmRleD86IFhOdW1iZXI7XHJcbiAgc2l6ZT86IFhOdW1iZXI7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIHBhZ2VMaW5rU2l6ZT86IFhOdW1iZXI7XHJcbiAgaGlkZGVuQm9yZGVyPzogYm9vbGVhbjtcclxuICBzaG93RWxsaXBzaXM/OiBib29sZWFuO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47XHJcbiAgc2hvd1NpemU/OiBib29sZWFuO1xyXG4gIHNpemVXaWR0aD86IG51bWJlcjtcclxuICBzaXplRGF0YT86IG51bWJlcltdO1xyXG4gIHNob3dKdW1wPzogYm9vbGVhbjtcclxuICBqdW1wV2lkdGg/OiBudW1iZXI7XHJcbiAgc2ltcGxlPzogYm9vbGVhbjtcclxuICBzaW1wbGVJbmRleFdpZHRoPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQYXR0ZXJuQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3Bjb25maXJtQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGljb25Db2xvcj86IHN0cmluZztcclxuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIGNvbmZpcm1UZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3BvdmVyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICB3aWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUG9ydGFsQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQcm9ncmVzc0NvbmZpbmcge1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICBzdGVwV2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhZGlvQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhdGVDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJlc3VsdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2VsZWN0Q29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyU2VsZWN0Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTdGF0aXN0aWNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvdW50ZG93bkNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTdGVwc0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3dpdGNoQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbmZpZyB7XHJcbiAgaW5kZXg/OiBudW1iZXI7XHJcbiAgc2l6ZT86IG51bWJlcjtcclxuICBsb2FkaW5nPzogWEJvb2xlYW47XHJcbiAgc2hvd0hlYWRlcj86IFhCb29sZWFuO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIHJvd0hlaWdodD86IFhOdW1iZXI7XHJcbiAgaXRlbVNpemU/OiBYTnVtYmVyO1xyXG4gIGJvcmRlcmVkPzogWE51bWJlcjtcclxuICBhbGxvd1NlbGVjdFJvdz86IFhCb29sZWFuO1xyXG4gIHJvd1NpemU/OiBYU2l6ZTtcclxuICBzaG93UGFnaW5hdGlvbj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJzQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY2xvc2FibGU/OiBYQm9vbGVhbjtcclxuICBkYXJrPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRSZXRyYWN0Q29uZmlnIHtcclxuICBtYXg/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaGVtZUNvbmZpZyB7XHJcbiAgYW1vdW50cz86IFhOdW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZUFnb0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVSYW5nZUNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZWxpbmVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVG9vbHRpcENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJhbnNmZXJDb25maWcge1xyXG4gIHRpdGxlcz86IHN0cmluZ1tdO1xyXG4gIGRyYWc/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZUNvbmZpZyB7XHJcbiAgc3BhY2luZz86IFhOdW1iZXI7XHJcbiAgbm9kZUhlaWdodD86IFhOdW1iZXI7XHJcbiAgbm9kZUFsaWduSXRlbXM/OiBYQWxpZ247XHJcbiAgdmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRhcmVhQ29uZmlnIHtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBpY29uTGF5b3V0PzogWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlRmlsZUNvbmZpZyB7XHJcbiAgbWF4SGVpZ2h0PzogWE51bWJlcjtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVXBsb2FkQ29uZmlnIHt9XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0ZXh0YXJlYT86IFhUZXh0YXJlYUNvbmZpZztcclxuICB1cGxvYWQ/OiBYVXBsb2FkQ29uZmlnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBZmZpeENvbmZpZyB7XHJcbiAgdG9wPzogc3RyaW5nO1xyXG4gIGxlZnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFsZXJ0Q29uZmlnIHtcclxuICBlZmZlY3Q/OiBYRWZmZWN0O1xyXG4gIGhpZGVDbG9zZT86IFhCb29sZWFuO1xyXG4gIHNob3dJY29uPzogWEJvb2xlYW47XHJcbiAgZGlzYWJsZWRBbmltYXRpb24/OiBYQm9vbGVhbjtcclxuICBkcmFnZ2FibGU/OiBYQm9vbGVhbjtcclxuICByZXNpemFibGU/OiBYQm9vbGVhbjtcclxuICBkcmFnSGFuZGxlVGl0bGU/OiBYQm9vbGVhbjtcclxuICBkdXJhdGlvbj86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFuY2hvckNvbmZpZyB7XHJcbiAgYWZmaXhUb3A/OiBzdHJpbmc7XHJcbiAgYWZmaXhXaWR0aD86IHN0cmluZztcclxuICBsYXlvdXQ/OiBYUG9zaXRpb25MZWZ0UmlnaHQ7XHJcbiAganVzdGlmeT86IFhKdXN0aWZ5O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBdmF0YXJDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaGFwZT86IFhTaGFwZTtcclxuICBmaXQ/OiBYRml0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBdXRvQ29tcGxldGVDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFja1RvcENvbmZpZyB7XHJcbiAgcmlnaHQ/OiBzdHJpbmc7XHJcbiAgYm90dG9tPzogc3RyaW5nO1xyXG4gIHZpc2liaWxpdHlIZWlnaHQ/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhCYWRnZUNvbmZnaWcge1xyXG4gIHR5cGU/OiBYVHlwZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQnV0dG9uQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG4gIHBsYWluPzogWEJvb2xlYW47XHJcbiAgcm91bmQ/OiBYQm9vbGVhbjtcclxuICBjaXJjbGU/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQnV0dG9uc0NvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGhpZGRlbkJvcmRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDYWxlbmRhckNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FyZENvbmZpZyB7XHJcbiAgc2hhZG93PzogWFNoYWRvdztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2Fyb3VzZWxDb25maWcge1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICB0cmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgYXJyb3c/OiBYU2hhZG93O1xyXG4gIGRpcmVjdGlvbj86IFhEaXNwbGF5RGlyZWN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDYXNjYWRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgbm9kZVRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICBub2RlSG92ZXJEZWxheT86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENoZWNrYm94Q29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbGxhcHNlQ29uZmlnIHtcclxuICBzaG93SWNvbj86IEJvb2xlYW47XHJcbiAgZ2hvc3Q/OiBCb29sZWFuO1xyXG4gIGljb25Qb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCc7XHJcbiAgYm9yZGVyZWQ/OiBCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xvckNvbmZpZyB7XHJcbiAgbWVyZ2U/OiBzdHJpbmc7XHJcbiAgYW1vdW50cz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JQaWNrZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbW1lbnRDb25maWcge1xyXG4gIGNvbnRlbnRNYXg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbnRhaW5lckNvbmZpZyB7XHJcbiAgZGlyZWN0aW9uPzogWERpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSGVhZGVyQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFzaWRlQ29uZmlnIHtcclxuICB3aWR0aD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9vdGVyQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENydW1iQ29tZmlnIHtcclxuICBzZXBhcmF0b3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVSYW5nZUNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERpYWxvZ0NvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIG9mZnNldD86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBtaW5XaWR0aD86IHN0cmluZztcclxuICBtaW5IZWlnaHQ/OiBzdHJpbmc7XHJcbiAgZWZmZWN0PzogWEVmZmVjdDtcclxuICBzaG93Q2FuY2VsPzogWEJvb2xlYW47XHJcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcclxuICBzaG93Q29uZmlybT86IFhCb29sZWFuO1xyXG4gIGNvbmZpcm1UZXh0Pzogc3RyaW5nO1xyXG4gIGJhY2tkcm9wQ2xvc2U/OiBYQm9vbGVhbjtcclxuICBkcmFnZ2FibGU/OiBYQm9vbGVhbjtcclxuICByZXNpemFibGU/OiBYQm9vbGVhbjtcclxuICBtYXhpbWl6ZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGJ1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRHJhd2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb247XHJcbiAgc2l6ZT86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgaGFzQmFja2Ryb3A/OiBYQm9vbGVhbjtcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyb3Bkb3duQ29uZmlnIHtcclxuICB0cmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRGVzY3JpcHRpb25Db25maWcge1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhFbXB0eUNvbmZpZyB7XHJcbiAgY29udGVudD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY29sdW1uTGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hMYWJlbD86IHN0cmluZztcclxuICBkaWFsb2dDaGVja2JveFdpZHRoPzogbnVtYmVyO1xyXG4gIGRpYWxvZ0VtcHR5Q29udGVudD86IHN0cmluZztcclxuICBkaWFsb2dCdXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbiAgdGFibGVJbmRleD86IG51bWJlcjtcclxuICB0YWJsZVNpemU/OiBudW1iZXI7XHJcbiAgdGFibGVMb2FkaW5nPzogWEJvb2xlYW47XHJcbiAgdGFibGVWaXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICB0YWJsZVJvd0hlaWdodD86IFhOdW1iZXI7XHJcbiAgdHJlZUV4cGFuZGVkTGV2ZWw/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhGb3JtQ29uZmlnIHtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgbGFiZWxTdWZmaXg/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhpZ2hsaWdodENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSWNvbkNvbmZpZyB7XHJcbiAgaHJlZj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW5uZXJDb25maWcge1xyXG4gIHBhZGRpbmc/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0Q29uZmlnIHtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBpY29uTGF5b3V0PzogWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSb3dDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJpcHBsZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaW5rQ29uZmlnIHtcclxuICB1bmRlcmxpbmU/OiBYQm9vbGVhbjtcclxuICBpY29uUmlnaHQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTGlzdENvbmZpZyB7XHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTGlzdE9wdGlvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMb2FkaW5nQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lbnVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICB3aWR0aD86IHN0cmluZztcclxuICB0cmlnZ2VyPzogWFRyaWdnZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lc3NhZ2VDb25maWcge1xyXG4gIHR5cGU/OiBYU3RhdHVzO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBkaXNwbGF5VHlwZT86IHN0cmluZztcclxuICBvZmZzZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBoaWRlQ2xvc2U/OiBib29sZWFuO1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUJveENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTm90aWZpY2F0aW9uQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhPdXRsZXRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2VIZWFkZXJDb25maWcge1xyXG4gIGJhY2tJY29uPzogc3RyaW5nO1xyXG4gIGJhY2tUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQYWdpbmF0aW9uQ29uZmlnIHtcclxuICBpbmRleD86IFhOdW1iZXI7XHJcbiAgc2l6ZT86IFhOdW1iZXI7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIHBhZ2VMaW5rU2l6ZT86IFhOdW1iZXI7XHJcbiAgaGlkZGVuQm9yZGVyPzogYm9vbGVhbjtcclxuICBzaG93RWxsaXBzaXM/OiBib29sZWFuO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47XHJcbiAgc2hvd1NpemU/OiBib29sZWFuO1xyXG4gIHNpemVXaWR0aD86IG51bWJlcjtcclxuICBzaXplRGF0YT86IG51bWJlcltdO1xyXG4gIHNob3dKdW1wPzogYm9vbGVhbjtcclxuICBqdW1wV2lkdGg/OiBudW1iZXI7XHJcbiAgc2ltcGxlPzogYm9vbGVhbjtcclxuICBzaW1wbGVJbmRleFdpZHRoPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQYXR0ZXJuQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3Bjb25maXJtQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGljb25Db2xvcj86IHN0cmluZztcclxuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIGNvbmZpcm1UZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3BvdmVyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxuICB3aWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUG9ydGFsQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQcm9ncmVzc0NvbmZpbmcge1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICBzdGVwV2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhZGlvQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhdGVDb25maWcge1xyXG4gIGNvbG9yPzogc3RyaW5nIHwgeyBbY29sb3I6IHN0cmluZ106IChyYXRlOiBudW1iZXIpID0+IGJvb2xlYW4gfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmVzdWx0Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBwb3J0YWxNYXhIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2tlbGV0b25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlckNvbmZpZyB7XHJcbiAgYW5pbWF0ZWQ/OiBYQm9vbGVhbjtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb25maWcge1xyXG4gIGluZGV4PzogbnVtYmVyO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHNob3dIZWFkZXI/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICByb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIGl0ZW1TaXplPzogWE51bWJlcjtcclxuICBib3JkZXJlZD86IFhOdW1iZXI7XHJcbiAgYWxsb3dTZWxlY3RSb3c/OiBYQm9vbGVhbjtcclxuICByb3dTaXplPzogWFNpemU7XHJcbiAgc2hvd1BhZ2luYXRpb24/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFic0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWdDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNsb3NhYmxlPzogWEJvb2xlYW47XHJcbiAgZGFyaz86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUZXh0UmV0cmFjdENvbmZpZyB7XHJcbiAgbWF4PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGhlbWVDb25maWcge1xyXG4gIGFtb3VudHM/OiBYTnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVBZ29Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVQaWNrZXJDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUmFuZ2VDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVsaW5lQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRvb2x0aXBDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyYW5zZmVyQ29uZmlnIHtcclxuICB0aXRsZXM/OiBzdHJpbmdbXTtcclxuICBkcmFnPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVDb25maWcge1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG4gIG5vZGVIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIG5vZGVBbGlnbkl0ZW1zPzogWEFsaWduO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUZXh0YXJlYUNvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZUZpbGVDb25maWcge1xyXG4gIG1heEhlaWdodD86IFhOdW1iZXI7XHJcbiAgc3BhY2luZz86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFVwbG9hZENvbmZpZyB7fVxyXG4iXX0=
@@ -59,7 +59,7 @@ export class XPickerDateComponent extends XPickerDateProperty {
59
59
  console.log(this.rangeType);
60
60
  }
61
61
  }
62
- ngOnDestory() {
62
+ ngOnDestroy() {
63
63
  this._unSubject.next();
64
64
  this._unSubject.unsubscribe();
65
65
  }
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
153
153
  type: Component,
154
154
  args: [{ selector: `${XPickerDatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n [disabled]=\"false\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}.x-picker-date .x-visibility{visibility:hidden}\n"] }]
155
155
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBVTFELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUE2QjNELFlBQ1MsUUFBbUIsRUFDbkIsUUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsR0FBc0IsRUFDdEIsYUFBNkIsRUFDN0IsSUFBa0I7UUFFekIsS0FBSyxFQUFFLENBQUM7UUFQRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWM7UUFsQzNCLFdBQU0sR0FBRztZQUNQLG1CQUFtQjtZQUNuQixvQkFB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LG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxHQUFHLGlCQUFpQixFQUFFLGlCQUdqQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclR5cGUsIFhQaWNrZXJEYXRlUHJlZml4LCBYUGlja2VyRGF0ZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEkxOG5EYXRlUGlja2VyLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVQaXBlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYUGlja2VyRGF0ZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXItZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLWRhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlLCBMb3dlckNhc2VQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlckRhdGVDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyRGF0ZVByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICB0aXRsZXMgPSBbXHJcbiAgICAnZGF0ZVBpY2tlci5tb25kYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudHVlc2RheScsXHJcbiAgICAnZGF0ZVBpY2tlci53ZWRuZXNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudGh1cnNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIuZnJpZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnNhdHVyZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnN1bmRheSdcclxuICBdO1xyXG4gIG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZXM6IERhdGVbXVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgcmFuZ2VTdGFydCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCByYW5nZUVuZCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHVibGljIGxvd2VyQ2FzZVBpcGU6IExvd2VyQ2FzZVBpcGUsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LmRhdGVQaWNrZXIgYXMgWEkxOG5EYXRlUGlja2VyKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkaXNwbGF5LCByYW5nZVR5cGUgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgICBpZiAocmFuZ2VUeXBlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMucmFuZ2VUeXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0b3J5KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF5cyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5cyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgZGF0ZXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3QgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKTtcclxuICAgIGNvbnN0IGxhc3REYXRlID0gbGFzdC5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBmaXJzdERheSA9IGZpcnN0LmdldERheSgpO1xyXG4gICAgY29uc3QgbGFzdERheSA9IGxhc3QuZ2V0RGF5KCk7XHJcblxyXG4gICAgbGV0IGRheSA9IGZpcnN0RGF5O1xyXG4gICAgbGV0IGluZGV4ID0gMTtcclxuICAgIHdoaWxlIChkYXkgIT09IDEpIHtcclxuICAgICAgaW5kZXgtLTtcclxuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFtkYXRlLCAuLi5kYXRlc107XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5kZXggPSAxO1xyXG4gICAgZG8ge1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgbmV3IERhdGUoeWVhciwgbW9udGgsIGluZGV4KV07XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IHdoaWxlIChpbmRleCA8PSBsYXN0RGF0ZSk7XHJcblxyXG4gICAgaW5kZXggPSAwO1xyXG4gICAgZGF5ID0gbGFzdERheTtcclxuICAgIHdoaWxlIChkYXkgIT09IDAgfHwgZGF0ZXMubGVuZ3RoICE9PSA3ICogNikge1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgZGF0ZV07XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRlcyA9IGNodW5rKGRhdGVzLCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdChbZGF0ZXNbMF0sIGRhdGVzW2RhdGVzLmxlbmd0aCAtIDFdXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNsaWNrKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGVNb250aChkYXRlOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gKHRoaXMubG9jYWxlIGFzIGFueSlbdGhpcy5sb3dlckNhc2VQaXBlLnRyYW5zZm9ybSh0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnTExMTCcpIGFzIHN0cmluZyldO1xyXG4gIH1cclxuXHJcbiAgcmFuZ2VEaXNhYmxlZChkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlU3RhcnQgIT09ICcnICYmIGRhdGUuZ2V0VGltZSgpIDwgdGhpcy5yYW5nZVN0YXJ0O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUVuZCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPiB0aGlzLnJhbmdlRW5kO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXREYXlzKHRoaXMuZGlzcGxheSk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMubW9udGhDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXIobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMueWVhckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0eXBlT25DaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy50eXBlQ2hhbmdlLmVtaXQodHlwZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgcmV0dXJuIGl0ZW07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXBpY2tlci1kYXRlXCIgW2NsYXNzLngtZGF0ZS1waWNrZXItZGF0ZXRlbXBdPVwiZGF0ZVRlbXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItZGF0ZS1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCIgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIj48L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgtMSlcIiBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFsYXN0TW9udGhCdG5cIj48L3gtYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGUteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCd5ZWFyJylcIj57eyBkaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCdtb250aCcpXCI+e3sgZ2V0TG9jYWxlTW9udGgoZGlzcGxheSkgfX08L3gtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgxKVwiIFtjbGFzcy54LXZpc2liaWxpdHldPVwiIW5leHRZZWFyQnRuXCI+PC94LWJ1dHRvbj5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKDEpXCIgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbmV4dE1vbnRoQnRuXCI+PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItZGF0ZS1ib2R5XCI+XHJcbiAgICA8dGFibGUgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+XHJcbiAgICAgIDx0aGVhZD5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IHRpdGxlIG9mIHRpdGxlczsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIj57eyB0aXRsZSB8IHhJMThuIH19PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHk+XHJcbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrcyBvZiBkYXRlc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2VlayBvZiB3ZWVrczsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIj5cclxuICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwiKHdlZWsgfCBkYXRlOiAneXl5eU1NJykgIT09IChkaXNwbGF5IHwgZGF0ZTogJ3l5eXlNTScpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MueC1kYXRlLW5vd109XCIod2VlayB8IGRhdGU6ICd5eXl5TU1kZCcpID09PSAobm93IHwgZGF0ZTogJ3l5eXlNTWRkJylcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlVGVtcCAmJiBkYXRlQ2xpY2sod2VlaylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlVGVtcFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwibWluaVwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHdlZWsgfCBkYXRlOiAneXl5eS1NTS1kZCcgfX1cIlxyXG4gICAgICAgICAgICAgICAgW2FjdGl2YXRlZF09XCIhcmFuZ2VQaWNrZXIgJiYgKHdlZWsgfCBkYXRlOiAneXl5eU1NZGQnKSA9PT0gKG1vZGVsIHwgZGF0ZTogJ3l5eXlNTWRkJylcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlQ2xpY2sod2VlaylcIlxyXG4gICAgICAgICAgICAgICAgPnt7IHdlZWsgfCBkYXRlOiAnZCcgfX08L3gtYnV0dG9uXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRlVGVtcFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB3ZWVrIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBVTFELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUE2QjNELFlBQ1MsUUFBbUIsRUFDbkIsUUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsR0FBc0IsRUFDdEIsYUFBNkIsRUFDN0IsSUFBa0I7UUFFekIsS0FBSyxFQUFFLENBQUM7UUFQRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWM7UUFsQzNCLFdBQU0sR0FBRztZQUNQLG1CQUFtQjtZQUNuQixvQkFB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LG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxHQUFHLGlCQUFpQixFQUFFLGlCQUdqQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclR5cGUsIFhQaWNrZXJEYXRlUHJlZml4LCBYUGlja2VyRGF0ZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEkxOG5EYXRlUGlja2VyLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVQaXBlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYUGlja2VyRGF0ZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXItZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLWRhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlLCBMb3dlckNhc2VQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlckRhdGVDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyRGF0ZVByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICB0aXRsZXMgPSBbXHJcbiAgICAnZGF0ZVBpY2tlci5tb25kYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudHVlc2RheScsXHJcbiAgICAnZGF0ZVBpY2tlci53ZWRuZXNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudGh1cnNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIuZnJpZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnNhdHVyZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnN1bmRheSdcclxuICBdO1xyXG4gIG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZXM6IERhdGVbXVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgcmFuZ2VTdGFydCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCByYW5nZUVuZCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHVibGljIGxvd2VyQ2FzZVBpcGU6IExvd2VyQ2FzZVBpcGUsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LmRhdGVQaWNrZXIgYXMgWEkxOG5EYXRlUGlja2VyKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkaXNwbGF5LCByYW5nZVR5cGUgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgICBpZiAocmFuZ2VUeXBlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMucmFuZ2VUeXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF5cyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5cyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgZGF0ZXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3QgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKTtcclxuICAgIGNvbnN0IGxhc3REYXRlID0gbGFzdC5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBmaXJzdERheSA9IGZpcnN0LmdldERheSgpO1xyXG4gICAgY29uc3QgbGFzdERheSA9IGxhc3QuZ2V0RGF5KCk7XHJcblxyXG4gICAgbGV0IGRheSA9IGZpcnN0RGF5O1xyXG4gICAgbGV0IGluZGV4ID0gMTtcclxuICAgIHdoaWxlIChkYXkgIT09IDEpIHtcclxuICAgICAgaW5kZXgtLTtcclxuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFtkYXRlLCAuLi5kYXRlc107XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5kZXggPSAxO1xyXG4gICAgZG8ge1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgbmV3IERhdGUoeWVhciwgbW9udGgsIGluZGV4KV07XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IHdoaWxlIChpbmRleCA8PSBsYXN0RGF0ZSk7XHJcblxyXG4gICAgaW5kZXggPSAwO1xyXG4gICAgZGF5ID0gbGFzdERheTtcclxuICAgIHdoaWxlIChkYXkgIT09IDAgfHwgZGF0ZXMubGVuZ3RoICE9PSA3ICogNikge1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgZGF0ZV07XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRlcyA9IGNodW5rKGRhdGVzLCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdChbZGF0ZXNbMF0sIGRhdGVzW2RhdGVzLmxlbmd0aCAtIDFdXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNsaWNrKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGVNb250aChkYXRlOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gKHRoaXMubG9jYWxlIGFzIGFueSlbdGhpcy5sb3dlckNhc2VQaXBlLnRyYW5zZm9ybSh0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnTExMTCcpIGFzIHN0cmluZyldO1xyXG4gIH1cclxuXHJcbiAgcmFuZ2VEaXNhYmxlZChkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlU3RhcnQgIT09ICcnICYmIGRhdGUuZ2V0VGltZSgpIDwgdGhpcy5yYW5nZVN0YXJ0O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUVuZCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPiB0aGlzLnJhbmdlRW5kO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXREYXlzKHRoaXMuZGlzcGxheSk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMubW9udGhDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXIobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMueWVhckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0eXBlT25DaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy50eXBlQ2hhbmdlLmVtaXQodHlwZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgcmV0dXJuIGl0ZW07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXBpY2tlci1kYXRlXCIgW2NsYXNzLngtZGF0ZS1waWNrZXItZGF0ZXRlbXBdPVwiZGF0ZVRlbXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItZGF0ZS1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCIgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIj48L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgtMSlcIiBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFsYXN0TW9udGhCdG5cIj48L3gtYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGUteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCd5ZWFyJylcIj57eyBkaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCdtb250aCcpXCI+e3sgZ2V0TG9jYWxlTW9udGgoZGlzcGxheSkgfX08L3gtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgxKVwiIFtjbGFzcy54LXZpc2liaWxpdHldPVwiIW5leHRZZWFyQnRuXCI+PC94LWJ1dHRvbj5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKDEpXCIgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbmV4dE1vbnRoQnRuXCI+PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItZGF0ZS1ib2R5XCI+XHJcbiAgICA8dGFibGUgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+XHJcbiAgICAgIDx0aGVhZD5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IHRpdGxlIG9mIHRpdGxlczsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIj57eyB0aXRsZSB8IHhJMThuIH19PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHk+XHJcbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrcyBvZiBkYXRlc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2VlayBvZiB3ZWVrczsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIj5cclxuICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwiKHdlZWsgfCBkYXRlOiAneXl5eU1NJykgIT09IChkaXNwbGF5IHwgZGF0ZTogJ3l5eXlNTScpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MueC1kYXRlLW5vd109XCIod2VlayB8IGRhdGU6ICd5eXl5TU1kZCcpID09PSAobm93IHwgZGF0ZTogJ3l5eXlNTWRkJylcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlVGVtcCAmJiBkYXRlQ2xpY2sod2VlaylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlVGVtcFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwibWluaVwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHdlZWsgfCBkYXRlOiAneXl5eS1NTS1kZCcgfX1cIlxyXG4gICAgICAgICAgICAgICAgW2FjdGl2YXRlZF09XCIhcmFuZ2VQaWNrZXIgJiYgKHdlZWsgfCBkYXRlOiAneXl5eU1NZGQnKSA9PT0gKG1vZGVsIHwgZGF0ZTogJ3l5eXlNTWRkJylcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlQ2xpY2sod2VlaylcIlxyXG4gICAgICAgICAgICAgICAgPnt7IHdlZWsgfCBkYXRlOiAnZCcgfX08L3gtYnV0dG9uXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRlVGVtcFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB3ZWVrIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19