ngx-rs-ant 2.4.9 → 2.5.1

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,12 +1,17 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class StyleComponent implements OnInit {
4
- style: any;
5
- width: number;
6
- height: number;
4
+ style: {
5
+ width: string;
6
+ widthType: string;
7
+ height: string;
8
+ heightType: string;
9
+ };
10
+ protected width: number;
11
+ protected height: number;
7
12
  ngOnInit(): void;
8
- select(name: string, value: any): void;
9
- typing(name: string, value: any): void;
13
+ select(name: 'width' | 'height', value: any, unit: '' | 'px' | 'f'): void;
14
+ typing(name: 'width' | 'height', value: any): void;
10
15
  static ɵfac: i0.ɵɵFactoryDeclaration<StyleComponent, never>;
11
16
  static ɵcmp: i0.ɵɵComponentDeclaration<StyleComponent, "rs-style", never, {}, {}, never, never, false, never>;
12
17
  }
@@ -21,6 +21,7 @@ export declare class DataGridComponent {
21
21
  allowedPageSizes: any[];
22
22
  disablePage: boolean;
23
23
  dataSource: any;
24
+ rowDragging: any;
24
25
  summary: any;
25
26
  focusedRowEnabled: boolean;
26
27
  focusedRowKey: any;
@@ -56,5 +57,5 @@ export declare class DataGridComponent {
56
57
  refresh(callback?: any): void;
57
58
  onDxDataGridEditorPreparing($event: any): void;
58
59
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "customColumnFn": "customColumnFn"; "keyExpr": "keyExpr"; "dataGridName": "dataGridName"; "height": "height"; "onlyFrontEnd": "onlyFrontEnd"; "pageSize": "pageSize"; "allowedPageSizes": "allowedPageSizes"; "disablePage": "disablePage"; "dataSource": "dataSource"; "summary": "summary"; "focusedRowEnabled": "focusedRowEnabled"; "focusedRowKey": "focusedRowKey"; "selectionMode": "selectionMode"; "selectedRowKeys": "selectedRowKeys"; "rowCursorPointer": "rowCursorPointer"; "showRowNum": "showRowNum"; "instanceLinkType": "instanceLinkType"; "drawerInstanceLinkViewContainerRef": "drawerInstanceLinkViewContainerRef"; "drawerInstanceLinkSize": "drawerInstanceLinkSize"; "drawerInstanceLinkShowHeader": "drawerInstanceLinkShowHeader"; "drawerInstanceLinkFormTemplate": "drawerInstanceLinkFormTemplate"; }, { "focusedRowKeyChange": "focusedRowKeyChange"; "selectedRowKeysChange": "selectedRowKeysChange"; "onCellPrepared": "onCellPrepared"; "onContentReady": "onContentReady"; "onEditorPreparing": "onEditorPreparing"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; "onSelectionChanged": "onSelectionChanged"; }, ["rowButtonsTemplate", "customTemplate"], never, false, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "customColumnFn": "customColumnFn"; "keyExpr": "keyExpr"; "dataGridName": "dataGridName"; "height": "height"; "onlyFrontEnd": "onlyFrontEnd"; "pageSize": "pageSize"; "allowedPageSizes": "allowedPageSizes"; "disablePage": "disablePage"; "dataSource": "dataSource"; "rowDragging": "rowDragging"; "summary": "summary"; "focusedRowEnabled": "focusedRowEnabled"; "focusedRowKey": "focusedRowKey"; "selectionMode": "selectionMode"; "selectedRowKeys": "selectedRowKeys"; "rowCursorPointer": "rowCursorPointer"; "showRowNum": "showRowNum"; "instanceLinkType": "instanceLinkType"; "drawerInstanceLinkViewContainerRef": "drawerInstanceLinkViewContainerRef"; "drawerInstanceLinkSize": "drawerInstanceLinkSize"; "drawerInstanceLinkShowHeader": "drawerInstanceLinkShowHeader"; "drawerInstanceLinkFormTemplate": "drawerInstanceLinkFormTemplate"; }, { "focusedRowKeyChange": "focusedRowKeyChange"; "selectedRowKeysChange": "selectedRowKeysChange"; "onCellPrepared": "onCellPrepared"; "onContentReady": "onContentReady"; "onEditorPreparing": "onEditorPreparing"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; "onSelectionChanged": "onSelectionChanged"; }, ["rowButtonsTemplate", "customTemplate"], never, false, never>;
60
61
  }
