atr-components 0.2.224 → 0.2.226

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.
@@ -42,6 +42,7 @@ export * from "./lib/shared/service/busi.service";
42
42
  export * from "./lib/shared/table/table-td/table-td.component";
43
43
  export * from "./lib/shared/share.service";
44
44
  export * from "./lib/shared/video/video.component";
45
+ export * from "./lib/shared/img-canvas/img-canvas.component";
45
46
  export * from "./lib/shared/validators/atr-validtors";
46
47
  export * from "./lib/shared/upload/upload.component";
47
48
  export * from "./lib/shared/table/table.component";
@@ -1,6 +1,6 @@
1
1
  import { HttpService } from './http.service';
2
2
  import { Observable } from 'rxjs';
3
- import { HttpClient, HttpEvent } from '@angular/common/http';
3
+ import { HttpClient } from '@angular/common/http';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class UploadOssService {
6
6
  private httpService;
@@ -8,8 +8,6 @@ export declare class UploadOssService {
8
8
  uploadData: any;
9
9
  constructor(httpService: HttpService, httpClient: HttpClient);
10
10
  uploadOss: (file: any, dir?: string) => Observable<any>;
11
- customReqP: (file: File) => Promise<HttpEvent<unknown> | undefined>;
12
- uploadOssFiles: (files: any[]) => Observable<any>;
13
11
  customReq: (file: File) => Observable<any>;
14
12
  static ɵfac: i0.ɵɵFactoryDeclaration<UploadOssService, never>;
15
13
  static ɵprov: i0.ɵɵInjectableDeclaration<UploadOssService>;
@@ -42,6 +42,7 @@ export * from "./lib/shared/service/busi.service";
42
42
  export * from "./lib/shared/table/table-td/table-td.component";
43
43
  export * from "./lib/shared/share.service";
44
44
  export * from "./lib/shared/video/video.component";
45
+ export * from "./lib/shared/img-canvas/img-canvas.component";
45
46
  export * from "./lib/shared/validators/atr-validtors";
46
47
  export * from "./lib/shared/upload/upload.component";
47
48
  export * from "./lib/shared/table/table.component";
@@ -51,4 +52,4 @@ export * from "./lib/shared/select-icons/select-icons.component";
51
52
  export * from "./lib/shared/echarts/echarts.component";
52
53
  export * from "./lib/shared/view-form/view-form.component";
53
54
  window.global = window;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXB1YmxpYy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9hdHItcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTNELGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsNENBQTRDLENBQUE7QUFFekQsTUFBYyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbXBvbmVudHNcbiAqL1xuaW1wb3J0IHtDaGluYU51bVBpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9jaGluYS1udW0ucGlwZVwiO1xuaW1wb3J0IHtDb3VudFBpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9jb3VudC5waXBlXCI7XG5pbXBvcnQge09zc1BpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9vc3MucGlwZVwiO1xuaW1wb3J0IHtPc3NTdGF0aWNQaXBlfSBmcm9tIFwiLi9jb3JlL3BpcGUvb3NzU3RhdGljLnBpcGVcIjtcbmltcG9ydCB7UmVtb3ZlSHRtbFBpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9yZW1vdmUtaHRtbC5waXBlXCI7XG5pbXBvcnQge1NhZmVVcmxQaXBlfSBmcm9tIFwiLi9jb3JlL3BpcGUvc2FmZS11cmwucGlwZVwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2FuaW1hdGlvbnMvYW5pbWF0aW9uc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2ludGVyY2VwdG9yL2Jhc2UuaW50ZXJjZXB0b3JcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9uZ3otbW9kdWxlL2N1cy16b3Jyby1hbnRkLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2FuaW1hdGlvbnMvZmx5LWluXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvYW5pbWF0aW9ucy9zY3JvbGwtc2NyZWVuXCJcbmV4cG9ydCAqIGZyb20gJy4vYXRyLWNvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlbGxvL2hlbGxvLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvYXV0aC9hdXRoLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9iYXNlL2F0ci1jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3JvdXRlcmV1c2UvYXRyLXJldXNlLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvdXRpbHMvVG9vbHNVdGlsXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvdXRpbHMvbG9jYWxzdG9yYWdlLnV0aWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS91dGlscy9zZXNzaW9uc3RvcmFnZS51dGlsXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvc2VydmljZXMvZGljdC9kaWN0LnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9zZXJ2aWNlcy9tZW51LnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9kaXJlY3RpdmUvcm9sZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvZGlyZWN0aXZlL2Vycm9yLWltZy5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvZGlyZWN0aXZlL2hxLXNwaW4uZGlyZWN0aXZlXCI7XG5leHBvcnQge0hlbGxvQ29tcG9uZW50fSBmcm9tICcuL2xpYi9oZWxsby9oZWxsby5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvcGlwZS1tb2R1bGUubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9pcy1lbXB0eS5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvZGljdHMucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2RlZmF1bHRWYWwucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2RheS5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvc2FmZS1jb21wdXRlLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9pcy1ub3QtZW1wdHkucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2ltYWdlLXBpcGUucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL3NhZmUtaHRtbC5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvY2hpbmEtbnVtLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9jb3VudC5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvb3NzLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9vc3NTdGF0aWMucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL3JlbW92ZS1odG1sLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9zYWZlLXVybC5waXBlXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvYXRyLXNoYXJlZC5tb2R1bGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9mb3JtL2Zvcm0uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvbG9jYWwtdXBsb2FkL2xvY2FsLXVwbG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZXJ2aWNlL2J1c2kuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NoYXJlLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92aWRlby92aWRlby5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92YWxpZGF0b3JzL2F0ci12YWxpZHRvcnNcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC91cGxvYWQvdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZWxlY3QtaWNvbnMvc2VsZWN0LWljb25zLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL2VjaGFydHMvZWNoYXJ0cy5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92aWV3LWZvcm0vdmlldy1mb3JtLmNvbXBvbmVudFwiXG5cbih3aW5kb3cgYXMgYW55KS5nbG9iYWwgPSB3aW5kb3c7XG5cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXB1YmxpYy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9hdHItcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTNELGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsOERBQThELENBQUE7QUFDNUUsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQTtBQUV6RCxNQUFjLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29tcG9uZW50c1xuICovXG5pbXBvcnQge0NoaW5hTnVtUGlwZX0gZnJvbSBcIi4vY29yZS9waXBlL2NoaW5hLW51bS5waXBlXCI7XG5pbXBvcnQge0NvdW50UGlwZX0gZnJvbSBcIi4vY29yZS9waXBlL2NvdW50LnBpcGVcIjtcbmltcG9ydCB7T3NzUGlwZX0gZnJvbSBcIi4vY29yZS9waXBlL29zcy5waXBlXCI7XG5pbXBvcnQge09zc1N0YXRpY1BpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9vc3NTdGF0aWMucGlwZVwiO1xuaW1wb3J0IHtSZW1vdmVIdG1sUGlwZX0gZnJvbSBcIi4vY29yZS9waXBlL3JlbW92ZS1odG1sLnBpcGVcIjtcbmltcG9ydCB7U2FmZVVybFBpcGV9IGZyb20gXCIuL2NvcmUvcGlwZS9zYWZlLXVybC5waXBlXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvaW50ZXJjZXB0b3IvYmFzZS5pbnRlcmNlcHRvclwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvYW5pbWF0aW9ucy9mbHktaW5cIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9hbmltYXRpb25zL3Njcm9sbC1zY3JlZW5cIlxuZXhwb3J0ICogZnJvbSAnLi9hdHItY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVsbG8vaGVsbG8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9hdXRoL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2Jhc2UvYXRyLWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvcm91dGVyZXVzZS9hdHItcmV1c2Utc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS91dGlscy9Ub29sc1V0aWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS91dGlscy9sb2NhbHN0b3JhZ2UudXRpbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3V0aWxzL3Nlc3Npb25zdG9yYWdlLnV0aWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL2h0dHAuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL21lbnUuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL3VwbG9hZC1vc3Muc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2RpcmVjdGl2ZS9yb2xlLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9kaXJlY3RpdmUvZXJyb3ItaW1nLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9kaXJlY3RpdmUvaHEtc3Bpbi5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7SGVsbG9Db21wb25lbnR9IGZyb20gJy4vbGliL2hlbGxvL2hlbGxvLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2lzLWVtcHR5LnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9kaWN0cy5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvZGVmYXVsdFZhbC5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvZGF5LnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9zYWZlLWNvbXB1dGUucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2lzLW5vdC1lbXB0eS5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvaW1hZ2UtcGlwZS5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvc2FmZS1odG1sLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9jaGluYS1udW0ucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2NvdW50LnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9vc3MucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL29zc1N0YXRpYy5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvcmVtb3ZlLWh0bWwucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL3NhZmUtdXJsLnBpcGVcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9hdHItc2hhcmVkLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NlcnZpY2UvYnVzaS5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvdGFibGUvdGFibGUtdGQvdGFibGUtdGQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvc2hhcmUuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3ZpZGVvL3ZpZGVvLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL2ltZy1jYW52YXMvaW1nLWNhbnZhcy5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92YWxpZGF0b3JzL2F0ci12YWxpZHRvcnNcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC91cGxvYWQvdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZWxlY3QtaWNvbnMvc2VsZWN0LWljb25zLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL2VjaGFydHMvZWNoYXJ0cy5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92aWV3LWZvcm0vdmlldy1mb3JtLmNvbXBvbmVudFwiXG5cbih3aW5kb3cgYXMgYW55KS5nbG9iYWwgPSB3aW5kb3c7XG5cbiJdfQ==
@@ -33,50 +33,6 @@ export class UploadOssService {
33
33
  this.httpService.post(atr_static_datas.OSS_POLICY, { dir: dir, fileName: fileName }, ToolsUtil.getHttpOptions()).subscribe(success, error);
34
34
  });
35
35
  };
