@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.2 → 10.0.0-rc.21
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.
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +571 -255
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +4 -2
- package/controls/contextmenu/contextmenu.d.ts +16 -0
- package/controls/contextmenu/contextmenu.module.d.ts +2 -0
- package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +12 -0
- package/controls/contextmenu/contextmenucontainer.d.ts +12 -0
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenuitembutton.d.ts +14 -0
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -0
- package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -0
- package/controls/datetime/date.d.ts +4 -3
- package/controls/datetime/datetime.d.ts +4 -3
- package/controls/datetime/time.d.ts +4 -3
- package/controls/form/inheritform.directive.d.ts +14 -37
- package/controls/grid/gridbutton.d.ts +1 -10
- package/controls/static/formcontainer.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +6 -1
- package/controls/treeview/treeview.d.ts +13 -2
- package/controls/treeview/treeview.module.d.ts +1 -1
- package/controls/treeview/treeview.module.ngfactory.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +21 -0
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -0
- package/controls/upload/dropzonesingle.d.ts +21 -0
- package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -0
- package/esm2015/controls/buttons/button.js +5 -3
- package/esm2015/controls/buttons/button.module.ngfactory.js +1 -1
- package/esm2015/controls/checkbox/checkbox.js +2 -2
- package/esm2015/controls/checkbox/checkbox.module.js +7 -2
- package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
- package/esm2015/controls/checkbox/radiobutton.js +11 -7
- package/esm2015/controls/checkbox/radiobuttons.js +2 -2
- package/esm2015/controls/confirm/confirm.js +2 -2
- package/esm2015/controls/confirm/confirm.module.ngfactory.js +1 -1
- package/esm2015/controls/contextmenu/contextmenu.js +34 -0
- package/esm2015/controls/contextmenu/contextmenu.module.js +28 -0
- package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -0
- package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -0
- package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +42 -0
- package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +20 -0
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -0
- package/esm2015/controls/datetime/date.js +14 -9
- package/esm2015/controls/datetime/datetime.js +9 -7
- package/esm2015/controls/datetime/datetime.module.js +8 -2
- package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
- package/esm2015/controls/datetime/time.js +9 -7
- package/esm2015/controls/dialog/dialog.js +2 -2
- package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
- package/esm2015/controls/form/inheritform.directive.js +42 -56
- package/esm2015/controls/grid/grid.js +2 -2
- package/esm2015/controls/grid/grid.module.js +21 -8
- package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
- package/esm2015/controls/grid/gridbutton.js +3 -11
- package/esm2015/controls/grid/gridcolumn.js +2 -2
- package/esm2015/controls/grid/paging.js +2 -2
- package/esm2015/controls/input/input.js +2 -2
- package/esm2015/controls/input/input.module.ngfactory.js +1 -1
- package/esm2015/controls/input/inputarea.js +2 -2
- package/esm2015/controls/input/inputcurrency.js +2 -2
- package/esm2015/controls/input/inputdecimal.js +2 -2
- package/esm2015/controls/input/inputemail.js +2 -2
- package/esm2015/controls/input/inputinteger.js +2 -2
- package/esm2015/controls/input/inputpassword.js +2 -2
- package/esm2015/controls/input/inputsearch.js +2 -2
- package/esm2015/controls/list/dropdown.js +2 -2
- package/esm2015/controls/list/list.module.js +3 -1
- package/esm2015/controls/list/list.module.ngfactory.js +1 -1
- package/esm2015/controls/list/listbox.js +2 -2
- package/esm2015/controls/static/formcontainer.js +3 -3
- package/esm2015/controls/static/staticlabel.js +2 -2
- package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
- package/esm2015/controls/tabs/tab.js +2 -2
- package/esm2015/controls/tabs/tabs.module.ngfactory.js +1 -1
- package/esm2015/controls/tinymce/tinymce.js +2 -2
- package/esm2015/controls/tinymce/tinymce.module.js +3 -1
- package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +13 -3
- package/esm2015/controls/tooltip/tooltip.module.js +3 -5
- package/esm2015/controls/treeview/treeview.js +36 -6
- package/esm2015/controls/treeview/treeview.module.js +11 -12
- package/esm2015/controls/treeview/treeview.module.ngfactory.js +1 -1
- package/esm2015/controls/upload/dropzonemultiple.js +55 -0
- package/esm2015/controls/{treeview/ngtreeitemaction.ngfactory.js → upload/dropzonemultiple.ngfactory.js} +1 -1
- package/esm2015/controls/upload/dropzonesingle.js +55 -0
- package/esm2015/controls/{treeview/treeviewchild.ngfactory.js → upload/dropzonesingle.ngfactory.js} +1 -1
- package/esm2015/controls/upload/upload.js +3 -3
- package/esm2015/controls/upload/upload.module.js +15 -7
- package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
- package/esm2015/controls/upload/uploadmultiple.js +3 -3
- package/esm2015/public_api.js +9 -5
- package/esm2015/simpleangularcontrols-sac-bootstrap3.js +2 -1
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +522 -222
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
- package/package.json +3 -3
- package/public_api.d.ts +8 -4
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap3.d.ts +1 -0
- package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
- package/controls/treeview/ngtreeitemaction.d.ts +0 -5
- package/controls/treeview/treeviewchild.d.ts +0 -3
- package/esm2015/controls/treeview/ngtreeitemaction.js +0 -17
- package/esm2015/controls/treeview/treeviewchild.js +0 -11
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.2.tgz +0 -0
- /package/controls/{treeview/ngtreeitemaction.ngfactory.d.ts → contextmenu/contextmenu.ngfactory.d.ts} +0 -0
- /package/controls/{treeview/treeviewchild.ngfactory.d.ts → contextmenu/contextmenuanchor.ngfactory.d.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
+
import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';
|
|
5
|
+
/**
|
|
6
|
+
* Dropzone Komponente für den Upload eines Files
|
|
7
|
+
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
8
|
+
*/
|
|
9
|
+
export class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
|
|
10
|
+
// #region Constructors
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
14
|
+
* @param injector Injector for injecting services
|
|
15
|
+
* @param renderer Angular rendering engine
|
|
16
|
+
* @param ngZone ngZone to manage external javascripts
|
|
17
|
+
*/
|
|
18
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
19
|
+
super(formLayout, injector, renderer, ngZone);
|
|
20
|
+
}
|
|
21
|
+
// #endregion Constructors
|
|
22
|
+
// #region Public Methods
|
|
23
|
+
/**
|
|
24
|
+
* Initialisiert das Control
|
|
25
|
+
*/
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
super.ngOnInit();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
SacDropzoneSingleComponent.decorators = [
|
|
31
|
+
{ type: Component, args: [{
|
|
32
|
+
selector: 'sac-dropzonesingle',
|
|
33
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"img-rounded dropzone control-label\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div>\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"uploads.length > 0\">\r\n <div>\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block help-block-error\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
34
|
+
providers: [
|
|
35
|
+
{
|
|
36
|
+
provide: NG_VALUE_ACCESSOR,
|
|
37
|
+
multi: true,
|
|
38
|
+
useExisting: SacDropzoneSingleComponent,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
provide: NG_VALIDATORS,
|
|
42
|
+
multi: true,
|
|
43
|
+
useExisting: forwardRef(() => SacDropzoneSingleComponent),
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
47
|
+
},] }
|
|
48
|
+
];
|
|
49
|
+
SacDropzoneSingleComponent.ctorParameters = () => [
|
|
50
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
51
|
+
{ type: Injector },
|
|
52
|
+
{ type: Renderer2 },
|
|
53
|
+
{ type: NgZone }
|
|
54
|
+
];
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC9kcm9wem9uZXNpbmdsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RTs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBN0NKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qix5eExBQW9DO2dCQUVwQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLDBCQUEwQjtxQkFDMUM7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7cUJBQzVEO2lCQUNKOzthQUNKOzs7WUF6QlEsc0JBQXNCLHVCQXFDdEIsSUFBSSxZQUFJLFFBQVE7WUFwQ0MsUUFBUTtZQUE0QixTQUFTO1lBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgTmdab25lLCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wem9uZSBLb21wb25lbnRlIGbDvHIgZGVuIFVwbG9hZCBlaW5lcyBGaWxlc1xyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWRyb3B6b25lc2luZ2xlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wem9uZXNpbmdsZS5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQgZXh0ZW5kcyBTYWNEcm9wem9uZVNpbmdsZUNvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgZW5naW5lXHJcbiAgICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIG5nWm9uZTogTmdab25lXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXNpZXJ0IGRhcyBDb250cm9sXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG4iXX0=
|
package/esm2015/controls/{treeview/treeviewchild.ngfactory.js → upload/dropzonesingle.ngfactory.js}
RENAMED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
5
|
* tslint:disable
|
|
6
6
|
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVzaW5nbGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
|
|
@@ -19,7 +19,7 @@ export class SacUploadComponent extends SacUploadSingleCommon {
|
|
|
19
19
|
SacUploadComponent.decorators = [
|
|
20
20
|
{ type: Component, args: [{
|
|
21
21
|
selector: 'sac-upload',
|
|
22
|
-
template: "<div\r\n
|
|
22
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n </div>\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
23
23
|
providers: [
|
|
24
24
|
{
|
|
25
25
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -32,7 +32,7 @@ SacUploadComponent.decorators = [
|
|
|
32
32
|
useExisting: forwardRef(() => SacUploadComponent),
|
|
33
33
|
},
|
|
34
34
|
],
|
|
35
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}"]
|
|
35
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
36
36
|
},] }
|
|
37
37
|
];
|
|
38
38
|
SacUploadComponent.ctorParameters = () => [
|
|
@@ -41,4 +41,4 @@ SacUploadComponent.ctorParameters = () => [
|
|
|
41
41
|
{ type: Renderer2 },
|
|
42
42
|
{ type: NgZone }
|
|
43
43
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLDRDQUE0QztBQW1CNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUMzRCx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QiwwcE5BQTRCO2dCQUU1QixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLGtCQUFrQjtxQkFDaEM7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7cUJBQ2xEO2lCQUNGOzthQUNGOzs7WUFwQlEsc0JBQXNCLHVCQWdDMUIsSUFBSSxZQUFJLFFBQVE7WUF4Q25CLFFBQVE7WUFHUixTQUFTO1lBRlQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFJlbmRlcmVyMixcclxuICBmb3J3YXJkUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20va3VraGFyaWV2L25neC11cGxvYWR4L1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtdXBsb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1VwbG9hZENvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNVcGxvYWRDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIHJlbmRlcmVyLCBuZ1pvbmUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
1
|
import { SACBootstrap3LayoutModule } from '../layout/layout.module';
|
|
2
|
+
import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
|
|
3
|
+
import { SacDropzoneMultipleComponent } from './dropzonemultiple';
|
|
4
|
+
import { SacDropzoneSingleComponent } from './dropzonesingle';
|
|
5
5
|
import { SacUploadComponent } from './upload';
|
|
6
6
|
import { SacUploadMultipleComponent } from './uploadmultiple';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
import { NgModule } from '@angular/core';
|
|
9
|
+
import { FormsModule } from '@angular/forms';
|
|
7
10
|
export class SACBootstrap3UploadModule {
|
|
8
11
|
}
|
|
9
12
|
SACBootstrap3UploadModule.decorators = [
|
|
10
13
|
{ type: NgModule, args: [{
|
|
11
|
-
declarations: [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
declarations: [
|
|
15
|
+
SacUploadComponent,
|
|
16
|
+
SacUploadMultipleComponent,
|
|
17
|
+
SacDropzoneSingleComponent,
|
|
18
|
+
SacDropzoneMultipleComponent,
|
|
19
|
+
],
|
|
20
|
+
imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
|
|
21
|
+
exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
|
|
14
22
|
},] }
|
|
15
23
|
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL3VwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVk3QyxNQUFNLE9BQU8seUJBQXlCOzs7WUFWckMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixrQkFBa0I7b0JBQ2xCLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQiw0QkFBNEI7aUJBQy9CO2dCQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzNGLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDO2FBQ3RIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0FDQm9vdHN0cmFwM0xheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM1Rvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcHpvbmVtdWx0aXBsZSc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wem9uZXNpbmdsZSc7XHJcbmltcG9ydCB7IFNhY1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZG11bHRpcGxlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2FjVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUsIFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtTYWNVcGxvYWRDb21wb25lbnQsIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LCBTYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudCwgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXAzVXBsb2FkTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
5
|
* tslint:disable
|
|
6
6
|
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC91cGxvYWQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL3VwbG9hZC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuL3VwbG9hZCc7XG5pbXBvcnQgKiBhcyBpNiBmcm9tICcuL3VwbG9hZG11bHRpcGxlJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpOCBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXAzVXBsb2FkTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXAzVXBsb2FkTW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX3kgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTI6aTMuTmdTZWxlY3RPcHRpb24gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTMuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX3ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ6aTMuRGVmYXVsdFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTMuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppMy5SYW5nZVZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTMuQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xODppMy5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppMy5TZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIwOmkzLlJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTMuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmkzLk5nQ29udHJvbFN0YXR1c0dyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkzLlJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkzLk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMy5NYXhMZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTMuUGF0dGVyblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMy5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4OmkzLkVtYWlsVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5OmkzLk5nTW9kZWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzA6aTMuTmdNb2RlbEdyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMxOmkzLk5nRm9ybSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMjppNC5TYWNGb3JtTGF5b3V0RGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMzOmk1LlNhY1VwbG9hZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppNi5TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzY6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM5OmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MTppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MjppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQzOmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NDppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NTppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NjppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NzppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDg6aTcuU2FjVG9Db250cm9sSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OTppOC5TYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTA6aTkuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTE6aTEwLlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTI6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUzOmkzLkZvcm1zTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU0OmkxMS5TQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU1OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRDb21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzMzLmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzMuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMzMuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81MS50cmFuc2Zvcm0oX2RlY2wwXzMzLmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzMubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzMubmFtZSwnJyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzMuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zMy5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zMy5hdXRvdXBsb2FkID09PSBmYWxzZSkgJiYgX2RlY2wwXzMzLmVuYWJsZXBhdXNlKSB8fCAoKF9kZWNsMF8zMy5hdXRvdXBsb2FkICYmIF9kZWNsMF8zMy5lbmFibGVwYXVzZSkgJiYgKF9kZWNsMF8zMy5Jc1BhdXNlZCgpID09PSBmYWxzZSkpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzMzLklzVXBsb2FkaW5nKCkgPT09IGZhbHNlKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhKF9kZWNsMF8zMy5pbnZhbGlkICYmIChfZGVjbDBfMzMuZGlydHkgfHwgX2RlY2wwXzMzLnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzMuaW52YWxpZCAmJiAoX2RlY2wwXzMzLmRpcnR5IHx8IF9kZWNsMF8zMy50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzMuSWNvblBhdXNlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBwZF80OmFueSA9ICgoPGFueT5fZGVjbDBfMzMucGF1c2VBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzMuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzMuZW5hYmxlcGF1c2UpICYmIF9kZWNsMF8zMy5Jc1BhdXNlZCgpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICEoX2RlY2wwXzMzLmludmFsaWQgJiYgKF9kZWNsMF8zMy5kaXJ0eSB8fCBfZGVjbDBfMzMudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zMy5pbnZhbGlkICYmIChfZGVjbDBfMzMuZGlydHkgfHwgX2RlY2wwXzMzLnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zMy5JY29uQ29udGludWU7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zMy51cGxvYWRBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zMy5hdXRvdXBsb2FkID09PSBmYWxzZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zMy5Jc1N0YXRlVG9VcGxvYWQoKSA9PT0gZmFsc2UpPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICEoX2RlY2wwXzMzLmludmFsaWQgJiYgKF9kZWNsMF8zMy5kaXJ0eSB8fCBfZGVjbDBfMzMudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zMy5pbnZhbGlkICYmIChfZGVjbDBfMzMuZGlydHkgfHwgX2RlY2wwXzMzLnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zMy5JY29uVXBsb2FkO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMzMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhfZGVjbDBfMzMudmFsaWRhdGlvbktleVNlcnZpY2UuVXBsb2FkQnV0dG9uVXBsb2FkKSk7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF8zMy51cGxvYWRBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfNSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzMuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzMzLmludmFsaWQpICYmIChfZGVjbDBfMzMuZGlydHkgfHwgX2RlY2wwXzMzLnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzMzLkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdyb3cgZm9ybS1ncm91cCc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF81MC50cmFuc2Zvcm0oX2RlY2wwXzMzLmNvbXBvbmVudEhlaWdodCk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzMuaW52YWxpZCAmJiAoX2RlY2wwXzMzLmRpcnR5IHx8IF9kZWNsMF8zMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9ICgoX2RlY2wwXzMzLmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzMuaXNBZGFwdGl2ZUxhYmVsKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ2NvbC14cy0xMic7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IFsoKF9kZWNsMF8zMy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzQ5LnRyYW5zZm9ybShfZGVjbDBfMzMubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IChfZGVjbDBfMzMuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzMuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IChfZGVjbDBfMzMuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzMuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8zMy5IYXNRdWV1ZUl0ZW0oKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gIShfZGVjbDBfMzMuaW52YWxpZCAmJiAoX2RlY2wwXzMzLmRpcnR5IHx8IF9kZWNsMF8zMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoX2RlY2wwXzMzLmludmFsaWQgJiYgKF9kZWNsMF8zMy5kaXJ0eSB8fCBfZGVjbDBfMzMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF8zMy5JY29uQnJvd3NlO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzMzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoX2RlY2wwXzMzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvbkJyb3dzZSkpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IF9kZWNsMF8zMy5IYXNRdWV1ZUl0ZW0oKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzMzLlByb2dyZXNzKCkgPT09IDEwMCk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzMzLlByb2dyZXNzKCk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzMzLlByb2dyZXNzKCk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMzMuRmlsZW5hbWUoKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gKChfZGVjbDBfMzMuSGFzUXVldWVJdGVtKCkgPT09IGZhbHNlKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gIShfZGVjbDBfMzMuaW52YWxpZCAmJiAoX2RlY2wwXzMzLmRpcnR5IHx8IF9kZWNsMF8zMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gKF9kZWNsMF8zMy5pbnZhbGlkICYmIChfZGVjbDBfMzMuZGlydHkgfHwgX2RlY2wwXzMzLnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMzMuSWNvbkRlbGV0ZTtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoKChfZGVjbDBfMzMuYXV0b3VwbG9hZCA9PT0gZmFsc2UpICYmIF9kZWNsMF8zMy5lbmFibGVwYXVzZSkgfHwgKChfZGVjbDBfMzMuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzMuZW5hYmxlcGF1c2UpICYmIChfZGVjbDBfMzMuSXNQYXVzZWQoKSA9PT0gZmFsc2UpKSk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKChfZGVjbDBfMzMuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzMuZW5hYmxlcGF1c2UpICYmIF9kZWNsMF8zMy5Jc1BhdXNlZCgpKTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSAoX2RlY2wwXzMzLmF1dG91cGxvYWQgPT09IGZhbHNlKTtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSAoKF9kZWNsMF8zMy5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzMuaW52YWxpZCkgJiYgKF9kZWNsMF8zMy5kaXJ0eSB8fCBfZGVjbDBfMzMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI1O1xuICBjb25zdCBwZF8yNjphbnkgPSAoKDxhbnk+KF9hbnkudmFsdWUgPSAnJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI3OmFueSA9ICgoPGFueT5fZGVjbDBfMzMub25VcGxvYWQoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMzMuY2FuY2VsQWxsKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM0LmlzQWRhcHRpdmVMYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnY29sLXhzLTEyIGNvbnRyb2wtbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzM0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfNTEudHJhbnNmb3JtKF9kZWNsMF8zNC5sYWJlbFNpemVzKTogJ3NyLW9ubHknKV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM0Lm5hbWUsJ2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM0Lm5hbWUsJycpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM0LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMzQubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNC5hdXRvdXBsb2FkID09PSBmYWxzZSkgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSB8fCAoKF9kZWNsMF8zNC5hdXRvdXBsb2FkICYmIF9kZWNsMF8zNC5lbmFibGVwYXVzZSkgJiYgKF9kZWNsMF8zNC5Jc1BhdXNlZCgpID09PSBmYWxzZSkpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzM0LklzVXBsb2FkaW5nKCkgPT09IGZhbHNlKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzQuSWNvblBhdXNlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBwZF80OmFueSA9ICgoPGFueT5fZGVjbDBfMzQucGF1c2VBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNC5hdXRvdXBsb2FkICYmIF9kZWNsMF8zNC5lbmFibGVwYXVzZSkgJiYgKF9kZWNsMF8zNC5Jc1BhdXNlZCgpID09PSB0cnVlKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuSWNvbkNvbnRpbnVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMzQudXBsb2FkQWxsKCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNC5hdXRvdXBsb2FkID09PSBmYWxzZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNC5Jc1N0YXRlVG9VcGxvYWQoKSA9PT0gZmFsc2UpPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zNC5JY29uVXBsb2FkO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMzQubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhfZGVjbDBfMzQudmFsaWRhdGlvbktleVNlcnZpY2UuVXBsb2FkQnV0dG9uVXBsb2FkKSk7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF8zNC51cGxvYWRBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl82KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzQuYXV0b3VwbG9hZCA9PT0gZmFsc2UpICYmIF9kZWNsMF8zNC5lbmFibGVwYXVzZSkgfHwgKChfZGVjbDBfMzQuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzQuZW5hYmxlcGF1c2UpICYmIChfYW55LnN0YXR1cyAhPT0gJ3BhdXNlZCcpKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9hbnkuc3RhdHVzICE9PSAndXBsb2FkaW5nJyk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gIShfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzM0Lkljb25QYXVzZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzM0LnBhdXNlKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzcoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgPT09ICdwYXVzZWQnKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuSWNvbkNvbnRpbnVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMzQudXBsb2FkKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzgoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuYXV0b3VwbG9hZCA9PT0gZmFsc2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKCgoX2FueS5zdGF0dXMgIT09ICdhZGRlZCcpICYmIChfYW55LnN0YXR1cyAhPT0gJ3BhdXNlZCcpKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzQuSWNvblVwbG9hZDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzM0LmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoX2RlY2wwXzM0LnZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvblVwbG9hZCkpO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMzQudXBsb2FkKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzUoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzQuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzQuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfYW55LnByb2dyZXNzID09PSAxMDApO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfYW55LnByb2dyZXNzO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfYW55LnByb2dyZXNzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfYW55Lm5hbWU7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IChfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzQuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IChfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzQuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzM0Lkljb25EZWxldGU7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKCgoX2RlY2wwXzM0LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzQuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgIT09ICdwYXVzZWQnKSkpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgPT09ICdwYXVzZWQnKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8zNC5hdXRvdXBsb2FkID09PSBmYWxzZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IHBkXzE0OmFueSA9ICgoPGFueT5fZGVjbDBfMzQuY2FuY2VsKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl85KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzQuaW52YWxpZCkgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMzQuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTAudHJhbnNmb3JtKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM0LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBbKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF80OS50cmFuc2Zvcm0oX2RlY2wwXzM0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoX2RlY2wwXzM0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM0LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoX2RlY2wwXzM0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKF9kZWNsMF8zNC5tYXhmaWxlcyA+IDApICYmIChfZGVjbDBfMzQudXBsb2Fkcy5sZW5ndGggPj0gX2RlY2wwXzM0Lm1heGZpbGVzKSk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfMzQuSWNvbkJyb3dzZTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoKF9kZWNsMF8zNC5tYXhmaWxlcyA+IDApICYmIChfZGVjbDBfMzQudXBsb2Fkcy5sZW5ndGggPj0gX2RlY2wwXzM0Lm1heGZpbGVzKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8zNC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzM0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9ICgoX2RlY2wwXzM0Lkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzM0Lkljb25EZWxldGU7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gKCgoX2RlY2wwXzM0LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzQuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM0LklzUGF1c2VkKCkgPT09IGZhbHNlKSkpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM0LklzUGF1c2VkKCkgPT09IHRydWUpKTtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSAoX2RlY2wwXzM0LmF1dG91cGxvYWQgPT09IGZhbHNlKTtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSBfZGVjbDBfMzQudXBsb2FkcztcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8zNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzQuaW52YWxpZCkgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBwZF8yNDphbnkgPSAoKDxhbnk+KF9hbnkudmFsdWUgPSAnJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI1OmFueSA9ICgoPGFueT5fZGVjbDBfMzQub25VcGxvYWQoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMzQuY2FuY2VsQWxsKCkpICE9PSBmYWxzZSk7XG59XG4iXX0=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC91cGxvYWQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL3VwbG9hZC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi91cGxvYWQnO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi91cGxvYWRtdWx0aXBsZSc7XG5pbXBvcnQgKiBhcyBpOCBmcm9tICcuL2Ryb3B6b25lc2luZ2xlJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJy4vZHJvcHpvbmVtdWx0aXBsZSc7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTIgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgU0FDQm9vdHN0cmFwM1VwbG9hZE1vZHVsZU5nRmFjdG9yeTppMC5OZ01vZHVsZUZhY3Rvcnk8aTEuU0FDQm9vdHN0cmFwM1VwbG9hZE1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc195ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmkzLk5nU2VsZWN0T3B0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc194ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0OmkzLkRlZmF1bHRWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1OmkzLk51bWJlclZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTMuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkzLkNoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTMuU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTMuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMy5SYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkzLk5nQ29udHJvbFN0YXR1cyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMy5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMy5SZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMy5NaW5MZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTMuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2OmkzLlBhdHRlcm5WYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTMuQ2hlY2tib3hSZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMy5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMy5OZ01vZGVsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkzLk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMy5OZ0Zvcm0gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTQuU2FjRm9ybUxheW91dERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppNS5TYWNUb29sdGlwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk2LlNhY1VwbG9hZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppNy5TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppOC5TYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppOS5TYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOTppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQzOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ1OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDY6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ4OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ5OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUwOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MTppMTAuU2FjVG9Db250cm9sSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMTEuU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUzOmkxMi5TYWNUb0xhYmVsSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMTMuU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTMuRm9ybXNNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTc6aTE0LlNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTE1LlNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU5OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjA6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRDb21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM0LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNC5pc0FkYXB0aXZlTGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2NvbC14cy0xMiBjb250cm9sLWxhYmVsJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzU0LnRyYW5zZm9ybShfZGVjbDBfMzQubGFiZWxTaXplcyk6ICdzci1vbmx5JyldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCdsYWJlbCcpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCdfdXBsb2FkaW5wdXQnKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zNC5pc3JlcXVpcmVkO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzM0LmxhYmVsO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRDb21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzQuYXV0b3VwbG9hZCA9PT0gZmFsc2UpICYmIF9kZWNsMF8zNC5lbmFibGVwYXVzZSkgfHwgKChfZGVjbDBfMzQuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzQuZW5hYmxlcGF1c2UpICYmIChfZGVjbDBfMzQuSXNQYXVzZWQoKSA9PT0gZmFsc2UpKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNC5Jc1VwbG9hZGluZygpID09PSBmYWxzZSk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gIShfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzM0Lkljb25QYXVzZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzM0LnBhdXNlQWxsKCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiBfZGVjbDBfMzQuSXNQYXVzZWQoKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuSWNvbkNvbnRpbnVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMzQudXBsb2FkQWxsKCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzUoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuYXV0b3VwbG9hZCA9PT0gZmFsc2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMzQuSXNTdGF0ZVRvVXBsb2FkKCkgPT09IGZhbHNlKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzQuSWNvblVwbG9hZDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM0LmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoX2RlY2wwXzM0LnZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvblVwbG9hZCkpO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMzQudXBsb2FkQWxsKCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzYoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfNygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM0LmludmFsaWQpICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM0LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZENvbXBvbmVudF8xXzkoKTp2b2lkIHtcbiAgaWYgKCgoKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzM0LmRpc2FibGVsYWJlbCkgJiYgKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkQ29tcG9uZW50XzFfOCgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTMudHJhbnNmb3JtKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM0LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81Mi50cmFuc2Zvcm0oX2RlY2wwXzM0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpPyAxOiBudWxsKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8zNC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IChfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzQuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzM0Lkhhc1F1ZXVlSXRlbSgpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzM0Lkljb25Ccm93c2U7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzM4LnRyYW5zZm9ybShfZGVjbDBfMzQubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhfZGVjbDBfMzQudmFsaWRhdGlvbktleVNlcnZpY2UuVXBsb2FkQnV0dG9uQnJvd3NlKSk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCdfdXBsb2FkaW5wdXQnKTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMzQuSGFzUXVldWVJdGVtKCk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gKF9kZWNsMF8zNC5Qcm9ncmVzcygpID09PSAxMDApO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8zNC5Qcm9ncmVzcygpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8zNC5Qcm9ncmVzcygpO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM0LkZpbGVuYW1lKCkpO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9ICgoX2RlY2wwXzM0Lkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9ICEoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IChfZGVjbDBfMzQuaW52YWxpZCAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gX2RlY2wwXzM0Lkljb25EZWxldGU7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IGN1cnJWYWxfMjY6YW55ID0gKCgoX2RlY2wwXzM0LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzQuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM0LklzUGF1c2VkKCkgPT09IGZhbHNlKSkpO1xuICBjdXJyVmFsXzI2O1xuICBjb25zdCBjdXJyVmFsXzI3OmFueSA9ICgoX2RlY2wwXzM0LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM0LmVuYWJsZXBhdXNlKSAmJiBfZGVjbDBfMzQuSXNQYXVzZWQoKSk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gKF9kZWNsMF8zNC5hdXRvdXBsb2FkID09PSBmYWxzZSk7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjk7XG4gIGNvbnN0IGN1cnJWYWxfMzA6YW55ID0gKChfZGVjbDBfMzQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM0LmludmFsaWQpICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8zMDtcbiAgY29uc3QgY3VyclZhbF8zMTphbnkgPSAoKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzM0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMzE7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT4oX2FueS52YWx1ZSA9ICcnKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNC5vblVwbG9hZChfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8zNC5jYW5jZWxBbGwoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM1LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM1LmlzQWRhcHRpdmVMYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnY29sLXhzLTEyIGNvbnRyb2wtbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzM1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfNTQudHJhbnNmb3JtKF9kZWNsMF8zNS5sYWJlbFNpemVzKTogJ3NyLW9ubHknKV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM1Lm5hbWUsJ2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM1Lm5hbWUsJ191cGxvYWRpbnB1dCcpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM1LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMzUubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8zNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM1LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50XzJfMygpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzUuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM1LklzUGF1c2VkKCkgPT09IGZhbHNlKSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMzUuSXNVcGxvYWRpbmcoKSA9PT0gZmFsc2UpPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNS5pbnZhbGlkICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zNS5JY29uUGF1c2U7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS5wYXVzZUFsbCgpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzQoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM1LklzUGF1c2VkKCkgPT09IHRydWUpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zNS5pbnZhbGlkICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNS5JY29uQ29udGludWU7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS51cGxvYWRBbGwoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl81KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzM1LklzU3RhdGVUb1VwbG9hZCgpID09PSBmYWxzZSk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gIShfZGVjbDBfMzUuaW52YWxpZCAmJiAoX2RlY2wwXzM1LmRpcnR5IHx8IF9kZWNsMF8zNS50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzM1Lkljb25VcGxvYWQ7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzgudHJhbnNmb3JtKF9kZWNsMF8zNS5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKF9kZWNsMF8zNS52YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWRCdXR0b25VcGxvYWQpKTtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzM1LnVwbG9hZEFsbCgpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzcoKTp2b2lkIHtcbiAgaWYgKCgoKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzM1LmRpc2FibGVsYWJlbCkgJiYgKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl82KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzM1LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM1LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50XzJfOSgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzUuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgIT09ICdwYXVzZWQnKSkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfYW55LnN0YXR1cyAhPT0gJ3VwbG9hZGluZycpPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNS5pbnZhbGlkICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zNS5JY29uUGF1c2U7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS5wYXVzZShfYW55LnVwbG9hZElkKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8xMCgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzUuYXV0b3VwbG9hZCAmJiBfZGVjbDBfMzUuZW5hYmxlcGF1c2UpICYmIChfYW55LnN0YXR1cyA9PT0gJ3BhdXNlZCcpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zNS5pbnZhbGlkICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNS5JY29uQ29udGludWU7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS51cGxvYWQoX2FueS51cGxvYWRJZCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50XzJfMTEoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzUuYXV0b3VwbG9hZCA9PT0gZmFsc2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKCgoX2FueS5zdGF0dXMgIT09ICdhZGRlZCcpICYmIChfYW55LnN0YXR1cyAhPT0gJ3BhdXNlZCcpKT8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhKF9kZWNsMF8zNS5pbnZhbGlkICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzUuaW52YWxpZCAmJiAoX2RlY2wwXzM1LmRpcnR5IHx8IF9kZWNsMF8zNS50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzUuSWNvblVwbG9hZDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM1LmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoX2RlY2wwXzM1LnZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvblVwbG9hZCkpO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMzUudXBsb2FkKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzgoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMzUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzUuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzUuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfYW55LnByb2dyZXNzID09PSAxMDApO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfYW55LnByb2dyZXNzO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfYW55LnByb2dyZXNzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfYW55Lm5hbWU7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IChfZGVjbDBfMzUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzUuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IChfZGVjbDBfMzUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzUuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzM1Lkljb25EZWxldGU7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKCgoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzUuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgIT09ICdwYXVzZWQnKSkpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2FueS5zdGF0dXMgPT09ICdwYXVzZWQnKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8zNS5hdXRvdXBsb2FkID09PSBmYWxzZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IHBkXzE0OmFueSA9ICgoPGFueT5fZGVjbDBfMzUuY2FuY2VsKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8xMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudF8yXzEzKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNS5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzUuaW52YWxpZCkgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM4LnRyYW5zZm9ybShfZGVjbDBfMzUuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTMudHJhbnNmb3JtKF9kZWNsMF8zNS5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoKF9kZWNsMF8zNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM1LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMzUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81Mi50cmFuc2Zvcm0oX2RlY2wwXzM1LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKCgoX2RlY2wwXzM1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzUuaGVscHRleHQpICYmIF9kZWNsMF8zNS5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzM1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM1LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzM1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM1LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKChfZGVjbDBfMzUubWF4ZmlsZXMgPiAwKSAmJiAoX2RlY2wwXzM1LnVwbG9hZHMubGVuZ3RoID49IF9kZWNsMF8zNS5tYXhmaWxlcykpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IChfZGVjbDBfMzUuaW52YWxpZCAmJiAoX2RlY2wwXzM1LmRpcnR5IHx8IF9kZWNsMF8zNS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzM1Lkljb25Ccm93c2U7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNS5uYW1lLCdfdXBsb2FkaW5wdXQnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAoKF9kZWNsMF8zNS5tYXhmaWxlcyA+IDApICYmIChfZGVjbDBfMzUudXBsb2Fkcy5sZW5ndGggPj0gX2RlY2wwXzM1Lm1heGZpbGVzKSk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKF9kZWNsMF8zNS5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8zNS5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSAoX2RlY2wwXzM1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM1LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9ICgoX2RlY2wwXzM1Lkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSk/ICdkaXNhYmxlZCc6IG51bGwpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9ICEoX2RlY2wwXzM1LmludmFsaWQgJiYgKF9kZWNsMF8zNS5kaXJ0eSB8fCBfZGVjbDBfMzUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IChfZGVjbDBfMzUuaW52YWxpZCAmJiAoX2RlY2wwXzM1LmRpcnR5IHx8IF9kZWNsMF8zNS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzM1Lkljb25EZWxldGU7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKCgoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKSAmJiBfZGVjbDBfMzUuZW5hYmxlcGF1c2UpIHx8ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM1LklzUGF1c2VkKCkgPT09IGZhbHNlKSkpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9ICgoX2RlY2wwXzM1LmF1dG91cGxvYWQgJiYgX2RlY2wwXzM1LmVuYWJsZXBhdXNlKSAmJiAoX2RlY2wwXzM1LklzUGF1c2VkKCkgPT09IHRydWUpKTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSAoX2RlY2wwXzM1LmF1dG91cGxvYWQgPT09IGZhbHNlKTtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSAoKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzM1LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IGN1cnJWYWxfMjY6YW55ID0gX2RlY2wwXzM1LnVwbG9hZHM7XG4gIGN1cnJWYWxfMjY7XG4gIGNvbnN0IGN1cnJWYWxfMjc6YW55ID0gKChfZGVjbDBfMzUuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNS5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gKChfZGVjbDBfMzUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM1LmludmFsaWQpICYmIChfZGVjbDBfMzUuZGlydHkgfHwgX2RlY2wwXzM1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yODtcbiAgY29uc3QgcGRfMjk6YW55ID0gKCg8YW55PihfYW55LnZhbHVlID0gJycpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzM1Lm9uVXBsb2FkKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMTphbnkgPSAoKDxhbnk+X2RlY2wwXzM1LmNhbmNlbEFsbCgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50XzNfMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzYuaXNBZGFwdGl2ZUxhYmVsKSAmJiAoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzM2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudF8zXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzYuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81NC50cmFuc2Zvcm0oX2RlY2wwXzM2LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYubmFtZSwnX3VwbG9hZGlucHV0Jyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzYuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zNi5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnRfM18zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2LnVwbG9hZHMubGVuZ3RoID09PSAwKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzM2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8zNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzM2LmRpcnR5IHx8IF9kZWNsMF8zNi50b3VjaGVkKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudF8zXzUoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYudXBsb2Fkcy5sZW5ndGggPiAwKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMzYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzYuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzM2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzM2LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9hbnkucHJvZ3Jlc3MgPT09IDEwMCk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfYW55LnByb2dyZXNzO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2FueS5wcm9ncmVzcztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9hbnkubmFtZTtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICEoX2RlY2wwXzM2LmludmFsaWQgJiYgKF9kZWNsMF8zNi5kaXJ0eSB8fCBfZGVjbDBfMzYudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfNjtcbiAgICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKF9kZWNsMF8zNi5pbnZhbGlkICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8zNi5JY29uRGVsZXRlO1xuICAgIGN1cnJWYWxfODtcbiAgICBjb25zdCBwZF85OmFueSA9ICgoPGFueT5fZGVjbDBfMzYuY2FuY2VsKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudF8zXzQoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYudXBsb2Fkcy5sZW5ndGggPiAwKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNi51cGxvYWRzO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnRfM182KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50XzNfNygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM2LmludmFsaWQpICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM2LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50XzNfOSgpOnZvaWQge1xuICBpZiAoKCgoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzYuZGlzYWJsZWxhYmVsKSAmJiAoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzM2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudF8zXzgoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzYuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnRfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTMudHJhbnNmb3JtKF9kZWNsMF8zNi5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzM2LmludmFsaWQgJiYgKF9kZWNsMF8zNi5kaXJ0eSB8fCBfZGVjbDBfMzYudG91Y2hlZCkpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoKF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM2LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81Mi50cmFuc2Zvcm0oX2RlY2wwXzM2LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpPyAxOiBudWxsKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzM2LnVwbG9hZGhlaWdodDtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zNi5hY3RpdmU7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKF9kZWNsMF8zNi5pbnZhbGlkICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzM2LnVwbG9hZHMubGVuZ3RoID09PSAwKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzM2LnVwbG9hZHMubGVuZ3RoID4gMCk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5uYW1lLCdfdXBsb2FkaW5wdXQnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMzYuSGFzUXVldWVJdGVtKCk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gKChfZGVjbDBfMzYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM2LmludmFsaWQpICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzM2LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMzYuZHJvcEhhbmRsZXIoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIwOmFueSA9ICgoPGFueT5fZGVjbDBfMzYub25EcmFnT3ZlcihfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjE6YW55ID0gKCg8YW55Pl9kZWNsMF8zNi5vbkRyYWdMZWF2ZShfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjI6YW55ID0gKCg8YW55PihfYW55LnZhbHVlID0gJycpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMzphbnkgPSAoKDxhbnk+X2RlY2wwXzM2Lm9uVXBsb2FkKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF9Ib3N0XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF80XzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM3LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMzcuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNy5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM3LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNy5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF80XzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM3LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzcuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMzcuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81NC50cmFuc2Zvcm0oX2RlY2wwXzM3LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzcubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzcubmFtZSwnX3VwbG9hZGlucHV0Jyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzcuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zNy5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzM3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzcuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF80XzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzcudXBsb2Fkcy5sZW5ndGggPT09IDApKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMzcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM3LmludmFsaWQpICYmIChfZGVjbDBfMzcuZGlydHkgfHwgX2RlY2wwXzM3LnRvdWNoZWQpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnRfNF81KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM3LnVwbG9hZHMubGVuZ3RoID4gMCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2FueSA+IDApO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zNy5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8zNy5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzcuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMzcuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2FueS5wcm9ncmVzcyA9PT0gMTAwKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9hbnkucHJvZ3Jlc3M7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfYW55LnByb2dyZXNzO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2FueS5uYW1lO1xuICAgIGN1cnJWYWxfNjtcbiAgICBjb25zdCBjdXJyVmFsXzc6YW55ID0gIShfZGVjbDBfMzcuaW52YWxpZCAmJiAoX2RlY2wwXzM3LmRpcnR5IHx8IF9kZWNsMF8zNy50b3VjaGVkKSk7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzM3LmludmFsaWQgJiYgKF9kZWNsMF8zNy5kaXJ0eSB8fCBfZGVjbDBfMzcudG91Y2hlZCkpO1xuICAgIGN1cnJWYWxfODtcbiAgICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzM3Lkljb25EZWxldGU7XG4gICAgY3VyclZhbF85O1xuICAgIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMzcuY2FuY2VsKF9hbnkudXBsb2FkSWQpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50XzRfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNy51cGxvYWRzLmxlbmd0aCA+IDApKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM3LnVwbG9hZHM7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50XzRfNigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzcuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNy5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzcuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50XzRfNygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM3LmludmFsaWQpICYmIChfZGVjbDBfMzcuZGlydHkgfHwgX2RlY2wwXzM3LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM3LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnRfNF85KCk6dm9pZCB7XG4gIGlmICgoKCgoX2RlY2wwXzM3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzcuaGVscHRleHQpICYmIF9kZWNsMF8zNy5kaXNhYmxlbGFiZWwpICYmICgoX2RlY2wwXzM3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzcuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNy5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzcuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnRfNF84KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzcuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNy5oZWxwdGV4dCkgJiYgX2RlY2wwXzM3LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM3LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnRfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTMudHJhbnNmb3JtKF9kZWNsMF8zNy5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM3Lm5hbWUsJycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzM3LmludmFsaWQgJiYgKF9kZWNsMF8zNy5kaXJ0eSB8fCBfZGVjbDBfMzcudG91Y2hlZCkpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoKF9kZWNsMF8zNy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM3LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMzcuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81Mi50cmFuc2Zvcm0oX2RlY2wwXzM3LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKCgoX2RlY2wwXzM3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzcuaGVscHRleHQpICYmIF9kZWNsMF8zNy5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKCgoX2RlY2wwXzM3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzcuaGVscHRleHQpICYmIF9kZWNsMF8zNy5kaXNhYmxlbGFiZWwpPyAxOiBudWxsKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzM3LmFjdGl2ZTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zNy51cGxvYWRoZWlnaHQ7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKF9kZWNsMF8zNy5pbnZhbGlkICYmIChfZGVjbDBfMzcuZGlydHkgfHwgX2RlY2wwXzM3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzM3LnVwbG9hZHMubGVuZ3RoID09PSAwKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzM3LnVwbG9hZHMubGVuZ3RoID4gMCk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNy5uYW1lLCdfdXBsb2FkaW5wdXQnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMzcuSGFzUXVldWVJdGVtKCk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKChfZGVjbDBfMzcuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNy5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gKChfZGVjbDBfMzcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM3LmludmFsaWQpICYmIChfZGVjbDBfMzcuZGlydHkgfHwgX2RlY2wwXzM3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoKChfZGVjbDBfMzcuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNy5oZWxwdGV4dCkgJiYgX2RlY2wwXzM3LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMzcuZHJvcEhhbmRsZXIoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIwOmFueSA9ICgoPGFueT5fZGVjbDBfMzcub25EcmFnT3ZlcihfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjE6YW55ID0gKCg8YW55Pl9kZWNsMF8zNy5vbkRyYWdMZWF2ZShfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjI6YW55ID0gKCg8YW55PihfYW55LnZhbHVlID0gJycpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMzphbnkgPSAoKDxhbnk+X2RlY2wwXzM3Lm9uVXBsb2FkKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuIl19
|
|
@@ -19,7 +19,7 @@ export class SacUploadMultipleComponent extends SacUploadMultipleCommon {
|
|
|
19
19
|
SacUploadMultipleComponent.decorators = [
|
|
20
20
|
{ type: Component, args: [{
|
|
21
21
|
selector: 'sac-uploadmultiple',
|
|
22
|
-
template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"input-group-btn\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
22
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div\r\n class=\"col-xs-12\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"input-group-btn\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
23
23
|
providers: [
|
|
24
24
|
{
|
|
25
25
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -32,7 +32,7 @@ SacUploadMultipleComponent.decorators = [
|
|
|
32
32
|
useExisting: forwardRef(() => SacUploadMultipleComponent),
|
|
33
33
|
},
|
|
34
34
|
],
|
|
35
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}"]
|
|
35
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
36
36
|
},] }
|
|
37
37
|
];
|
|
38
38
|
SacUploadMultipleComponent.ctorParameters = () => [
|
|
@@ -41,4 +41,4 @@ SacUploadMultipleComponent.ctorParameters = () => [
|
|
|
41
41
|
{ type: Renderer2 },
|
|
42
42
|
{ type: NgZone }
|
|
43
43
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkbXVsdGlwbGUuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC91cGxvYWRtdWx0aXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSw0Q0FBNEM7QUFtQjVDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx1QkFBdUI7SUFDckUsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7O1lBbENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QiwwMlVBQW9DO2dCQUVwQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLDBCQUEwQjtxQkFDeEM7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7cUJBQzFEO2lCQUNGOzthQUNGOzs7WUFwQlEsc0JBQXNCLHVCQWdDMUIsSUFBSSxZQUFJLFFBQVE7WUF4Q25CLFFBQVE7WUFHUixTQUFTO1lBRlQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFJlbmRlcmVyMixcclxuICBmb3J3YXJkUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy11cGxvYWRtdWx0aXBsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZG11bHRpcGxlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50IGV4dGVuZHMgU2FjVXBsb2FkTXVsdGlwbGVDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZVxyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIG5nWm9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
|
package/esm2015/public_api.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './controls/buttons/button.module';
|
|
5
5
|
export * from './controls/checkbox/checkbox.module';
|
|
6
|
-
export { SACBootstrap3ConfirmModule, ServiceConfirm
|
|
6
|
+
export { SACBootstrap3ConfirmModule, ServiceConfirm } from './controls/confirm/confirm.module';
|
|
7
|
+
export * from './controls/contextmenu/contextmenu.module';
|
|
7
8
|
export * from './controls/datetime/datetime.module';
|
|
8
9
|
export * from './controls/dialog/dialog.module';
|
|
9
10
|
export * from './controls/grid/grid.module';
|
|
@@ -19,7 +20,6 @@ export * from './controls/upload/upload.module';
|
|
|
19
20
|
export * from './controls/validation/validationsummary.module';
|
|
20
21
|
export * from './controls/wizard/wizard.module';
|
|
21
22
|
// Form Module and Classes
|
|
22
|
-
export * from './controls/form/form';
|
|
23
23
|
export * from './controls/form/form.module';
|
|
24
24
|
// Export Controls
|
|
25
25
|
export * from './controls/buttons/button';
|
|
@@ -27,6 +27,10 @@ export * from './controls/checkbox/checkbox';
|
|
|
27
27
|
export * from './controls/checkbox/radiobutton';
|
|
28
28
|
export * from './controls/checkbox/radiobuttons';
|
|
29
29
|
export * from './controls/confirm/confirm';
|
|
30
|
+
export * from './controls/contextmenu/contextmenu';
|
|
31
|
+
export * from './controls/contextmenu/contextmenuanchor';
|
|
32
|
+
export * from './controls/contextmenu/contextmenuitembutton';
|
|
33
|
+
export * from './controls/contextmenu/contextmenuitemsplitter';
|
|
30
34
|
export * from './controls/datetime/date';
|
|
31
35
|
export * from './controls/datetime/dateselector';
|
|
32
36
|
export * from './controls/datetime/datetime';
|
|
@@ -61,12 +65,12 @@ export * from './controls/tabs/tab';
|
|
|
61
65
|
export * from './controls/tabs/tabitem';
|
|
62
66
|
export * from './controls/tinymce/tinymce';
|
|
63
67
|
export * from './controls/tooltip/tooltip';
|
|
64
|
-
export * from './controls/treeview/ngtreeitemaction';
|
|
65
68
|
export * from './controls/treeview/treeview';
|
|
66
|
-
export * from './controls/
|
|
69
|
+
export * from './controls/upload/dropzonemultiple';
|
|
70
|
+
export * from './controls/upload/dropzonesingle';
|
|
67
71
|
export * from './controls/upload/upload';
|
|
68
72
|
export * from './controls/upload/uploadmultiple';
|
|
69
73
|
export * from './controls/validation/validationsummary';
|
|
70
74
|
export * from './controls/wizard/wizard';
|
|
71
75
|
export * from './controls/wizard/wizarditem';
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFL0YsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsMEJBQTBCO0FBQzFCLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsa0JBQWtCO0FBQ2xCLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNhYy1ib290c3RyYXAzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2J1dHRvbnMvYnV0dG9uLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XHJcblxyXG5leHBvcnQgeyBTQUNCb290c3RyYXAzQ29uZmlybU1vZHVsZSwgU2VydmljZUNvbmZpcm0gfSBmcm9tICcuL2NvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9kYXRldGltZS9kYXRldGltZS5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2dyaWQvZ3JpZC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9pbnB1dC9pbnB1dC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2xpc3QvbGlzdC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9zdGF0aWMvc3RhdGljbGFiZWwubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdGFicy90YWJzLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3RpbnltY2UvdGlueW1jZS5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdXBsb2FkL3VwbG9hZC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5Lm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3dpemFyZC93aXphcmQubW9kdWxlJztcclxuXHJcbi8vIEZvcm0gTW9kdWxlIGFuZCBDbGFzc2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZm9ybS9mb3JtLm1vZHVsZSc7XHJcblxyXG4vLyBFeHBvcnQgQ29udHJvbHNcclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9idXR0b25zL2J1dHRvbic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvY2hlY2tib3gvcmFkaW9idXR0b24nO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9jaGVja2JveC9yYWRpb2J1dHRvbnMnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9jb25maXJtL2NvbmZpcm0nO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51YW5jaG9yJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9kYXRldGltZS9kYXRlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXNlbGVjdG9yJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXRpbWUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9kYXRldGltZS90aW1lJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZGlhbG9nL2RpYWxvZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2Zvcm0vZm9ybSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2Zvcm0vaW5oZXJpdGZvcm0uZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkYnV0dG9uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkY29sdW1uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkY29sdW1uYWN0aW9uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkaW1hZ2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9ncmlkL3BhZ2luZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2lucHV0L2lucHV0JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvaW5wdXQvaW5wdXRhcmVhJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvaW5wdXQvaW5wdXRjdXJyZW5jeSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2lucHV0L2lucHV0ZGVjaW1hbCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2lucHV0L2lucHV0ZW1haWwnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9pbnB1dC9pbnB1dGludGVnZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9saXN0L2Ryb3Bkb3duJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvbGlzdC9saXN0Ym94JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvc3RhdGljL2Zvcm1jb250YWluZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy9zdGF0aWMvc3RhdGljbGFiZWwnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy90YWJzL3RhYic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3RhYnMvdGFiaXRlbSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3RpbnltY2UvdGlueW1jZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3RyZWV2aWV3L3RyZWV2aWV3JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy91cGxvYWQvZHJvcHpvbmVzaW5nbGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy91cGxvYWQvdXBsb2FkJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdXBsb2FkL3VwbG9hZG11bHRpcGxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMvdmFsaWRhdGlvbi92YWxpZGF0aW9uc3VtbWFyeSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xzL3dpemFyZC93aXphcmQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scy93aXphcmQvd2l6YXJkaXRlbSc7XHJcbiJdfQ==
|
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public_api';
|
|
5
|
-
|
|
5
|
+
export { SacContextmenuContainerDirective as ɵa } from './controls/contextmenu/contextmenucontainer';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlYW5ndWxhcmNvbnRyb2xzLXNhYy1ib290c3RyYXAzLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJzaW1wbGVhbmd1bGFyY29udHJvbHMtc2FjLWJvb3RzdHJhcDMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsZ0NBQWdDLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7U2FjQ29udGV4dG1lbnVDb250YWluZXJEaXJlY3RpdmUgYXMgybVhfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51Y29udGFpbmVyJzsiXX0=
|