@@ -138,7 +138,7 @@ export class BoxItemComponent {
138
138
  _calcStyle(direction, width, widthType, height, heightType) {
139
139
  if (direction === 'row') {
140
140
  return {
141
- flex: width === 'auto' ? (widthType === 'screen' ? '1' : 'none') : '0 0 ' + width,
141
+ flex: width === 'auto' ? (widthType === 'screen' ? '1' : 'none') : (width.endsWith('f') ? width.charAt(0) : '0 0 ' + width),
142
142
  height
143
143
  };
144
144
  }
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
211
211
  type: ViewChildren,
212
212
  args: [BoxItemHostDirective]
213
213
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWtCN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBOEtuQztJQTlMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFN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QVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsb0ZBQW9GO1FBQ3BGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBcE1VLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHlOQXdCYixvQkFBb0IsZ0RDbENwQywyOUNBZ0NBOzRGRHRCYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTs4QkFXa0IsVUFBVTtzQkFBbEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSVQsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxPQUFPO2dCQVlwQixZQUFZO3NCQURYLE1BQU07Z0JBRTZCLFNBQVM7c0JBQTVDLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JveEl0ZW1Ib3N0RGlyZWN0aXZlfSBmcm9tICcuL2JveC1pdGVtLWhvc3QuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtQbHVnaW5NYW5hZ2VyfSBmcm9tICcuLi9QbHVnaW5NYW5hZ2VyJztcclxuaW1wb3J0IHtJdGVtQmxhbmtDb21wb25lbnR9IGZyb20gXCIuL2l0ZW0tYmxhbmsvaXRlbS1ibGFuay5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtYm94LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib3gtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYm94LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm94SXRlbUNvbXBvbmVudCB7XHJcbiAgYm94Q29udGFpbmVyOiBhbnk7XHJcbiAgc3R5bGU6IGFueSA9IHt9O1xyXG4gIGNvbmZpZzogYW55ID0ge307XHJcbiAgcERpcmVjdGlvbj86ICdyb3cnIHwgJ2NvbHVtbic7XHJcbiAgd3JhcHBlckRpdkluZGV4OiBudW1iZXIgPSAxMDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4LWRpcmVjdGlvbicpIGdldCBfZGlyZWN0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmRpcmVjdGlvbjtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xyXG4gICAgaWYgKHRoaXMucERpcmVjdGlvbikge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3R5bGU/LndpZHRoID8gdGhpcy5zdHlsZS53aWR0aCA6ICdhdXRvJztcclxuICAgIGNvbnN0IHdpZHRoVHlwZSA9IHRoaXMuc3R5bGU/LndpZHRoVHlwZSA/IHRoaXMuc3R5bGUud2lkdGhUeXBlIDogJ3NjcmVlbic7XHJcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5oZWlnaHQgPyB0aGlzLnN0eWxlLmhlaWdodCA6ICdhdXRvJztcclxuICAgIGNvbnN0IGhlaWdodFR5cGUgPSB0aGlzLnN0eWxlPy5oZWlnaHRUeXBlID8gdGhpcy5zdHlsZS5oZWlnaHRUeXBlIDogJ3NjcmVlbic7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsY1N0eWxlKHRoaXMucERpcmVjdGlvbiwgd2lkdGgsIHdpZHRoVHlwZSwgaGVpZ2h0LCBoZWlnaHRUeXBlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGxlYXZlT25lSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAVmlld0NoaWxkcmVuKEJveEl0ZW1Ib3N0RGlyZWN0aXZlKSBpdGVtSG9zdHMhOiBRdWVyeUxpc3Q8Qm94SXRlbUhvc3REaXJlY3RpdmU+O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmxlYXZlT25lSXRlbS51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZChhY3RpdmVJbmRleD86IG51bWJlcikge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtSG9zdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBpdGVtSG9zdDogYW55ID0gdGhpcy5pdGVtSG9zdHMuZ2V0KGkpO1xyXG4gICAgICAgIGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb25maWcubGlzdFtpXTtcclxuICAgICAgICBzd2l0Y2ggKGl0ZW0udHlwZSkge1xyXG4gICAgICAgICAgY2FzZSAncGx1Z2luJzpcclxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVDb21wb25lbnQodGhpcywgaSwgaXRlbS5zdHlsZSwgaXRlbS5jb25maWcpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aXZlSW5kZXggPT09IGkpIHtcclxuICAgICAgICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5sYXN0Q2hpbGQuY2xpY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2l0ZW0nOlxyXG4gICAgICAgICAgICBjb25zdCBib3hJdGVtQ29tcG9uZW50UmVmID0gaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoQm94SXRlbUNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gYm94SXRlbUNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgICAgICAgaW5zdGFuY2UuYm94Q29udGFpbmVyID0gdGhpcy5ib3hDb250YWluZXI7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLnN0eWxlID0gaXRlbS5zdHlsZTtcclxuICAgICAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gaXRlbS5jb25maWc7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLnBEaXJlY3Rpb24gPSB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XHJcbiAgICAgICAgICAgIGluc3RhbmNlLndyYXBwZXJEaXZJbmRleCA9IHRoaXMud3JhcHBlckRpdkluZGV4ICsgMTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgICAgYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xyXG4gICAgICAgICAgICAgIGluc3RhbmNlLmxlYXZlT25lSXRlbS5zdWJzY3JpYmUoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2l0ZW0nICYmIGl0ZW0uZGlyZWN0aW9uID09PSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaSwgMSwgLi4uaXRlbS5saXN0KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlckRpdiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlV3JhcHBlckRpdihib3hJdGVtQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIHRoaXMud3JhcHBlckRpdkluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVIb3ZlckNvbXBvbmVudChpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLCB3cmFwcGVyRGl2LCAn5qC85a2Q5a655ZmoJyk7XHJcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVBY3RpdmVDb21wb25lbnQodGhpcywgaSwgd3JhcHBlckRpdiwgYm94SXRlbUNvbXBvbmVudFJlZiwgaXRlbS5zdHlsZSwge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxyXG4gICAgICAgICAgICAgICAgY2FwdGlvbjogJ+agvOWtkOWuueWZqCdcclxuICAgICAgICAgICAgICB9LCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdibGFuayc6XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAodGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJsYW5rQ29tcG9uZW50KGkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJsYW5rQ29tcG9uZW50KGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpbmRleCk/LnZpZXdDb250YWluZXJSZWY7XHJcbiAgICBjb25zdCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZjogYW55ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoSXRlbUJsYW5rQ29tcG9uZW50KTtcclxuICAgIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLmluc3RhbmNlLm9uUmVtb3ZlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMubGVhdmVPbmVJdGVtLmVtaXQodGhpcy5jb25maWcubGlzdFswXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBjb25zdCB3cmFwcGVyRGl2ID0gUGx1Z2luTWFuYWdlci5jcmVhdGVXcmFwcGVyRGl2KGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsIHRoaXMud3JhcHBlckRpdkluZGV4ICsgMSk7XHJcbiAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUhvdmVyQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWYsIHdyYXBwZXJEaXYsICfljaDkvY3moLwnKTtcclxuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGluZGV4LCB3cmFwcGVyRGl2LCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZixcclxuICAgICAgdGhpcy5jb25maWcubGlzdFtpbmRleF0uc3R5bGUsIHtcclxuICAgICAgICBuYW1lOiAnY29hc3QtYm94LWNvbnRhaW5lcicsXHJcbiAgICAgICAgY2FwdGlvbjogJ+WNoOS9jeagvCdcclxuICAgICAgfSwgdGhpcy5jb25maWcubGlzdC5sZW5ndGggPiAxKTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaG93RGl2aWRlciA9IHRydWU7XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc3BsaXRJdGVtID0gKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuZGlyZWN0aW9uID09PSBkaXJlY3Rpb24pIHtcclxuICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCArIDEsIDAsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcclxuICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3QucHVzaCh7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxLCB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdpdGVtJyxcclxuICAgICAgICAgICAgc3R5bGU6IHt9LFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICBkaXJlY3Rpb24sXHJcbiAgICAgICAgICAgICAgbGlzdDogW3RoaXMuY29uZmlnLmxpc3RbaW5kZXhdLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fV1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY2FsY1N0eWxlKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3Qgd2lkdGggPSBpdGVtLnN0eWxlPy53aWR0aCA/IGl0ZW0uc3R5bGUud2lkdGggOiAnYXV0byc7XHJcbiAgICBjb25zdCB3aWR0aFR5cGUgPSBpdGVtLnN0eWxlPy53aWR0aFR5cGUgPyBpdGVtLnN0eWxlLndpZHRoVHlwZSA6ICdzY3JlZW4nO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gaXRlbS5zdHlsZT8uaGVpZ2h0ID8gaXRlbS5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XHJcbiAgICBjb25zdCBoZWlnaHRUeXBlID0gaXRlbS5zdHlsZT8uaGVpZ2h0VHlwZSA/IGl0ZW0uc3R5bGUuaGVpZ2h0VHlwZSA6ICdzY3JlZW4nO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udGhpcy5fY2FsY1N0eWxlKHRoaXMuY29uZmlnLmRpcmVjdGlvbiwgd2lkdGgsIHdpZHRoVHlwZSwgaGVpZ2h0LCBoZWlnaHRUeXBlKSxcclxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jYWxjU3R5bGUoZGlyZWN0aW9uOiBhbnksIHdpZHRoOiBzdHJpbmcsIHdpZHRoVHlwZTogc3RyaW5nLCBoZWlnaHQ6IHN0cmluZywgaGVpZ2h0VHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZGlyZWN0aW9uID09PSAncm93Jykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGZsZXg6IHdpZHRoID09PSAnYXV0bycgPyAod2lkdGhUeXBlID09PSAnc2NyZWVuJyA/ICcxJyA6ICdub25lJykgOiAnMCAwICcgKyB3aWR0aCxcclxuICAgICAgICBoZWlnaHRcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdjb2x1bW4nKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgZmxleDogaGVpZ2h0ID09PSAnYXV0bycgPyAoaGVpZ2h0VHlwZSA9PT0gJ3NjcmVlbicgPyAnYXV0bycgOiAnbm9uZScpIDogJzAgMCAnICsgaGVpZ2h0XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcblxyXG4gIGRyYWdPdmVyQ29tcG9uZW50OiBhbnk7XHJcblxyXG4gIG9uRHJhZ01vdmUoJGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICgkZXZlbnQuZnJvbURhdGEgPT09ICRldmVudC50b0RhdGEpIHtcclxuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoJGV2ZW50LnRvQ29tcG9uZW50ICE9PSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xyXG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50ID0gJGV2ZW50LnRvQ29tcG9uZW50O1xyXG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Lmluc3RhbmNlKCkuZWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EcmFnRW5kKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcclxuICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xyXG4gICAgY29uc3QgdG9Cb3hJdGVtID0gJGV2ZW50LnRvRGF0YS5ib3hJdGVtO1xyXG4gICAgY29uc3QgdG9JbmRleCA9ICRldmVudC50b0RhdGEuaW5kZXg7XHJcbiAgICBjb25zdCBmcm9tSW5kZXggPSAkZXZlbnQuZnJvbURhdGEuaW5kZXg7XHJcbiAgICBjb25zdCBmcm9tQm94SXRlbUNvbmZpZyA9IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWc7XHJcbiAgICBpZiAoJGV2ZW50LnRvRGF0YS5pdGVtLnR5cGUgPT09ICdwbHVnaW4nKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWcgPSB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnO1xyXG4gICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLmNvbmZpZyA9IGZyb21Cb3hJdGVtQ29uZmlnO1xyXG4gICAgfSBlbHNlIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ2JsYW5rJykge1xyXG4gICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShmcm9tSW5kZXgsIDEsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZTogdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLnN0eWxlfSk7XHJcbiAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0gPSB7XHJcbiAgICAgICAgdHlwZTogJ3BsdWdpbicsXHJcbiAgICAgICAgc3R5bGU6IHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5zdHlsZSxcclxuICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgIG5hbWU6IGZyb21Cb3hJdGVtQ29uZmlnLm5hbWUsXHJcbiAgICAgICAgICBwbHVnaW5Db25maWc6IGZyb21Cb3hJdGVtQ29uZmlnLnBsdWdpbkNvbmZpZyB8fCB7fVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRvQm94SXRlbS5sb2FkKHRvSW5kZXgpO1xyXG4gICAgJGV2ZW50LmNhbmNlbCA9IHRydWU7XHJcbiAgICAvLyDlj5bmtojmi5bmi73lkI7vvIxEZXZFeHRyZW1l5Lya6Ieq5Yqo5re75Yqg5qC35byP77yadHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO+WvvOiHtOe7hOS7tuS4jeWPr+mAieS4re+8jOW6lOivpeaYr0RldkV4dHJlbWXnmoRCVUdcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAkZXZlbnQuaXRlbUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gJ25vbmUnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29uZmlnLmxpc3Q7IGluZGV4IGFzIGluZGV4XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJveENvbnRhaW5lci5lZGl0TW9kZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ3BsdWdpbidcIj5cclxuICAgICAgPGR4LWRyYWdnYWJsZSBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntib3hJdGVtOiB0aGlzLCBpdGVtLCBpbmRleH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZT1cIi5jb2FzdC1pY29uLWRyYWdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwPVwicnNCb3hDb250YWluZXJEcmFnR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkRyYWdNb3ZlKT1cIm9uRHJhZ01vdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ0VuZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2R4LWRyYWdnYWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2l0ZW0nXCI+XHJcbiAgICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmxhbmsnXCI+XHJcbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Ym94SXRlbTogdGhpcywgaXRlbSwgaW5kZXh9XCJcclxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICAob25EcmFnU3RhcnQpPVwiJGV2ZW50LmNhbmNlbCA9IHRydWVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9keC1kcmFnZ2FibGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJveENvbnRhaW5lci5lZGl0TW9kZVwiPlxyXG4gICAgPGRpdiBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWtCN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBOEtuQztJQTlMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFN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SUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQzVCLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLElBQUksRUFBRTtpQkFDbkQ7YUFDRixDQUFDO1NBQ0g7UUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9GQUFvRjtRQUNwRixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQXBNVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5TkF3QmIsb0JBQW9CLGdEQ2xDcEMsMjlDQWdDQTs0RkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7OEJBV2tCLFVBQVU7c0JBQWxELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUlULE1BQU07c0JBQS9CLFdBQVc7dUJBQUMsT0FBTztnQkFZcEIsWUFBWTtzQkFEWCxNQUFNO2dCQUU2QixTQUFTO3NCQUE1QyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCb3hJdGVtSG9zdERpcmVjdGl2ZX0gZnJvbSAnLi9ib3gtaXRlbS1ob3N0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7UGx1Z2luTWFuYWdlcn0gZnJvbSAnLi4vUGx1Z2luTWFuYWdlcic7XHJcbmltcG9ydCB7SXRlbUJsYW5rQ29tcG9uZW50fSBmcm9tIFwiLi9pdGVtLWJsYW5rL2l0ZW0tYmxhbmsuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLWJveC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYm94LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JveC1pdGVtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJveEl0ZW1Db21wb25lbnQge1xyXG4gIGJveENvbnRhaW5lcjogYW55O1xyXG4gIHN0eWxlOiBhbnkgPSB7fTtcclxuICBjb25maWc6IGFueSA9IHt9O1xyXG4gIHBEaXJlY3Rpb24/OiAncm93JyB8ICdjb2x1bW4nO1xyXG4gIHdyYXBwZXJEaXZJbmRleDogbnVtYmVyID0gMTA7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZmxleC1kaXJlY3Rpb24nKSBnZXQgX2RpcmVjdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IF9zdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLnBEaXJlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy53aWR0aCA/IHRoaXMuc3R5bGUud2lkdGggOiAnYXV0byc7XHJcbiAgICBjb25zdCB3aWR0aFR5cGUgPSB0aGlzLnN0eWxlPy53aWR0aFR5cGUgPyB0aGlzLnN0eWxlLndpZHRoVHlwZSA6ICdzY3JlZW4nO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5zdHlsZT8uaGVpZ2h0ID8gdGhpcy5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XHJcbiAgICBjb25zdCBoZWlnaHRUeXBlID0gdGhpcy5zdHlsZT8uaGVpZ2h0VHlwZSA/IHRoaXMuc3R5bGUuaGVpZ2h0VHlwZSA6ICdzY3JlZW4nO1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGNTdHlsZSh0aGlzLnBEaXJlY3Rpb24sIHdpZHRoLCB3aWR0aFR5cGUsIGhlaWdodCwgaGVpZ2h0VHlwZSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBsZWF2ZU9uZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZHJlbihCb3hJdGVtSG9zdERpcmVjdGl2ZSkgaXRlbUhvc3RzITogUXVlcnlMaXN0PEJveEl0ZW1Ib3N0RGlyZWN0aXZlPjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5sZWF2ZU9uZUl0ZW0udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGxvYWQoYWN0aXZlSW5kZXg/OiBudW1iZXIpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbUhvc3RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbUhvc3Q6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpKTtcclxuICAgICAgICBpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29uZmlnLmxpc3RbaV07XHJcbiAgICAgICAgc3dpdGNoIChpdGVtLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgJ3BsdWdpbic6XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMsIGksIGl0ZW0uc3R5bGUsIGl0ZW0uY29uZmlnKTtcclxuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpKSB7XHJcbiAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQubGFzdENoaWxkLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdpdGVtJzpcclxuICAgICAgICAgICAgY29uc3QgYm94SXRlbUNvbXBvbmVudFJlZiA9IGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEJveEl0ZW1Db21wb25lbnQpO1xyXG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGJveEl0ZW1Db21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLmJveENvbnRhaW5lciA9IHRoaXMuYm94Q29udGFpbmVyO1xyXG4gICAgICAgICAgICBpbnN0YW5jZS5zdHlsZSA9IGl0ZW0uc3R5bGU7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbmZpZyA9IGl0ZW0uY29uZmlnO1xyXG4gICAgICAgICAgICBpbnN0YW5jZS5wRGlyZWN0aW9uID0gdGhpcy5jb25maWcuZGlyZWN0aW9uO1xyXG4gICAgICAgICAgICBpbnN0YW5jZS53cmFwcGVyRGl2SW5kZXggPSB0aGlzLndyYXBwZXJEaXZJbmRleCArIDE7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmJveENvbnRhaW5lci5lZGl0TW9kZSkge1xyXG4gICAgICAgICAgICAgIGJveEl0ZW1Db21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnOHB4JztcclxuICAgICAgICAgICAgICBpbnN0YW5jZS5sZWF2ZU9uZUl0ZW0uc3Vic2NyaWJlKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdpdGVtJyAmJiBpdGVtLmRpcmVjdGlvbiA9PT0gdGhpcy5jb25maWcuZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIC4uLml0ZW0ubGlzdCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpLCAxLCBpdGVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJEaXYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZVdyYXBwZXJEaXYoYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xyXG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQoaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZiwgd3JhcHBlckRpdiwgJ+agvOWtkOWuueWZqCcpO1xyXG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGksIHdyYXBwZXJEaXYsIGJveEl0ZW1Db21wb25lbnRSZWYsIGl0ZW0uc3R5bGUsIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdjb2FzdC1ib3gtY29udGFpbmVyJyxcclxuICAgICAgICAgICAgICAgIGNhcHRpb246ICfmoLzlrZDlrrnlmagnXHJcbiAgICAgICAgICAgICAgfSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnYmxhbmsnOlxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCbGFua0NvbXBvbmVudChpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVCbGFua0NvbXBvbmVudChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSB0aGlzLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgY29uc3QgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWY6IGFueSA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEl0ZW1CbGFua0NvbXBvbmVudCk7XHJcbiAgICBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5pbnN0YW5jZS5vblJlbW92ZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLmxlYXZlT25lSXRlbS5lbWl0KHRoaXMuY29uZmlnLmxpc3RbMF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgd3JhcHBlckRpdiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlV3JhcHBlckRpdihjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCB0aGlzLndyYXBwZXJEaXZJbmRleCArIDEpO1xyXG4gICAgUGx1Z2luTWFuYWdlci5jcmVhdGVIb3ZlckNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmLCB3cmFwcGVyRGl2LCAn5Y2g5L2N5qC8Jyk7XHJcbiAgICBjb25zdCBhY3RpdmVDb21wb25lbnRSZWYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudCh0aGlzLCBpbmRleCwgd3JhcHBlckRpdiwgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYsXHJcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlLCB7XHJcbiAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxyXG4gICAgICAgIGNhcHRpb246ICfljaDkvY3moLwnXHJcbiAgICAgIH0sIHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID4gMSk7XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvd0RpdmlkZXIgPSB0cnVlO1xyXG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNwbGl0SXRlbSA9IChkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXggKyAxLCAwLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XHJcbiAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnB1c2goe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSwge1xyXG4gICAgICAgICAgICB0eXBlOiAnaXRlbScsXHJcbiAgICAgICAgICAgIHN0eWxlOiB7fSxcclxuICAgICAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uLFxyXG4gICAgICAgICAgICAgIGxpc3Q6IFt0aGlzLmNvbmZpZy5saXN0W2luZGV4XSwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX1dXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNhbGNTdHlsZShpdGVtOiBhbnkpIHtcclxuICAgIGNvbnN0IHdpZHRoID0gaXRlbS5zdHlsZT8ud2lkdGggPyBpdGVtLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xyXG4gICAgY29uc3Qgd2lkdGhUeXBlID0gaXRlbS5zdHlsZT8ud2lkdGhUeXBlID8gaXRlbS5zdHlsZS53aWR0aFR5cGUgOiAnc2NyZWVuJztcclxuICAgIGNvbnN0IGhlaWdodCA9IGl0ZW0uc3R5bGU/LmhlaWdodCA/IGl0ZW0uc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xyXG4gICAgY29uc3QgaGVpZ2h0VHlwZSA9IGl0ZW0uc3R5bGU/LmhlaWdodFR5cGUgPyBpdGVtLnN0eWxlLmhlaWdodFR5cGUgOiAnc2NyZWVuJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnRoaXMuX2NhbGNTdHlsZSh0aGlzLmNvbmZpZy5kaXJlY3Rpb24sIHdpZHRoLCB3aWR0aFR5cGUsIGhlaWdodCwgaGVpZ2h0VHlwZSksXHJcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2FsY1N0eWxlKGRpcmVjdGlvbjogYW55LCB3aWR0aDogc3RyaW5nLCB3aWR0aFR5cGU6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcsIGhlaWdodFR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3JvdycpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmbGV4OiB3aWR0aCA9PT0gJ2F1dG8nID8gKHdpZHRoVHlwZSA9PT0gJ3NjcmVlbicgPyAnMScgOiAnbm9uZScpIDogKHdpZHRoLmVuZHNXaXRoKCdmJykgPyB3aWR0aC5jaGFyQXQoMCkgOiAnMCAwICcgKyB3aWR0aCksXHJcbiAgICAgICAgaGVpZ2h0XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnY29sdW1uJykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHdpZHRoLFxyXG4gICAgICAgIGZsZXg6IGhlaWdodCA9PT0gJ2F1dG8nID8gKGhlaWdodFR5cGUgPT09ICdzY3JlZW4nID8gJ2F1dG8nIDogJ25vbmUnKSA6ICcwIDAgJyArIGhlaWdodFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG5cclxuICBkcmFnT3ZlckNvbXBvbmVudDogYW55O1xyXG5cclxuICBvbkRyYWdNb3ZlKCRldmVudDogYW55KSB7XHJcbiAgICBpZiAoJGV2ZW50LmZyb21EYXRhID09PSAkZXZlbnQudG9EYXRhKSB7XHJcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xyXG4gICAgICBkZWxldGUgdGhpcy5kcmFnT3ZlckNvbXBvbmVudDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCRldmVudC50b0NvbXBvbmVudCAhPT0gdGhpcy5kcmFnT3ZlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcclxuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudCA9ICRldmVudC50b0NvbXBvbmVudDtcclxuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudC5pbnN0YW5jZSgpLmVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XHJcbiAgICBkZWxldGUgdGhpcy5kcmFnT3ZlckNvbXBvbmVudDtcclxuICAgIGNvbnN0IHRvQm94SXRlbSA9ICRldmVudC50b0RhdGEuYm94SXRlbTtcclxuICAgIGNvbnN0IHRvSW5kZXggPSAkZXZlbnQudG9EYXRhLmluZGV4O1xyXG4gICAgY29uc3QgZnJvbUluZGV4ID0gJGV2ZW50LmZyb21EYXRhLmluZGV4O1xyXG4gICAgY29uc3QgZnJvbUJveEl0ZW1Db25maWcgPSB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnO1xyXG4gICAgaWYgKCRldmVudC50b0RhdGEuaXRlbS50eXBlID09PSAncGx1Z2luJykge1xyXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnID0gdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLmNvbmZpZztcclxuICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgIHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5jb25maWcgPSBmcm9tQm94SXRlbUNvbmZpZztcclxuICAgIH0gZWxzZSBpZiAoJGV2ZW50LnRvRGF0YS5pdGVtLnR5cGUgPT09ICdibGFuaycpIHtcclxuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5zdHlsZX0pO1xyXG4gICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdID0ge1xyXG4gICAgICAgIHR5cGU6ICdwbHVnaW4nLFxyXG4gICAgICAgIHN0eWxlOiB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uc3R5bGUsXHJcbiAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICBuYW1lOiBmcm9tQm94SXRlbUNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgcGx1Z2luQ29uZmlnOiBmcm9tQm94SXRlbUNvbmZpZy5wbHVnaW5Db25maWcgfHwge31cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0b0JveEl0ZW0ubG9hZCh0b0luZGV4KTtcclxuICAgICRldmVudC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgLy8g5Y+W5raI5ouW5ou95ZCO77yMRGV2RXh0cmVtZeS8muiHquWKqOa3u+WKoOagt+W8j++8mnRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTvlr7zoh7Tnu4Tku7bkuI3lj6/pgInkuK3vvIzlupTor6XmmK9EZXZFeHRyZW1l55qEQlVHXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgJGV2ZW50Lml0ZW1FbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICdub25lJztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZy5saXN0OyBpbmRleCBhcyBpbmRleFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJib3hDb250YWluZXIuZWRpdE1vZGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdwbHVnaW4nXCI+XHJcbiAgICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Ym94SXRlbTogdGhpcywgaXRlbSwgaW5kZXh9XCJcclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGU9XCIuY29hc3QtaWNvbi1kcmFnXCJcclxuICAgICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICAob25EcmFnTW92ZSk9XCJvbkRyYWdNb3ZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkRyYWdFbmQpPVwib25EcmFnRW5kKCRldmVudClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9keC1kcmFnZ2FibGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdpdGVtJ1wiPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2JsYW5rJ1wiPlxyXG4gICAgICA8ZHgtZHJhZ2dhYmxlIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXA9XCJyc0JveENvbnRhaW5lckRyYWdHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uRHJhZ1N0YXJ0KT1cIiRldmVudC5jYW5jZWwgPSB0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZHgtZHJhZ2dhYmxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFib3hDb250YWluZXIuZWRpdE1vZGVcIj5cclxuICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -4,6 +4,12 @@ import * as i1 from "@angular/common";
4
4
  import * as i2 from "devextreme-angular/ui/number-box";
5
5
  export class StyleComponent {
6
6
  constructor() {
7
+ this.style = {
8
+ width: 'auto',
9
+ widthType: 'screen',
10
+ height: 'auto',
11
+ heightType: 'screen'
12
+ };
7
13
  this.width = 0;
8
14
  this.height = 0;
9
15
  }
@@ -12,24 +18,28 @@ export class StyleComponent {
12
18
  this.style.widthType = this.style.widthType ? this.style.widthType : 'screen';
13
19
  this.style.height = this.style.height ? this.style.height : 'auto';
14
20
  this.style.heightType = this.style.heightType ? this.style.heightType : 'screen';
15
- if (this.style.width !== 'auto') {
16
- this.width = this.style.width.substring(0, this.style.width.length - 2);
21
+ if (this.style.width.endsWith('px')) {
22
+ this.width = parseInt(this.style.width.substring(0, this.style.width.length - 2));
17
23
  }
18
24
  if (this.style.height !== 'auto') {
19
- this.height = this.style.height.substring(0, this.style.height.length - 2);
25
+ this.height = parseInt(this.style.height.substring(0, this.style.height.length - 2));
20
26
  }
21
27
  }
22
- select(name, value) {
28
+ select(name, value, unit) {
23
29
  const that = this;
24
- if (value === 'auto') {
25
- this.style[name] = 'auto';
26
- that[name] = 0;
27
- }
28
- else {
29
- if (!that[name]) {
30
- that[name] = value;
31
- }
32
- this.style[name] = that[name] + 'px';
30
+ switch (unit) {
31
+ case '':
32
+ this.style[name] = 'auto';
33
+ break;
34
+ case 'px':
35
+ if (!that[name]) {
36
+ that[name] = value;
37
+ }
38
+ this.style[name] = that[name] + unit;
39
+ break;
40
+ case 'f':
41
+ this.style[name] = value + unit;
42
+ break;
33
43
  }
34
44
  }
35
45
  typing(name, value) {
@@ -42,9 +52,9 @@ export class StyleComponent {
42
52
  }
43
53
  }
44
54
  StyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- StyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: StyleComponent, selector: "rs-style", ngImport: i0, template: "<div class=\"config-item\">\r\n <div class=\"item-title\">\u5BBD\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('width',240)\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u5BBD\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">\u9AD8\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',800)\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u9AD8\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n", styles: [":host .config-item{display:flex;flex-flow:row nowrap;align-items:center;margin-bottom:8px}:host .config-item .item-title{flex:0 0 80px}:host .config-item .item-setting{flex:1;display:flex;flex-flow:row nowrap}:host .config-item .item-setting .card-style-radio{flex:1;display:flex;flex-flow:row nowrap;justify-content:stretch}:host .config-item .item-setting .card-style-radio .radio-value{flex:1;border:1px solid var(--coast-border-color, rgb(221, 221, 221));text-align:center;padding:4px;margin-left:-1px;cursor:pointer}:host .config-item .item-setting .card-style-radio .radio-value span{-webkit-user-select:none;user-select:none}:host .config-item .item-setting .card-style-radio .radio-value.active{color:var(--coast-default-color, rgb(51, 122, 183));border:1px solid var(--coast-default-color, rgb(51, 122, 183));z-index:1}:host .config-item .item-setting dx-number-box{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isDirty", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }] });
55
+ StyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: StyleComponent, selector: "rs-style", ngImport: i0, template: "<div class=\"config-item\">\r\n <div class=\"item-title\">\u5BBD\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto', '')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width.endsWith('px') ? 'active' : ''\"\r\n (click)=\"select('width',240, 'px')\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width.endsWith('f') ? 'active' : ''\"\r\n (click)=\"select('width',1, 'f')\">\r\n <span>\u6BD4\u4F8B\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"!style.width || style.width === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u5BBD\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width.endsWith('f')\">\r\n <div class=\"item-title\">\u76F8\u5BF9\u6BD4\u4F8B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '1f' ? 'active' : ''\" (click)=\"style.width = '1f'\">\r\n <span>1f</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '2f' ? 'active' : ''\" (click)=\"style.width = '2f'\">\r\n <span>2f</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '3f' ? 'active' : ''\" (click)=\"style.width = '3f'\">\r\n <span>3f</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">\u9AD8\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto', '')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',360, 'px')\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"!style.height || style.height === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u9AD8\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n", styles: [":host .config-item{display:flex;flex-flow:row nowrap;align-items:center;margin-bottom:8px}:host .config-item .item-title{flex:0 0 80px}:host .config-item .item-setting{flex:1;display:flex;flex-flow:row nowrap}:host .config-item .item-setting .card-style-radio{flex:1;display:flex;flex-flow:row nowrap;justify-content:stretch}:host .config-item .item-setting .card-style-radio .radio-value{flex:1;border:1px solid var(--coast-border-color, rgb(221, 221, 221));text-align:center;padding:4px;margin-left:-1px;cursor:pointer}:host .config-item .item-setting .card-style-radio .radio-value span{-webkit-user-select:none;user-select:none}:host .config-item .item-setting .card-style-radio .radio-value.active{color:var(--coast-default-color, rgb(51, 122, 183));border:1px solid var(--coast-default-color, rgb(51, 122, 183));z-index:1}:host .config-item .item-setting dx-number-box{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isDirty", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }] });
46
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StyleComponent, decorators: [{
47
57
  type: Component,
48
- args: [{ selector: 'rs-style', template: "<div class=\"config-item\">\r\n <div class=\"item-title\">\u5BBD\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('width',240)\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u5BBD\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">\u9AD8\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',800)\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u9AD8\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n", styles: [":host .config-item{display:flex;flex-flow:row nowrap;align-items:center;margin-bottom:8px}:host .config-item .item-title{flex:0 0 80px}:host .config-item .item-setting{flex:1;display:flex;flex-flow:row nowrap}:host .config-item .item-setting .card-style-radio{flex:1;display:flex;flex-flow:row nowrap;justify-content:stretch}:host .config-item .item-setting .card-style-radio .radio-value{flex:1;border:1px solid var(--coast-border-color, rgb(221, 221, 221));text-align:center;padding:4px;margin-left:-1px;cursor:pointer}:host .config-item .item-setting .card-style-radio .radio-value span{-webkit-user-select:none;user-select:none}:host .config-item .item-setting .card-style-radio .radio-value.active{color:var(--coast-default-color, rgb(51, 122, 183));border:1px solid var(--coast-default-color, rgb(51, 122, 183));z-index:1}:host .config-item .item-setting dx-number-box{flex:1}\n"] }]
58
+ args: [{ selector: 'rs-style', template: "<div class=\"config-item\">\r\n <div class=\"item-title\">\u5BBD\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto', '')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width.endsWith('px') ? 'active' : ''\"\r\n (click)=\"select('width',240, 'px')\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width.endsWith('f') ? 'active' : ''\"\r\n (click)=\"select('width',1, 'f')\">\r\n <span>\u6BD4\u4F8B\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"!style.width || style.width === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\r\n (click)=\"style.widthType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u5BBD\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.width.endsWith('f')\">\r\n <div class=\"item-title\">\u76F8\u5BF9\u6BD4\u4F8B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '1f' ? 'active' : ''\" (click)=\"style.width = '1f'\">\r\n <span>1f</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '2f' ? 'active' : ''\" (click)=\"style.width = '2f'\">\r\n <span>2f</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width === '3f' ? 'active' : ''\" (click)=\"style.width = '3f'\">\r\n <span>3f</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">\u9AD8\u5EA6\u7C7B\u578B</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto', '')\">\r\n <span>\u81EA\u9002\u5E94</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',360, 'px')\">\r\n <span>\u56FA\u5B9A\u503C</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"!style.height || style.height === 'auto'\">\r\n <div class=\"item-title\">\u9002\u5E94\u65B9\u5F0F</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'screen'\">\r\n <span>\u6309\u5C4F\u5E55</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\r\n (click)=\"style.heightType = 'content'\">\r\n <span>\u6309\u5185\u5BB9</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\r\n <div class=\"item-title\">\u56FA\u5B9A\u9AD8\u5EA6</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n", styles: [":host .config-item{display:flex;flex-flow:row nowrap;align-items:center;margin-bottom:8px}:host .config-item .item-title{flex:0 0 80px}:host .config-item .item-setting{flex:1;display:flex;flex-flow:row nowrap}:host .config-item .item-setting .card-style-radio{flex:1;display:flex;flex-flow:row nowrap;justify-content:stretch}:host .config-item .item-setting .card-style-radio .radio-value{flex:1;border:1px solid var(--coast-border-color, rgb(221, 221, 221));text-align:center;padding:4px;margin-left:-1px;cursor:pointer}:host .config-item .item-setting .card-style-radio .radio-value span{-webkit-user-select:none;user-select:none}:host .config-item .item-setting .card-style-radio .radio-value.active{color:var(--coast-default-color, rgb(51, 122, 183));border:1px solid var(--coast-default-color, rgb(51, 122, 183));z-index:1}:host .config-item .item-setting dx-number-box{flex:1}\n"] }]
49
59
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9pdGVtLXN0eWxlL3N0eWxlL3N0eWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2JveC1jb250YWluZXIvYm94LWl0ZW0vaXRlbS1zdHlsZS9zdHlsZS9zdHlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBT0UsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixXQUFNLEdBQVcsQ0FBQyxDQUFDO0tBbUNwQjtJQWpDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDakYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQzdCLE1BQU0sSUFBSSxHQUFRLElBQUksQ0FBQztRQUN2QixJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoQjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDM0I7SUFDSCxDQUFDOzs0R0FyQ1UsY0FBYztnR0FBZCxjQUFjLGdEQ1AzQiw4K0dBa0ZBOzRGRDNFYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtc3R5bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHN0eWxlOiBhbnk7XHJcbiAgd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3R5bGUud2lkdGggPSB0aGlzLnN0eWxlLndpZHRoID8gdGhpcy5zdHlsZS53aWR0aCA6ICdhdXRvJztcclxuICAgIHRoaXMuc3R5bGUud2lkdGhUeXBlID0gdGhpcy5zdHlsZS53aWR0aFR5cGUgPyB0aGlzLnN0eWxlLndpZHRoVHlwZSA6ICdzY3JlZW4nO1xyXG4gICAgdGhpcy5zdHlsZS5oZWlnaHQgPSB0aGlzLnN0eWxlLmhlaWdodCA/IHRoaXMuc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xyXG4gICAgdGhpcy5zdHlsZS5oZWlnaHRUeXBlID0gdGhpcy5zdHlsZS5oZWlnaHRUeXBlID8gdGhpcy5zdHlsZS5oZWlnaHRUeXBlIDogJ3NjcmVlbic7XHJcbiAgICBpZiAodGhpcy5zdHlsZS53aWR0aCAhPT0gJ2F1dG8nKSB7XHJcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLnN0eWxlLndpZHRoLnN1YnN0cmluZygwLCB0aGlzLnN0eWxlLndpZHRoLmxlbmd0aCAtIDIpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3R5bGUuaGVpZ2h0ICE9PSAnYXV0bycpIHtcclxuICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnN0eWxlLmhlaWdodC5zdWJzdHJpbmcoMCwgdGhpcy5zdHlsZS5oZWlnaHQubGVuZ3RoIC0gMik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3QobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCB0aGF0OiBhbnkgPSB0aGlzO1xyXG4gICAgaWYgKHZhbHVlID09PSAnYXV0bycpIHtcclxuICAgICAgdGhpcy5zdHlsZVtuYW1lXSA9ICdhdXRvJztcclxuICAgICAgdGhhdFtuYW1lXSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoYXRbbmFtZV0pIHtcclxuICAgICAgICB0aGF0W25hbWVdID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdHlsZVtuYW1lXSA9IHRoYXRbbmFtZV0gKyAncHgnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHlwaW5nKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc3R5bGVbbmFtZV0gPSB2YWx1ZSArICdweCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0eWxlW25hbWVdID0gJ2F1dG8nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPuWuveW6puexu+WeizwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0eWxlLXJhZGlvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cIiFzdHlsZS53aWR0aCB8fCBzdHlsZS53aWR0aCA9PT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnd2lkdGgnLCdhdXRvJylcIj5cclxuICAgICAgICA8c3Bhbj7oh6rpgILlupQ8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCJzdHlsZS53aWR0aCAmJiBzdHlsZS53aWR0aCAhPT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnd2lkdGgnLDI0MClcIj5cclxuICAgICAgICA8c3Bhbj7lm7rlrprlgLw8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIiAqbmdJZj1cInN0eWxlLndpZHRoID09PSAnYXV0bydcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPumAguW6lOaWueW8jzwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0eWxlLXJhZGlvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cIiFzdHlsZS53aWR0aFR5cGUgfHwgc3R5bGUud2lkdGhUeXBlID09PSAnc2NyZWVuJyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS53aWR0aFR5cGUgPSAnc2NyZWVuJ1wiPlxyXG4gICAgICAgIDxzcGFuPuaMieWxj+W5lTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cInN0eWxlLndpZHRoVHlwZSAmJiBzdHlsZS53aWR0aFR5cGUgPT09ICdjb250ZW50JyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS53aWR0aFR5cGUgPSAnY29udGVudCdcIj5cclxuICAgICAgICA8c3Bhbj7mjInlhoXlrrk8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIiAqbmdJZj1cInN0eWxlLndpZHRoICE9PSAnYXV0bydcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPuWbuuWumuWuveW6pjwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkeC1udW1iZXItYm94IFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIndpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJ0eXBpbmcoJ3dpZHRoJywgJGV2ZW50LnZhbHVlKVwiPlxyXG4gICAgPC9keC1udW1iZXItYm94PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbmZpZy1pdGVtXCI+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW0tdGl0bGVcIj7pq5jluqbnsbvlnos8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS1zZXR0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1zdHlsZS1yYWRpb1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCIhc3R5bGUuaGVpZ2h0IHx8IHN0eWxlLmhlaWdodCA9PT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnaGVpZ2h0JywnYXV0bycpXCI+XHJcbiAgICAgICAgPHNwYW4+6Ieq6YCC5bqUPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLXZhbHVlXCIgW25nQ2xhc3NdPVwic3R5bGUuaGVpZ2h0ICYmIHN0eWxlLmhlaWdodCAhPT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnaGVpZ2h0Jyw4MDApXCI+XHJcbiAgICAgICAgPHNwYW4+5Zu65a6a5YC8PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbmZpZy1pdGVtXCIgKm5nSWY9XCJzdHlsZS5oZWlnaHQgPT09ICdhdXRvJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXRpdGxlXCI+6YCC5bqU5pa55byPPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW0tc2V0dGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtc3R5bGUtcmFkaW9cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLXZhbHVlXCIgW25nQ2xhc3NdPVwiIXN0eWxlLmhlaWdodFR5cGUgfHwgc3R5bGUuaGVpZ2h0VHlwZSA9PT0gJ3NjcmVlbicgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic3R5bGUuaGVpZ2h0VHlwZSA9ICdzY3JlZW4nXCI+XHJcbiAgICAgICAgPHNwYW4+5oyJ5bGP5bmVPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLXZhbHVlXCIgW25nQ2xhc3NdPVwic3R5bGUuaGVpZ2h0VHlwZSAmJiBzdHlsZS5oZWlnaHRUeXBlID09PSAnY29udGVudCcgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic3R5bGUuaGVpZ2h0VHlwZSA9ICdjb250ZW50J1wiPlxyXG4gICAgICAgIDxzcGFuPuaMieWGheWuuTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb25maWctaXRlbVwiICpuZ0lmPVwic3R5bGUuaGVpZ2h0ICE9PSAnYXV0bydcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPuWbuuWumumrmOW6pjwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkeC1udW1iZXItYm94IFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidHlwaW5nKCdoZWlnaHQnLCAkZXZlbnQudmFsdWUpXCI+XHJcbiAgICA8L2R4LW51bWJlci1ib3g+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9pdGVtLXN0eWxlL3N0eWxlL3N0eWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2JveC1jb250YWluZXIvYm94LWl0ZW0vaXRlbS1zdHlsZS9zdHlsZS9zdHlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTUUsVUFBSyxHQUtEO1lBQ0YsS0FBSyxFQUFFLE1BQU07WUFDYixTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLFVBQVUsRUFBRSxRQUFRO1NBQ3JCLENBQUM7UUFDUSxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLFdBQU0sR0FBVyxDQUFDLENBQUM7S0F3QzlCO0lBdENDLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNqRixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25GO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsSUFBd0IsRUFBRSxLQUFVLEVBQUUsSUFBcUI7UUFDaEUsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDO1FBQ3ZCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxFQUFFO2dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxJQUFJO2dCQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDcEI7Z0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDaEMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUF3QixFQUFFLEtBQVU7UUFDekMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7NEdBcERVLGNBQWM7Z0dBQWQsY0FBYyxnRENQM0IsczdJQXNHQTs0RkQvRmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLXN0eWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3R5bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzdHlsZToge1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxuICAgIHdpZHRoVHlwZTogc3RyaW5nO1xyXG4gICAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgICBoZWlnaHRUeXBlOiBzdHJpbmc7XHJcbiAgfSA9IHtcclxuICAgIHdpZHRoOiAnYXV0bycsXHJcbiAgICB3aWR0aFR5cGU6ICdzY3JlZW4nLFxyXG4gICAgaGVpZ2h0OiAnYXV0bycsXHJcbiAgICBoZWlnaHRUeXBlOiAnc2NyZWVuJ1xyXG4gIH07XHJcbiAgcHJvdGVjdGVkIHdpZHRoOiBudW1iZXIgPSAwO1xyXG4gIHByb3RlY3RlZCBoZWlnaHQ6IG51bWJlciA9IDA7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdHlsZS53aWR0aCA9IHRoaXMuc3R5bGUud2lkdGggPyB0aGlzLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xyXG4gICAgdGhpcy5zdHlsZS53aWR0aFR5cGUgPSB0aGlzLnN0eWxlLndpZHRoVHlwZSA/IHRoaXMuc3R5bGUud2lkdGhUeXBlIDogJ3NjcmVlbic7XHJcbiAgICB0aGlzLnN0eWxlLmhlaWdodCA9IHRoaXMuc3R5bGUuaGVpZ2h0ID8gdGhpcy5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XHJcbiAgICB0aGlzLnN0eWxlLmhlaWdodFR5cGUgPSB0aGlzLnN0eWxlLmhlaWdodFR5cGUgPyB0aGlzLnN0eWxlLmhlaWdodFR5cGUgOiAnc2NyZWVuJztcclxuICAgIGlmICh0aGlzLnN0eWxlLndpZHRoLmVuZHNXaXRoKCdweCcpKSB7XHJcbiAgICAgIHRoaXMud2lkdGggPSBwYXJzZUludCh0aGlzLnN0eWxlLndpZHRoLnN1YnN0cmluZygwLCB0aGlzLnN0eWxlLndpZHRoLmxlbmd0aCAtIDIpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnN0eWxlLmhlaWdodCAhPT0gJ2F1dG8nKSB7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gcGFyc2VJbnQodGhpcy5zdHlsZS5oZWlnaHQuc3Vic3RyaW5nKDAsIHRoaXMuc3R5bGUuaGVpZ2h0Lmxlbmd0aCAtIDIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdChuYW1lOiAnd2lkdGgnIHwgJ2hlaWdodCcsIHZhbHVlOiBhbnksIHVuaXQ6ICcnIHwgJ3B4JyB8ICdmJykge1xyXG4gICAgY29uc3QgdGhhdDogYW55ID0gdGhpcztcclxuICAgIHN3aXRjaCAodW5pdCkge1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHRoaXMuc3R5bGVbbmFtZV0gPSAnYXV0byc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3B4JzpcclxuICAgICAgICBpZiAoIXRoYXRbbmFtZV0pIHtcclxuICAgICAgICAgIHRoYXRbbmFtZV0gPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdHlsZVtuYW1lXSA9IHRoYXRbbmFtZV0gKyB1bml0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdmJzpcclxuICAgICAgICB0aGlzLnN0eWxlW25hbWVdID0gdmFsdWUgKyB1bml0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHlwaW5nKG5hbWU6ICd3aWR0aCcgfCAnaGVpZ2h0JywgdmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc3R5bGVbbmFtZV0gPSB2YWx1ZSArICdweCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0eWxlW25hbWVdID0gJ2F1dG8nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPuWuveW6puexu+WeizwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0eWxlLXJhZGlvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cIiFzdHlsZS53aWR0aCB8fCBzdHlsZS53aWR0aCA9PT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnd2lkdGgnLCdhdXRvJywgJycpXCI+XHJcbiAgICAgICAgPHNwYW4+6Ieq6YCC5bqUPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLXZhbHVlXCIgW25nQ2xhc3NdPVwic3R5bGUud2lkdGguZW5kc1dpdGgoJ3B4JykgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KCd3aWR0aCcsMjQwLCAncHgnKVwiPlxyXG4gICAgICAgIDxzcGFuPuWbuuWumuWAvDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cInN0eWxlLndpZHRoLmVuZHNXaXRoKCdmJykgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KCd3aWR0aCcsMSwgJ2YnKVwiPlxyXG4gICAgICAgIDxzcGFuPuavlOS+i+WAvDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb25maWctaXRlbVwiICpuZ0lmPVwiIXN0eWxlLndpZHRoIHx8IHN0eWxlLndpZHRoID09PSAnYXV0bydcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPumAguW6lOaWueW8jzwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0eWxlLXJhZGlvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cIiFzdHlsZS53aWR0aFR5cGUgfHwgc3R5bGUud2lkdGhUeXBlID09PSAnc2NyZWVuJyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS53aWR0aFR5cGUgPSAnc2NyZWVuJ1wiPlxyXG4gICAgICAgIDxzcGFuPuaMieWxj+W5lTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cInN0eWxlLndpZHRoVHlwZSAmJiBzdHlsZS53aWR0aFR5cGUgPT09ICdjb250ZW50JyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS53aWR0aFR5cGUgPSAnY29udGVudCdcIj5cclxuICAgICAgICA8c3Bhbj7mjInlhoXlrrk8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIiAqbmdJZj1cInN0eWxlLndpZHRoICE9PSAnYXV0bydcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPuWbuuWumuWuveW6pjwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkeC1udW1iZXItYm94IFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIndpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJ0eXBpbmcoJ3dpZHRoJywgJGV2ZW50LnZhbHVlKVwiPlxyXG4gICAgPC9keC1udW1iZXItYm94PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbmZpZy1pdGVtXCIgKm5nSWY9XCJzdHlsZS53aWR0aC5lbmRzV2l0aCgnZicpXCI+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW0tdGl0bGVcIj7nm7jlr7nmr5Tkvos8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS1zZXR0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1zdHlsZS1yYWRpb1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCJzdHlsZS53aWR0aCA9PT0gJzFmJyA/ICdhY3RpdmUnIDogJydcIiAoY2xpY2spPVwic3R5bGUud2lkdGggPSAnMWYnXCI+XHJcbiAgICAgICAgPHNwYW4+MWY8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCJzdHlsZS53aWR0aCA9PT0gJzJmJyA/ICdhY3RpdmUnIDogJydcIiAoY2xpY2spPVwic3R5bGUud2lkdGggPSAnMmYnXCI+XHJcbiAgICAgICAgPHNwYW4+MmY8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCJzdHlsZS53aWR0aCA9PT0gJzNmJyA/ICdhY3RpdmUnIDogJydcIiAoY2xpY2spPVwic3R5bGUud2lkdGggPSAnM2YnXCI+XHJcbiAgICAgICAgPHNwYW4+M2Y8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29uZmlnLWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZVwiPumrmOW6puexu+WeizwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0eWxlLXJhZGlvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby12YWx1ZVwiIFtuZ0NsYXNzXT1cIiFzdHlsZS5oZWlnaHQgfHwgc3R5bGUuaGVpZ2h0ID09PSAnYXV0bycgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KCdoZWlnaHQnLCdhdXRvJywgJycpXCI+XHJcbiAgICAgICAgPHNwYW4+6Ieq6YCC5bqUPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLXZhbHVlXCIgW25nQ2xhc3NdPVwic3R5bGUuaGVpZ2h0ICYmIHN0eWxlLmhlaWdodCAhPT0gJ2F1dG8nID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgnaGVpZ2h0JywzNjAsICdweCcpXCI+XHJcbiAgICAgICAgPHNwYW4+5Zu65a6a5YC8PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbmZpZy1pdGVtXCIgKm5nSWY9XCIhc3R5bGUuaGVpZ2h0IHx8IHN0eWxlLmhlaWdodCA9PT0gJ2F1dG8nXCI+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW0tdGl0bGVcIj7pgILlupTmlrnlvI88L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS1zZXR0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1zdHlsZS1yYWRpb1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCIhc3R5bGUuaGVpZ2h0VHlwZSB8fCBzdHlsZS5oZWlnaHRUeXBlID09PSAnc2NyZWVuJyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS5oZWlnaHRUeXBlID0gJ3NjcmVlbidcIj5cclxuICAgICAgICA8c3Bhbj7mjInlsY/luZU8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tdmFsdWVcIiBbbmdDbGFzc109XCJzdHlsZS5oZWlnaHRUeXBlICYmIHN0eWxlLmhlaWdodFR5cGUgPT09ICdjb250ZW50JyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzdHlsZS5oZWlnaHRUeXBlID0gJ2NvbnRlbnQnXCI+XHJcbiAgICAgICAgPHNwYW4+5oyJ5YaF5a65PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNvbmZpZy1pdGVtXCIgKm5nSWY9XCJzdHlsZS5oZWlnaHQgIT09ICdhdXRvJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLXRpdGxlXCI+5Zu65a6a6auY5bqmPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW0tc2V0dGluZ1wiPlxyXG4gICAgPGR4LW51bWJlci1ib3ggW21pbl09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiaGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJ0eXBpbmcoJ2hlaWdodCcsICRldmVudC52YWx1ZSlcIj5cclxuICAgIDwvZHgtbnVtYmVyLWJveD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==