wacom 14.1.3 → 14.1.6

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.
@@ -4,9 +4,9 @@ export class WrapperComponent {
4
4
  constructor() { }
5
5
  }
6
6
  WrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: WrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: WrapperComponent, selector: "lib-wrapper", ngImport: i0, template: "<div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\r\n\r\n\r\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\r\n</div>\r\n\r\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] });
7
+ WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: WrapperComponent, selector: "lib-wrapper", ngImport: i0, template: "<div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\r\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\r\n</div>\r\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] });
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: WrapperComponent, decorators: [{
9
9
  type: Component,
10
- args: [{ selector: 'lib-wrapper', template: "<div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\r\n\r\n\r\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\r\n</div>\r\n\r\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] }]
10
+ args: [{ selector: 'lib-wrapper', template: "<div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\r\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\r\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\r\n</div>\r\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] }]
11
11
  }], ctorParameters: function () { return []; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YWNvbS9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQvd3JhcHBlci93cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhY29tL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC93cmFwcGVyL3dyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGdCQUFnQjtJQUM1QixnQkFBZSxDQUFDOzs2R0FESixnQkFBZ0I7aUdBQWhCLGdCQUFnQixtRENQN0IscXZCQWFBOzJGRE5hLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi13cmFwcGVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vd3JhcHBlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXcmFwcGVyQ29tcG9uZW50e1xyXG5cdGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iLCI8ZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1ib3R0b21SaWdodFwiIGlkPVwiYm90dG9tUmlnaHRcIj48L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwid2F3LWFsZXJ0LXdyYXBwZXIgd2F3LWFsZXJ0LXdyYXBwZXItYm90dG9tTGVmdFwiIGlkPVwiYm90dG9tTGVmdFwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci10b3BSaWdodFwiIGlkPVwidG9wUmlnaHRcIj48L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwid2F3LWFsZXJ0LXdyYXBwZXIgd2F3LWFsZXJ0LXdyYXBwZXItdG9wTGVmdFwiIGlkPVwidG9wTGVmdFwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci10b3BDZW50ZXJcIiBpZD1cInRvcENlbnRlclwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1ib3R0b21DZW50ZXJcIiBpZD1cImJvdHRvbUNlbnRlclwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1jZW50ZXJcIiBpZD1cImNlbnRlclwiPjwvZGl2PlxyXG5cclxuXHJcblx0PCEtLSBbYm90dG9tUmlnaHQsIGJvdHRvbUxlZnQsIHRvcFJpZ2h0LCB0b3BMZWZ0LCB0b3BDZW50ZXIsIGJvdHRvbUNlbnRlciBvciBjZW50ZXJdIC0tPlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YWNvbS9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQvd3JhcHBlci93cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhY29tL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC93cmFwcGVyL3dyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGdCQUFnQjtJQUM1QixnQkFBZSxDQUFDOzs2R0FESixnQkFBZ0I7aUdBQWhCLGdCQUFnQixtRENQN0IseXVCQVVBOzJGREhhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi13cmFwcGVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vd3JhcHBlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXcmFwcGVyQ29tcG9uZW50e1xyXG5cdGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iLCI8ZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1ib3R0b21SaWdodFwiIGlkPVwiYm90dG9tUmlnaHRcIj48L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwid2F3LWFsZXJ0LXdyYXBwZXIgd2F3LWFsZXJ0LXdyYXBwZXItYm90dG9tTGVmdFwiIGlkPVwiYm90dG9tTGVmdFwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci10b3BSaWdodFwiIGlkPVwidG9wUmlnaHRcIj48L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwid2F3LWFsZXJ0LXdyYXBwZXIgd2F3LWFsZXJ0LXdyYXBwZXItdG9wTGVmdFwiIGlkPVwidG9wTGVmdFwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci10b3BDZW50ZXJcIiBpZD1cInRvcENlbnRlclwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1ib3R0b21DZW50ZXJcIiBpZD1cImJvdHRvbUNlbnRlclwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJ3YXctYWxlcnQtd3JhcHBlciB3YXctYWxlcnQtd3JhcHBlci1jZW50ZXJcIiBpZD1cImNlbnRlclwiPjwvZGl2PlxyXG5cdDwhLS0gW2JvdHRvbVJpZ2h0LCBib3R0b21MZWZ0LCB0b3BSaWdodCwgdG9wTGVmdCwgdG9wQ2VudGVyLCBib3R0b21DZW50ZXIgb3IgY2VudGVyXSAtLT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -14,8 +14,7 @@ export class HttpService {
14
14
  this.url = '';
15
15
  this.headers = {};
16
16
  this.http_headers = new HttpHeaders(this.headers);
17
- // http management
18
- this.locked = false;
17
+ this._locked = false;
19
18
  this._http = config.http;
20
19
  if (!this.config)
21
20
  this.config = DEFAULT_CONFIG;
@@ -27,6 +26,9 @@ export class HttpService {
27
26
  }
28
27
  this.http_headers = new HttpHeaders(this.headers);
29
28
  }
29
+ this.store.get('http_url', (url) => {
30
+ this.url = url || this._http.url || '';
31
+ });
30
32
  this.store.getJson('http_headers', (headers) => {
31
33
  if (headers) {
32
34
  for (const header in headers) {
@@ -34,9 +36,16 @@ export class HttpService {
34
36
  }
35
37
  this.http_headers = new HttpHeaders(this.headers);
36
38
  }
37
- this.url = this._http.url || '';
38
39
  });
39
40
  }
41
+ setUrl(url) {
42
+ this.url = url;
43
+ this.store.set('http_url', url);
44
+ }
45
+ removeUrl() {
46
+ this.url = this._http.url || '';
47
+ this.store.remove('http_url');
48
+ }
40
49
  set(key, value) {
41
50
  this.headers[key] = value;
42
51
  this.store.setJson('http_headers', this.headers);
@@ -51,7 +60,7 @@ export class HttpService {
51
60
  this.store.setJson('http_headers', this.headers);
52
61
  }
53
62
  post(url, doc, callback = (resp) => { }, opts = {}) {
54
- if (typeof opts == 'function') {
63
+ if (typeof opts === 'function') {
55
64
  opts = {
56
65
  err: opts
57
66
  };
@@ -62,7 +71,7 @@ export class HttpService {
62
71
  else if (!opts.err) {
63
72
  opts.err = (err) => { };
64
73
  }
65
- if (this.locked) {
74
+ if (this._locked) {
66
75
  return setTimeout(() => {
67
76
  this.post(url, doc, callback, opts);
68
77
  }, 100);
@@ -71,16 +80,17 @@ export class HttpService {
71
80
  headers: this.http_headers
72
81
  });
73
82
  observable.pipe(first(), catchError(this.handleError(opts.err))).subscribe(resp => {
74
- if (typeof this._http.replace == 'function') {
83
+ if (typeof this._http.replace === 'function') {
75
84
  this._http.replace(resp, callback);
76
85
  }
77
- else
86
+ else {
78
87
  callback(resp);
88
+ }
79
89
  });
80
90
  return observable;
81
91
  }
82
92
  put(url, doc, callback = (resp) => { }, opts = {}) {
83
- if (typeof opts == 'function') {
93
+ if (typeof opts === 'function') {
84
94
  opts = {
85
95
  err: opts
86
96
  };
@@ -91,7 +101,7 @@ export class HttpService {
91
101
  else if (!opts.err) {
92
102
  opts.err = (err) => { };
93
103
  }
94
- if (this.locked) {
104
+ if (this._locked) {
95
105
  return setTimeout(() => {
96
106
  this.put(url, doc, callback, opts);
97
107
  }, 100);
@@ -100,16 +110,17 @@ export class HttpService {
100
110
  headers: this.http_headers
101
111
  });
102
112
  observable.pipe(first(), catchError(this.handleError(opts.err))).subscribe(resp => {
103
- if (typeof this._http.replace == 'function') {
113
+ if (typeof this._http.replace === 'function') {
104
114
  this._http.replace(resp, callback);
105
115
  }
106
- else
116
+ else {
107
117
  callback(resp);
118
+ }
108
119
  });
109
120
  return observable;
110
121
  }
111
122
  patch(url, doc, callback = (resp) => { }, opts = {}) {
112
- if (typeof opts == 'function') {
123
+ if (typeof opts === 'function') {
113
124
  opts = {
114
125
  err: opts
115
126
  };
@@ -120,7 +131,7 @@ export class HttpService {
120
131
  else if (!opts.err) {
121
132
  opts.err = (err) => { };
122
133
  }
123
- if (this.locked) {
134
+ if (this._locked) {
124
135
  return setTimeout(() => {
125
136
  this.patch(url, doc, callback, opts);
126
137
  }, 100);
@@ -129,16 +140,17 @@ export class HttpService {
129
140
  headers: this.http_headers
130
141
  });
131
142
  observable.pipe(first(), catchError(this.handleError(opts.err))).subscribe(resp => {
132
- if (typeof this._http.replace == 'function') {
143
+ if (typeof this._http.replace === 'function') {
133
144
  this._http.replace(resp, callback);
134
145
  }
135
- else
146
+ else {
136
147
  callback(resp);
148
+ }
137
149
  });
138
150
  return observable;
139
151
  }
140
152
  delete(url, doc, callback = (resp) => { }, opts = {}) {
141
- if (typeof opts == 'function') {
153
+ if (typeof opts === 'function') {
142
154
  opts = {
143
155
  err: opts
144
156
  };
@@ -149,7 +161,7 @@ export class HttpService {
149
161
  else if (!opts.err) {
150
162
  opts.err = (err) => { };
151
163
  }
152
- if (this.locked) {
164
+ if (this._locked) {
153
165
  return setTimeout(() => {
154
166
  this.delete(url, doc, callback, opts);
155
167
  }, 100);
@@ -159,7 +171,7 @@ export class HttpService {
159
171
  body: doc || {}
160
172
  });
161
173
  observable.pipe(first(), catchError(this.handleError(opts.err))).subscribe(resp => {
162
- if (typeof this._http.replace == 'function') {
174
+ if (typeof this._http.replace === 'function') {
163
175
  this._http.replace(resp, callback);
164
176
  }
165
177
  else
@@ -168,7 +180,7 @@ export class HttpService {
168
180
  return observable;
169
181
  }
170
182
  get(url, callback = (resp) => { }, opts = {}) {
171
- if (typeof opts == 'function') {
183
+ if (typeof opts === 'function') {
172
184
  opts = {
173
185
  err: opts
174
186
  };
@@ -179,7 +191,7 @@ export class HttpService {
179
191
  else if (!opts.err) {
180
192
  opts.err = (err) => { };
181
193
  }
182
- if (this.locked) {
194
+ if (this._locked) {
183
195
  return setTimeout(() => {
184
196
  this.get(url, callback, opts);
185
197
  }, 100);
@@ -192,7 +204,7 @@ export class HttpService {
192
204
  }
193
205
  const observable = this.http.get((opts.url || this.url) + url, params);
194
206
  observable.pipe(first(), catchError(this.handleError(opts.err))).subscribe(resp => {
195
- if (typeof this._http.replace == 'function') {
207
+ if (typeof this._http.replace === 'function') {
196
208
  this._http.replace(resp, callback);
197
209
  }
198
210
  else
@@ -201,13 +213,13 @@ export class HttpService {
201
213
  return observable;
202
214
  }
203
215
  lock() {
204
- this.locked = true;
216
+ this._locked = true;
205
217
  }
206
218
  unlock() {
207
- this.locked = false;
219
+ this._locked = false;
208
220
  }
209
221
  err(callback) {
210
- if (typeof callback == 'function') {
222
+ if (typeof callback === 'function') {
211
223
  this._http.err = callback;
212
224
  }
213
225
  }
@@ -232,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
232
244
  }, {
233
245
  type: Optional
234
246
  }] }]; } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBVSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFpQyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLFdBQVc7SUFrQnZCLFlBQW9CLEtBQW1CLEVBQVUsSUFBZ0IsRUFDdEIsTUFBYztRQURyQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBbEJsRCxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVIsWUFBTyxHQUFPLEVBQUUsQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQXlMckQsa0JBQWtCO1FBQ1YsV0FBTSxHQUFHLEtBQUssQ0FBQztRQTFLdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMs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WyJpbXBvcnQgeyBDT05GSUdfVE9LRU4sIENvbmZpZywgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2Uge1xyXG5cdHB1YmxpYyB1cmwgPSAnJztcclxuXHRwcml2YXRlIF9odHRwOiBhbnk7XHJcblx0cHJpdmF0ZSBoZWFkZXJzOmFueSA9IHt9O1xyXG5cdHByaXZhdGUgaHR0cF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHRoaXMuaGVhZGVycyk7XHJcblx0c2V0KGtleTphbnksIHZhbHVlOmFueSl7XHJcblx0XHR0aGlzLmhlYWRlcnNba2V5XSA9IHZhbHVlO1xyXG5cdFx0dGhpcy5zdG9yZS5zZXRKc29uKCdodHRwX2hlYWRlcnMnLCB0aGlzLmhlYWRlcnMpO1xyXG5cdFx0dGhpcy5odHRwX2hlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnModGhpcy5oZWFkZXJzKTtcclxuXHR9XHJcblx0aGVhZGVyKGtleTphbnkpe1xyXG5cdFx0cmV0dXJuIHRoaXMuaGVhZGVyc1trZXldO1xyXG5cdH1cclxuXHRyZW1vdmUoa2V5OmFueSl7XHJcblx0XHRkZWxldGUgdGhpcy5oZWFkZXJzW2tleV07XHJcblx0XHR0aGlzLmh0dHBfaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh0aGlzLmhlYWRlcnMpO1xyXG5cdFx0dGhpcy5zdG9yZS5zZXRKc29uKCdodHRwX2hlYWRlcnMnLCB0aGlzLmhlYWRlcnMpO1xyXG5cdH1cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdEBJbmplY3QoQ09ORklHX1RPS0VOKSBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XHJcblx0XHR0aGlzLl9odHRwID0gY29uZmlnLmh0dHA7XHJcblx0XHRpZiAoIXRoaXMuY29uZmlnKSB0aGlzLmNvbmZpZyA9IERFRkFVTFRfQ09ORklHO1xyXG5cdFx0aWYgKCF0aGlzLl9odHRwKSB0aGlzLl9odHRwID0ge307XHJcblx0XHRpZiAodHlwZW9mIHRoaXMuX2h0dHAuaGVhZGVycyA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0Zm9yIChjb25zdCBoZWFkZXIgaW4gdGhpcy5faHR0cC5oZWFkZXJzKSB7XHJcblx0XHRcdFx0dGhpcy5oZWFkZXJzW2hlYWRlcl0gPSB0aGlzLl9odHRwLmhlYWRlcnNbaGVhZGVyXTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmh0dHBfaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh0aGlzLmhlYWRlcnMpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zdG9yZS5nZXRKc29uKCdodHRwX2hlYWRlcnMnLCAoaGVhZGVyczphbnkpPT57XHJcblx0XHRcdGlmKGhlYWRlcnMpIHtcclxuXHRcdFx0XHRmb3IgKGNvbnN0IGhlYWRlciBpbiBoZWFkZXJzKXtcclxuXHRcdFx0XHRcdHRoaXMuaGVhZGVyc1toZWFkZXJdID0gaGVhZGVyc1toZWFkZXJdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmh0dHBfaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh0aGlzLmhlYWRlcnMpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMudXJsID0gdGhpcy5faHR0cC51cmwgfHwgJyc7XHJcblx0XHR9KTtcclxuXHR9XHJcblx0cG9zdCh1cmw6YW55LCBkb2M6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYodHlwZW9mIG9wdHMgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0ZXJyOiBvcHRzXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHRcdGlmKHRoaXMubG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLnBvc3QodXJsLCBkb2MsIGNhbGxiYWNrLCBvcHRzKTtcclxuXHRcdFx0fSwgMTAwKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmh0dHAucG9zdDxhbnk+KChvcHRzLnVybHx8dGhpcy51cmwpK3VybCwgZG9jLCB7XHJcblx0XHRcdGhlYWRlcnM6IHRoaXMuaHR0cF9oZWFkZXJzXHJcblx0XHR9KTtcclxuXHRcdG9ic2VydmFibGUucGlwZShcclxuXHRcdFx0Zmlyc3QoKSxcclxuXHRcdFx0Y2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKG9wdHMuZXJyKSlcclxuXHRcdCkuc3Vic2NyaWJlKHJlc3A9PntcclxuXHRcdFx0aWYodHlwZW9mIHRoaXMuX2h0dHAucmVwbGFjZSA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHR0aGlzLl9odHRwLnJlcGxhY2UocmVzcCwgY2FsbGJhY2spO1xyXG5cdFx0XHR9ZWxzZSBjYWxsYmFjayhyZXNwKTtcclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIG9ic2VydmFibGU7XHJcblx0fVxyXG5cdHB1dCh1cmw6YW55LCBkb2M6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYodHlwZW9mIG9wdHMgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0ZXJyOiBvcHRzXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHRcdGlmKHRoaXMubG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLnB1dCh1cmwsIGRvYywgY2FsbGJhY2ssIG9wdHMpO1xyXG5cdFx0XHR9LCAxMDApO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuaHR0cC5wdXQ8YW55Pigob3B0cy51cmx8fHRoaXMudXJsKSt1cmwsIGRvYywge1xyXG5cdFx0XHRoZWFkZXJzOiB0aGlzLmh0dHBfaGVhZGVyc1xyXG5cdFx0fSk7XHJcblx0XHRvYnNlcnZhYmxlLnBpcGUoXHJcblx0XHRcdGZpcnN0KCksXHJcblx0XHRcdGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihvcHRzLmVycikpXHJcblx0XHQpLnN1YnNjcmliZShyZXNwPT57XHJcblx0XHRcdGlmKHR5cGVvZiB0aGlzLl9odHRwLnJlcGxhY2UgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0dGhpcy5faHR0cC5yZXBsYWNlKHJlc3AsIGNhbGxiYWNrKTtcclxuXHRcdFx0fWVsc2UgY2FsbGJhY2socmVzcCk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiBvYnNlcnZhYmxlO1xyXG5cdH1cclxuXHRwYXRjaCh1cmw6YW55LCBkb2M6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYodHlwZW9mIG9wdHMgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0ZXJyOiBvcHRzXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHRcdGlmKHRoaXMubG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLnBhdGNoKHVybCwgZG9jLCBjYWxsYmFjaywgb3B0cyk7XHJcblx0XHRcdH0sIDEwMCk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5odHRwLnBhdGNoPGFueT4oKG9wdHMudXJsfHx0aGlzLnVybCkrdXJsLCBkb2MsIHtcclxuXHRcdFx0aGVhZGVyczogdGhpcy5odHRwX2hlYWRlcnNcclxuXHRcdH0pO1xyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZih0eXBlb2YgdGhpcy5faHR0cC5yZXBsYWNlID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMuX2h0dHAucmVwbGFjZShyZXNwLCBjYWxsYmFjayk7XHJcblx0XHRcdH1lbHNlIGNhbGxiYWNrKHJlc3ApO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHR9XHJcblx0ZGVsZXRlKHVybDphbnksIGRvYzphbnksIGNhbGxiYWNrPShyZXNwOmFueSkgPT4ge30sIG9wdHM6YW55PXt9KTphbnl7XHJcblx0XHRpZih0eXBlb2Ygb3B0cyA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0b3B0cyA9IHtcclxuXHRcdFx0XHRlcnI6IG9wdHNcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aWYgKCFvcHRzLmVyciAmJiB0aGlzLl9odHRwLmVycikge1xyXG5cdFx0XHRvcHRzLmVyciA9IHRoaXMuX2h0dHAuZXJyO1xyXG5cdFx0fSBlbHNlIGlmICghb3B0cy5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4geyB9O1xyXG5cdFx0fVxyXG5cdFx0aWYodGhpcy5sb2NrZWQpe1xyXG5cdFx0XHRyZXR1cm4gc2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdHRoaXMuZGVsZXRlKHVybCwgZG9jLCBjYWxsYmFjaywgb3B0cyk7XHJcblx0XHRcdH0sIDEwMCk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5odHRwLnJlcXVlc3Q8YW55PignZGVsZXRlJywgKG9wdHMudXJsfHx0aGlzLnVybCkrdXJsLCB7XHJcblx0XHRcdGhlYWRlcnM6IHRoaXMuaHR0cF9oZWFkZXJzLFxyXG5cdFx0XHRib2R5OiBkb2MgfHwge31cclxuXHRcdH0pO1xyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZih0eXBlb2YgdGhpcy5faHR0cC5yZXBsYWNlID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMuX2h0dHAucmVwbGFjZShyZXNwLCBjYWxsYmFjayk7XHJcblx0XHRcdH1lbHNlIGNhbGxiYWNrKHJlc3ApO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHR9XHJcblx0Z2V0KHVybDphbnksIGNhbGxiYWNrPShyZXNwOmFueSkgPT4ge30sIG9wdHM6YW55PXt9KTphbnl7XHJcblx0XHRpZih0eXBlb2Ygb3B0cyA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0b3B0cyA9IHtcclxuXHRcdFx0XHRlcnI6IG9wdHNcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aWYgKCFvcHRzLmVyciAmJiB0aGlzLl9odHRwLmVycikge1xyXG5cdFx0XHRvcHRzLmVyciA9IHRoaXMuX2h0dHAuZXJyO1xyXG5cdFx0fSBlbHNlIGlmICghb3B0cy5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4geyB9O1xyXG5cdFx0fVxyXG5cdFx0aWYodGhpcy5sb2NrZWQpe1xyXG5cdFx0XHRyZXR1cm4gc2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdHRoaXMuZ2V0KHVybCwgY2FsbGJhY2ssIG9wdHMpO1xyXG5cdFx0XHR9LCAxMDApO1xyXG5cdFx0fVxyXG5cdFx0bGV0IHBhcmFtczphbnkgPSB7XHJcblx0XHRcdGhlYWRlcnM6IHRoaXMuaHR0cF9oZWFkZXJzXHJcblx0XHR9O1xyXG5cdFx0aWYgKG9wdHMucGFyYW1zKXtcclxuXHRcdFx0cGFyYW1zLnBhcmFtcyA9IG9wdHMucGFyYW1zO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuaHR0cC5nZXQ8YW55Pigob3B0cy51cmwgfHwgdGhpcy51cmwpICsgdXJsLCBwYXJhbXMpO1xyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZih0eXBlb2YgdGhpcy5faHR0cC5yZXBsYWNlID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMuX2h0dHAucmVwbGFjZShyZXNwLCBjYWxsYmFjayk7XHJcblx0XHRcdH1lbHNlIGNhbGxiYWNrKHJlc3ApO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHR9XHJcblx0Ly8gaHR0cCBtYW5hZ2VtZW50XHJcblx0cHJpdmF0ZSBsb2NrZWQgPSBmYWxzZTtcclxuXHRsb2NrKCl7XHJcblx0XHR0aGlzLmxvY2tlZCA9IHRydWU7XHJcblx0fVxyXG5cdHVubG9jaygpe1xyXG5cdFx0dGhpcy5sb2NrZWQgPSBmYWxzZTtcclxuXHR9XHJcblx0ZXJyKGNhbGxiYWNrOmFueSl7XHJcblx0XHRpZih0eXBlb2YgY2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdHRoaXMuX2h0dHAuZXJyID0gY2FsbGJhY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdHByaXZhdGUgaGFuZGxlRXJyb3IoY2I6YW55ID0gdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdHJldHVybiBmdW5jdGlvbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2Upe1xyXG5cdFx0XHRjYiAmJiBjYihlcnJvcik7XHJcblx0XHRcdHJldHVybiB0aHJvd0Vycm9yKFwiV2UgY2FuJ3QgY29ubmVjdCB0byB0aGUgc2VydmVyXCIpO1xyXG5cdFx0fVxyXG5cdH07XHJcbn1cclxuIl19
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBVSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFpQyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLFdBQVc7SUFTdkIsWUFDUyxLQUFtQixFQUNuQixJQUFnQixFQUNrQixNQUFjO1FBRmhELFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNrQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWGxELFFBQUcsR0FBRyxFQUFFLENBQUM7UUFJUixZQUFPLEdBQU8sRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBMFA3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBblB2QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUM7UUFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFakMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMzQyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2xEO1lBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFPLEVBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFXLEVBQUMsRUFBRTtZQUNqRCxJQUFJLE9BQU8sRUFBRTtnQkFDWixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBQztvQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVEsRUFBRSxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLENBQUMsR0FBTyxFQUFFLEdBQU8sRUFBRSxXQUFTLENBQUMsSUFBUSxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQUUsT0FBUyxFQUFFO1FBQzVELElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFDO1lBQzlCLElBQUksR0FBRztnQkFDTixHQUFHLEVBQUUsSUFBSTthQUNULENBQUE7U0FDRDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDMUI7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBc0IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLEdBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtZQUNyRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLElBQUksQ0FDZCxLQUFLLEVBQUUsRUFDUCxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDdEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFBLEVBQUU7WUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ25DO2lCQUFNO2dCQUNOLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNmO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQU8sRUFBRSxHQUFPLEVBQUUsV0FBUyxDQUFDLElBQVEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUFFLE9BQVMsRUFBRTtRQUMzRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBQztZQUM5QixJQUFJLEdBQUc7Z0JBQ04sR0FBRyxFQUFFLElBQUk7YUFDVCxDQUFBO1NBQ0Q7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQzFCO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQXNCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUMzQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNoQixPQUFPLFVBQVUsQ0FBQyxHQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDcEUsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzFCLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxJQUFJLENBQ2QsS0FBSyxFQUFFLEVBQ1AsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3RDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQSxFQUFFO1lBQ2pCLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUM7Z0JBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNuQztpQkFBTTtnQkFDTixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDZjtRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUNELEtBQUssQ0FBQyxHQUFPLEVBQUUsR0FBTyxFQUFFLFdBQVMsQ0FBQyxJQUFRLEVBQUUsRUFBRSxHQUFFLENBQUMsRUFBRSxPQUFTLEVBQUU7UUFDN0QsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUM7WUFDOUIsSUFBSSxHQUFHO2dCQUNOLEdBQUcsRUFBRSxJQUFJO2FBQ1QsQ0FBQTtTQUNEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUMxQjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFzQixFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUM7WUFDaEIsT0FBTyxVQUFVLENBQUMsR0FBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNSO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO1lBQ3RFLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtTQUMxQixDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsSUFBSSxDQUNkLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN0QyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUEsRUFBRTtZQUNqQixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFDO2dCQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDbkM7aUJBQU07Z0JBQ04sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2Y7UUFDRixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBTyxFQUFFLEdBQU8sRUFBRSxXQUFTLENBQUMsSUFBUSxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQUUsT0FBUyxFQUFFO1FBQzlELElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFDO1lBQzlCLElBQUksR0FBRztnQkFDTixHQUFHLEVBQUUsSUFBSTthQUNULENBQUE7U0FDRDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDMUI7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBc0IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLEdBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFNLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsRUFBRTtZQUM3RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDMUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLElBQUksQ0FDZCxLQUFLLEVBQUUsRUFDUCxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDdEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFBLEVBQUU7WUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBQztnQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ25DOztnQkFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQU8sRUFBRSxXQUFTLENBQUMsSUFBUSxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQUUsT0FBUyxFQUFFO1FBQ2xELElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFDO1lBQzlCLElBQUksR0FBRztnQkFDTixHQUFHLEVBQUUsSUFBSTthQUNULENBQUE7U0FDRDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDMUI7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBc0IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLEdBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFBSSxNQUFNLEdBQU87WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzFCLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDZixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU1RSxVQUFVLENBQUMsSUFBSSxDQUNkLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN0QyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUEsRUFBRTtZQUNqQixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFDO2dCQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDbkM7O2dCQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0lBQ25CLENBQUM7SUFJRCxJQUFJO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsR0FBRyxDQUFDLFFBQVk7UUFDZixJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUM7U0FDMUI7SUFDRixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQzFDLE9BQU8sVUFBUyxLQUF3QjtZQUN2QyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWhCLE9BQU8sVUFBVSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFBO0lBQ0YsQ0FBQztJQUFBLENBQUM7O3dHQXZSVSxXQUFXLHdFQVlkLFlBQVk7NEdBWlQsV0FBVyxjQUZYLE1BQU07MkZBRU4sV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQWFFLE1BQU07MkJBQUMsWUFBWTs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTkZJR19UT0tFTiwgQ29uZmlnLCBERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwU2VydmljZSB7XHJcblx0cHVibGljIHVybCA9ICcnO1xyXG5cclxuXHRwcml2YXRlIF9odHRwOiBhbnk7XHJcblxyXG5cdHByaXZhdGUgaGVhZGVyczphbnkgPSB7fTtcclxuXHJcblx0cHJpdmF0ZSBodHRwX2hlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnModGhpcy5oZWFkZXJzKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHN0b3JlOiBTdG9yZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRASW5qZWN0KENPTkZJR19UT0tFTikgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1xyXG5cdCkge1xyXG5cdFx0dGhpcy5faHR0cCA9IGNvbmZpZy5odHRwO1xyXG5cclxuXHRcdGlmICghdGhpcy5jb25maWcpIHRoaXMuY29uZmlnID0gREVGQVVMVF9DT05GSUc7XHJcblxyXG5cdFx0aWYgKCF0aGlzLl9odHRwKSB0aGlzLl9odHRwID0ge307XHJcblxyXG5cdFx0aWYgKHR5cGVvZiB0aGlzLl9odHRwLmhlYWRlcnMgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGZvciAoY29uc3QgaGVhZGVyIGluIHRoaXMuX2h0dHAuaGVhZGVycykge1xyXG5cdFx0XHRcdHRoaXMuaGVhZGVyc1toZWFkZXJdID0gdGhpcy5faHR0cC5oZWFkZXJzW2hlYWRlcl07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuaHR0cF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHRoaXMuaGVhZGVycyk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5zdG9yZS5nZXQoJ2h0dHBfdXJsJywgKHVybDphbnkpPT57XHJcblx0XHRcdHRoaXMudXJsID0gdXJsIHx8IHRoaXMuX2h0dHAudXJsIHx8ICcnO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5zdG9yZS5nZXRKc29uKCdodHRwX2hlYWRlcnMnLCAoaGVhZGVyczphbnkpPT57XHJcblx0XHRcdGlmIChoZWFkZXJzKSB7XHJcblx0XHRcdFx0Zm9yIChjb25zdCBoZWFkZXIgaW4gaGVhZGVycyl7XHJcblx0XHRcdFx0XHR0aGlzLmhlYWRlcnNbaGVhZGVyXSA9IGhlYWRlcnNbaGVhZGVyXTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRoaXMuaHR0cF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHRoaXMuaGVhZGVycyk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2V0VXJsKHVybDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnVybCA9IHVybDtcclxuXHRcdHRoaXMuc3RvcmUuc2V0KCdodHRwX3VybCcsIHVybCk7XHJcblx0fVxyXG5cclxuXHRyZW1vdmVVcmwoKSB7XHJcblx0XHR0aGlzLnVybCA9IHRoaXMuX2h0dHAudXJsIHx8ICcnO1xyXG5cdFx0dGhpcy5zdG9yZS5yZW1vdmUoJ2h0dHBfdXJsJyk7XHJcblx0fVxyXG5cclxuXHRzZXQoa2V5OiBhbnksIHZhbHVlOiBhbnkpIHtcclxuXHRcdHRoaXMuaGVhZGVyc1trZXldID0gdmFsdWU7XHJcblxyXG5cdFx0dGhpcy5zdG9yZS5zZXRKc29uKCdodHRwX2hlYWRlcnMnLCB0aGlzLmhlYWRlcnMpO1xyXG5cclxuXHRcdHRoaXMuaHR0cF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHRoaXMuaGVhZGVycyk7XHJcblx0fVxyXG5cclxuXHRoZWFkZXIoa2V5OiBhbnkpIHtcclxuXHRcdHJldHVybiB0aGlzLmhlYWRlcnNba2V5XTtcclxuXHR9XHJcblxyXG5cdHJlbW92ZShrZXk6IGFueSkge1xyXG5cdFx0ZGVsZXRlIHRoaXMuaGVhZGVyc1trZXldO1xyXG5cclxuXHRcdHRoaXMuaHR0cF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHRoaXMuaGVhZGVycyk7XHJcblxyXG5cdFx0dGhpcy5zdG9yZS5zZXRKc29uKCdodHRwX2hlYWRlcnMnLCB0aGlzLmhlYWRlcnMpO1xyXG5cdH1cclxuXHJcblx0cG9zdCh1cmw6YW55LCBkb2M6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYgKHR5cGVvZiBvcHRzID09PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0b3B0cyA9IHtcclxuXHRcdFx0XHRlcnI6IG9wdHNcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5fbG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLnBvc3QodXJsLCBkb2MsIGNhbGxiYWNrLCBvcHRzKTtcclxuXHRcdFx0fSwgMTAwKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5odHRwLnBvc3Q8YW55Pigob3B0cy51cmx8fHRoaXMudXJsKSt1cmwsIGRvYywge1xyXG5cdFx0XHRoZWFkZXJzOiB0aGlzLmh0dHBfaGVhZGVyc1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZiAodHlwZW9mIHRoaXMuX2h0dHAucmVwbGFjZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdHRoaXMuX2h0dHAucmVwbGFjZShyZXNwLCBjYWxsYmFjayk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y2FsbGJhY2socmVzcCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiBvYnNlcnZhYmxlO1xyXG5cdH1cclxuXHRwdXQodXJsOmFueSwgZG9jOmFueSwgY2FsbGJhY2s9KHJlc3A6YW55KSA9PiB7fSwgb3B0czphbnk9e30pOmFueXtcclxuXHRcdGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0ZXJyOiBvcHRzXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAoIW9wdHMuZXJyICYmIHRoaXMuX2h0dHAuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gdGhpcy5faHR0cC5lcnI7XHJcblx0XHR9IGVsc2UgaWYgKCFvcHRzLmVycikge1xyXG5cdFx0XHRvcHRzLmVyciA9IChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7IH07XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuX2xvY2tlZCl7XHJcblx0XHRcdHJldHVybiBzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0dGhpcy5wdXQodXJsLCBkb2MsIGNhbGxiYWNrLCBvcHRzKTtcclxuXHRcdFx0fSwgMTAwKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5odHRwLnB1dDxhbnk+KChvcHRzLnVybHx8dGhpcy51cmwpK3VybCwgZG9jLCB7XHJcblx0XHRcdGhlYWRlcnM6IHRoaXMuaHR0cF9oZWFkZXJzXHJcblx0XHR9KTtcclxuXHJcblx0XHRvYnNlcnZhYmxlLnBpcGUoXHJcblx0XHRcdGZpcnN0KCksXHJcblx0XHRcdGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihvcHRzLmVycikpXHJcblx0XHQpLnN1YnNjcmliZShyZXNwPT57XHJcblx0XHRcdGlmICh0eXBlb2YgdGhpcy5faHR0cC5yZXBsYWNlID09PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHR0aGlzLl9odHRwLnJlcGxhY2UocmVzcCwgY2FsbGJhY2spO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNhbGxiYWNrKHJlc3ApO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHR9XHJcblx0cGF0Y2godXJsOmFueSwgZG9jOmFueSwgY2FsbGJhY2s9KHJlc3A6YW55KSA9PiB7fSwgb3B0czphbnk9e30pOmFueXtcclxuXHRcdGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdG9wdHMgPSB7XHJcblx0XHRcdFx0ZXJyOiBvcHRzXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAoIW9wdHMuZXJyICYmIHRoaXMuX2h0dHAuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gdGhpcy5faHR0cC5lcnI7XHJcblx0XHR9IGVsc2UgaWYgKCFvcHRzLmVycikge1xyXG5cdFx0XHRvcHRzLmVyciA9IChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7IH07XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuX2xvY2tlZCl7XHJcblx0XHRcdHJldHVybiBzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0dGhpcy5wYXRjaCh1cmwsIGRvYywgY2FsbGJhY2ssIG9wdHMpO1xyXG5cdFx0XHR9LCAxMDApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmh0dHAucGF0Y2g8YW55Pigob3B0cy51cmx8fHRoaXMudXJsKSt1cmwsIGRvYywge1xyXG5cdFx0XHRoZWFkZXJzOiB0aGlzLmh0dHBfaGVhZGVyc1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZiAodHlwZW9mIHRoaXMuX2h0dHAucmVwbGFjZSA9PT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0dGhpcy5faHR0cC5yZXBsYWNlKHJlc3AsIGNhbGxiYWNrKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjYWxsYmFjayhyZXNwKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIG9ic2VydmFibGU7XHJcblx0fVxyXG5cdGRlbGV0ZSh1cmw6YW55LCBkb2M6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYgKHR5cGVvZiBvcHRzID09PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0b3B0cyA9IHtcclxuXHRcdFx0XHRlcnI6IG9wdHNcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5fbG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLmRlbGV0ZSh1cmwsIGRvYywgY2FsbGJhY2ssIG9wdHMpO1xyXG5cdFx0XHR9LCAxMDApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmh0dHAucmVxdWVzdDxhbnk+KCdkZWxldGUnLCAob3B0cy51cmx8fHRoaXMudXJsKSt1cmwsIHtcclxuXHRcdFx0aGVhZGVyczogdGhpcy5odHRwX2hlYWRlcnMsXHJcblx0XHRcdGJvZHk6IGRvYyB8fCB7fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0b2JzZXJ2YWJsZS5waXBlKFxyXG5cdFx0XHRmaXJzdCgpLFxyXG5cdFx0XHRjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3Iob3B0cy5lcnIpKVxyXG5cdFx0KS5zdWJzY3JpYmUocmVzcD0+e1xyXG5cdFx0XHRpZiAodHlwZW9mIHRoaXMuX2h0dHAucmVwbGFjZSA9PT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdFx0dGhpcy5faHR0cC5yZXBsYWNlKHJlc3AsIGNhbGxiYWNrKTtcclxuXHRcdFx0fSBlbHNlIGNhbGxiYWNrKHJlc3ApO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIG9ic2VydmFibGU7XHJcblx0fVxyXG5cdGdldCh1cmw6YW55LCBjYWxsYmFjaz0ocmVzcDphbnkpID0+IHt9LCBvcHRzOmFueT17fSk6YW55e1xyXG5cdFx0aWYgKHR5cGVvZiBvcHRzID09PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0b3B0cyA9IHtcclxuXHRcdFx0XHRlcnI6IG9wdHNcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICghb3B0cy5lcnIgJiYgdGhpcy5faHR0cC5lcnIpIHtcclxuXHRcdFx0b3B0cy5lcnIgPSB0aGlzLl9odHRwLmVycjtcclxuXHRcdH0gZWxzZSBpZiAoIW9wdHMuZXJyKSB7XHJcblx0XHRcdG9wdHMuZXJyID0gKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgfTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5fbG9ja2VkKXtcclxuXHRcdFx0cmV0dXJuIHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLmdldCh1cmwsIGNhbGxiYWNrLCBvcHRzKTtcclxuXHRcdFx0fSwgMTAwKTtcclxuXHRcdH1cclxuXHJcblx0XHRsZXQgcGFyYW1zOmFueSA9IHtcclxuXHRcdFx0aGVhZGVyczogdGhpcy5odHRwX2hlYWRlcnNcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKG9wdHMucGFyYW1zKXtcclxuXHRcdFx0cGFyYW1zLnBhcmFtcyA9IG9wdHMucGFyYW1zO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmh0dHAuZ2V0PGFueT4oKG9wdHMudXJsIHx8IHRoaXMudXJsKSArIHVybCwgcGFyYW1zKTtcclxuXHJcblx0XHRvYnNlcnZhYmxlLnBpcGUoXHJcblx0XHRcdGZpcnN0KCksXHJcblx0XHRcdGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihvcHRzLmVycikpXHJcblx0XHQpLnN1YnNjcmliZShyZXNwPT57XHJcblx0XHRcdGlmICh0eXBlb2YgdGhpcy5faHR0cC5yZXBsYWNlID09PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHR0aGlzLl9odHRwLnJlcGxhY2UocmVzcCwgY2FsbGJhY2spO1xyXG5cdFx0XHR9IGVsc2UgY2FsbGJhY2socmVzcCk7XHJcblx0XHR9KTtcclxuXHJcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2xvY2tlZCA9IGZhbHNlO1xyXG5cclxuXHRsb2NrKCl7XHJcblx0XHR0aGlzLl9sb2NrZWQgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0dW5sb2NrKCl7XHJcblx0XHR0aGlzLl9sb2NrZWQgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGVycihjYWxsYmFjazphbnkpe1xyXG5cdFx0aWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdHRoaXMuX2h0dHAuZXJyID0gY2FsbGJhY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGhhbmRsZUVycm9yKGNiOmFueSA9IHRoaXMuX2h0dHAuZXJyKSB7XHJcblx0XHRyZXR1cm4gZnVuY3Rpb24oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKXtcclxuXHRcdFx0Y2IgJiYgY2IoZXJyb3IpO1xyXG5cclxuXHRcdFx0cmV0dXJuIHRocm93RXJyb3IoXCJXZSBjYW4ndCBjb25uZWN0IHRvIHRoZSBzZXJ2ZXJcIik7XHJcblx0XHR9XHJcblx0fTtcclxufVxyXG4iXX0=