36
- this.customReqP = (file) => {
37
- const formData = new FormData();
38
- for (let key in this.uploadData) {
39
- if (key != 'host')
40
- formData.append(key, this.uploadData[key]);
41
- }
42
- formData.append('file', file);
43
- const req = new HttpRequest('POST', this.uploadData.host, formData, {
44
- reportProgress: true
45
- });
46
- return this.httpClient.request(req).toPromise();
47
- };
48
- this.uploadOssFiles = (files) => {
49
- return new Observable(observe => {
50
- const success = (result) => {
51
- if (result.status === 200) {
52
- this.uploadData = result.data;
53
- let param = [];
54
- files.forEach(item => {
55
- item.key = this.uploadData.dir + ToolsUtil.getRandomFileName() + '.' + ToolsUtil.getFileExt(item.name);
56
- param.push(this.customReqP(item));
57
- });
58
- Promise.all(param).then(events => {
59
- for (let i = 0; i < events.length; i++) {
60
- if (events[i].status == 200) {
61
- events[i].url = events[i].url + files[i].key;
62
- }
63
- }
64
- observe.next(events);
65
- observe.unsubscribe();
66
- });
67
- }
68
- else {
69
- observe.next(false);
70
- observe.unsubscribe();
71
- }
72
- };
73
- const error = (err) => {
74
- observe.next(false);
75
- observe.unsubscribe();
76
- };
77
- this.httpService.post(atr_static_datas.OSS_POLICY, { dir: 'ueditor' }, ToolsUtil.getHttpOptions()).subscribe(success, error);
78
- });
79
- };
80
36
  this.customReq = (file) => {
81
37
  const formData = new FormData();
82
38
  for (let key in this.uploadData) {
@@ -111,4 +67,4 @@ UploadOssService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
111
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadOssService, decorators: [{
112
68
  type: Injectable
113
69
  }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.HttpClient }]; } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFTLFVBQXNCO1FBQXZELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUUzRSxjQUFTLEdBQUcsQ0FBQyxJQUFRLEVBQUMsR0FBRyxHQUFHLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQU0sT0FBTyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBVSxFQUFFLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUN4QixDQUFDLENB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ckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSyxFQUFFLFFBQVEsRUFBRTtnQkFDbkUsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7b0JBQ3hDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsY0FBYyxFQUFFO3FCQUVoRDt5QkFBTSxJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7d0JBQ3hDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7d0JBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ2xCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztxQkFDdkI7Z0JBQ0gsQ0FBQyxDQUFBO2dCQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtvQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN4QixDQUFDLENBQUM7Z0JBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQTtJQXpHOEUsQ0FBQzs7OEdBSHJFLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvb2xzVXRpbCB9IGZyb20gJy4uL3V0aWxzL1Rvb2xzVXRpbCc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0LCBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHthdHJfc3RhdGljX2RhdGFzfSBmcm9tIFwiLi4vYmFzZS9hdHItY29tbW9uXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRPc3NTZXJ2aWNlIHtcclxuICB1cGxvYWREYXRhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIHVwbG9hZE9zcyA9IChmaWxlOmFueSxkaXIgPSAndWVkaXRvcicpID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBzdWNjZXNzID0gKHJlc3VsdDphbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnVwbG9hZERhdGEgPSByZXN1bHQuZGF0YTtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tUmVxKGZpbGUpLnN1YnNjcmliZSgodXJsKSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCh1cmwpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgZXJyb3IgPSAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG4gICAgICBsZXQgZmlsZU5hbWUgPSBUb29sc1V0aWwuZ2V0UmFuZG9tRmlsZU5hbWUoKSArIFwiLlwiICsgVG9vbHNVdGlsLmdldEZpbGVFeHQoZmlsZS5uYW1lKTtcclxuICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0KGF0cl9zdGF0aWNfZGF0YXMuT1NTX1BPTElDWSwgeyBkaXI6IGRpcixmaWxlTmFtZTpmaWxlTmFtZX0sIFRvb2xzVXRpbC5nZXRIdHRwT3B0aW9ucygpKS5zdWJzY3JpYmUoc3VjY2VzcywgZXJyb3IpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBjdXN0b21SZXFQID0gKGZpbGU6IEZpbGUpID0+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3IobGV0IGtleSBpbiB0aGlzLnVwbG9hZERhdGEpe1xyXG4gICAgICBpZihrZXkhPSdob3N0JylcclxuICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSx0aGlzLnVwbG9hZERhdGFba2V5XSlcclxuICAgIH1cclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUgYXMgYW55KTtcclxuICAgIFxyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdGhpcy51cGxvYWREYXRhLmhvc3QhLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxKS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgdXBsb2FkT3NzRmlsZXMgPSAoZmlsZXM6IGFueVtdKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3Qgc3VjY2VzcyA9IChyZXN1bHQ6YW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy51cGxvYWREYXRhID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgICBsZXQgcGFyYW06IGFueVtdID0gW107XHJcbiAgICAgICAgICBmaWxlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmtleSA9IHRoaXMudXBsb2FkRGF0YS5kaXIgKyBUb29sc1V0aWwuZ2V0UmFuZG9tRmlsZU5hbWUoKSArICcuJyArIFRvb2xzVXRpbC5nZXRGaWxlRXh0KGl0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgIHBhcmFtLnB1c2godGhpcy5jdXN0b21SZXFQKGl0ZW0pKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBQcm9taXNlLmFsbChwYXJhbSkudGhlbihldmVudHMgPT4ge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgIGlmIChldmVudHNbaV0uc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgZXZlbnRzW2ldLnVybCA9IGV2ZW50c1tpXS51cmwgKyBmaWxlc1tpXS5rZXk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChldmVudHMpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5PU1NfUE9MSUNZLCB7ZGlyOiAndWVkaXRvcid9LCBUb29sc1V0aWwuZ2V0SHR0cE9wdGlvbnMoKSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgY3VzdG9tUmVxID0gKGZpbGU6IEZpbGUpID0+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3IobGV0IGtleSBpbiB0aGlzLnVwbG9hZERhdGEpe1xyXG4gICAgICBpZihrZXkhPSdob3N0JylcclxuICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSx0aGlzLnVwbG9hZERhdGFba2V5XSlcclxuICAgIH1cclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUgYXMgYW55KTtcclxuXHJcbiAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLnVwbG9hZERhdGEuaG9zdCEsIGZvcm1EYXRhLCB7XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3Qgc3VjY2VzcyA9IChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBjb25zdCB1cmwgPSBldmVudC51cmwgKyB0aGlzLnVwbG9hZERhdGEua2V5O1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9ICgpID0+IHtcclxuICAgICAgICBvYnNlcnZlLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFTLFVBQXNCO1FBQXZELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUUzRSxjQUFTLEdBQUcsQ0FBQyxJQUFRLEVBQUMsR0FBRyxHQUFHLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQU0sT0FBTyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBVSxFQUFFLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUN4QixDQUFDLENBQUMsQ0FBQztxQkFFSjt5QkFBTTt3QkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7cUJBQ3ZCO2dCQUNILENBQUMsQ0FBQztnQkFFRixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQU8sRUFBRSxFQUFFO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQztnQkFDRixJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxFQUFFLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUksQ0FBQyxDQUFDLENBQUM7UUFFTCxDQUFDLENBQUE7UUFFRCxjQUFTLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLEtBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBQztnQkFDN0IsSUFBRyxHQUFHLElBQUUsTUFBTTtvQkFDZCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7YUFDMUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFXLENBQUMsQ0FBQztZQUVyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUNuRSxjQUFjLEVBQUUsSUFBSTthQUNyQixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksVUFBVSxDQUFNLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtvQkFDeEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7cUJBRWhEO3lCQUFNLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTt3QkFDeEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUE7Z0JBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFO29CQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQztnQkFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO0lBMUQ4RSxDQUFDOzs4R0FIckUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9vbHNVdGlsIH0gZnJvbSAnLi4vdXRpbHMvVG9vbHNVdGlsJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXN9IGZyb20gXCIuLi9iYXNlL2F0ci1jb21tb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVwbG9hZE9zc1NlcnZpY2Uge1xyXG4gIHVwbG9hZERhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UscHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgdXBsb2FkT3NzID0gKGZpbGU6YW55LGRpciA9ICd1ZWRpdG9yJykgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAocmVzdWx0OmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudXBsb2FkRGF0YSA9IHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21SZXEoZmlsZSkuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9IFRvb2xzVXRpbC5nZXRSYW5kb21GaWxlTmFtZSgpICsgXCIuXCIgKyBUb29sc1V0aWwuZ2V0RmlsZUV4dChmaWxlLm5hbWUpO1xyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5PU1NfUE9MSUNZLCB7IGRpcjogZGlyLGZpbGVOYW1lOmZpbGVOYW1lfSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIFxyXG4gIGN1c3RvbVJlcSA9IChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9yKGxldCBrZXkgaW4gdGhpcy51cGxvYWREYXRhKXtcclxuICAgICAgaWYoa2V5IT0naG9zdCcpXHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksdGhpcy51cGxvYWREYXRhW2tleV0pXHJcbiAgICB9XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlIGFzIGFueSk7XHJcblxyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdGhpcy51cGxvYWREYXRhLmhvc3QhLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MpIHtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gZXZlbnQudXJsICsgdGhpcy51cGxvYWREYXRhLmtleTtcclxuICAgICAgICAgIG9ic2VydmUubmV4dCh1cmwpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChyZXEpLnN1YnNjcmliZShzdWNjZXNzLCBlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -27,6 +27,7 @@ import { DragulaModule } from 'ng2-dragula';
27
27
  import { AtrRoleDirective } from "../../core/directive/role.directive";
28
28
  import { AtrErrorImgDirective } from "../../core/directive/error-img.directive";
29
29
  import { HqSpinDirective } from "../../core/directive/hq-spin.directive";
30
+ import { ImgCanvasComponent } from "./img-canvas/img-canvas.component";
30
31
  import * as i0 from "@angular/core";
31
32
  import * as i1 from "ng2-dragula";
32
33
  import * as i2 from "ngx-quill";
@@ -38,7 +39,7 @@ const SERVICE_PROVIDES = [];
38
39
  registerLocaleData(zh);
39
40
  // #endregion
40
41
  // #region your componets & directives
41
- const COMPONENTS = [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
42
+ const COMPONENTS = [ImgCanvasComponent, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
42
43
  SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent];
43
44
  const DIRECTIVES = [AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective,];
44
45
  //SharedModule
@@ -49,7 +50,7 @@ const DIRECTIVES = [AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective,];
49
50
  export class AtrSharedModule {
50
51
  }
51
52
  AtrSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
- AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, declarations: [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
53
+ AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, declarations: [ImgCanvasComponent, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
53
54
  SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective], imports: [PipeModuleModule,
54
55
  CommonModule,
55
56
  FormsModule,
@@ -64,7 +65,7 @@ AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
64
65
  FormsModule,
65
66
  ReactiveFormsModule,
66
67
  RouterModule, CusNgZorroAntdModule,
67
- NzResizableModule, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
68
+ NzResizableModule, ImgCanvasComponent, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
68
69
  SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, PipeModuleModule, AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective] });
69
70
  AtrSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, providers: SERVICE_PROVIDES, imports: [[
70
71
  PipeModuleModule,
@@ -195,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
195
196
  providers: SERVICE_PROVIDES
196
197
  }]
197
198
  }] });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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QUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUMsQ0FBQzt3Q0FDckMsQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQzt3Q0FDL0Isa0JBQWtCO3dDQUNsQixDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3dDQUNiLENBQUMsT0FBTyxDQUFDO3dDQUNULENBQUMsT0FBTyxDQUFDLEVBQXVCLHdCQUF3QjtxQ0FDekQ7b0NBQ0QsUUFBUSxFQUFFO3dDQUNSLElBQUk7NENBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3Q0FDL0IsQ0FBQzt3Q0FDRCxJQUFJOzRDQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7d0NBQy9CLENBQUM7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixHQUFHLFlBQVk7d0JBQ2Ysa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsZ0JBQWdCO3dCQUNoQixHQUFHLFVBQVU7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFDLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXRyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnpSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB6aCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XHJcbmltcG9ydCB7IExvY2FsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby92aWRlby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1ZnQ29udHJvbHNNb2R1bGUsIFZnQ29yZU1vZHVsZSwgVmdPdmVybGF5UGxheU1vZHVsZSwgVmdCdWZmZXJpbmdNb2R1bGV9IGZyb20gXCJuZ3gtdmlkZW9ndWxhclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1RhYmxlVGRDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYmxlRm9ybUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtBdHJDb21wb25lbnRzTW9kdWxlfSBmcm9tIFwiLi4vLi4vYXRyLWNvbXBvbmVudHMubW9kdWxlXCI7XHJcbmltcG9ydCB7Q3VzTmdab3Jyb0FudGRNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCI7XHJcbmltcG9ydCB7UXVpbGxFZGl0b3JDb21wb25lbnR9IGZyb20gXCIuL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UXVpbGxNb2R1bGV9IGZyb20gXCJuZ3gtcXVpbGxcIjtcclxuaW1wb3J0IHtTZWxlY3RJY29uc0NvbXBvbmVudH0gZnJvbSBcIi4vc2VsZWN0LWljb25zL3NlbGVjdC1pY29ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtFY2hhcnRzQ29tcG9uZW50fSBmcm9tIFwiLi9lY2hhcnRzL2VjaGFydHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Vmlld0Zvcm1Db21wb25lbnR9IGZyb20gXCIuL3ZpZXctZm9ybS92aWV3LWZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICduZzItZHJhZ3VsYSc7XHJcbmltcG9ydCB7QXRyUm9sZURpcmVjdGl2ZX0gZnJvbSBcIi4uLy4uL2NvcmUvZGlyZWN0aXZlL3JvbGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7QXRyRXJyb3JJbWdEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9jb3JlL2RpcmVjdGl2ZS9lcnJvci1pbWcuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7SHFTcGluRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vY29yZS9kaXJlY3RpdmUvaHEtc3Bpbi5kaXJlY3RpdmVcIjtcclxuXHJcbmNvbnN0IFRISVJETU9EVUxFUyA9IFtcclxuICBDdXNOZ1pvcnJvQW50ZE1vZHVsZSxcclxuICBOelJlc2l6YWJsZU1vZHVsZSxcclxuXHJcbl07XHJcblxyXG5jb25zdCBTRVJWSUNFX1BST1ZJREVTOmFueSA9IFtdO1xyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIHlvdXIgY29tcG9uZXRzICYgZGlyZWN0aXZlc1xyXG5jb25zdCBDT01QT05FTlRTID0gW1F1aWxsRWRpdG9yQ29tcG9uZW50LFRhYmxlRm9ybUl0ZW1Db21wb25lbnQsVGFibGVUZENvbXBvbmVudCxBdHJUYWJsZUNvbXBvbmVudCxVcGxvYWRDb21wb25lbnQsQXRyRm9ybUNvbXBvbmVudCxMb2NhbFVwbG9hZENvbXBvbmVudCxcclxuICBTZWxlY3RUcmVlQ29tcG9uZW50LFZpZGVvQ29tcG9uZW50LFNlbGVjdEljb25zQ29tcG9uZW50LEVjaGFydHNDb21wb25lbnQsVmlld0Zvcm1Db21wb25lbnRdO1xyXG5jb25zdCBESVJFQ1RJVkVTID0gW0F0clJvbGVEaXJlY3RpdmUsIEF0ckVycm9ySW1nRGlyZWN0aXZlLCBIcVNwaW5EaXJlY3RpdmUsXTtcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgVmdDb3JlTW9kdWxlLFxyXG4gICAgVmdDb250cm9sc01vZHVsZSxcclxuICAgIFZnT3ZlcmxheVBsYXlNb2R1bGUsXHJcbiAgICBWZ0J1ZmZlcmluZ01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgRHJhZ3VsYU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBBdHJDb21wb25lbnRzTW9kdWxlLFxyXG4gICAgUXVpbGxNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIG1vZHVsZXM6IHtcclxuICAgICAgICBzeW50YXg6IGZhbHNlLFxyXG4gICAgICAgIC8vIGltYWdlUmVzaXplOiB7fSxcclxuICAgICAgICByZXNpemU6IHtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2xiYXI6IHtcclxuICAgICAgICAgIGNvbnRhaW5lcjogW1xyXG4gICAgICAgICAgICBbJ3VuZG8nLCAncmVkbyddLFxyXG4gICAgICAgICAgICBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZSddLCAgICAgICAgLy8gdG9nZ2xlZCBidXR0b25zXHJcbiAgICAgICAgICAgIC8vIFsnY29kZS1ibG9jayddLCAvLyBibG9ja3F1b3RlXHJcbiAgICAgICAgICAgIC8vIFt7IGhlYWRlcjogMSB9LCB7IGhlYWRlcjogMiB9XSwgICAgICAgICAgICAgICAvLyBjdXN0b20gYnV0dG9uIHZhbHVlc1xyXG4gICAgICAgICAgICBbe2xpc3Q6ICdvcmRlcmVkJ30sIHtsaXN0OiAnYnVsbGV0J31dLFxyXG4gICAgICAgICAgICAvLyBbeyBzY3JpcHQ6ICdzdWInIH0sIHsgc2NyaXB0OiAnc3VwZXInIH1dLCAgICAgIC8vIHN1cGVyc2NyaXB0L3N1YnNjcmlwdFxyXG4gICAgICAgICAgICBbe2luZGVudDogJy0xJ30sIHtpbmRlbnQ6ICcrMSd9XSwgICAgICAgICAgLy8gb3V0ZGVudC9pbmRlbnRcclxuICAgICAgICAgICAgLy8gW3sgZGlyZWN0aW9uOiAncnRsJyB9XSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGV4dCBkaXJlY3Rpb25cclxuICAgICAgICAgICAgLy8gW3sgc2l6ZTogWydzbWFsbCcsIGZhbHNlLCAnbGFyZ2UnLCAnaHVnZSddIH1dLCAgLy8gY3VzdG9tIGRyb3Bkb3duXHJcbiAgICAgICAgICAgIFt7aGVhZGVyOiBbMSwgMiwgMywgNCwgNSwgNiwgZmFsc2VdfV0sXHJcbiAgICAgICAgICAgIFt7Y29sb3I6IFtdfSwge2JhY2tncm91bmQ6IFtdfV0sICAgICAgICAgIC8vIGRyb3Bkb3duIHdpdGggZGVmYXVsdHMgZnJvbSB0aGVtZVxyXG4gICAgICAgICAgICAvLyBbeyBmb250OiBbXSB9XSxcclxuICAgICAgICAgICAgW3thbGlnbjogW119XSxcclxuICAgICAgICAgICAgWydjbGVhbiddLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGZvcm1hdHRpbmcgYnV0dG9uXHJcbiAgICAgICAgICAgIFsnaW1hZ2UnXSwgICAgICAgICAgICAgICAgICAgICAgLy8gbGluayBhbmQgaW1hZ2UsIHZpZGVvXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgaGFuZGxlcnM6IHtcclxuICAgICAgICAgICAgcmVkbygpIHtcclxuICAgICAgICAgICAgICB0aGlzWydxdWlsbCddLmhpc3RvcnkucmVkbygpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB1bmRvKCkge1xyXG4gICAgICAgICAgICAgIHRoaXNbJ3F1aWxsJ10uaGlzdG9yeS51bmRvKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAvLyB5b3VyIGNvbXBvbmVudHNcclxuICAgIC4uLkNPTVBPTkVOVFMsXHJcbiAgICAuLi5ESVJFQ1RJVkVTXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIC8vIHRoaXJkIGxpYnNcclxuICAgIC4uLlRISVJETU9EVUxFUyxcclxuICAgIC8vIHlvdXIgY29tcG9uZW50c1xyXG4gICAgLi4uQ09NUE9ORU5UUyxcclxuICAgIFBpcGVNb2R1bGVNb2R1bGUsXHJcbiAgICAuLi5ESVJFQ1RJVkVTXHJcbiAgXSxcclxuICBwcm92aWRlcnM6U0VSVklDRV9QUk9WSURFU1xyXG59KVxyXG4vL1NoYXJlZE1vZHVsZVxyXG4vLyDlupQg5YyF5ZCr5a6a5LmJ77yaXHJcbi8vIOW6lOeUqOmAmueUqOiHquWumuS5ieS4muWKoee7hOS7tlxyXG4vLyDlupQg5a+85Ye65omA5pyJ5YyF5ZCr55qE5qih5Z2X44CCXHJcbi8vIOS4jeW6lCDmnIkgcHJvdmlkZXJzIOWxnuaAp+OAglxyXG5leHBvcnQgY2xhc3MgQXRyU2hhcmVkTW9kdWxlIHsgfVxyXG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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QUFDLENBQUM7d0NBQ2hDLG9FQUFvRTt3Q0FDcEUscUVBQXFFO3dDQUNyRSxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUMsQ0FBQzt3Q0FDckMsQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQzt3Q0FDL0Isa0JBQWtCO3dDQUNsQixDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO3dDQUNiLENBQUMsT0FBTyxDQUFDO3dDQUNULENBQUMsT0FBTyxDQUFDLEVBQXVCLHdCQUF3QjtxQ0FDekQ7b0NBQ0QsUUFBUSxFQUFFO3dDQUNSLElBQUk7NENBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3Q0FDL0IsQ0FBQzt3Q0FDRCxJQUFJOzRDQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7d0NBQy9CLENBQUM7cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixHQUFHLFlBQVk7d0JBQ2Ysa0JBQWtCO3dCQUNsQixHQUFHLFVBQVU7d0JBQ2IsZ0JBQWdCO3dCQUNoQixHQUFHLFVBQVU7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFDLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXRyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnpSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB6aCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XHJcbmltcG9ydCB7IExvY2FsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby92aWRlby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1ZnQ29udHJvbHNNb2R1bGUsIFZnQ29yZU1vZHVsZSwgVmdPdmVybGF5UGxheU1vZHVsZSwgVmdCdWZmZXJpbmdNb2R1bGV9IGZyb20gXCJuZ3gtdmlkZW9ndWxhclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1RhYmxlVGRDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYmxlRm9ybUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtBdHJDb21wb25lbnRzTW9kdWxlfSBmcm9tIFwiLi4vLi4vYXRyLWNvbXBvbmVudHMubW9kdWxlXCI7XHJcbmltcG9ydCB7Q3VzTmdab3Jyb0FudGRNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCI7XHJcbmltcG9ydCB7UXVpbGxFZGl0b3JDb21wb25lbnR9IGZyb20gXCIuL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UXVpbGxNb2R1bGV9IGZyb20gXCJuZ3gtcXVpbGxcIjtcclxuaW1wb3J0IHtTZWxlY3RJY29uc0NvbXBvbmVudH0gZnJvbSBcIi4vc2VsZWN0LWljb25zL3NlbGVjdC1pY29ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtFY2hhcnRzQ29tcG9uZW50fSBmcm9tIFwiLi9lY2hhcnRzL2VjaGFydHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Vmlld0Zvcm1Db21wb25lbnR9IGZyb20gXCIuL3ZpZXctZm9ybS92aWV3LWZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICduZzItZHJhZ3VsYSc7XHJcbmltcG9ydCB7QXRyUm9sZURpcmVjdGl2ZX0gZnJvbSBcIi4uLy4uL2NvcmUvZGlyZWN0aXZlL3JvbGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7QXRyRXJyb3JJbWdEaXJlY3RpdmV9IGZyb20gXCIuLi8uLi9jb3JlL2RpcmVjdGl2ZS9lcnJvci1pbWcuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7SHFTcGluRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vY29yZS9kaXJlY3RpdmUvaHEtc3Bpbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtJbWdDYW52YXNDb21wb25lbnR9IGZyb20gXCIuL2ltZy1jYW52YXMvaW1nLWNhbnZhcy5jb21wb25lbnRcIjtcclxuXHJcbmNvbnN0IFRISVJETU9EVUxFUyA9IFtcclxuICBDdXNOZ1pvcnJvQW50ZE1vZHVsZSxcclxuICBOelJlc2l6YWJsZU1vZHVsZSxcclxuXHJcbl07XHJcblxyXG5jb25zdCBTRVJWSUNFX1BST1ZJREVTOmFueSA9IFtdO1xyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIHlvdXIgY29tcG9uZXRzICYgZGlyZWN0aXZlc1xyXG5jb25zdCBDT01QT05FTlRTID0gW0ltZ0NhbnZhc0NvbXBvbmVudCxRdWlsbEVkaXRvckNvbXBvbmVudCxUYWJsZUZvcm1JdGVtQ29tcG9uZW50LFRhYmxlVGRDb21wb25lbnQsQXRyVGFibGVDb21wb25lbnQsVXBsb2FkQ29tcG9uZW50LEF0ckZvcm1Db21wb25lbnQsTG9jYWxVcGxvYWRDb21wb25lbnQsXHJcbiAgU2VsZWN0VHJlZUNvbXBvbmVudCxWaWRlb0NvbXBvbmVudCxTZWxlY3RJY29uc0NvbXBvbmVudCxFY2hhcnRzQ29tcG9uZW50LFZpZXdGb3JtQ29tcG9uZW50XTtcclxuY29uc3QgRElSRUNUSVZFUyA9IFtBdHJSb2xlRGlyZWN0aXZlLCBBdHJFcnJvckltZ0RpcmVjdGl2ZSwgSHFTcGluRGlyZWN0aXZlLF07XHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgUGlwZU1vZHVsZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIC8vIHRoaXJkIGxpYnNcclxuICAgIC4uLlRISVJETU9EVUxFUyxcclxuICAgIFZnQ29yZU1vZHVsZSxcclxuICAgIFZnQ29udHJvbHNNb2R1bGUsXHJcbiAgICBWZ092ZXJsYXlQbGF5TW9kdWxlLFxyXG4gICAgVmdCdWZmZXJpbmdNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIERyYWd1bGFNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgQXRyQ29tcG9uZW50c01vZHVsZSxcclxuICAgIFF1aWxsTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgc3ludGF4OiBmYWxzZSxcclxuICAgICAgICAvLyBpbWFnZVJlc2l6ZToge30sXHJcbiAgICAgICAgcmVzaXplOiB7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sYmFyOiB7XHJcbiAgICAgICAgICBjb250YWluZXI6IFtcclxuICAgICAgICAgICAgWyd1bmRvJywgJ3JlZG8nXSxcclxuICAgICAgICAgICAgWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnXSwgICAgICAgIC8vIHRvZ2dsZWQgYnV0dG9uc1xyXG4gICAgICAgICAgICAvLyBbJ2NvZGUtYmxvY2snXSwgLy8gYmxvY2txdW90ZVxyXG4gICAgICAgICAgICAvLyBbeyBoZWFkZXI6IDEgfSwgeyBoZWFkZXI6IDIgfV0sICAgICAgICAgICAgICAgLy8gY3VzdG9tIGJ1dHRvbiB2YWx1ZXNcclxuICAgICAgICAgICAgW3tsaXN0OiAnb3JkZXJlZCd9LCB7bGlzdDogJ2J1bGxldCd9XSxcclxuICAgICAgICAgICAgLy8gW3sgc2NyaXB0OiAnc3ViJyB9LCB7IHNjcmlwdDogJ3N1cGVyJyB9XSwgICAgICAvLyBzdXBlcnNjcmlwdC9zdWJzY3JpcHRcclxuICAgICAgICAgICAgW3tpbmRlbnQ6ICctMSd9LCB7aW5kZW50OiAnKzEnfV0sICAgICAgICAgIC8vIG91dGRlbnQvaW5kZW50XHJcbiAgICAgICAgICAgIC8vIFt7IGRpcmVjdGlvbjogJ3J0bCcgfV0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHQgZGlyZWN0aW9uXHJcbiAgICAgICAgICAgIC8vIFt7IHNpemU6IFsnc21hbGwnLCBmYWxzZSwgJ2xhcmdlJywgJ2h1Z2UnXSB9XSwgIC8vIGN1c3RvbSBkcm9wZG93blxyXG4gICAgICAgICAgICBbe2hlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXX1dLFxyXG4gICAgICAgICAgICBbe2NvbG9yOiBbXX0sIHtiYWNrZ3JvdW5kOiBbXX1dLCAgICAgICAgICAvLyBkcm9wZG93biB3aXRoIGRlZmF1bHRzIGZyb20gdGhlbWVcclxuICAgICAgICAgICAgLy8gW3sgZm9udDogW10gfV0sXHJcbiAgICAgICAgICAgIFt7YWxpZ246IFtdfV0sXHJcbiAgICAgICAgICAgIFsnY2xlYW4nXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBmb3JtYXR0aW5nIGJ1dHRvblxyXG4gICAgICAgICAgICBbJ2ltYWdlJ10sICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmsgYW5kIGltYWdlLCB2aWRlb1xyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIGhhbmRsZXJzOiB7XHJcbiAgICAgICAgICAgIHJlZG8oKSB7XHJcbiAgICAgICAgICAgICAgdGhpc1sncXVpbGwnXS5oaXN0b3J5LnJlZG8oKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdW5kbygpIHtcclxuICAgICAgICAgICAgICB0aGlzWydxdWlsbCddLmhpc3RvcnkudW5kbygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgLy8geW91ciBjb21wb25lbnRzXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgLi4uRElSRUNUSVZFU1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICAvLyB0aGlyZCBsaWJzXHJcbiAgICAuLi5USElSRE1PRFVMRVMsXHJcbiAgICAvLyB5b3VyIGNvbXBvbmVudHNcclxuICAgIC4uLkNPTVBPTkVOVFMsXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgLi4uRElSRUNUSVZFU1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOlNFUlZJQ0VfUFJPVklERVNcclxufSlcclxuLy9TaGFyZWRNb2R1bGVcclxuLy8g5bqUIOWMheWQq+WumuS5ie+8mlxyXG4vLyDlupTnlKjpgJrnlKjoh6rlrprkuYnkuJrliqHnu4Tku7ZcclxuLy8g5bqUIOWvvOWHuuaJgOacieWMheWQq+eahOaooeWdl+OAglxyXG4vLyDkuI3lupQg5pyJIHByb3ZpZGVycyDlsZ7mgKfjgIJcclxuZXhwb3J0IGNsYXNzIEF0clNoYXJlZE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,100 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ImgCanvasComponent {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
6
+ this.width = 800;
7
+ this.height = 800;
8
+ this.canvasId = new Date() + `-`;
9
+ }
10
+ set url(url) {
11
+ this.imgUrl = url;
12
+ // this.initImg(url)
13
+ }
14
+ ngOnInit() {
15
+ }
16
+ guid() {
17
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
18
+ var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
19
+ return v.toString(16);
20
+ });
21
+ }
22
+ getCanvasFull() {
23
+ let imgW = this.img.width; //图片的宽
24
+ let imgH = this.img.height; //图片的高
25
+ let cW = this.width;
26
+ let cH = this.height;
27
+ let rateW = imgH / imgW; //比例
28
+ let rateH = imgW / imgH; //比例
29
+ if (imgW > imgH) {
30
+ imgW = this.width;
31
+ imgH = imgW * rateW;
32
+ if (imgH > cH) {
33
+ imgH = cH;
34
+ imgW = imgH * rateH;
35
+ }
36
+ }
37
+ else {
38
+ imgH = this.height;
39
+ imgW = imgH * rateH;
40
+ if (imgW > cW) {
41
+ imgW = cW;
42
+ imgH = imgW * rateW;
43
+ }
44
+ }
45
+ // imgH = this.canvasDom.offsetHeight
46
+ // imgW = this.canvasDom.offsetWidth
47
+ // let canvasH = imgH * rate
48
+ // if (canvasH > this.height) {
49
+ // canvasH = this.height
50
+ // rate = canvasH / imgH
51
+ // canvasW = imgW * rate
52
+ // }
53
+ console.log("图片宽高", imgW + ";" + imgH);
54
+ return {
55
+ imgW: imgW,
56
+ imgH: imgH
57
+ };
58
+ }
59
+ initImg() {
60
+ this.canvasDom = this.canvas1.nativeElement;
61
+ // this.canvasDom = document.getElementById(this.canvasId);
62
+ //检测支持性
63
+ if (!this.canvasDom.getContext('2d'))
64
+ return;
65
+ //获得 2d 上下文对象
66
+ this.context1 = this.canvasDom.getContext('2d');
67
+ this.img = new Image(); //创建img元素
68
+ this.img.setAttribute('crossOrigin', 'anonymous');
69
+ this.img.src = this.imgUrl; //设置图片源地址
70
+ // this.img.src = ToolsUtil.getOssUrl(this.imgUrl);//设置图片源地址
71
+ this.img.onload = () => {
72
+ console.log("图片加载完毕", this.img.height);
73
+ console.log("图片加载完毕", this.img.width);
74
+ const { imgW, imgH } = this.getCanvasFull();
75
+ this.canvasDom.width = this.width;
76
+ this.canvasDom.height = this.height;
77
+ // 参数 1:要绘制的 img 参数 2、3:绘制的 img 在 canvas 中的坐标 参数4,5是width,height
78
+ this.context1.drawImage(this.img, 0, 0, this.width, this.height);
79
+ console.log("图片加载完毕", this.canvasDom.width + "," + this.canvasDom.height);
80
+ };
81
+ }
82
+ ngAfterViewInit() {
83
+ setTimeout(() => {
84
+ console.log('当前组件宽高', this.elementRef.nativeElement.offsetHeight);
85
+ this.initImg();
86
+ }, 300);
87
+ }
88
+ }
89
+ ImgCanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImgCanvasComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
90
+ ImgCanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ImgCanvasComponent, selector: "app-img", inputs: { url: "url" }, viewQueries: [{ propertyName: "canvas1", first: true, predicate: ["canvas1"], descendants: true }], ngImport: i0, template: "<canvas #canvas1 style=\"width: 100%;height: 100%\">\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\n</canvas>\n", styles: [""] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImgCanvasComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'app-img', template: "<canvas #canvas1 style=\"width: 100%;height: 100%\">\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\n</canvas>\n", styles: [""] }]
94
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { url: [{
95
+ type: Input
96
+ }], canvas1: [{
97
+ type: ViewChild,
98
+ args: ['canvas1', { static: false }]
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2ltZy1jYW52YXMvaW1nLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2ltZy1jYW52YXMvaW1nLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU83RixNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUDFDLFVBQUssR0FBRyxHQUFHLENBQUM7UUFDWixXQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2IsYUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBTTVCLENBQUM7SUFmRCxJQUFhLEdBQUcsQ0FBQyxHQUFXO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLG9CQUFvQjtJQUN0QixDQUFDO0lBY0QsUUFBUTtJQUVSLENBQUM7SUFFRCxJQUFJO1FBQ0YsT0FBTyxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztZQUN4RSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDNUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4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LENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQztZQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzRSxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUNqRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDaEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsQ0FBQzs7Z0hBbEdVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLDJLQ1AvQiwySUFHQTs0RkRJYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsU0FBUztpR0FNTixHQUFHO3NCQUFmLEtBQUs7Z0JBS2lDLE9BQU87c0JBQTdDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW1nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltZy1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWctY2FudmFzLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1nQ2FudmFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBzZXQgdXJsKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5pbWdVcmwgPSB1cmw7XG4gICAgLy8gdGhpcy5pbml0SW1nKHVybClcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2NhbnZhczEnLCB7c3RhdGljOiBmYWxzZX0pIGNhbnZhczE6IGFueTtcbiAgY2FudmFzRG9tOiBhbnlcbiAgd2lkdGggPSA4MDA7XG4gIGhlaWdodCA9IDgwMDtcbiAgY2FudmFzSWQgPSBuZXcgRGF0ZSgpICsgYC1gO1xuICBpbWdVcmw6IGFueTtcbiAgaW1nOiBhbnk7XG4gIGNvbnRleHQxOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgZ3VpZCgpIHtcbiAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbiAoYykge1xuICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxuICAgICAgICB2ID0gYyA9PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FudmFzRnVsbCgpIHtcbiAgICBsZXQgaW1nVyA9IHRoaXMuaW1nLndpZHRoLy/lm77niYfnmoTlrr1cbiAgICBsZXQgaW1nSCA9IHRoaXMuaW1nLmhlaWdodC8v5Zu+54mH55qE6auYXG4gICAgbGV0IGNXID0gdGhpcy53aWR0aDtcbiAgICBsZXQgY0ggPSB0aGlzLmhlaWdodDtcbiAgICBsZXQgcmF0ZVcgPSBpbWdIIC8gaW1nVy8v5q+U5L6LXG4gICAgbGV0IHJhdGVIID0gaW1nVyAvIGltZ0gvL+avlOS+i1xuICAgIGlmIChpbWdXID4gaW1nSCkge1xuICAgICAgaW1nVyA9IHRoaXMud2lkdGhcbiAgICAgIGltZ0ggPSBpbWdXICogcmF0ZVc7XG4gICAgICBpZiAoaW1nSCA+IGNIKSB7XG4gICAgICAgIGltZ0ggPSBjSFxuICAgICAgICBpbWdXID0gaW1nSCAqIHJhdGVIXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGltZ0ggPSB0aGlzLmhlaWdodFxuICAgICAgaW1nVyA9IGltZ0ggKiByYXRlSDtcbiAgICAgIGlmIChpbWdXID4gY1cpIHtcbiAgICAgICAgaW1nVyA9IGNXXG4gICAgICAgIGltZ0ggPSBpbWdXICogcmF0ZVdcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbWdIID0gdGhpcy5jYW52YXNEb20ub2Zmc2V0SGVpZ2h0XG4gICAgLy8gaW1nVyA9IHRoaXMuY2FudmFzRG9tLm9mZnNldFdpZHRoXG4gICAgLy8gbGV0IGNhbnZhc0ggPSBpbWdIICogcmF0ZVxuICAgIC8vIGlmIChjYW52YXNIID4gdGhpcy5oZWlnaHQpIHtcbiAgICAvLyAgIGNhbnZhc0ggPSB0aGlzLmhlaWdodFxuICAgIC8vICAgcmF0ZSA9IGNhbnZhc0ggLyBpbWdIXG4gICAgLy8gICBjYW52YXNXID0gaW1nVyAqIHJhdGVcbiAgICAvLyB9XG4gICAgY29uc29sZS5sb2coXCLlm77niYflrr3pq5hcIiwgaW1nVyArIFwiO1wiICsgaW1nSClcbiAgICByZXR1cm4ge1xuICAgICAgaW1nVzogaW1nVyxcbiAgICAgIGltZ0g6IGltZ0hcbiAgICB9XG4gIH1cblxuICBpbml0SW1nKCkge1xuICAgIHRoaXMuY2FudmFzRG9tID0gdGhpcy5jYW52YXMxLm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gdGhpcy5jYW52YXNEb20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbnZhc0lkKTtcbiAgICAvL+ajgOa1i+aUr+aMgeaAp1xuICAgIGlmICghdGhpcy5jYW52YXNEb20uZ2V0Q29udGV4dCgnMmQnKSkgcmV0dXJuO1xuICAgIC8v6I635b6XIDJkIOS4iuS4i+aWh+WvueixoVxuICAgIHRoaXMuY29udGV4dDEgPSB0aGlzLmNhbnZhc0RvbS5nZXRDb250ZXh0KCcyZCcpO1xuICAgIHRoaXMuaW1nID0gbmV3IEltYWdlKCk7Ly/liJvlu7ppbWflhYPntKBcbiAgICB0aGlzLmltZy5zZXRBdHRyaWJ1dGUoJ2Nyb3NzT3JpZ2luJywgJ2Fub255bW91cycpXG5cbiAgICB0aGlzLmltZy5zcmMgPSB0aGlzLmltZ1VybDsvL+iuvue9ruWbvueJh+a6kOWcsOWdgFxuICAgIC8vIHRoaXMuaW1nLnNyYyA9IFRvb2xzVXRpbC5nZXRPc3NVcmwodGhpcy5pbWdVcmwpOy8v6K6+572u5Zu+54mH5rqQ5Zyw5Z2AXG4gICAgdGhpcy5pbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXCLlm77niYfliqDovb3lrozmr5VcIiwgdGhpcy5pbWcuaGVpZ2h0KVxuICAgICAgY29uc29sZS5sb2coXCLlm77niYfliqDovb3lrozmr5VcIiwgdGhpcy5pbWcud2lkdGgpXG4gICAgICBjb25zdCB7aW1nVywgaW1nSH0gPSB0aGlzLmdldENhbnZhc0Z1bGwoKTtcbiAgICAgIHRoaXMuY2FudmFzRG9tLndpZHRoID0gdGhpcy53aWR0aDtcbiAgICAgIHRoaXMuY2FudmFzRG9tLmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgLy8g5Y+C5pWwIDHvvJropoHnu5jliLbnmoQgaW1nICAg5Y+C5pWwIDLjgIEz77ya57uY5Yi255qEIGltZyDlnKggY2FudmFzIOS4reeahOWdkOaghyDlj4LmlbA0LDXmmK93aWR0aO+8jGhlaWdodFxuICAgICAgdGhpcy5jb250ZXh0MS5kcmF3SW1hZ2UodGhpcy5pbWcsIDAsIDAsIHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0LCk7XG4gICAgICBjb25zb2xlLmxvZyhcIuWbvueJh+WKoOi9veWujOavlVwiLCB0aGlzLmNhbnZhc0RvbS53aWR0aCArIFwiLFwiICsgdGhpcy5jYW52YXNEb20uaGVpZ2h0KVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCflvZPliY3nu4Tku7blrr3pq5gnLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpXG4gICAgICB0aGlzLmluaXRJbWcoKVxuICAgIH0sIDMwMClcbiAgfVxuXG59XG4iLCI8Y2FudmFzICNjYW52YXMxIHN0eWxlPVwid2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlXCI+XG4gICAg5oKo55qE5rWP6KeI5Zmo5LiN5pSv5oyB55S75biD77yBXG48L2NhbnZhcz5cbiJdfQ==
@@ -126,18 +126,16 @@ export class QuillEditorComponent {
126
126
  if (!blods || blods.length <= 0) {
127
127
  return;
128
128
  }
129
- this.uploadOssService.uploadOssFiles(blods.map((v) => v.blob)).subscribe((res) => {
130
- if (res && res.length > 0) {
129
+ for (let i = 0; i < blods.length; i++) {
130
+ let blob = blods[i];
131
+ this.uploadOssService.uploadOss(blob).subscribe((url) => {
131
132
  let delta = this.editor.getContents();
132
- for (let i = 0; i < res.length; i++) {
133
- console.log('delta', delta);
134
- delta.filter((opt) => opt && opt.insert && opt.insert.image == blods[i].oldUrl).forEach((opt, index) => {
135
- opt.insert.image = res[i].url;
136
- });
137
- }
133
+ delta.filter((opt) => opt && opt.insert && opt.insert.image == blods[i].oldUrl).forEach((opt, index) => {
134
+ opt.insert.image = url;
135
+ });
138
136
  this.editor.setContents(delta, 'api');
139
- }
140
- });
137
+ });
138
+ }
141
139
  }
142
140
  isEndContents(blods, index) {
143
141
  let details = this.editor.getContents();
@@ -247,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
247
245
  }], needImgSeq: [{
248
246
  type: Input
249
247
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBRXhELEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN2QyxLQUFLLENBQUMsSUFBSSxHQUFHOzs7T0FHTixDQUFDO0FBQ1IsS0FBSyxDQUFDLElBQUksR0FBRzs7O09BR04sQ0FBQztBQWVSLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0IsWUFBb0IsZ0JBQWtDLEVBQVUsT0FBeUI7UUFBckUscUJBQWdCLEdBQWhCLGdCQUFn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LENBQUM7O2tIQXROVSxvQkFBb0I7c0dBQXBCLG9CQUFvQixxS0FUcEI7UUFDVCxnQkFBZ0I7UUFDaEI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2hDSCxpdkRBbUNBOzRGRERhLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1QsZ0JBQWdCO3dCQUNoQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0lBSVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xyXG5pbXBvcnQgUmVzaXplTW9kdWxlIGZyb20gXCJAc3N1bW8vcXVpbGwtcmVzaXplLW1vZHVsZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XHJcbmltcG9ydCB7VXBsb2FkT3NzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXBsb2FkLW9zcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tIFwiLi4vLi4vLi4vY29yZS91dGlscy9Ub29sc1V0aWxcIjtcclxuXHJcblF1aWxsLnJlZ2lzdGVyKFwibW9kdWxlcy9yZXNpemVcIiwgUmVzaXplTW9kdWxlKTtcclxuY29uc3QgaWNvbnMgPSBRdWlsbC5pbXBvcnQoJ3VpL2ljb25zJyk7XHJcbmljb25zLnVuZG8gPSBgPHN2ZyB2aWV3Ym94PVwiMCAwIDE4IDE4XCI+XHJcbiAgPHBvbHlnb24gY2xhc3M9XCJxbC1maWxsIHFsLXN0cm9rZVwiIHBvaW50cz1cIjYgMTAgNCAxMiAyIDEwIDYgMTBcIj48L3BvbHlnb24+XHJcbiAgPHBhdGggY2xhc3M9XCJxbC1zdHJva2VcIiBkPVwiTTguMDksMTMuOTFBNC42LDQuNiwwLDAsMCw5LDE0LDUsNSwwLDEsMCw0LDlcIj48L3BhdGg+XHJcbjwvc3ZnPmA7XHJcbmljb25zLnJlZG8gPSBgPHN2ZyB2aWV3Ym94PVwiMCAwIDE4IDE4XCI+XHJcbiAgPHBvbHlnb24gY2xhc3M9XCJxbC1maWxsIHFsLXN0cm9rZVwiIHBvaW50cz1cIjEyIDEwIDE0IDEyIDE2IDEwIDEyIDEwXCI+PC9wb2x5Z29uPlxyXG4gIDxwYXRoIGNsYXNzPVwicWwtc3Ryb2tlXCIgZD1cIk05LjkxLDEzLjkxQTQuNiw0LjYsMCwwLDEsOSwxNGE1LDUsMCwxLDEsNS01XCI+PC9wYXRoPlxyXG48L3N2Zz5gO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcXVpbGwtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVpbGwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFVwbG9hZE9zc1NlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWlsbEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVpbGxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAn6K+36L6T5YWlJztcclxuICBASW5wdXQoKSBzdHlsZXM6IGFueSA9IHtoZWlnaHQ6ICczNTBweCd9O1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBhbnk7IC8vIOe7hOS7tuWvueW6lOeahCDigJwgbmdNb2RlbCDigJ1cclxuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG5lZWRJbWdTZXE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBlZGl0b3I6IGFueTtcclxuICBvbkNoYW5nZUxpc3RlbmVyOiBhbnk7IC8vIOaUueWPmOWAvOWbnuiwg1xyXG4gIG9uVG91Y2hlZExpc3RlbmVyOiBhbnk7IC8vIOS6pOS6kuWbnuiwg1xyXG4gIGltZ1VybHM6IGFueSA9IFtdO1xyXG4gIGVkaXRvciQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgaW1nVmlzID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXBsb2FkT3NzU2VydmljZTogVXBsb2FkT3NzU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlOiBOek1lc3NhZ2VTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZWRpdG9yJC5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoNzAwKVxyXG4gICAgKS5zdWJzY3JpYmUoKGVkaXRvckNvbnRlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mICh0aGlzLm9uQ2hhbmdlTGlzdGVuZXIpID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiAodGhpcy5vblRvdWNoZWRMaXN0ZW5lcikpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlTGlzdGVuZXIoZWRpdG9yQ29udGVudCk7IC8vIOWRiuiviWZvcm3vvIzkvaDnmoTooajljZXlgLzmlLnlj5jmiJDkuoZwYXlsb2FkXHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRMaXN0ZW5lcigpOyAvLyDlkYror4lmb3Jt77yM5L2g55qE6KGo5Y2V5pyJ5Lqk5LqS5Y+R55SfXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUxpc3RlbmVyID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZExpc3RlbmVyID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UocXVpbGw6IGFueSkge1xyXG4gICAgdGhpcy5lZGl0b3IkLm5leHQocXVpbGwuaHRtbCk7XHJcbiAgfVxyXG5cclxuICBFZGl0b3JDcmVhdGVkKHF1aWxsOiBhbnkpIHtcclxuICAgIGNvbnN0IHRvb2xiYXIgPSBxdWlsbC5nZXRNb2R1bGUoJ3Rvb2xiYXInKTtcclxuICAgIHRvb2xiYXIuYWRkSGFuZGxlcignaW1hZ2UnLCB0aGlzLmltYWdlSGFuZGxlci5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZWRpdG9yID0gcXVpbGw7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICBxdWlsbC5vbigndGV4dC1jaGFuZ2UnLCBmdW5jdGlvbiAoZGVsdGE6IGFueSwgb2xkRGVsdGE6IGFueSwgc291cmNlOiBhbnkpIHtcclxuICAgICAgaWYgKHNvdXJjZSA9PSAnYXBpJykge1xyXG4gICAgICB9IGVsc2UgaWYgKHNvdXJjZSA9PSAndXNlcicpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygndXNlcicpO1xyXG4gICAgICAgIHRoYXQudXBsb2FkSW1ncyhbXSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QmxvYkJ5QmFzZTY0KHVybDogYW55LCBvbGRVcmw6IGFueSkge1xyXG4gICAgY29uc3QgYzogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICBjb25zb2xlLmxvZyhjKTtcclxuICAgIGNvbnN0IGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgIGN0eC5zdHJva2UoKTtcclxuICAgIGxldCBibG9iOiBhbnkgPSBUb29sc1V0aWwuZGF0YVVSSXRvQmxvYih1cmwpO1xyXG4gICAgYmxvYi5uYW1lID0gJy5wbmcnO1xyXG4gICAgbGV0IGRlbHRhID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgIGNvbnNvbGUubG9nKCdkZWx0YScsIGRlbHRhKVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWx0YS5vcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGRlbHRhLm9wc1tpXS5pbnNlcnQuaW1hZ2UgPT0gb2xkVXJsKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGluZGV4OiBpLFxyXG4gICAgICAgICAgYmxvYjogYmxvYixcclxuICAgICAgICAgIG9sZFVybDogb2xkVXJsXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB1cGxvYWRJbWdzKGJsb2RzOiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIGxldCBkZXRhaWxzID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgIGxldCBvcHQgPSBkZXRhaWxzLm9wc1tpbmRleF07XHJcbiAgICBpZiAob3B0ICYmIG9wdC5pbnNlcnQgJiYgb3B0Lmluc2VydC5pbWFnZSkge1xyXG4gICAgICBpZiAoVG9vbHNVdGlsLmlzQmFzZTY0KG9wdC5pbnNlcnQuaW1hZ2UpKSB7XHJcbiAgICAgICAgYmxvZHMucHVzaCh0aGlzLmdldEJsb2JCeUJhc2U2NChvcHQuaW5zZXJ0LmltYWdlLCBvcHQuaW5zZXJ0LmltYWdlKSk7XHJcbiAgICAgICAgdGhpcy5pc0VuZENvbnRlbnRzKGJsb2RzLCBpbmRleClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgICAgIGxldCBjdHg6IGFueSA9IGMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICBsZXQgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgaW1nLnNyYyA9IG9wdC5pbnNlcnQuaW1hZ2U7XHJcbiAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnY3Jvc3NPcmlnaW4nLCAnKicpO1xyXG4gICAgICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgYy53aWR0aCA9IGltZy53aWR0aDtcclxuICAgICAgICAgIGMuaGVpZ2h0ID0gaW1nLmhlaWdodDtcclxuICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBpbWcud2lkdGgsIGltZy5oZWlnaHQpO1xyXG4gICAgICAgICAgbGV0IHVybCA9IGMudG9EYXRhVVJMKCk7XHJcbiAgICAgICAgICBibG9kcy5wdXNoKHRoYXQuZ2V0QmxvYkJ5QmFzZTY0KHVybCwgaW1nLnNyYykpXHJcbiAgICAgICAgICB0aGF0LmlzRW5kQ29udGVudHMoYmxvZHMsIGluZGV4KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0VuZENvbnRlbnRzKGJsb2RzLCBpbmRleClcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHVwbG9hZEltZyhibG9kczphbnkpIHtcclxuICAgIGlmICghYmxvZHMgfHwgYmxvZHMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnVwbG9hZE9zc1NlcnZpY2UudXBsb2FkT3NzRmlsZXMoYmxvZHMubWFwKCh2OmFueSkgPT4gdi5ibG9iKSkuc3Vic2NyaWJlKChyZXM6YW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbGV0IGRlbHRhID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkZWx0YScsIGRlbHRhKTtcclxuICAgICAgICAgICAgZGVsdGEuZmlsdGVyKChvcHQ6YW55KSA9PiBvcHQgJiYgb3B0Lmluc2VydCAmJiBvcHQuaW5zZXJ0LmltYWdlID09IGJsb2RzW2ldLm9sZFVybCkuZm9yRWFjaCgob3B0OmFueSwgaW5kZXg6YW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgb3B0Lmluc2VydC5pbWFnZSA9IHJlc1tpXS51cmxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50cyhkZWx0YSwgJ2FwaScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuICBpc0VuZENvbnRlbnRzKGJsb2RzOmFueSwgaW5kZXg6YW55KSB7XHJcbiAgICBsZXQgZGV0YWlscyA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnRzKCk7XHJcbiAgICBpZiAoKytpbmRleCAhPSBkZXRhaWxzLm9wcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGxvYWRJbWdzKGJsb2RzLCBpbmRleCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVwbG9hZEltZyhibG9kcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWFnZUhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCBJbWFnZWlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpO1xyXG4gICAgSW1hZ2VpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FjY2VwdCcsICdpbWFnZS9wbmcsIGltYWdlL2dpZiwgaW1hZ2UvanBlZywgaW1hZ2UvYm1wJyk7XHJcbiAgICBJbWFnZWlucHV0LmNsYXNzTGlzdC5hZGQoJ3FsLWltYWdlJyk7XHJcbiAgICBJbWFnZWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubmVlZEltZ1NlcSkge1xyXG4gICAgICAgIHRoaXMuaW1nVmlzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhJbWFnZWlucHV0KTtcclxuICAgICAgbGV0IGZpbGVzOiBhbnkgPSBJbWFnZWlucHV0LmZpbGVzO1xyXG4gICAgICBpZiAoZmlsZXMgPT09IG51bGwgfHwgZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbWdVcmxzID0gW107XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZmlsZXNbaV07XHJcbiAgICAgICAgaWYgKGZpbGUgPT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGNvbnN0IGVycm9yID0gKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2Uud2FybmluZygn5LiK5Lyg5aSx6LSlJyk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGxvYWRPc3NTZXJ2aWNlLnVwbG9hZE9zcyhmaWxlKS5zdWJzY3JpYmUoKHVybCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZmlsZSk7XHJcbiAgICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1nVXJscy5wdXNoKHt1cmw6IHVybCwgZmlsZTogZmlsZSwgaW5kZXg6IGl9KTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm5lZWRJbWdTZXEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRFbWJlZCh0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24odHJ1ZSkuaW5kZXgsICdpbWFnZScsIHVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS53YXJuaW5nKCfkuIrkvKDlpLHotKUnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLm5lZWRJbWdTZXEgJiYgdGhpcy5pbWdVcmxzLmxlbmd0aCA9PSBmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdWaXMgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmltZ1VybHMuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGEuaW5kZXggLSBiLmluZGV4KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0ZVwiKT8uY2xpY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICBJbWFnZWlucHV0LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU2VxKCkge1xyXG4gICAgY29uc29sZS5sb2coMTIzKTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLmltZ1VybHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0RW1iZWQodGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKHRydWUpLmluZGV4LCAnaW1hZ2UnLCB0aGlzLmltZ1VybHNbaV0udXJsKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhcnJvd1VwKGluZGV4OiBhbnkpIHtcclxuICAgIGxldCBpbWcgPSB0aGlzLmltZ1VybHNbaW5kZXhdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4XSA9IHRoaXMuaW1nVXJsc1tpbmRleCAtIDFdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4IC0gMV0gPSBpbWc7XHJcbiAgfVxyXG5cclxuICBhcnJvd0Rvd24oaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGltZyA9IHRoaXMuaW1nVXJsc1tpbmRleF07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXhdID0gdGhpcy5pbWdVcmxzW2luZGV4ICsgMV07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXggKyAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIGNhbmNsZSgpIHtcclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKCfkuIrkvKDlrozmr5UnKVxyXG4gIH1cclxufVxyXG4iLCI8cXVpbGwtZWRpdG9yXHJcbiAgW3N0eWxlc109XCJzdHlsZXNcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJFZGl0b3JDcmVhdGVkKCRldmVudClcIlxyXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbj48L3F1aWxsLWVkaXRvcj5cclxuPCEtLei/meS4qmRpdizmmK/lm6DkuLrkuIrkvKDlrozmr5XnhKbngrnov5jlnKjlr4zmlofmnKzph4ws5by55Ye65peg5rOV5pi+56S6Li4uLi4tLT5cclxuPGRpdiBpZD1cInRlXCIgKGNsaWNrKT1cInRlKClcIj48L2Rpdj5cclxuPG56LW1vZGFsIFsobnpWaXNpYmxlKV09XCJpbWdWaXNcIiAobnpPbk9rKT1cInNhdmVTZXEoKVwiIChuek9uQ2FuY2VsKT1cImNhbmNsZSgpXCIgbnpNYXNrQ2xvc2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbbnpTdHlsZV09XCJ7cGFkZGluZzowfVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm56TW9kYWxDb250ZW50PlxyXG4gIDxkaXYgc3R5bGU9XCJtYXgtaGVpZ2h0OjYwMHB4O292ZXJmbG93OmF1dG87bWFyZ2luLXRvcDogMTBweDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWdzQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L256LW1vZGFsPlxyXG48bmctdGVtcGxhdGUgI2ltZ3NDb250ZW50PlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZ09wdCBvZiBpbWdVcmxzO2xldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctZGl2XCI+XHJcbiAgICAgIDxpbWcgW3NyY109XCJpbWdPcHQudXJsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMHB4JyxkaXNwbGF5OiAnaW5saW5lLWJsb2NrJywgbWFyZ2luOic1cHgnIH1cIi8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDsgY29sb3I6IGdyZXk7XCI+e3tpbWdPcHQuZmlsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDsgZmxleDogMTt0ZXh0LWFsaWduOiByaWdodDtcIj5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4iuenu1wiICpuZ0lmPVwiIGkgPiAwXCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIiAoY2xpY2spPVwiYXJyb3dVcChpKVwiPlxyXG4gICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJhcnJvdy11cFwiIG56VGhlbWU9XCJvdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogIzE4OTBmZjsgZm9udC1zaXplOiAxNXB4O1wiPjwvaT5cclxuICAgICAgICAgIOS4iuenuzwvYT5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4i+enu1wiICpuZ0lmPVwiIGkgPCBpbWdVcmxzLmxlbmd0aCAtIDFcIiAoY2xpY2spPVwiYXJyb3dEb3duKGkpXCI+XHJcbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImFycm93LWRvd25cIiBuelRoZW1lPVwib3V0bGluZVwiIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7IGZvbnQtc2l6ZTogMTVweFwiPjwvaT5cclxuICAgICAgICAgIOS4i+enuzwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ==
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBRXhELEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN2QyxLQUFLLENBQUMsSUFBSSxHQUFHOzs7T0FHTixDQUFDO0FBQ1IsS0FBSyxDQUFDLElBQUksR0FBRzs7O09BR04sQ0FBQztBQWVSLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0IsWUFBb0IsZ0JBQWtDLEVBQVUsT0FBeUI7UUFBckUscUJBQWdCLEdBQWhCLGdCQUFn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RSxJQUFJO1NBQ1o7S0FDRiwwQkNoQ0gsaXZEQW1DQTs0RkREYSxvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCO3dCQUNULGdCQUFnQjt3QkFDaEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3NJQUlRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtkZWJvdW5jZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuaW1wb3J0IFJlc2l6ZU1vZHVsZSBmcm9tIFwiQHNzdW1vL3F1aWxsLXJlc2l6ZS1tb2R1bGVcIjtcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtOek1lc3NhZ2VTZXJ2aWNlfSBmcm9tICduZy16b3Jyby1hbnRkL21lc3NhZ2UnO1xyXG5pbXBvcnQge1VwbG9hZE9zc1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VwbG9hZC1vc3Muc2VydmljZVwiO1xyXG5pbXBvcnQge1Rvb2xzVXRpbH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvdXRpbHMvVG9vbHNVdGlsXCI7XHJcblxyXG5RdWlsbC5yZWdpc3RlcihcIm1vZHVsZXMvcmVzaXplXCIsIFJlc2l6ZU1vZHVsZSk7XHJcbmNvbnN0IGljb25zID0gUXVpbGwuaW1wb3J0KCd1aS9pY29ucycpO1xyXG5pY29ucy51bmRvID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gIDxwb2x5Z29uIGNsYXNzPVwicWwtZmlsbCBxbC1zdHJva2VcIiBwb2ludHM9XCI2IDEwIDQgMTIgMiAxMCA2IDEwXCI+PC9wb2x5Z29uPlxyXG4gIDxwYXRoIGNsYXNzPVwicWwtc3Ryb2tlXCIgZD1cIk04LjA5LDEzLjkxQTQuNiw0LjYsMCwwLDAsOSwxNCw1LDUsMCwxLDAsNCw5XCI+PC9wYXRoPlxyXG48L3N2Zz5gO1xyXG5pY29ucy5yZWRvID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gIDxwb2x5Z29uIGNsYXNzPVwicWwtZmlsbCBxbC1zdHJva2VcIiBwb2ludHM9XCIxMiAxMCAxNCAxMiAxNiAxMCAxMiAxMFwiPjwvcG9seWdvbj5cclxuICA8cGF0aCBjbGFzcz1cInFsLXN0cm9rZVwiIGQ9XCJNOS45MSwxMy45MUE0LjYsNC42LDAsMCwxLDksMTRhNSw1LDAsMSwxLDUtNVwiPjwvcGF0aD5cclxuPC9zdmc+YDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXF1aWxsLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1aWxsLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVpbGwtZWRpdG9yLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBVcGxvYWRPc3NTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVpbGxFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFF1aWxsRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ+ivt+i+k+WFpSc7XHJcbiAgQElucHV0KCkgc3R5bGVzOiBhbnkgPSB7aGVpZ2h0OiAnMzUwcHgnfTtcclxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgYW55OyAvLyDnu4Tku7blr7nlupTnmoQg4oCcIG5nTW9kZWwg4oCdXHJcbiAgQElucHV0KCkgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBuZWVkSW1nU2VxOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZWRpdG9yOiBhbnk7XHJcbiAgb25DaGFuZ2VMaXN0ZW5lcjogYW55OyAvLyDmlLnlj5jlgLzlm57osINcclxuICBvblRvdWNoZWRMaXN0ZW5lcjogYW55OyAvLyDkuqTkupLlm57osINcclxuICBpbWdVcmxzOiBhbnkgPSBbXTtcclxuICBlZGl0b3IkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIGltZ1ZpcyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVwbG9hZE9zc1NlcnZpY2U6IFVwbG9hZE9zc1NlcnZpY2UsIHByaXZhdGUgbWVzc2FnZTogTnpNZXNzYWdlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmVkaXRvciQucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKDcwMClcclxuICAgICkuc3Vic2NyaWJlKChlZGl0b3JDb250ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiAodGhpcy5vbkNoYW5nZUxpc3RlbmVyKSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgKHRoaXMub25Ub3VjaGVkTGlzdGVuZXIpKSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUxpc3RlbmVyKGVkaXRvckNvbnRlbnQpOyAvLyDlkYror4lmb3Jt77yM5L2g55qE6KGo5Y2V5YC85pS55Y+Y5oiQ5LqGcGF5bG9hZFxyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIoKTsgLy8g5ZGK6K+JZm9ybe+8jOS9oOeahOihqOWNleacieS6pOS6kuWPkeeUn1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VMaXN0ZW5lciA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRMaXN0ZW5lciA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKHF1aWxsOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yJC5uZXh0KHF1aWxsLmh0bWwpO1xyXG4gIH1cclxuXHJcbiAgRWRpdG9yQ3JlYXRlZChxdWlsbDogYW55KSB7XHJcbiAgICBjb25zdCB0b29sYmFyID0gcXVpbGwuZ2V0TW9kdWxlKCd0b29sYmFyJyk7XHJcbiAgICB0b29sYmFyLmFkZEhhbmRsZXIoJ2ltYWdlJywgdGhpcy5pbWFnZUhhbmRsZXIuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLmVkaXRvciA9IHF1aWxsO1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgcXVpbGwub24oJ3RleHQtY2hhbmdlJywgZnVuY3Rpb24gKGRlbHRhOiBhbnksIG9sZERlbHRhOiBhbnksIHNvdXJjZTogYW55KSB7XHJcbiAgICAgIGlmIChzb3VyY2UgPT0gJ2FwaScpIHtcclxuICAgICAgfSBlbHNlIGlmIChzb3VyY2UgPT0gJ3VzZXInKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3VzZXInKTtcclxuICAgICAgICB0aGF0LnVwbG9hZEltZ3MoW10sIDApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEJsb2JCeUJhc2U2NCh1cmw6IGFueSwgb2xkVXJsOiBhbnkpIHtcclxuICAgIGNvbnN0IGM6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY29uc29sZS5sb2coYyk7XHJcbiAgICBjb25zdCBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBjdHguc3Ryb2tlKCk7XHJcbiAgICBsZXQgYmxvYjogYW55ID0gVG9vbHNVdGlsLmRhdGFVUkl0b0Jsb2IodXJsKTtcclxuICAgIGJsb2IubmFtZSA9ICcucG5nJztcclxuICAgIGxldCBkZWx0YSA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnRzKCk7XHJcbiAgICBjb25zb2xlLmxvZygnZGVsdGEnLCBkZWx0YSlcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGVsdGEub3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChkZWx0YS5vcHNbaV0uaW5zZXJ0LmltYWdlID09IG9sZFVybCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpbmRleDogaSxcclxuICAgICAgICAgIGJsb2I6IGJsb2IsXHJcbiAgICAgICAgICBvbGRVcmw6IG9sZFVybFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkSW1ncyhibG9kczogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICBsZXQgZGV0YWlscyA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnRzKCk7XHJcbiAgICBsZXQgb3B0ID0gZGV0YWlscy5vcHNbaW5kZXhdO1xyXG4gICAgaWYgKG9wdCAmJiBvcHQuaW5zZXJ0ICYmIG9wdC5pbnNlcnQuaW1hZ2UpIHtcclxuICAgICAgaWYgKFRvb2xzVXRpbC5pc0Jhc2U2NChvcHQuaW5zZXJ0LmltYWdlKSkge1xyXG4gICAgICAgIGJsb2RzLnB1c2godGhpcy5nZXRCbG9iQnlCYXNlNjQob3B0Lmluc2VydC5pbWFnZSwgb3B0Lmluc2VydC5pbWFnZSkpO1xyXG4gICAgICAgIHRoaXMuaXNFbmRDb250ZW50cyhibG9kcywgaW5kZXgpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgICAgICBsZXQgY3R4OiBhbnkgPSBjLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICAgICAgbGV0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgIGltZy5zcmMgPSBvcHQuaW5zZXJ0LmltYWdlO1xyXG4gICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2Nyb3NzT3JpZ2luJywgJyonKTtcclxuICAgICAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICAgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIGMud2lkdGggPSBpbWcud2lkdGg7XHJcbiAgICAgICAgICBjLmhlaWdodCA9IGltZy5oZWlnaHQ7XHJcbiAgICAgICAgICBjdHguZHJhd0ltYWdlKGltZywgMCwgMCwgaW1nLndpZHRoLCBpbWcuaGVpZ2h0KTtcclxuICAgICAgICAgIGxldCB1cmwgPSBjLnRvRGF0YVVSTCgpO1xyXG4gICAgICAgICAgYmxvZHMucHVzaCh0aGF0LmdldEJsb2JCeUJhc2U2NCh1cmwsIGltZy5zcmMpKVxyXG4gICAgICAgICAgdGhhdC5pc0VuZENvbnRlbnRzKGJsb2RzLCBpbmRleClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNFbmRDb250ZW50cyhibG9kcywgaW5kZXgpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICB1cGxvYWRJbWcoYmxvZHM6YW55KSB7XHJcbiAgICBpZiAoIWJsb2RzIHx8IGJsb2RzLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGZvcihsZXQgaSA9IDA7aTwgYmxvZHMubGVuZ3RoO2krKyl7XHJcbiAgICAgIGxldCBibG9iID0gYmxvZHNbaV07XHJcbiAgICAgIHRoaXMudXBsb2FkT3NzU2VydmljZS51cGxvYWRPc3MoYmxvYikuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICBsZXQgZGVsdGEgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50cygpO1xyXG4gICAgICAgIGRlbHRhLmZpbHRlcigob3B0OmFueSkgPT4gb3B0ICYmIG9wdC5pbnNlcnQgJiYgb3B0Lmluc2VydC5pbWFnZSA9PSBibG9kc1tpXS5vbGRVcmwpLmZvckVhY2goKG9wdDphbnksIGluZGV4OmFueSkgPT4ge1xyXG4gICAgICAgICAgb3B0Lmluc2VydC5pbWFnZSA9IHVybFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLnNldENvbnRlbnRzKGRlbHRhLCAnYXBpJyk7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlzRW5kQ29udGVudHMoYmxvZHM6YW55LCBpbmRleDphbnkpIHtcclxuICAgIGxldCBkZXRhaWxzID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgIGlmICgrK2luZGV4ICE9IGRldGFpbHMub3BzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnVwbG9hZEltZ3MoYmxvZHMsIGluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBsb2FkSW1nKGJsb2RzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltYWdlSGFuZGxlcigpIHtcclxuICAgIGNvbnN0IEltYWdlaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgSW1hZ2VpbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnZmlsZScpO1xyXG4gICAgSW1hZ2VpbnB1dC5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XHJcbiAgICBJbWFnZWlucHV0LnNldEF0dHJpYnV0ZSgnYWNjZXB0JywgJ2ltYWdlL3BuZywgaW1hZ2UvZ2lmLCBpbWFnZS9qcGVnLCBpbWFnZS9ibXAnKTtcclxuICAgIEltYWdlaW5wdXQuY2xhc3NMaXN0LmFkZCgncWwtaW1hZ2UnKTtcclxuICAgIEltYWdlaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5uZWVkSW1nU2VxKSB7XHJcbiAgICAgICAgdGhpcy5pbWdWaXMgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKEltYWdlaW5wdXQpO1xyXG4gICAgICBsZXQgZmlsZXM6IGFueSA9IEltYWdlaW5wdXQuZmlsZXM7XHJcbiAgICAgIGlmIChmaWxlcyA9PT0gbnVsbCB8fCBmaWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmltZ1VybHMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcclxuICAgICAgICBpZiAoZmlsZSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZS53YXJuaW5nKCfkuIrkvKDlpLHotKUnKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnVwbG9hZE9zc1NlcnZpY2UudXBsb2FkT3NzKGZpbGUpLnN1YnNjcmliZSgodXJsKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhmaWxlKTtcclxuICAgICAgICAgIGlmICh1cmwpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdVcmxzLnB1c2goe3VybDogdXJsLCBmaWxlOiBmaWxlLCBpbmRleDogaX0pO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubmVlZEltZ1NlcSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmluc2VydEVtYmVkKHRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbih0cnVlKS5pbmRleCwgJ2ltYWdlJywgdXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLndhcm5pbmcoJ+S4iuS8oOWksei0pScpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMubmVlZEltZ1NlcSAmJiB0aGlzLmltZ1VybHMubGVuZ3RoID09IGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmltZ1ZpcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaW1nVXJscy5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gYS5pbmRleCAtIGIuaW5kZXgpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRlXCIpPy5jbGljaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG5cclxuICAgIEltYWdlaW5wdXQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHNhdmVTZXEoKSB7XHJcbiAgICBjb25zb2xlLmxvZygxMjMpO1xyXG4gICAgZm9yIChsZXQgaSA9IHRoaXMuaW1nVXJscy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICB0aGlzLmVkaXRvci5pbnNlcnRFbWJlZCh0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24odHJ1ZSkuaW5kZXgsICdpbWFnZScsIHRoaXMuaW1nVXJsc1tpXS51cmwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbWdWaXMgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFycm93VXAoaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGltZyA9IHRoaXMuaW1nVXJsc1tpbmRleF07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXhdID0gdGhpcy5pbWdVcmxzW2luZGV4IC0gMV07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXggLSAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIGFycm93RG93bihpbmRleDogYW55KSB7XHJcbiAgICBsZXQgaW1nID0gdGhpcy5pbWdVcmxzW2luZGV4XTtcclxuICAgIHRoaXMuaW1nVXJsc1tpbmRleF0gPSB0aGlzLmltZ1VybHNbaW5kZXggKyAxXTtcclxuICAgIHRoaXMuaW1nVXJsc1tpbmRleCArIDFdID0gaW1nO1xyXG4gIH1cclxuXHJcbiAgY2FuY2xlKCkge1xyXG4gICAgdGhpcy5pbWdWaXMgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHRlKCkge1xyXG4gICAgY29uc29sZS5sb2coJ+S4iuS8oOWujOavlScpXHJcbiAgfVxyXG59XHJcbiIsIjxxdWlsbC1lZGl0b3JcclxuICBbc3R5bGVzXT1cInN0eWxlc1wiXHJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAob25FZGl0b3JDcmVhdGVkKT1cIkVkaXRvckNyZWF0ZWQoJGV2ZW50KVwiXHJcbiAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgKG9uQ29udGVudENoYW5nZWQpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcclxuPjwvcXVpbGwtZWRpdG9yPlxyXG48IS0t6L+Z5LiqZGl2LOaYr+WboOS4uuS4iuS8oOWujOavleeEpueCuei/mOWcqOWvjOaWh+acrOmHjCzlvLnlh7rml6Dms5XmmL7npLouLi4uLi0tPlxyXG48ZGl2IGlkPVwidGVcIiAoY2xpY2spPVwidGUoKVwiPjwvZGl2PlxyXG48bnotbW9kYWwgWyhuelZpc2libGUpXT1cImltZ1Zpc1wiIChuek9uT2spPVwic2F2ZVNlcSgpXCIgKG56T25DYW5jZWwpPVwiY2FuY2xlKClcIiBuek1hc2tDbG9zYWJsZT1cImZhbHNlXCJcclxuICAgICAgICAgIFtuelN0eWxlXT1cIntwYWRkaW5nOjB9XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbnpNb2RhbENvbnRlbnQ+XHJcbiAgPGRpdiBzdHlsZT1cIm1heC1oZWlnaHQ6NjAwcHg7b3ZlcmZsb3c6YXV0bzttYXJnaW4tdG9wOiAxMHB4O1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltZ3NDb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbnotbW9kYWw+XHJcbjxuZy10ZW1wbGF0ZSAjaW1nc0NvbnRlbnQ+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW1nT3B0IG9mIGltZ1VybHM7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImltZy1kaXZcIj5cclxuICAgICAgPGltZyBbc3JjXT1cImltZ09wdC51cmxcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMTAwcHgnLGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLCBtYXJnaW46JzVweCcgfVwiLz5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4OyBjb2xvcjogZ3JleTtcIj57e2ltZ09wdC5maWxlLm5hbWV9fTwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAyMHB4OyBmbGV4OiAxO3RleHQtYWxpZ246IHJpZ2h0O1wiPlxyXG4gICAgICAgIDxhIHRpdGxlPVwi5LiK56e7XCIgKm5nSWY9XCIgaSA+IDBcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrO1wiIChjbGljayk9XCJhcnJvd1VwKGkpXCI+XHJcbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImFycm93LXVwXCIgbnpUaGVtZT1cIm91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiAjMTg5MGZmOyBmb250LXNpemU6IDE1cHg7XCI+PC9pPlxyXG4gICAgICAgICAg5LiK56e7PC9hPlxyXG4gICAgICAgIDxhIHRpdGxlPVwi5LiL56e7XCIgKm5nSWY9XCIgaSA8IGltZ1VybHMubGVuZ3RoIC0gMVwiIChjbGljayk9XCJhcnJvd0Rvd24oaSlcIj5cclxuICAgICAgICAgIDxpIG56LWljb24gbnpUeXBlPVwiYXJyb3ctZG93blwiIG56VGhlbWU9XCJvdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogIzE4OTBmZjsgZm9udC1zaXplOiAxNXB4XCI+PC9pPlxyXG4gICAgICAgICAg5LiL56e7PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19