angular-toolbox 0.10.2 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +1 -1
- package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +2 -2
- package/esm2022/lib/framework/mock/http/util/fetch-client-response-type.enum.mjs +36 -0
- package/esm2022/lib/framework/mock/http/util/fetch-client.builder.mjs +51 -0
- package/esm2022/lib/framework/mock/http/util/index.mjs +3 -1
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +49 -27
- package/esm2022/lib/model/business/mock/http/fetch-client.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/index.mjs +2 -1
- package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +3 -2
- package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +4 -4
- package/fesm2022/angular-toolbox.mjs +148 -33
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- package/lib/framework/mock/http/config/route-mock-config.d.ts +6 -0
- package/lib/framework/mock/http/util/data-storage.builder.d.ts +1 -1
- package/lib/framework/mock/http/util/fetch-client-response-type.enum.d.ts +34 -0
- package/lib/framework/mock/http/util/fetch-client.builder.d.ts +28 -0
- package/lib/framework/mock/http/util/index.d.ts +2 -0
- package/lib/framework/mock/http/xhr/delegate-xhr.d.ts +8 -0
- package/lib/model/business/mock/http/fetch-client.d.ts +13 -0
- package/lib/model/business/mock/http/index.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A library that provides useful tools for Angular apps development.
|
|
4
4
|
|
|
5
|
-
[]()
|
|
6
6
|
|
|
7
7
|
## License
|
|
8
8
|
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbW9jay1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2NvbmZpZy9yb3V0ZS1tb2NrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwTWV0aG9kTW9jayB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1BhcmFtZXRlcnMgfSBmcm9tIFwiLi9odHRwLW1vY2stcGFyYW1ldGVyc1wiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFxyXG4gKiBUaGUgbWFya3VwIGludGVyZmFjZSBmb3IgRFRPcyB0aGF0IGFyZSB1c2VkIHRvIHNlbmQgYSBtb2NrIGNvbmZpZyB0byB0aGUgZGVsZWdhdGVcclxuICogYFhoclByb3h5YCBpbnN0YW5jZS5cclxuICogVGhpcyBpbnRlcmZhY2UgaXMgbm90IGV4cG9zZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlTW9ja0NvbmZpZyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBUaGUgYEh0dHBNZXRob2RNb2NrYG9iamVjdCB0byBiZSBjb25zdW1lZCBieSB0aGUgdGhlIGRlbGVnYXRlIGBYaHJQcm94eWAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIG1ldGhvZENvbmZpZzogSHR0cE1ldGhvZE1vY2s7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogVGhlIGxpc3Qgb2YgVVJJIHBhcmFtZXRlcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IEhUVFAgY2FsbC5cclxuICAgICAqL1xyXG4gICAgcGFyYW1ldGVyczogSHR0cE1vY2tQYXJhbWV0ZXJzIHwgbnVsbDtcclxuICAgICAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogVGhlIGxpc3Qgb2YgVVJJIHNlYXJjaCBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBIVFRQIGNhbGwuXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xyXG59Il19
|
|
@@ -18,7 +18,7 @@ export class DataStorageBuilder {
|
|
|
18
18
|
* @param httpResponse The `HttpResponseMock` to be stored by the framework.
|
|
19
19
|
* @param data The data of the HTTP response to be stored by the framework.
|
|
20
20
|
*
|
|
21
|
-
* @returns A new `DataStorage`
|
|
21
|
+
* @returns A new `DataStorage` object.
|
|
22
22
|
*/
|
|
23
23
|
static buildDataStorage(httpResponse, data) {
|
|
24
24
|
// TODO: add support for different data types (string, Blob, etc.)
|
|
@@ -32,4 +32,4 @@ export class DataStorageBuilder {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yYWdlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvZGF0YS1zdG9yYWdlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFFM0I7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBOEIsRUFBRSxJQUFTO1FBQ3BFLGtFQUFrRTtRQUNsRSxNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUMzRSxPQUFPO1lBQ0gsWUFBWSxFQUFFLFlBQVk7WUFDMUIsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksRUFBRSxJQUFJO1lBQ1YsZUFBZSxFQUFFLGVBQWU7U0FDbkMsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2VNb2NrIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsXCI7XHJcbmltcG9ydCB7IERhdGFTdG9yYWdlIH0gZnJvbSBcIi4uL2NvcmUvZGF0YS1zdG9yYWdlXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogQSBzdGF0aWMgdXRpbGl0eSBjbGFzcyBmb3IgYnVpbGRpbmcgYERhdGFTdG9yYWdlYCBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERhdGFTdG9yYWdlQnVpbGRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQnVpbGRzIGFuZCByZXR1cm5zIGEgbmV3IGBEYXRhU3RvcmFnZWAgb2JqZWN0cy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGh0dHBSZXNwb25zZSBUaGUgYEh0dHBSZXNwb25zZU1vY2tgIHRvIGJlIHN0b3JlZCBieSB0aGUgZnJhbWV3b3JrLlxyXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgb2YgdGhlIEhUVFAgcmVzcG9uc2UgdG8gYmUgc3RvcmVkIGJ5IHRoZSBmcmFtZXdvcmsuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgbmV3IGBEYXRhU3RvcmFnZWAgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkRGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlOiBIdHRwUmVzcG9uc2VNb2NrLCBkYXRhOiBhbnkpOiBEYXRhU3RvcmFnZSB7XHJcbiAgICAgICAgLy8gVE9ETzogYWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBkYXRhIHR5cGVzIChzdHJpbmcsIEJsb2IsIGV0Yy4pXHJcbiAgICAgICAgY29uc3Qgc3RyaW5naWZpZWREYXRhOiBzdHJpbmcgPSBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBFTVBUWV9TVFJJTkc7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaHR0cFJlc3BvbnNlOiBodHRwUmVzcG9uc2UsXHJcbiAgICAgICAgICAgIGxvYWRlZDogMCxcclxuICAgICAgICAgICAgdG90YWw6IGRhdGEgPyBuZXcgQmxvYihbc3RyaW5naWZpZWREYXRhXSkuc2l6ZSA6IDAsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgIHN0cmluZ2lmaWVkRGF0YTogc3RyaW5naWZpZWREYXRhXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Defines the possible values for the `responseType` property of the
|
|
10
|
+
* `FetchClientBuilder.buildFetchClient()` method.
|
|
11
|
+
*/
|
|
12
|
+
export var FetchClientResponseType;
|
|
13
|
+
(function (FetchClientResponseType) {
|
|
14
|
+
/**
|
|
15
|
+
* Allows to return the response as a promise that resolves with an `ArrayBuffer`.
|
|
16
|
+
*/
|
|
17
|
+
FetchClientResponseType["ARRAY_BUFFER"] = "arrayBuffer";
|
|
18
|
+
/**
|
|
19
|
+
* Allows to return the response as a promise that resolves with a `Blob`.
|
|
20
|
+
*/
|
|
21
|
+
FetchClientResponseType["BLOB"] = "blob";
|
|
22
|
+
/**
|
|
23
|
+
* Allows to return the response as a promise that resolves with a `FormData` object.
|
|
24
|
+
*/
|
|
25
|
+
FetchClientResponseType["FORM_DATA"] = "formData";
|
|
26
|
+
/**
|
|
27
|
+
* Allows to return the response as a promise which resolves with the result of parsing the body text as JSON.
|
|
28
|
+
*/
|
|
29
|
+
FetchClientResponseType["JSON"] = "json";
|
|
30
|
+
/**
|
|
31
|
+
* Allows to return the response as a promise that resolves with a `String`.
|
|
32
|
+
* The response is always decoded using UTF-8.
|
|
33
|
+
*/
|
|
34
|
+
FetchClientResponseType["TEXT"] = "text";
|
|
35
|
+
})(FetchClientResponseType || (FetchClientResponseType = {}));
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LXJlc3BvbnNlLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9mZXRjaC1jbGllbnQtcmVzcG9uc2UtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBTixJQUFZLHVCQTJCWDtBQTNCRCxXQUFZLHVCQUF1QjtJQUUvQjs7T0FFRztJQUNILHVEQUE0QixDQUFBO0lBRTVCOztPQUVHO0lBQ0gsd0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsaURBQXNCLENBQUE7SUFFdEI7O09BRUc7SUFDSCx3Q0FBYSxDQUFBO0lBRWI7OztPQUdHO0lBQ0gsd0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBM0JXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUEyQmxDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGByZXNwb25zZVR5cGVgIHByb3BlcnR5IG9mIHRoZVxyXG4gKiBgRmV0Y2hDbGllbnRCdWlsZGVyLmJ1aWxkRmV0Y2hDbGllbnQoKWAgbWV0aG9kLlxyXG4gKi9cclxuZXhwb3J0IGVudW0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWxsb3dzIHRvIHJldHVybiB0aGUgcmVzcG9uc2UgYXMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBgQXJyYXlCdWZmZXJgLlxyXG4gICAgICovXHJcbiAgICBBUlJBWV9CVUZGRVIgPSBcImFycmF5QnVmZmVyXCIsXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQWxsb3dzIHRvIHJldHVybiB0aGUgcmVzcG9uc2UgYXMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGBCbG9iYC5cclxuICAgICAqL1xyXG4gICAgQkxPQiA9IFwiYmxvYlwiLFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWxsb3dzIHRvIHJldHVybiB0aGUgcmVzcG9uc2UgYXMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGBGb3JtRGF0YWAgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBGT1JNX0RBVEEgPSBcImZvcm1EYXRhXCIsXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGxvd3MgdG8gcmV0dXJuIHRoZSByZXNwb25zZSBhcyBhIHByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgd2l0aCB0aGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGJvZHkgdGV4dCBhcyBKU09OLlxyXG4gICAgICovXHJcbiAgICBKU09OID0gXCJqc29uXCIsXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQWxsb3dzIHRvIHJldHVybiB0aGUgcmVzcG9uc2UgYXMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGBTdHJpbmdgLlxyXG4gICAgICogVGhlIHJlc3BvbnNlIGlzIGFsd2F5cyBkZWNvZGVkIHVzaW5nIFVURi04LlxyXG4gICAgICovXHJcbiAgICBURVhUID0gXCJ0ZXh0XCJcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
9
|
+
import { from } from "rxjs";
|
|
10
|
+
import { FetchClientResponseType } from "./fetch-client-response-type.enum";
|
|
11
|
+
/**
|
|
12
|
+
* A static utility class for building `FetchClient` objects.
|
|
13
|
+
*/
|
|
14
|
+
export class FetchClientBuilder {
|
|
15
|
+
/**
|
|
16
|
+
* Builds and returns a new `FetchClient` object.
|
|
17
|
+
*
|
|
18
|
+
* @param input The definition of the resource to fetch.
|
|
19
|
+
* @param init The object containing options to configure the request.
|
|
20
|
+
* @param responseType Specifies the type of response for the resource to fetch.
|
|
21
|
+
*
|
|
22
|
+
* @returns A new `FetchClient` object.
|
|
23
|
+
*/
|
|
24
|
+
static buildFetchClient(input, init = null, responseType = FetchClientResponseType.JSON) {
|
|
25
|
+
return from(fetch(input, init || undefined).then((response) => {
|
|
26
|
+
if (response.ok)
|
|
27
|
+
return FetchClientBuilder.buildResponseStrategy(response, responseType);
|
|
28
|
+
throw new HttpErrorResponse({
|
|
29
|
+
status: response.status,
|
|
30
|
+
statusText: response.statusText
|
|
31
|
+
});
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
static buildResponseStrategy(response, responseType) {
|
|
38
|
+
if (responseType === FetchClientResponseType.JSON)
|
|
39
|
+
return response.json();
|
|
40
|
+
if (responseType === FetchClientResponseType.BLOB)
|
|
41
|
+
return response.blob();
|
|
42
|
+
if (responseType === FetchClientResponseType.FORM_DATA)
|
|
43
|
+
return response.formData();
|
|
44
|
+
if (responseType === FetchClientResponseType.ARRAY_BUFFER)
|
|
45
|
+
return response.arrayBuffer();
|
|
46
|
+
if (responseType === FetchClientResponseType.TEXT)
|
|
47
|
+
return response.text();
|
|
48
|
+
return response.json();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvZmV0Y2gtY2xpZW50LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFFM0I7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxPQUEyQixJQUFJLEVBQUUsZUFBd0MsdUJBQXVCLENBQUMsSUFBSTtRQUMxSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDcEUsSUFBSSxRQUFRLENBQUMsRUFBRTtnQkFBRSxPQUFPLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN6RixNQUFNLElBQUksaUJBQWlCLENBQUM7Z0JBQ3hCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtnQkFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO2FBQ2xDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMscUJBQXFCLENBQUMsUUFBa0IsRUFBRSxZQUFxQztRQUMxRixJQUFJLFlBQVksS0FBSyx1QkFBdUIsQ0FBQyxJQUFJO1lBQUUsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUUsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFFLElBQUksWUFBWSxLQUFLLHVCQUF1QixDQUFDLFNBQVM7WUFBRSxPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRixJQUFJLFlBQVksS0FBSyx1QkFBdUIsQ0FBQyxZQUFZO1lBQUUsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekYsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEZldGNoQ2xpZW50IH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsXCI7XHJcbmltcG9ydCB7IGZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBGZXRjaENsaWVudFJlc3BvbnNlVHlwZSB9IGZyb20gXCIuL2ZldGNoLWNsaWVudC1yZXNwb25zZS10eXBlLmVudW1cIjtcclxuXHJcbi8qKlxyXG4gKiBBIHN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBidWlsZGluZyBgRmV0Y2hDbGllbnRgIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmV0Y2hDbGllbnRCdWlsZGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1aWxkcyBhbmQgcmV0dXJucyBhIG5ldyBgRmV0Y2hDbGllbnRgIG9iamVjdC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGlucHV0IFRoZSBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZSB0byBmZXRjaC5cclxuICAgICAqIEBwYXJhbSBpbml0IFRoZSBvYmplY3QgY29udGFpbmluZyBvcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgcmVxdWVzdC5cclxuICAgICAqIEBwYXJhbSByZXNwb25zZVR5cGUgU3BlY2lmaWVzIHRoZSB0eXBlIG9mIHJlc3BvbnNlIGZvciB0aGUgcmVzb3VyY2UgdG8gZmV0Y2guXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgbmV3IGBGZXRjaENsaWVudGAgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkRmV0Y2hDbGllbnQoaW5wdXQ6IFJlcXVlc3RJbmZvIHwgVVJMLCBpbml0OiBSZXF1ZXN0SW5pdCB8IG51bGwgPSBudWxsLCByZXNwb25zZVR5cGU6IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlID0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuSlNPTik6IEZldGNoQ2xpZW50IHtcclxuICAgICAgICByZXR1cm4gZnJvbShmZXRjaChpbnB1dCwgaW5pdCB8fCB1bmRlZmluZWQpLnRoZW4oKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uub2spIHJldHVybiBGZXRjaENsaWVudEJ1aWxkZXIuYnVpbGRSZXNwb25zZVN0cmF0ZWd5KHJlc3BvbnNlLCByZXNwb25zZVR5cGUpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiByZXNwb25zZS5zdGF0dXNUZXh0XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIGJ1aWxkUmVzcG9uc2VTdHJhdGVneShyZXNwb25zZTogUmVzcG9uc2UsIHJlc3BvbnNlVHlwZTogRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUpOiBQcm9taXNlPGFueT57XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuSlNPTikgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcclxuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09PSBGZXRjaENsaWVudFJlc3BvbnNlVHlwZS5CTE9CKSByZXR1cm4gcmVzcG9uc2UuYmxvYigpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkZPUk1fREFUQSkgcmV0dXJuIHJlc3BvbnNlLmZvcm1EYXRhKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuQVJSQVlfQlVGRkVSKSByZXR1cm4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09PSBGZXRjaENsaWVudFJlc3BvbnNlVHlwZS5URVhUKSByZXR1cm4gcmVzcG9uc2UudGV4dCgpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from './http-mock-response.builder';
|
|
2
2
|
export * from './http-headers-mock.builder';
|
|
3
|
-
|
|
3
|
+
export * from './fetch-client.builder';
|
|
4
|
+
export * from './fetch-client-response-type.enum';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cC1tb2NrLXJlc3BvbnNlLmJ1aWxkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtaGVhZGVycy1tb2NrLmJ1aWxkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZldGNoLWNsaWVudC5idWlsZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZXRjaC1jbGllbnQtcmVzcG9uc2UtdHlwZS5lbnVtJzsiXX0=
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
|
-
import { HttpHeaders, HttpRequest, HttpStatusCode } from "@angular/common/http";
|
|
8
|
+
import { HttpHeaders, HttpParams, HttpRequest, HttpStatusCode } from "@angular/common/http";
|
|
9
9
|
import { ProgressEventMock } from "../event/progress-event-mock";
|
|
10
10
|
import { EMPTY_STRING } from "../../../../util";
|
|
11
11
|
import { XhrBase } from "./xhr-base";
|
|
@@ -123,35 +123,41 @@ export class DelegateXhr extends XhrBase {
|
|
|
123
123
|
* @param body A body of data to be sent in the XHR request.
|
|
124
124
|
*/
|
|
125
125
|
send(body) {
|
|
126
|
-
const request =
|
|
126
|
+
const request = this.buildHttpRequest(body);
|
|
127
127
|
const rc = this._routeConfig;
|
|
128
128
|
const httpResponseMock = rc.methodConfig.data(request, rc.parameters);
|
|
129
129
|
let timer = httpResponseMock.delay || 0;
|
|
130
130
|
if (timer > MAX_TIMER)
|
|
131
131
|
timer = MAX_TIMER;
|
|
132
|
-
this._loadSubscription = this.loadData(httpResponseMock).subscribe(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
132
|
+
this._loadSubscription = this.loadData(httpResponseMock).subscribe({
|
|
133
|
+
next: (data) => {
|
|
134
|
+
this.setDataStorage(httpResponseMock, data);
|
|
135
|
+
const error = this._dataStorage.httpResponse.error;
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
this.setReadyState(this.HEADERS_RECEIVED);
|
|
138
|
+
if (error)
|
|
139
|
+
return this.onError(error);
|
|
140
|
+
this.setReadyState(this.LOADING);
|
|
141
|
+
const response = this._dataStorage.httpResponse;
|
|
142
|
+
let headers = response.headers;
|
|
143
|
+
if (headers) {
|
|
144
|
+
this._headers.keys().forEach((key) => {
|
|
145
|
+
headers = headers.set(key, this._headers.get(key));
|
|
146
|
+
});
|
|
147
|
+
this._headers = headers;
|
|
148
|
+
}
|
|
149
|
+
if (!this._progressiveDownload) {
|
|
150
|
+
this._statusText = response.statusText || EMPTY_STRING;
|
|
151
|
+
this._status = response.status || 0;
|
|
152
|
+
return this.onLoadComplete();
|
|
153
|
+
}
|
|
154
|
+
this.doProgressiveDownload();
|
|
155
|
+
}, timer);
|
|
156
|
+
},
|
|
157
|
+
error: (err) => {
|
|
158
|
+
this.setDataStorage(httpResponseMock);
|
|
159
|
+
this.onError(err);
|
|
160
|
+
}
|
|
155
161
|
});
|
|
156
162
|
}
|
|
157
163
|
/**
|
|
@@ -216,7 +222,7 @@ export class DelegateXhr extends XhrBase {
|
|
|
216
222
|
const methodConfig = routeConfig.methodConfig;
|
|
217
223
|
this._routeConfig = routeConfig;
|
|
218
224
|
this._progressiveDownload = methodConfig.progressive || false;
|
|
219
|
-
this.responseType = methodConfig.responseType ||
|
|
225
|
+
this.responseType = methodConfig.responseType || EMPTY_STRING;
|
|
220
226
|
this._headers = new HttpHeaders();
|
|
221
227
|
}
|
|
222
228
|
/**
|
|
@@ -312,5 +318,21 @@ export class DelegateXhr extends XhrBase {
|
|
|
312
318
|
const responseBody = httpResponseMock.body;
|
|
313
319
|
return (responseBody instanceof Observable) ? responseBody : of(responseBody);
|
|
314
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* @private
|
|
323
|
+
*/
|
|
324
|
+
setDataStorage(responseMock, data = null) {
|
|
325
|
+
this._dataStorage = DataStorageBuilder.buildDataStorage(responseMock, data);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* @private
|
|
329
|
+
*/
|
|
330
|
+
buildHttpRequest(body) {
|
|
331
|
+
let params = new HttpParams();
|
|
332
|
+
const it = this._routeConfig.searchParams.entries();
|
|
333
|
+
for (const pair of it)
|
|
334
|
+
params = params.set(pair[0], pair[1]);
|
|
335
|
+
return new HttpRequest(this._method, this._url, body, { params: params });
|
|
336
|
+
}
|
|
315
337
|
}
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUteGhyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC94aHIvZGVsZWdhdGUteGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsVUFBVSxFQUFnQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxTQUFTLEdBQVcsS0FBSyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sd0JBQXdCLEdBQVUsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUVoRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPO0lBb0VwQzs7OztPQUlHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE1BQU07UUFDTixPQUFP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WUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0LCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBYaHJQcm94eSwgSHR0cFJlc3BvbnNlTW9jaywgSHR0cE1ldGhvZE1vY2ssIEh0dHBNb2NrRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgUHJvZ3Jlc3NFdmVudE1vY2sgfSBmcm9tIFwiLi4vZXZlbnQvcHJvZ3Jlc3MtZXZlbnQtbW9ja1wiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBYaHJCYXNlIH0gZnJvbSBcIi4veGhyLWJhc2VcIjtcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnNVdGlsIH0gZnJvbSBcIi4uL3V0aWwvaHR0cC1oZWFkZXJzLnV0aWxcIjtcclxuaW1wb3J0IHsgUm91dGVNb2NrQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9yb3V0ZS1tb2NrLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRGF0YVN0b3JhZ2UgfSBmcm9tIFwiLi4vY29yZS9kYXRhLXN0b3JhZ2VcIjtcclxuaW1wb3J0IHsgRGF0YVN0b3JhZ2VCdWlsZGVyIH0gZnJvbSBcIi4uL3V0aWwvZGF0YS1zdG9yYWdlLmJ1aWxkZXJcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgbWF4aW11bSB2YWx1ZSBmb3IgYSBkZWxheWVkIEhUVFAgcmVzcG9uc2UuXHJcbiAqL1xyXG5jb25zdCBNQVhfVElNRVI6IG51bWJlciA9IDEwMDAwO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEludGVuYWwgXCJvbnJlYWR5c3RhdGVjaGFuZ2VcIiBldmVudC5cclxuICovXHJcbmNvbnN0IFJFQURZX1NUQVRFX0NIQU5HRV9FVkVOVDogRXZlbnQgPSBuZXcgRXZlbnQoXCJvbnJlYWR5c3RhdGVjaGFuZ2VcIik7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IEVWVF9QUk9QU19DT05GSUc6IGFueSA9ICB7IHdyaXRhYmxlOiBmYWxzZSwgdmFsdWU6IHRoaXMgfTtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBBIHV0aWxpdHkgY2xhc3MgdXNlZCBhcyBkZWxlZ2F0ZSBvZiBgWE1MSHR0cFJlcXVlc3RgIGZ1bmN0aW9uYWxpdGllcyB3aGVuXHJcbiAqIGEgSFRUUCByZXF1ZXN0IGlzIGludGVyY2VwdGVkIGJ5IHRoZSBNb2NraW5nIEZyYW1ld29yayAuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVYaHIgZXh0ZW5kcyBYaHJCYXNlIGltcGxlbWVudHMgWGhyUHJveHkge1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvZ3Jlc3NpdmUgZG93bmxvYWQgaXMgYWN0aXZhdGVkLCBvciBub3QuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Byb2dyZXNzaXZlRG93bmxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBUaGUgY29uZmlnIGZvciB0aGUgaW50ZXJjZXB0ZWQgcm91dGUuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3JvdXRlQ29uZmlnOiBSb3V0ZU1vY2tDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciBIVFRQIHJlc3BvbnNlIGBkYXRhYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZGF0YVN0b3JhZ2U6IERhdGFTdG9yYWdlID0gbnVsbCBhcyBhbnk7IFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgbWV0aG9kYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbWV0aG9kOiB1bmtub3duOyBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgVVJMLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF91cmw6IHVua25vd247IFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgcmVhZHlTdGF0ZWAuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3JlYWR5U3RhdGU6IG51bWJlciA9IHRoaXMuVU5TRU5UO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgaGVhZGVyc2AuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2hlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBzdGF0dXNgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zdGF0dXM6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBzdGF0dXNUZXh0YC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc3RhdHVzVGV4dDogc3RyaW5nID0gRU1QVFlfU1RSSU5HO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSByZXNwb25zZSBib2R5IGNvbnRlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VcclxuICAgICAqL1xyXG4gICAgZ2V0IHJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFTdG9yYWdlPy5kYXRhIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBudW1lcmljYWwgSFRUUCBzdGF0dXMgY29kZSBvZiB0aGUgYFhNTEh0dHBSZXF1ZXN0YCByZXNwb25zZS5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9zdGF0dXNcclxuICAgICAqL1xyXG4gICAgZ2V0IHN0YXR1cygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIHN0YXR1cyBtZXNzYWdlIGFzIHJldHVybmVkIGJ5IHRoZSBIVFRQIHNlcnZlci5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9zdGF0dXNUZXh0XHJcbiAgICAgKi9cclxuICAgIGdldCBzdGF0dXNUZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1c1RleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSB0aGUgYFhNTEh0dHBSZXF1ZXN0YCBjbGllbnQgaXMgaW4uXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVhZHlTdGF0ZVxyXG4gICAgICovXHJcbiAgICBnZXQgcmVhZHlTdGF0ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkeVN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgc2VyaWFsaXplZCBVUkwgb2YgdGhlIHJlc3BvbnNlIG9yIHRoZSBlbXB0eSBzdHJpbmcgaWYgdGhlIFVSTCBpcyBgbnVsbGAuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVVJMXHJcbiAgICAgKi9cclxuICAgIGdldCByZXNwb25zZVVSTCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmwgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdGV4dCByZWNlaXZlZCBmcm9tIGEgc2VydmVyIGZvbGxvd2luZyBhIHJlcXVlc3QgYmVpbmcgc2VudC5cclxuICAgICAqXHJcbiAgICAgKiBUaHJvd3MgYW4gYEludmFsaWRTdGF0ZUVycm9yYCBET01FeGNlcHRpb24gaWYgcmVzcG9uc2VUeXBlIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nIG9yIFwidGV4dFwiLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVGV4dFxyXG4gICAgICovXHJcbiAgICBnZXQgcmVzcG9uc2VUZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFTdG9yYWdlPy5zdHJpbmdpZmllZERhdGEgfHwgRU1QVFlfU1RSSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIFJldHVybnMgYW4gYFhNTEh0dHBSZXF1ZXN0VXBsb2FkYCBvYmplY3QgdGhhdCBjYW4gYmUgb2JzZXJ2ZWQgdG8gbW9uaXRvciBhbiB1cGxvYWQgcHJvZ3Jlc3MuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3VwbG9hZFxyXG4gICAgICovXHJcbiAgICBnZXQgdXBsb2FkKCk6IFhNTEh0dHBSZXF1ZXN0VXBsb2FkIHtcclxuICAgICAgICByZXR1cm4gbnVsbCBhcyBhbnk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogIFJldHVybnMgYW4gYW4gZW51bWVyYXRlZCBzdHJpbmcgdmFsdWUgc3BlY2lmeWluZyB0aGUgdHlwZSBvZiBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzcG9uc2UuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVHlwZVxyXG4gICAgICovXHJcbiAgICByZXNwb25zZVR5cGU6IFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHktY3JlYXRlZCByZXF1ZXN0LCBvciByZS1pbml0aWFsaXplcyBhbiBleGlzdGluZyBvbmUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtZXRob2QgVGhlIEhUVFAgcmVxdWVzdCBtZXRob2QgdG8gdXNlLCBzdWNoIGFzIGBcIkdFVFwiYCwgYFwiUE9TVFwiYCwgYFwiUFVUXCJgLCBgXCJERUxFVEVcImAsXHJcbiAgICAgKiAgICAgICAgICAgICAgIGV0Yy4gSWdub3JlZCBmb3Igbm9uLUhUVFAoUykgVVJMcy5cclxuICAgICAqIEBwYXJhbSB1cmwgQSBzdHJpbmcgb3IgYW55IG90aGVyIG9iamVjdCB3aXRoIGEgc3RyaW5naWZpZXIg4oCUIGluY2x1ZGluZyBhIFVSTCBvYmplY3Qg4oCUXHJcbiAgICAgKiAgICAgICAgICAgIHRoYXQgcHJvdmlkZXMgdGhlIFVSTCBvZiB0aGUgcmVzb3VyY2UgdG8gc2VuZCB0aGUgcmVxdWVzdCB0by5cclxuICAgICAqL1xyXG4gICAgb3BlbihtZXRob2Q6IHN0cmluZywgdXJsOiBzdHJpbmcgfCBVUkwpOiB2b2lkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZyB8IFVSTCwgYXN5bmM6IGJvb2xlYW4sIHVzZXJuYW1lPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgcGFzc3dvcmQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZDtcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgb3BlbihtZXRob2Q6IHVua25vd24sIHVybDogdW5rbm93biwgYXN5bmM/OiB1bmtub3duLCB1c2VybmFtZT86IHVua25vd24sIHBhc3N3b3JkPzogdW5rbm93bik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21ldGhvZCA9IG1ldGhvZDtcclxuICAgICAgICB0aGlzLl91cmwgPSB1cmw7XHJcbiAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuT1BFTkVEKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFib3J0cyB0aGUgcmVxdWVzdCBpZiBpdCBoYXMgYWxyZWFkeSBiZWVuIHNlbnQuIFdoZW4gYSByZXF1ZXN0IGlzIGFib3J0ZWQsIGl0cyBgcmVhZHlTdGF0ZWBcclxuICAgICAqIGlzIGNoYW5nZWQgdG8gYFhNTEh0dHBSZXF1ZXN0LlVOU0VOVGAgYW5kIHRoZSByZXF1ZXN0IHN0YXR1cyBjb2RlIGlzIHNldCB0byBgMGAuXHJcbiAgICAgKi9cclxuICAgIGFib3J0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWR5U3RhdGUgPSB0aGlzLlVOU0VOVDtcclxuICAgICAgICB0aGlzLl9zdGF0dXMgPSAwO1xyXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaChcImFib3J0XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhbGwgdGhlIHJlc3BvbnNlIGhlYWRlcnMsIHNlcGFyYXRlZCBieSBDUkxGLCBhcyBhIHN0cmluZywgb3IgcmV0dXJucyBgbnVsbGBcclxuICAgICAqIGlmIG5vIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBbGwgdGhlIHJlc3BvbnNlIGhlYWRlcnMsIHNlcGFyYXRlZCBieSBDUkxGLCBhcyBhIHN0cmluZywgb3IgcmV0dXJucyBgbnVsbGBcclxuICAgICAqICAgICAgICAgIGlmIG5vIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkLlxyXG4gICAgICovXHJcbiAgICBnZXRBbGxSZXNwb25zZUhlYWRlcnMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2UgPyBIdHRwSGVhZGVyc1V0aWwuc3RyaW5naWZ5KHRoaXMuX2hlYWRlcnMpIDogRU1QVFlfU1RSSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VuZHMgdGhlIHJlcXVlc3QgdG8gdGhlIHNlcnZlci5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGJvZHkgQSBib2R5IG9mIGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgWEhSIHJlcXVlc3QuXHJcbiAgICAgKi9cclxuICAgIHNlbmQoYm9keT86IERvY3VtZW50IHwgWE1MSHR0cFJlcXVlc3RCb2R5SW5pdCB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+ID0gbmV3IEh0dHBSZXF1ZXN0PGFueT4odGhpcy5fbWV0aG9kIGFzIHN0cmluZywgdGhpcy5fdXJsIGFzIGFueSwgYm9keSk7XHJcbiAgICAgICAgY29uc3QgcmM6IFJvdXRlTW9ja0NvbmZpZyA9IHRoaXMuX3JvdXRlQ29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZU1vY2s6IEh0dHBSZXNwb25zZU1vY2sgPSAocmMubWV0aG9kQ29uZmlnIGFzIGFueSkuZGF0YShyZXF1ZXN0LCByYy5wYXJhbWV0ZXJzKTtcclxuICAgICAgICBsZXQgdGltZXI6IG51bWJlciA9IGh0dHBSZXNwb25zZU1vY2suZGVsYXkgfHwgMDtcclxuICAgICAgICBpZiAodGltZXIgPiBNQVhfVElNRVIpIHRpbWVyID0gTUFYX1RJTUVSO1xyXG4gICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvYWREYXRhKGh0dHBSZXNwb25zZU1vY2spLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFTdG9yYWdlID0gRGF0YVN0b3JhZ2VCdWlsZGVyLmJ1aWxkRGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jaywgZGF0YSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yOiBIdHRwTW9ja0Vycm9yIHwgbnVsbCA9IHRoaXMuX2RhdGFTdG9yYWdlLmh0dHBSZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKT0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkhFQURFUlNfUkVDRUlWRUQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gdGhpcy5vbkVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkxPQURJTkcpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZU1vY2sgPSB0aGlzLl9kYXRhU3RvcmFnZS5odHRwUmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGVhZGVyczogYW55ID0gcmVzcG9uc2UuaGVhZGVycztcclxuICAgICAgICAgICAgICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGVhZGVycy5rZXlzKCkuZm9yRWFjaCgoa2V5OiBzdHJpbmcpPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB0aGlzLl9oZWFkZXJzLmdldChrZXkpIGFzIGFueSlcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oZWFkZXJzID0gaGVhZGVycztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fcHJvZ3Jlc3NpdmVEb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSByZXNwb25zZS5zdGF0dXNUZXh0IHx8IEVNUFRZX1NUUklORztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdGF0dXMgPSByZXNwb25zZS5zdGF0dXMgfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vbkxvYWRDb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kb1Byb2dyZXNzaXZlRG93bmxvYWQoKTtcclxuICAgICAgICAgICAgfSwgdGltZXIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdmFsdWUgb2YgYW4gSFRUUCByZXF1ZXN0IGhlYWRlci5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhlYWRlciB3aG9zZSB2YWx1ZSBpcyB0byBiZSBzZXQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldCBhcyB0aGUgYm9keSBvZiB0aGUgaGVhZGVyLlxyXG4gICAgICovXHJcbiAgICBzZXRSZXF1ZXN0SGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2hlYWRlcnMgPSB0aGlzLl9oZWFkZXJzLnNldChuYW1lLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3Iocm91dGVDb25maWc6IFJvdXRlTW9ja0NvbmZpZykge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgY29uc3QgbWV0aG9kQ29uZmlnOiBIdHRwTWV0aG9kTW9jayA9IHJvdXRlQ29uZmlnLm1ldGhvZENvbmZpZztcclxuICAgICAgICB0aGlzLl9yb3V0ZUNvbmZpZyA9IHJvdXRlQ29uZmlnO1xyXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzaXZlRG93bmxvYWQgPSBtZXRob2RDb25maWcucHJvZ3Jlc3NpdmUgfHwgZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zZVR5cGUgPSBtZXRob2RDb25maWcucmVzcG9uc2VUeXBlIHx8IFwiXCI7XHJcbiAgICAgICAgdGhpcy5faGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICogSW50ZXJuYWxseSB1c2VkIGJ5IHRoZSBmcmFtZXdvcmsgdG8gZGVsZXRlIGEgYERlbGVnYXRlWGhyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVDb25maWcgPSBudWxsIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9oZWFkZXJzID0gbnVsbCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5fZGF0YVN0b3JhZ2UgPSBudWxsIGFzIGFueTtcclxuICAgICAgICBpZiAodGhpcy5fbG9hZFN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGRvUHJvZ3Jlc3NpdmVEb3dubG9hZCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0b3RhbDogbnVtYmVyID0gdGhpcy5fZGF0YVN0b3JhZ2UudG90YWw7XHJcbiAgICAgICAgaWYgKHRvdGFsIDw9IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbQW5ndWxhciBUb29sYm94XTogQm9keSBjb250ZW50IGlzIHRvbyBzbWFsbCBmb3IgZW11bGF0aW5nIHByb2dyZXNzaXZlIGRvd25sb2FkISBNaW5pbXVtIHNpemUgaXMgMjAwIG9jdGV0cy5cIik7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uTG9hZENvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRPRE86IGFtZWxpb3JhdGUgdGhlIGZvbGxvd2luZyBwcm9jZXNzOlxyXG4gICAgICAgIGNvbnN0IHNlbGY6IERlbGVnYXRlWGhyID0gdGhpcztcclxuICAgICAgICBjb25zdCBjaHVuY2tTaXplOiBudW1iZXIgPSBNYXRoLmZsb29yKHRvdGFsIC8gMTApO1xyXG4gICAgICAgIGxldCBjdXJzb3I6IG51bWJlciA9IDA7XHJcbiAgICAgICAgdGhpcy5fc3RhdHVzVGV4dCA9IFwiUGFydGlhbCBDb250ZW50XCI7XHJcbiAgICAgICAgdGhpcy5fc3RhdHVzID0gSHR0cFN0YXR1c0NvZGUuUGFydGlhbENvbnRlbnQ7XHJcbiAgICAgICAgY29uc3QgaWR4ID0gc2V0SW50ZXJ2YWwoKCk9PiB7XHJcbiAgICAgICAgICAgIGN1cnNvciArPSBjaHVuY2tTaXplO1xyXG4gICAgICAgICAgICBpZiAoY3Vyc29yID4gdG90YWwpIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvciA9IHRvdGFsO1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpZHgpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5vbkxvYWRDb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGF0YVN0b3JhZ2UubG9hZGVkID0gY3Vyc29yO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5kaXNwYXRjaFByb2dyZXNzRXZlbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uTG9hZENvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RhdGFTdG9yYWdlLmxvYWRlZCA9IHRoaXMuX2RhdGFTdG9yYWdlLnRvdGFsO1xyXG4gICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkRPTkUpO1xyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KFwibG9hZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25FcnJvcihlcnJvcjogSHR0cE1vY2tFcnJvcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N0YXR1cyA9IGVycm9yLnN0YXR1cztcclxuICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gZXJyb3Iuc3RhdHVzVGV4dDtcclxuICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5ET05FKTtcclxuICAgICAgICB0aGlzLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChcImVycm9yXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoKHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50OiBFdmVudCA9IG5ldyBFdmVudCh0eXBlKTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICd0YXJnZXQnLCBFVlRfUFJPUFNfQ09ORklHKTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICdjdXJyZW50VGFyZ2V0JywgRVZUX1BST1BTX0NPTkZJRyk7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGRpc3BhdGNoUHJvZ3Jlc3NFdmVudCh0eXBlOiBzdHJpbmcgPSBcInByb2dyZXNzXCIpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkOiBhbnkgPSB0aGlzLl9kYXRhU3RvcmFnZTtcclxuICAgICAgICBjb25zdCBldmVudDogUHJvZ3Jlc3NFdmVudE1vY2sgPSBuZXcgUHJvZ3Jlc3NFdmVudE1vY2sodHlwZSk7XHJcbiAgICAgICAgZXZlbnQubG9hZGVkID0gZC5sb2FkZWQ7XHJcbiAgICAgICAgZXZlbnQudG90YWwgPSBkLnRvdGFsO1xyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzZXRSZWFkeVN0YXRlKHN0YXRlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWFkeVN0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IGFueSA9IHRoaXMub25yZWFkeXN0YXRlY2hhbmdlO1xyXG4gICAgICAgIGlmIChldmVudCkgZXZlbnQuY2FsbCh0aGlzLCBSRUFEWV9TVEFURV9DSEFOR0VfRVZFTlQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbG9hZERhdGEoaHR0cFJlc3BvbnNlTW9jazogSHR0cFJlc3BvbnNlTW9jayk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2VCb2R5OiBhbnkgfCBPYnNlcnZhYmxlPGFueT4gPSBodHRwUmVzcG9uc2VNb2NrLmJvZHk7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZUJvZHkgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSA/IHJlc3BvbnNlQm9keSA6IG9mKHJlc3BvbnNlQm9keSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUteGhyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC94aHIvZGVsZWdhdGUteGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFOzs7R0FHRztBQUNILE1BQU0sU0FBUyxHQUFXLEtBQUssQ0FBQztBQUVoQzs7O0dBR0c7QUFDSCxNQUFNLHdCQUF3QixHQUFVLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFaEU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQW9FcEM7Ozs7T0FJRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxNQUFN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O0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVEsQ0FBQyxnQkFBa0M7UUFDL0MsTUFBTSxZQUFZLEdBQTBCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNsRSxPQUFPLENBQUMsWUFBWSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjLENBQUMsWUFBOEIsRUFBRSxPQUFZLElBQUk7UUFDbkUsSUFBSSxDQUFDLFlBQVksR0FBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUMsSUFBUztRQUM5QixJQUFJLE1BQU0sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sRUFBRSxHQUF3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakcsS0FBSyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sSUFBSSxXQUFXLENBQU0sSUFBSSxDQUFDLE9BQWlCLEVBQUUsSUFBSSxDQUFDLElBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cFJlcXVlc3QsIEh0dHBTdGF0dXNDb2RlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFhoclByb3h5LCBIdHRwUmVzcG9uc2VNb2NrLCBIdHRwTWV0aG9kTW9jaywgSHR0cE1vY2tFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0V2ZW50TW9jayB9IGZyb20gXCIuLi9ldmVudC9wcm9ncmVzcy1ldmVudC1tb2NrXCI7XHJcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsXCI7XHJcbmltcG9ydCB7IFhockJhc2UgfSBmcm9tIFwiLi94aHItYmFzZVwiO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVyc1V0aWwgfSBmcm9tIFwiLi4vdXRpbC9odHRwLWhlYWRlcnMudXRpbFwiO1xyXG5pbXBvcnQgeyBSb3V0ZU1vY2tDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL3JvdXRlLW1vY2stY29uZmlnXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBEYXRhU3RvcmFnZSB9IGZyb20gXCIuLi9jb3JlL2RhdGEtc3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBEYXRhU3RvcmFnZUJ1aWxkZXIgfSBmcm9tIFwiLi4vdXRpbC9kYXRhLXN0b3JhZ2UuYnVpbGRlclwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSBtYXhpbXVtIHZhbHVlIGZvciBhIGRlbGF5ZWQgSFRUUCByZXNwb25zZS5cclxuICovXHJcbmNvbnN0IE1BWF9USU1FUjogbnVtYmVyID0gMTAwMDA7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogSW50ZW5hbCBcIm9ucmVhZHlzdGF0ZWNoYW5nZVwiIGV2ZW50LlxyXG4gKi9cclxuY29uc3QgUkVBRFlfU1RBVEVfQ0hBTkdFX0VWRU5UOiBFdmVudCA9IG5ldyBFdmVudChcIm9ucmVhZHlzdGF0ZWNoYW5nZVwiKTtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuY29uc3QgRVZUX1BST1BTX0NPTkZJRzogYW55ID0gIHsgd3JpdGFibGU6IGZhbHNlLCB2YWx1ZTogdGhpcyB9O1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEEgdXRpbGl0eSBjbGFzcyB1c2VkIGFzIGRlbGVnYXRlIG9mIGBYTUxIdHRwUmVxdWVzdGAgZnVuY3Rpb25hbGl0aWVzIHdoZW5cclxuICogYSBIVFRQIHJlcXVlc3QgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIE1vY2tpbmcgRnJhbWV3b3JrIC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZVhociBleHRlbmRzIFhockJhc2UgaW1wbGVtZW50cyBYaHJQcm94eSB7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm9ncmVzc2l2ZSBkb3dubG9hZCBpcyBhY3RpdmF0ZWQsIG9yIG5vdC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVEb3dubG9hZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFRoZSBjb25maWcgZm9yIHRoZSBpbnRlcmNlcHRlZCByb3V0ZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcm91dGVDb25maWc6IFJvdXRlTW9ja0NvbmZpZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIEhUVFAgcmVzcG9uc2UgYGRhdGFgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kYXRhU3RvcmFnZTogRGF0YVN0b3JhZ2UgPSBudWxsIGFzIGFueTsgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBtZXRob2RgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tZXRob2Q6IHVua25vd247IFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBVUkwuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3VybDogdW5rbm93bjsgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGByZWFkeVN0YXRlYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVhZHlTdGF0ZTogbnVtYmVyID0gdGhpcy5VTlNFTlQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBoZWFkZXJzYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYHN0YXR1c2AuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3N0YXR1czogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYHN0YXR1c1RleHRgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zdGF0dXNUZXh0OiBzdHJpbmcgPSBFTVBUWV9TVFJJTkc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9sb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIHJlc3BvbnNlIGJvZHkgY29udGVudC5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZVxyXG4gICAgICovXHJcbiAgICBnZXQgcmVzcG9uc2UoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2U/LmRhdGEgfHwgbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIG51bWVyaWNhbCBIVFRQIHN0YXR1cyBjb2RlIG9mIHRoZSBgWE1MSHR0cFJlcXVlc3RgIHJlc3BvbnNlLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3N0YXR1c1xyXG4gICAgICovXHJcbiAgICBnZXQgc3RhdHVzKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcmVzcG9uc2Ugc3RhdHVzIG1lc3NhZ2UgYXMgcmV0dXJuZWQgYnkgdGhlIEhUVFAgc2VydmVyLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3N0YXR1c1RleHRcclxuICAgICAqL1xyXG4gICAgZ2V0IHN0YXR1c1RleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzVGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIHN0YXRlIHRoZSBgWE1MSHR0cFJlcXVlc3RgIGNsaWVudCBpcyBpbi5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9yZWFkeVN0YXRlXHJcbiAgICAgKi9cclxuICAgIGdldCByZWFkeVN0YXRlKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWR5U3RhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzZXJpYWxpemVkIFVSTCBvZiB0aGUgcmVzcG9uc2Ugb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgVVJMIGlzIGBudWxsYC4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VVUkxcclxuICAgICAqL1xyXG4gICAgZ2V0IHJlc3BvbnNlVVJMKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VybCBhcyBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSB0ZXh0IHJlY2VpdmVkIGZyb20gYSBzZXJ2ZXIgZm9sbG93aW5nIGEgcmVxdWVzdCBiZWluZyBzZW50LlxyXG4gICAgICpcclxuICAgICAqIFRocm93cyBhbiBgSW52YWxpZFN0YXRlRXJyb3JgIERPTUV4Y2VwdGlvbiBpZiByZXNwb25zZVR5cGUgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcgb3IgXCJ0ZXh0XCIuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VUZXh0XHJcbiAgICAgKi9cclxuICAgIGdldCByZXNwb25zZVRleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2U/LnN0cmluZ2lmaWVkRGF0YSB8fCBFTVBUWV9TVFJJTkc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAgUmV0dXJucyBhbiBgWE1MSHR0cFJlcXVlc3RVcGxvYWRgIG9iamVjdCB0aGF0IGNhbiBiZSBvYnNlcnZlZCB0byBtb25pdG9yIGFuIHVwbG9hZCBwcm9ncmVzcy4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvdXBsb2FkXHJcbiAgICAgKi9cclxuICAgIGdldCB1cGxvYWQoKTogWE1MSHR0cFJlcXVlc3RVcGxvYWQge1xyXG4gICAgICAgIHJldHVybiBudWxsIGFzIGFueTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiAgUmV0dXJucyBhbiBhbiBlbnVtZXJhdGVkIHN0cmluZyB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSB0eXBlIG9mIGRhdGEgY29udGFpbmVkIGluIHRoZSByZXNwb25zZS4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VUeXBlXHJcbiAgICAgKi9cclxuICAgIHJlc3BvbnNlVHlwZTogWE1MSHR0cFJlcXVlc3RSZXNwb25zZVR5cGUgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXdseS1jcmVhdGVkIHJlcXVlc3QsIG9yIHJlLWluaXRpYWxpemVzIGFuIGV4aXN0aW5nIG9uZS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG1ldGhvZCBUaGUgSFRUUCByZXF1ZXN0IG1ldGhvZCB0byB1c2UsIHN1Y2ggYXMgYFwiR0VUXCJgLCBgXCJQT1NUXCJgLCBgXCJQVVRcImAsIGBcIkRFTEVURVwiYCxcclxuICAgICAqICAgICAgICAgICAgICAgZXRjLiBJZ25vcmVkIGZvciBub24tSFRUUChTKSBVUkxzLlxyXG4gICAgICogQHBhcmFtIHVybCBBIHN0cmluZyBvciBhbnkgb3RoZXIgb2JqZWN0IHdpdGggYSBzdHJpbmdpZmllciDigJQgaW5jbHVkaW5nIGEgVVJMIG9iamVjdCDigJRcclxuICAgICAqICAgICAgICAgICAgdGhhdCBwcm92aWRlcyB0aGUgVVJMIG9mIHRoZSByZXNvdXJjZSB0byBzZW5kIHRoZSByZXF1ZXN0IHRvLlxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZyB8IFVSTCk6IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIG9wZW4obWV0aG9kOiBzdHJpbmcsIHVybDogc3RyaW5nIHwgVVJMLCBhc3luYzogYm9vbGVhbiwgdXNlcm5hbWU/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBwYXNzd29yZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogdW5rbm93biwgdXJsOiB1bmtub3duLCBhc3luYz86IHVua25vd24sIHVzZXJuYW1lPzogdW5rbm93biwgcGFzc3dvcmQ/OiB1bmtub3duKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbWV0aG9kID0gbWV0aG9kO1xyXG4gICAgICAgIHRoaXMuX3VybCA9IHVybDtcclxuICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5PUEVORUQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWJvcnRzIHRoZSByZXF1ZXN0IGlmIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2VudC4gV2hlbiBhIHJlcXVlc3QgaXMgYWJvcnRlZCwgaXRzIGByZWFkeVN0YXRlYFxyXG4gICAgICogaXMgY2hhbmdlZCB0byBgWE1MSHR0cFJlcXVlc3QuVU5TRU5UYCBhbmQgdGhlIHJlcXVlc3Qgc3RhdHVzIGNvZGUgaXMgc2V0IHRvIGAwYC5cclxuICAgICAqL1xyXG4gICAgYWJvcnQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVhZHlTdGF0ZSA9IHRoaXMuVU5TRU5UO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1cyA9IDA7XHJcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoKFwiYWJvcnRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGFsbCB0aGUgcmVzcG9uc2UgaGVhZGVycywgc2VwYXJhdGVkIGJ5IENSTEYsIGFzIGEgc3RyaW5nLCBvciByZXR1cm5zIGBudWxsYFxyXG4gICAgICogaWYgbm8gcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEFsbCB0aGUgcmVzcG9uc2UgaGVhZGVycywgc2VwYXJhdGVkIGJ5IENSTEYsIGFzIGEgc3RyaW5nLCBvciByZXR1cm5zIGBudWxsYFxyXG4gICAgICogICAgICAgICAgaWYgbm8gcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQuXHJcbiAgICAgKi9cclxuICAgIGdldEFsbFJlc3BvbnNlSGVhZGVycygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU3RvcmFnZSA/IEh0dHBIZWFkZXJzVXRpbC5zdHJpbmdpZnkodGhpcy5faGVhZGVycykgOiBFTVBUWV9TVFJJTkc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZW5kcyB0aGUgcmVxdWVzdCB0byB0aGUgc2VydmVyLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gYm9keSBBIGJvZHkgb2YgZGF0YSB0byBiZSBzZW50IGluIHRoZSBYSFIgcmVxdWVzdC5cclxuICAgICAqL1xyXG4gICAgc2VuZChib2R5PzogRG9jdW1lbnQgfCBYTUxIdHRwUmVxdWVzdEJvZHlJbml0IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4gPSB0aGlzLmJ1aWxkSHR0cFJlcXVlc3QoYm9keSk7XHJcbiAgICAgICAgY29uc3QgcmM6IFJvdXRlTW9ja0NvbmZpZyA9IHRoaXMuX3JvdXRlQ29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZU1vY2s6IEh0dHBSZXNwb25zZU1vY2sgPSAocmMubWV0aG9kQ29uZmlnIGFzIGFueSkuZGF0YShyZXF1ZXN0LCByYy5wYXJhbWV0ZXJzKTtcclxuICAgICAgICBsZXQgdGltZXI6IG51bWJlciA9IGh0dHBSZXNwb25zZU1vY2suZGVsYXkgfHwgMDtcclxuICAgICAgICBpZiAodGltZXIgPiBNQVhfVElNRVIpIHRpbWVyID0gTUFYX1RJTUVSO1xyXG4gICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvYWREYXRhKGh0dHBSZXNwb25zZU1vY2spLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jaywgZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcjogSHR0cE1vY2tFcnJvciB8IG51bGwgPSB0aGlzLl9kYXRhU3RvcmFnZS5odHRwUmVzcG9uc2UuZXJyb3I7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkhFQURFUlNfUkVDRUlWRUQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikgcmV0dXJuIHRoaXMub25FcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuTE9BRElORyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZU1vY2sgPSB0aGlzLl9kYXRhU3RvcmFnZS5odHRwUmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhlYWRlcnM6IGFueSA9IHJlc3BvbnNlLmhlYWRlcnM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faGVhZGVycy5rZXlzKCkuZm9yRWFjaCgoa2V5OiBzdHJpbmcpPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdGhpcy5faGVhZGVycy5nZXQoa2V5KSBhcyBhbnkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oZWFkZXJzID0gaGVhZGVycztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9wcm9ncmVzc2l2ZURvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSByZXNwb25zZS5zdGF0dXNUZXh0IHx8IEVNUFRZX1NUUklORztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzIHx8IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uTG9hZENvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qcm9ncmVzc2l2ZURvd25sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9LCB0aW1lcik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jayk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBhbiBIVFRQIHJlcXVlc3QgaGVhZGVyLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyIHdob3NlIHZhbHVlIGlzIHRvIGJlIHNldC5cclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0IGFzIHRoZSBib2R5IG9mIHRoZSBoZWFkZXIuXHJcbiAgICAgKi9cclxuICAgIHNldFJlcXVlc3RIZWFkZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faGVhZGVycyA9IHRoaXMuX2hlYWRlcnMuc2V0KG5hbWUsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihyb3V0ZUNvbmZpZzogUm91dGVNb2NrQ29uZmlnKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBjb25zdCBtZXRob2RDb25maWc6IEh0dHBNZXRob2RNb2NrID0gcm91dGVDb25maWcubWV0aG9kQ29uZmlnO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlQ29uZmlnID0gcm91dGVDb25maWc7XHJcbiAgICAgICAgdGhpcy5fcHJvZ3Jlc3NpdmVEb3dubG9hZCA9IG1ldGhvZENvbmZpZy5wcm9ncmVzc2l2ZSB8fCBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNlVHlwZSA9IG1ldGhvZENvbmZpZy5yZXNwb25zZVR5cGUgfHwgRU1QVFlfU1RSSU5HIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKiBJbnRlcm5hbGx5IHVzZWQgYnkgdGhlIGZyYW1ld29yayB0byBkZWxldGUgYSBgRGVsZWdhdGVYaHJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZUNvbmZpZyA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuX2hlYWRlcnMgPSBudWxsIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZSA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fbG9hZFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZG9Qcm9ncmVzc2l2ZURvd25sb2FkKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRvdGFsOiBudW1iZXIgPSB0aGlzLl9kYXRhU3RvcmFnZS50b3RhbDtcclxuICAgICAgICBpZiAodG90YWwgPD0gMjAwKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltBbmd1bGFyIFRvb2xib3hdOiBCb2R5IGNvbnRlbnQgaXMgdG9vIHNtYWxsIGZvciBlbXVsYXRpbmcgcHJvZ3Jlc3NpdmUgZG93bmxvYWQhIE1pbmltdW0gc2l6ZSBpcyAyMDAgb2N0ZXRzLlwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25Mb2FkQ29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETzogYW1lbGlvcmF0ZSB0aGUgZm9sbG93aW5nIHByb2Nlc3M6XHJcbiAgICAgICAgY29uc3Qgc2VsZjogRGVsZWdhdGVYaHIgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IGNodW5ja1NpemU6IG51bWJlciA9IE1hdGguZmxvb3IodG90YWwgLyAxMCk7XHJcbiAgICAgICAgbGV0IGN1cnNvcjogbnVtYmVyID0gMDtcclxuICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gXCJQYXJ0aWFsIENvbnRlbnRcIjtcclxuICAgICAgICB0aGlzLl9zdGF0dXMgPSBIdHRwU3RhdHVzQ29kZS5QYXJ0aWFsQ29udGVudDtcclxuICAgICAgICBjb25zdCBpZHggPSBzZXRJbnRlcnZhbCgoKT0+IHtcclxuICAgICAgICAgICAgY3Vyc29yICs9IGNodW5ja1NpemU7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3IgPiB0b3RhbCkge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yID0gdG90YWw7XHJcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGlkeCk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLm9uTG9hZENvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZS5sb2FkZWQgPSBjdXJzb3I7XHJcbiAgICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25Mb2FkQ29tcGxldGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVN0b3JhZ2UubG9hZGVkID0gdGhpcy5fZGF0YVN0b3JhZ2UudG90YWw7XHJcbiAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuRE9ORSk7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaFByb2dyZXNzRXZlbnQoXCJsb2FkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkVycm9yKGVycm9yOiBIdHRwTW9ja0Vycm9yKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3RhdHVzID0gZXJyb3Iuc3RhdHVzO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSBlcnJvci5zdGF0dXNUZXh0O1xyXG4gICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkRPTkUpO1xyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KFwiZXJyb3JcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2godHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IEV2ZW50ID0gbmV3IEV2ZW50KHR5cGUpO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgJ3RhcmdldCcsIEVWVF9QUk9QU19DT05GSUcpO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgJ2N1cnJlbnRUYXJnZXQnLCBFVlRfUFJPUFNfQ09ORklHKTtcclxuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KHR5cGU6IHN0cmluZyA9IFwicHJvZ3Jlc3NcIik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGQ6IGFueSA9IHRoaXMuX2RhdGFTdG9yYWdlO1xyXG4gICAgICAgIGNvbnN0IGV2ZW50OiBQcm9ncmVzc0V2ZW50TW9jayA9IG5ldyBQcm9ncmVzc0V2ZW50TW9jayh0eXBlKTtcclxuICAgICAgICBldmVudC5sb2FkZWQgPSBkLmxvYWRlZDtcclxuICAgICAgICBldmVudC50b3RhbCA9IGQudG90YWw7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldFJlYWR5U3RhdGUoc3RhdGU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICBjb25zdCBldmVudDogYW55ID0gdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2U7XHJcbiAgICAgICAgaWYgKGV2ZW50KSBldmVudC5jYWxsKHRoaXMsIFJFQURZX1NUQVRFX0NIQU5HRV9FVkVOVCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBsb2FkRGF0YShodHRwUmVzcG9uc2VNb2NrOiBIdHRwUmVzcG9uc2VNb2NrKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZUJvZHk6IGFueSB8IE9ic2VydmFibGU8YW55PiA9IGh0dHBSZXNwb25zZU1vY2suYm9keTtcclxuICAgICAgICByZXR1cm4gKHJlc3BvbnNlQm9keSBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gcmVzcG9uc2VCb2R5IDogb2YocmVzcG9uc2VCb2R5KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldERhdGFTdG9yYWdlKHJlc3BvbnNlTW9jazogSHR0cFJlc3BvbnNlTW9jaywgZGF0YTogYW55ID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RhdGFTdG9yYWdlID0gIERhdGFTdG9yYWdlQnVpbGRlci5idWlsZERhdGFTdG9yYWdlKHJlc3BvbnNlTW9jaywgZGF0YSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYnVpbGRIdHRwUmVxdWVzdChib2R5OiBhbnkpOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgICAgICBsZXQgcGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBjb25zdCBpdDogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBzdHJpbmddPiA9ICh0aGlzLl9yb3V0ZUNvbmZpZy5zZWFyY2hQYXJhbXMgYXMgYW55KS5lbnRyaWVzKCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIGl0KSBwYXJhbXMgPSBwYXJhbXMuc2V0KHBhaXJbMF0sIHBhaXJbMV0pO1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFJlcXVlc3Q8YW55Pih0aGlzLl9tZXRob2QgYXMgc3RyaW5nLCB0aGlzLl91cmwgYXMgYW55LCBib2R5LCB7IHBhcmFtczogcGFyYW1zIH0pO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvbW9kZWwvYnVzaW5lc3MvbW9jay9odHRwL2ZldGNoLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGUgbWFya3VwIGludGVyZmFjZSBmb3IgYE9ic2VydmFibGVgIG9iamVjdCBidWlsdCBmcm9tIHRoZSBGZXRjaCBBUEkuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoQ2xpZW50IGV4dGVuZHMgT2JzZXJ2YWJsZTxhbnk+IHt9XHJcbiJdfQ==
|
|
@@ -5,4 +5,5 @@ export * from './http-mock-endpoint';
|
|
|
5
5
|
export * from './http-mock-interceptor';
|
|
6
6
|
export * from './http-mock-error';
|
|
7
7
|
export * from './xhr-proxy';
|
|
8
|
-
|
|
8
|
+
export * from './fetch-client';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy9tb2NrL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cC1yZXNwb25zZS1tb2NrJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLW1ldGhvZC1tb2NrJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLW1vY2stY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLW1vY2stZW5kcG9pbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtbW9jay1pbnRlcmNlcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1tb2NrLWVycm9yJztcclxuZXhwb3J0ICogZnJvbSAnLi94aHItcHJveHknO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZldGNoLWNsaWVudCc7Il19
|
|
@@ -132,7 +132,8 @@ export class HttpMockService {
|
|
|
132
132
|
if (regexp.test(route)) {
|
|
133
133
|
result = {
|
|
134
134
|
methodConfig: methodMap.methodMock,
|
|
135
|
-
parameters: this.buildParameters(regexp, methodMap.keys, route)
|
|
135
|
+
parameters: this.buildParameters(regexp, methodMap.keys, route),
|
|
136
|
+
searchParams: url.searchParams
|
|
136
137
|
};
|
|
137
138
|
break;
|
|
138
139
|
}
|
|
@@ -236,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
236
237
|
providedIn: 'root'
|
|
237
238
|
}]
|
|
238
239
|
}] });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL21vY2svaHR0cC9odHRwLW1vY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFXLGlCQUFpQixDQUFDO0FBYTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFLRTs7O1dBR0c7UUFDYSxTQUFJLEdBQVcsaUJBQWlCLENBQUM7UUFFakQ7OztXQUdHO1FBQ0ssa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssZ0JBQVcsR0FBd0QsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFFckk7OztXQUdHO1FBQ2MsZUFBVSxHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBb0w5RDtJQWxMQzs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxNQUFzQjtRQUNyQyxNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFV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T0FFRztJQUNLLFdBQVcsQ0FBQyxNQUFjO1FBQ2hDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUFFLE1BQU0sSUFBSSxXQUFXLENBQUMsNkNBQTZDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUMsVUFBa0QsRUFBRSxRQUFnQjtRQUMzRixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBa0MsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUNyRSxNQUFNLGFBQWEsR0FBOEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDckYsSUFBSSxhQUFhLENBQUMsTUFBTTtnQkFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQzs7Z0JBQ3hELFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsT0FBa0MsRUFBRSxRQUFnQjtRQUN0RSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUE4QixFQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7OEdBM01VLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwTW9ja0ludGVyY2VwdG9yLCBIdHRwTW9ja0NvbmZpZywgSHR0cE1ldGhvZE1vY2ssIEh0dHBNb2NrRW5kcG9pbnQgfSBmcm9tICcuLi8uLi8uLi9idXNpbmVzcyc7XHJcbmltcG9ydCB7IEhUVFBNZXRob2RSZWYgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1tZXRob2QtcmVmLmVudW0nO1xyXG5pbXBvcnQgeyB0b2tlbkRhdGFUb1JlZ2V4cCB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvdG9rZW4tZGF0YS10by1yZWdleHAnO1xyXG5pbXBvcnQgeyBSb3V0ZU1vY2tDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL2NvbmZpZy9yb3V0ZS1tb2NrLWNvbmZpZyc7XHJcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvbW9kZWwva2V5JztcclxuaW1wb3J0IHsgc3RyaW5nVG9Ub2tlbkRhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL3N0cmluZy10by10b2tlbi1kYXRhJztcclxuaW1wb3J0IHsgREVGQVVMVF9ERUxJTUlURVIgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFV1aWQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsJztcclxuaW1wb3J0IHsgVG9rZW5EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC90b2tlbi1kYXRhJztcclxuaW1wb3J0IHsgSHR0cE1vY2tTZXJ2aWNlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2Vycm9yJztcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBSZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIHR5cGUgZm9yIHRoaXMgY2xhc3MuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgSFRUUF9NT0NLX1NFUlZJQ0U6IHN0cmluZyA9IFwiSHR0cE1vY2tTZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogQW4gaW50ZXJuYWwgdXRpbGl0eSBmb3Igc3RvcnJpbmcgcmVmZXJlbmNlcyB0byBlbmRwb2ludCBtb2NrIGNvbmZpZ3MuXHJcbiAqL1xyXG5pbnRlcmZhY2UgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2Uge1xyXG4gIG1ldGhvZE1vY2s6IEh0dHBNZXRob2RNb2NrO1xyXG4gIHJlZ2V4cDogUmVnRXhwO1xyXG4gIGtleXM6IEtleVtdO1xyXG4gIGNvbmZpZ0lkOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgYEh0dHBNb2NrU2VydmljZWAgY2xhc3MgcHJvdmlkZXMgdGhlIEFQSSBmb3IgbWFuYWdpbmcgSFRUUCBtb2NrIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBNb2NrU2VydmljZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogRW5zdXJlcyB0aGF0IGNsYXNzIHR5cGUgaXMgc3RpbGwgYWNjZXNzaWJsZSBhZnRlciBUeXBlU2NyaXB0IGNvbXBpbGF0aW9uLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBIVFRQX01PQ0tfU0VSVklDRTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBUaGUgbGlzdCBvZiBJRHMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggY29uZmlnIG9iamVjdC5cclxuICAgKi9cclxuICBwcml2YXRlIF9jb25maWdJZExpc3Q6IFV1aWRbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFN0b3JlcyB0aGUgY29tcGxldGUgY29sbGVjdGlvbiBvZiBtb2NraW5nIGJlaGF2aW9ycyBmb3IgZWFjaCByZWdpc3RlcmVkIGNvbmZpZy5cclxuICAgKi9cclxuICBwcml2YXRlIF9jb25maWdMaXN0OiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPj4gPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogVGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBhcHAgVVJMIG9yaWdpbi5cclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IEFQUF9PUklHSU46IHN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHMgdGhlIHNwZWNpZmllZCBgSHR0cE1vY2tDb25maWdgIG9iamVjdCB0byB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGBIdHRwTW9ja0NvbmZpZ2Agb2JqZWN0IHRvIGFkZCB0byB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqIEBSZXR1cm5zIFRoZSBgVXVpZGAgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBhZGRlZCBgSHR0cE1vY2tDb25maWdgIG9iamVjdC5cclxuICAgKi9cclxuICBwdWJsaWMgYWRkQ29uZmlnKGNvbmZpZzogSHR0cE1vY2tDb25maWcpOiBVdWlkIHtcclxuICAgIGNvbnN0IG9yaWdpbjogc3RyaW5nID0gY29uZmlnLm9yaWdpbiB8fCB0aGlzLkFQUF9PUklHSU47XHJcbiAgICB0aGlzLmNoZWNrT3JpZ2luKG9yaWdpbik7XHJcbiAgICBsZXQgaWQ6IFV1aWQgfCB1bmRlZmluZWQgPSBjb25maWcuaWQ7XHJcbiAgICBpZiAoIWlkKSB7XHJcbiAgICAgIGlkID0gVXVpZC5idWlsZCgpO1xyXG4gICAgICBjb25maWcuaWQgPSBpZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmhhc1JlZ2lzdGVyZWRDb25maWcoaWQpKSB0aHJvdyBuZXcgSHR0cE1vY2tTZXJ2aWNlRXJyb3IoYEEgY29uZmlnIG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQ6IFtcIiR7aWQudG9TdHJpbmcoKX1cIl0uYCkgO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY29uZmlnSWRMaXN0LnB1c2goaWQpO1xyXG4gICAgY29uc3QgdXVpZDogc3RyaW5nID0gaWQudG9TdHJpbmcoKTtcclxuICAgIGNvbmZpZy5pbnRlcmNlcHRvcnMuZm9yRWFjaCgoaW50ZXJjZXB0b3I6IEh0dHBNb2NrSW50ZXJjZXB0b3IpID0+IHRoaXMuZXh0cmFjdENvbmZpZyhpbnRlcmNlcHRvciwgb3JpZ2luLCB1dWlkKSApO1xyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBhcHAgVVJMIG9yaWdpbi5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBBIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgYXBwIFVSTCBvcmlnaW4uXHJcbiAgICovXHJcbiAgcHVibGljIGdldEFwcE9yaWdpbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuQVBQX09SSUdJTjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgdGhlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYHV1aWRgIGZyb20gdGhpcyBgSHR0cE1vY2tTZXJ2aWNlYCBpbnN0YW5jZS5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXVpZCBUaGUgVVVJRCBvZiB0aGUgY29uZmlndXJhdGlvbiB0byByZW1vdmUuXHJcbiAgICovXHJcbiAgcHVibGljIHJlbW92ZUNvbmZpZyh1dWlkOiBVdWlkKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaGFzUmVnaXN0ZXJlZENvbmZpZyh1dWlkKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgY29uZmlnSWQ6IHN0cmluZyA9IHV1aWQudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuX2NvbmZpZ0xpc3QuZm9yRWFjaCgodmFsdWU6IE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpZ0J5SWQodmFsdWUsIGNvbmZpZ0lkKTtcclxuICAgICAgaWYgKHZhbHVlLnNpemUgPT09IDApIHRoaXMuX2NvbmZpZ0xpc3QuZGVsZXRlKGtleSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NvbmZpZ0lkTGlzdC5zcGxpY2UodGhpcy5fY29uZmlnSWRMaXN0LmluZGV4T2YodXVpZCksIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhbGwgcmVnaXN0cmVkIGNvbmZpZ3VyYXRpb25zIGZyb20gdGhpcyBgSHR0cE1vY2tTZXJ2aWNlYCBpbnN0YW5jZS5cclxuICAgKi9cclxuICBwdWJsaWMgY2xlYXJDb25maWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlnTGlzdC5jbGVhcigpO1xyXG4gICAgdGhpcy5fY29uZmlnSWRMaXN0Lmxlbmd0aCA9IDA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBib29sZWFuIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgYSBjb25maWcgd2l0aCB0aGUgc3BlY2lmaWVkIFVVSUQgaGFzIGJlZW4gcmVnaXN0ZXJlZFxyXG4gICAqIChgdHJ1ZWApLCBvciBub3QgKGBmYWxzZWApLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB1dWlkIFRoZSBVVUlEIG9mIHRoZSBjb25maWcgdG8gY2hlY2suXHJcbiAgICogQHJldHVybnMgYHRydWVgIHdoZXRoZXIgYSBjb25maWcgd2l0aCB0aGUgc3BlY2lmaWVkIFVVSUQgaGFzIGJlZW4gcmVnaXN0ZXJlZDsgYGZhbHNlYCBvdGhlcndpc2UuXHJcbiAgICovXHJcbiAgcHVibGljIGhhc1JlZ2lzdGVyZWRDb25maWcodXVpZDogVXVpZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0lkTGlzdC5pbmRleE9mKHV1aWQpICE9PSAtMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGBSb3V0ZU1vY2tDb25maWdgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBgVVJMYCBpbnN0YW5jZSBhbmQgSFRUUCBtZXRob2QuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHVybCBUaGUgYFVSTGAgaW5zdGFuY2UgZm9yIHdoaWNoIHRvIGZpbmQgYSByb3V0ZSBjb25maWcuXHJcbiAgICogQHBhcmFtIG1ldGhvZCBUaGUgSFRUUCBtZXRob2QgZm9yIHdoaWNoIHRvIGZpbmQgYSByb3V0ZSBjb25maWcuXHJcbiAgICogQHJldHVybnMgVGhlIGBSb3V0ZU1vY2tDb25maWdgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBgVVJMYCBpbnN0YW5jZSBhbmQgSFRUUCBtZXRob2Qgd2hldGhlciBpdCBleGlzdHM7XHJcbiAgICogICAgICAgICAgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRSb3V0ZUNvbmZpZyh1cmw6IFVSTCwgbWV0aG9kOiBIVFRQTWV0aG9kUmVmKTogUm91dGVNb2NrQ29uZmlnIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHVybENvbmZpZ0xpc3Q6IE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+IHwgdW5kZWZpbmVkID0gdGhpcy5fY29uZmlnTGlzdC5nZXQodXJsLm9yaWdpbik7XHJcbiAgICBjb25zdCByb3V0ZTogc3RyaW5nID0gdXJsLnBhdGhuYW1lO1xyXG4gICAgbGV0IHJlc3VsdDogUm91dGVNb2NrQ29uZmlnIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gICAgaWYgKCF1cmxDb25maWdMaXN0KSByZXR1cm4gcmVzdWx0O1xyXG4gICAgY29uc3QgbWV0aG9kTGlzdDogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSB8IHVuZGVmaW5lZCA9IHVybENvbmZpZ0xpc3QuZ2V0KG1ldGhvZCk7XHJcbiAgICBpZiAoIW1ldGhvZExpc3QpIHJldHVybiByZXN1bHQ7XHJcbiAgICBsZXQgbGVuOiBudW1iZXIgPSBtZXRob2RMaXN0Lmxlbmd0aCAtIDE7XHJcbiAgICB3aGlsZSAobGVuID49IDAgKSB7XHJcbiAgICAgIGNvbnN0IG1ldGhvZE1hcDogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2UgPSBtZXRob2RMaXN0W2xlbl07XHJcbiAgICAgIGNvbnN0IHJlZ2V4cDogUmVnRXhwID0gbWV0aG9kTWFwLnJlZ2V4cDtcclxuICAgICAgaWYgKHJlZ2V4cC50ZXN0KHJvdXRlKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IHtcclxuICAgICAgICAgIG1ldGhvZENvbmZpZzogbWV0aG9kTWFwLm1ldGhvZE1vY2ssXHJcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB0aGlzLmJ1aWxkUGFyYW1ldGVycyhyZWdleHAsIG1ldGhvZE1hcC5rZXlzLCByb3V0ZSlcclxuICAgICAgICB9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGxlbi0tO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZFBhcmFtZXRlcnMocmVnZXhwOiBSZWdFeHAsIGtleXM6IEtleVtdLCByb3V0ZTogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGV4ZWNSZXN1bHQ6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwgPSByZWdleHAuZXhlYyhyb3V0ZSk7XHJcbiAgICBpZiAoIWV4ZWNSZXN1bHQpIHJldHVybiBudWxsO1xyXG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7fTtcclxuICAgIGxldCBsZW46IG51bWJlciA9IGV4ZWNSZXN1bHQubGVuZ3RoIC0gMTtcclxuICAgIGxldCBpOiBudW1iZXIgPSAxO1xyXG4gICAgZm9yICg7IGkgPD0gbGVuOyArK2kpIHtcclxuICAgICAgY29uc3Qga2V5OiBLZXkgPSBrZXlzW2kgLSAxXTtcclxuICAgICAgcGFyYW1zW2tleS5uYW1lXSA9IGV4ZWNSZXN1bHRbaV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RDb25maWcoaW50ZXJjZXB0b3I6IEh0dHBNb2NrSW50ZXJjZXB0b3IsIGdsb2JhbE9yaWdpbjogc3RyaW5nLCBjb25maWdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbmRwb2ludHM6IEh0dHBNb2NrRW5kcG9pbnRbXSA9IGludGVyY2VwdG9yLmVuZHBvaW50cztcclxuICAgIGxldCBvcmlnaW46IHN0cmluZyB8IHVuZGVmaW5lZCA9IGludGVyY2VwdG9yLm9yaWdpbjtcclxuICAgIGlmIChvcmlnaW4pIHRoaXMuY2hlY2tPcmlnaW4ob3JpZ2luKTtcclxuICAgIGVsc2Ugb3JpZ2luID0gZ2xvYmFsT3JpZ2luO1xyXG4gICAgaWYgKCF0aGlzLl9jb25maWdMaXN0LmhhcyhvcmlnaW4pKSB0aGlzLl9jb25maWdMaXN0LnNldChvcmlnaW4sIG5ldyBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPigpKTtcclxuICAgIGVuZHBvaW50cy5mb3JFYWNoKChlbmRwb2ludDogSHR0cE1vY2tFbmRwb2ludCkgPT4ge1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLkdFVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLlBPU1QsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5QVVQsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5ERUxFVEUsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5IRUFELCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuT1BUSU9OUywgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLlBBVENILCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuQ09OTkVDVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLlRSQUNFLCBjb25maWdJZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBleHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luOiBzdHJpbmcsIGVuZHBvaW50OiBIdHRwTW9ja0VuZHBvaW50LCBtZXRob2Q6IEhUVFBNZXRob2RSZWYsIGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVwOiBhbnkgPSBlbmRwb2ludDtcclxuICAgIGlmICghZXBbbWV0aG9kIGFzIGFueV0pIHJldHVybjtcclxuICAgIGNvbnN0IG9yaWdpbkNvbmZpZzogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4gPSB0aGlzLl9jb25maWdMaXN0LmdldChvcmlnaW4pIGFzIGFueTtcclxuICAgIGNvbnN0IHJvdXRlOiBzdHJpbmcgPSBlbmRwb2ludC5yb3V0ZTtcclxuICAgIGNvbnN0IGRhdGE6IFRva2VuRGF0YSA9IHN0cmluZ1RvVG9rZW5EYXRhKHJvdXRlKTtcclxuICAgIGNvbnN0IGtleXM6IEtleVtdID0gW107XHJcbiAgICBjb25zdCByZWdleHA6IFJlZ0V4cCA9IHRva2VuRGF0YVRvUmVnZXhwKGRhdGEsIGtleXMsIHt9KTtcclxuICAgIGlmICghb3JpZ2luQ29uZmlnLmhhcyhtZXRob2QpKSBvcmlnaW5Db25maWcuc2V0KG1ldGhvZCwgW10pO1xyXG4gICAgY29uc3QgbWV0aG9kQ29uZmlnOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdID0gb3JpZ2luQ29uZmlnLmdldChtZXRob2QpIGFzIGFueTtcclxuICAgIG1ldGhvZENvbmZpZy5wdXNoKHtcclxuICAgICAgcmVnZXhwOiByZWdleHAsXHJcbiAgICAgIGtleXM6IGtleXMsXHJcbiAgICAgIG1ldGhvZE1vY2s6IGVwW21ldGhvZF0sXHJcbiAgICAgIGNvbmZpZ0lkOiBjb25maWdJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcml2YXRlIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2hlY2tPcmlnaW4ob3JpZ2luOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChvcmlnaW4uZW5kc1dpdGgoREVGQVVMVF9ERUxJTUlURVIpKSB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYE9yaWdpbiBtdXN0IG5vdCBlbmQgd2l0aCBhIC8gY2hhcmFjdGVyOiBbXCIke29yaWdpbn1cIl0uYCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZWxldGVDb25maWdCeUlkKHN0b3JhZ2VNYXA6IE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+LCBjb25maWdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBzdG9yYWdlTWFwLmZvckVhY2goKHN0b3JhZ2U6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNsZWFuZWRDb25maWc6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10gPSB0aGlzLmNsZWFuQ29uZmlnKHN0b3JhZ2UsIGNvbmZpZ0lkKTtcclxuICAgICAgaWYgKGNsZWFuZWRDb25maWcubGVuZ3RoKSBzdG9yYWdlTWFwLnNldChrZXksIGNsZWFuZWRDb25maWcpO1xyXG4gICAgICBlbHNlIHN0b3JhZ2VNYXAuZGVsZXRlKGtleSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjbGVhbkNvbmZpZyhzdG9yYWdlOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdLCBjb25maWdJZDogc3RyaW5nKTogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSB7XHJcbiAgICByZXR1cm4gc3RvcmFnZS5maWx0ZXIoKHZhbHVlOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZSk9PiB2YWx1ZS5jb25maWdJZCAhPT0gY29uZmlnSWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL21vY2svaHR0cC9odHRwLW1vY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFXLGlCQUFpQixDQUFDO0FBYTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFLRTs7O1dBR0c7UUFDYSxTQUFJLEdBQVcsaUJBQWlCLENBQUM7UUFFakQ7OztXQUdHO1FBQ0ssa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssZ0JBQVcsR0FBd0QsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFFckk7OztXQUdHO1FBQ2MsZUFBVSxHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBcUw5RDtJQW5MQzs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxNQUFzQjtRQUNyQyxNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLEVBQUUsR0FBcUIsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUFFLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyw4REFBOEQsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBRTtRQUN0SixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFFLENBQUM7UUFDbEgsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLElBQVU7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQzVDLE1BQU0sUUFBUSxHQUFXLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQTZDLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNEOzs7Ozs7T0FNRztJQUNJLG1CQUFtQixDQUFDLElBQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBcUI7UUFDbkQsTUFBTSxhQUFhLEdBQXVELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRyxNQUFNLEtBQUssR0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksTUFBTSxHQUFnQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBMEMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQy9CLElBQUksR0FBRyxHQUFXLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRyxDQUFDO1lBQ2pCLE1BQU0sU0FBUyxHQUE0QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsTUFBTSxNQUFNLEdBQVcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN4QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxHQUFHO29CQUNQLFlBQVksRUFBRSxTQUFTLENBQUMsVUFBVTtvQkFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO29CQUMvRCxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7aUJBQy9CLENBQUM7Z0JBQ0YsTUFBTTtZQUNSLENBQUM7WUFDRCxHQUFHLEVBQUUsQ0FBQztRQUNSLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsTUFBYyxFQUFFLElBQVcsRUFBRSxLQUFhO1FBQ2hFLE1BQU0sVUFBVSxHQUEyQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksR0FBRyxHQUFXLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFXLENBQUMsQ0FBQztRQUNsQixPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsR0FBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhLENBQUMsV0FBZ0MsRUFBRSxZQUFvQixFQUFFLFFBQWdCO1FBQzVGLE1BQU0sU0FBUyxHQUF1QixXQUFXLENBQUMsU0FBUyxDQUFDO1FBQzVELElBQUksTUFBTSxHQUF1QixXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3BELElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7O1lBQ2hDLE1BQU0sR0FBRyxZQUFZLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBcUMsQ0FBQyxDQUFDO1FBQzlHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyxNQUFjLEVBQUUsUUFBMEIsRUFBRSxNQUFxQixFQUFFLFFBQWdCO1FBQy9HLE1BQU0sRUFBRSxHQUFRLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQWEsQ0FBQztZQUFFLE9BQU87UUFDL0IsTUFBTSxZQUFZLEdBQTJDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBUSxDQUFDO1FBQ2pHLE1BQU0sS0FBSyxHQUFXLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQWMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFXLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsTUFBTSxZQUFZLEdBQThCLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFRLENBQUM7UUFDaEYsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDdEIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFDLE1BQWM7UUFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQUUsTUFBTSxJQUFJLFdBQVcsQ0FBQyw2Q0FBNkMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxVQUFrRCxFQUFFLFFBQWdCO1FBQzNGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFrQyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ3JFLE1BQU0sYUFBYSxHQUE4QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRixJQUFJLGFBQWEsQ0FBQyxNQUFNO2dCQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDOztnQkFDeEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxPQUFrQyxFQUFFLFFBQWdCO1FBQ3RFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQThCLEVBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDeEYsQ0FBQzs4R0E1TVUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBNb2NrSW50ZXJjZXB0b3IsIEh0dHBNb2NrQ29uZmlnLCBIdHRwTWV0aG9kTW9jaywgSHR0cE1vY2tFbmRwb2ludCB9IGZyb20gJy4uLy4uLy4uL2J1c2luZXNzJztcclxuaW1wb3J0IHsgSFRUUE1ldGhvZFJlZiB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9odHRwLW1ldGhvZC1yZWYuZW51bSc7XHJcbmltcG9ydCB7IHRva2VuRGF0YVRvUmVnZXhwIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC90b2tlbi1kYXRhLXRvLXJlZ2V4cCc7XHJcbmltcG9ydCB7IFJvdXRlTW9ja0NvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvY29uZmlnL3JvdXRlLW1vY2stY29uZmlnJztcclxuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC9tb2RlbC9rZXknO1xyXG5pbXBvcnQgeyBzdHJpbmdUb1Rva2VuRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvc3RyaW5nLXRvLXRva2VuLWRhdGEnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0RFTElNSVRFUiB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXVpZCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwnO1xyXG5pbXBvcnQgeyBUb2tlbkRhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL3Rva2VuLWRhdGEnO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1NlcnZpY2VFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvZXJyb3InO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgdHlwZSBmb3IgdGhpcyBjbGFzcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBIVFRQX01PQ0tfU0VSVklDRTogc3RyaW5nID0gXCJIdHRwTW9ja1NlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBBbiBpbnRlcm5hbCB1dGlsaXR5IGZvciBzdG9ycmluZyByZWZlcmVuY2VzIHRvIGVuZHBvaW50IG1vY2sgY29uZmlncy5cclxuICovXHJcbmludGVyZmFjZSBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZSB7XHJcbiAgbWV0aG9kTW9jazogSHR0cE1ldGhvZE1vY2s7XHJcbiAgcmVnZXhwOiBSZWdFeHA7XHJcbiAga2V5czogS2V5W107XHJcbiAgY29uZmlnSWQ6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBgSHR0cE1vY2tTZXJ2aWNlYCBjbGFzcyBwcm92aWRlcyB0aGUgQVBJIGZvciBtYW5hZ2luZyBIVFRQIG1vY2sgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cE1vY2tTZXJ2aWNlIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBFbnN1cmVzIHRoYXQgY2xhc3MgdHlwZSBpcyBzdGlsbCBhY2Nlc3NpYmxlIGFmdGVyIFR5cGVTY3JpcHQgY29tcGlsYXRpb24uXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IEhUVFBfTU9DS19TRVJWSUNFO1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFRoZSBsaXN0IG9mIElEcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBjb25maWcgb2JqZWN0LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ0lkTGlzdDogVXVpZFtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogU3RvcmVzIHRoZSBjb21wbGV0ZSBjb2xsZWN0aW9uIG9mIG1vY2tpbmcgYmVoYXZpb3JzIGZvciBlYWNoIHJlZ2lzdGVyZWQgY29uZmlnLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ0xpc3Q6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+PiA9IG5ldyBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGFwcCBVUkwgb3JpZ2luLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgQVBQX09SSUdJTjogc3RyaW5nID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyB0aGUgc3BlY2lmaWVkIGBIdHRwTW9ja0NvbmZpZ2Agb2JqZWN0IHRvIHRoaXMgYEh0dHBNb2NrU2VydmljZWAgaW5zdGFuY2UuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgYEh0dHBNb2NrQ29uZmlnYCBvYmplY3QgdG8gYWRkIHRvIHRoaXMgYEh0dHBNb2NrU2VydmljZWAgaW5zdGFuY2UuXHJcbiAgICogQFJldHVybnMgVGhlIGBVdWlkYCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIGFkZGVkIGBIdHRwTW9ja0NvbmZpZ2Agb2JqZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhZGRDb25maWcoY29uZmlnOiBIdHRwTW9ja0NvbmZpZyk6IFV1aWQge1xyXG4gICAgY29uc3Qgb3JpZ2luOiBzdHJpbmcgPSBjb25maWcub3JpZ2luIHx8IHRoaXMuQVBQX09SSUdJTjtcclxuICAgIHRoaXMuY2hlY2tPcmlnaW4ob3JpZ2luKTtcclxuICAgIGxldCBpZDogVXVpZCB8IHVuZGVmaW5lZCA9IGNvbmZpZy5pZDtcclxuICAgIGlmICghaWQpIHtcclxuICAgICAgaWQgPSBVdWlkLmJ1aWxkKCk7XHJcbiAgICAgIGNvbmZpZy5pZCA9IGlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaGFzUmVnaXN0ZXJlZENvbmZpZyhpZCkpIHRocm93IG5ldyBIdHRwTW9ja1NlcnZpY2VFcnJvcihgQSBjb25maWcgb2JqZWN0IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZCB3aXRoIHRoZSBpZDogW1wiJHtpZC50b1N0cmluZygpfVwiXS5gKSA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jb25maWdJZExpc3QucHVzaChpZCk7XHJcbiAgICBjb25zdCB1dWlkOiBzdHJpbmcgPSBpZC50b1N0cmluZygpO1xyXG4gICAgY29uZmlnLmludGVyY2VwdG9ycy5mb3JFYWNoKChpbnRlcmNlcHRvcjogSHR0cE1vY2tJbnRlcmNlcHRvcikgPT4gdGhpcy5leHRyYWN0Q29uZmlnKGludGVyY2VwdG9yLCBvcmlnaW4sIHV1aWQpICk7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGFwcCBVUkwgb3JpZ2luLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudCBhcHAgVVJMIG9yaWdpbi5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QXBwT3JpZ2luKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5BUFBfT1JJR0lOO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyB0aGUgY29uZmlndXJhdGlvbiByZWdpc3RlcmVkIHdpdGggdGhlIHNwZWNpZmllZCBgdXVpZGAgZnJvbSB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB1dWlkIFRoZSBVVUlEIG9mIHRoZSBjb25maWd1cmF0aW9uIHRvIHJlbW92ZS5cclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlQ29uZmlnKHV1aWQ6IFV1aWQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oYXNSZWdpc3RlcmVkQ29uZmlnKHV1aWQpKSByZXR1cm47XHJcbiAgICBjb25zdCBjb25maWdJZDogc3RyaW5nID0gdXVpZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fY29uZmlnTGlzdC5mb3JFYWNoKCh2YWx1ZTogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsZXRlQ29uZmlnQnlJZCh2YWx1ZSwgY29uZmlnSWQpO1xyXG4gICAgICBpZiAodmFsdWUuc2l6ZSA9PT0gMCkgdGhpcy5fY29uZmlnTGlzdC5kZWxldGUoa2V5KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fY29uZmlnSWRMaXN0LnNwbGljZSh0aGlzLl9jb25maWdJZExpc3QuaW5kZXhPZih1dWlkKSwgMSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGFsbCByZWdpc3RyZWQgY29uZmlndXJhdGlvbnMgZnJvbSB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGVhckNvbmZpZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdMaXN0LmNsZWFyKCk7XHJcbiAgICB0aGlzLl9jb25maWdJZExpc3QubGVuZ3RoID0gMDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciBhIGNvbmZpZyB3aXRoIHRoZSBzcGVjaWZpZWQgVVVJRCBoYXMgYmVlbiByZWdpc3RlcmVkXHJcbiAgICogKGB0cnVlYCksIG9yIG5vdCAoYGZhbHNlYCkuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHV1aWQgVGhlIFVVSUQgb2YgdGhlIGNvbmZpZyB0byBjaGVjay5cclxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hldGhlciBhIGNvbmZpZyB3aXRoIHRoZSBzcGVjaWZpZWQgVVVJRCBoYXMgYmVlbiByZWdpc3RlcmVkOyBgZmFsc2VgIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBwdWJsaWMgaGFzUmVnaXN0ZXJlZENvbmZpZyh1dWlkOiBVdWlkKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnSWRMaXN0LmluZGV4T2YodXVpZCkgIT09IC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgYFJvdXRlTW9ja0NvbmZpZ2Agb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGBVUkxgIGluc3RhbmNlIGFuZCBIVFRQIG1ldGhvZC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXJsIFRoZSBgVVJMYCBpbnN0YW5jZSBmb3Igd2hpY2ggdG8gZmluZCBhIHJvdXRlIGNvbmZpZy5cclxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBIVFRQIG1ldGhvZCBmb3Igd2hpY2ggdG8gZmluZCBhIHJvdXRlIGNvbmZpZy5cclxuICAgKiBAcmV0dXJucyBUaGUgYFJvdXRlTW9ja0NvbmZpZ2Agb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGBVUkxgIGluc3RhbmNlIGFuZCBIVFRQIG1ldGhvZCB3aGV0aGVyIGl0IGV4aXN0cztcclxuICAgKiAgICAgICAgICBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXHJcbiAgICovXHJcbiAgcHVibGljIGdldFJvdXRlQ29uZmlnKHVybDogVVJMLCBtZXRob2Q6IEhUVFBNZXRob2RSZWYpOiBSb3V0ZU1vY2tDb25maWcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgdXJsQ29uZmlnTGlzdDogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4gfCB1bmRlZmluZWQgPSB0aGlzLl9jb25maWdMaXN0LmdldCh1cmwub3JpZ2luKTtcclxuICAgIGNvbnN0IHJvdXRlOiBzdHJpbmcgPSB1cmwucGF0aG5hbWU7XHJcbiAgICBsZXQgcmVzdWx0OiBSb3V0ZU1vY2tDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgICBpZiAoIXVybENvbmZpZ0xpc3QpIHJldHVybiByZXN1bHQ7XHJcbiAgICBjb25zdCBtZXRob2RMaXN0OiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdIHwgdW5kZWZpbmVkID0gdXJsQ29uZmlnTGlzdC5nZXQobWV0aG9kKTtcclxuICAgIGlmICghbWV0aG9kTGlzdCkgcmV0dXJuIHJlc3VsdDtcclxuICAgIGxldCBsZW46IG51bWJlciA9IG1ldGhvZExpc3QubGVuZ3RoIC0gMTtcclxuICAgIHdoaWxlIChsZW4gPj0gMCApIHtcclxuICAgICAgY29uc3QgbWV0aG9kTWFwOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZSA9IG1ldGhvZExpc3RbbGVuXTtcclxuICAgICAgY29uc3QgcmVnZXhwOiBSZWdFeHAgPSBtZXRob2RNYXAucmVnZXhwO1xyXG4gICAgICBpZiAocmVnZXhwLnRlc3Qocm91dGUpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgbWV0aG9kQ29uZmlnOiBtZXRob2RNYXAubWV0aG9kTW9jayxcclxuICAgICAgICAgIHBhcmFtZXRlcnM6IHRoaXMuYnVpbGRQYXJhbWV0ZXJzKHJlZ2V4cCwgbWV0aG9kTWFwLmtleXMsIHJvdXRlKSxcclxuICAgICAgICAgIHNlYXJjaFBhcmFtczogdXJsLnNlYXJjaFBhcmFtc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgbGVuLS07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkUGFyYW1ldGVycyhyZWdleHA6IFJlZ0V4cCwga2V5czogS2V5W10sIHJvdXRlOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgZXhlY1Jlc3VsdDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHJlZ2V4cC5leGVjKHJvdXRlKTtcclxuICAgIGlmICghZXhlY1Jlc3VsdCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xyXG4gICAgbGV0IGxlbjogbnVtYmVyID0gZXhlY1Jlc3VsdC5sZW5ndGggLSAxO1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDE7XHJcbiAgICBmb3IgKDsgaSA8PSBsZW47ICsraSkge1xyXG4gICAgICBjb25zdCBrZXk6IEtleSA9IGtleXNbaSAtIDFdO1xyXG4gICAgICBwYXJhbXNba2V5Lm5hbWVdID0gZXhlY1Jlc3VsdFtpXTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcml2YXRlIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXh0cmFjdENvbmZpZyhpbnRlcmNlcHRvcjogSHR0cE1vY2tJbnRlcmNlcHRvciwgZ2xvYmFsT3JpZ2luOiBzdHJpbmcsIGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVuZHBvaW50czogSHR0cE1vY2tFbmRwb2ludFtdID0gaW50ZXJjZXB0b3IuZW5kcG9pbnRzO1xyXG4gICAgbGV0IG9yaWdpbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gaW50ZXJjZXB0b3Iub3JpZ2luO1xyXG4gICAgaWYgKG9yaWdpbikgdGhpcy5jaGVja09yaWdpbihvcmlnaW4pO1xyXG4gICAgZWxzZSBvcmlnaW4gPSBnbG9iYWxPcmlnaW47XHJcbiAgICBpZiAoIXRoaXMuX2NvbmZpZ0xpc3QuaGFzKG9yaWdpbikpIHRoaXMuX2NvbmZpZ0xpc3Quc2V0KG9yaWdpbiwgbmV3IE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+KCkpO1xyXG4gICAgZW5kcG9pbnRzLmZvckVhY2goKGVuZHBvaW50OiBIdHRwTW9ja0VuZHBvaW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuR0VULCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuUE9TVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLlBVVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLkRFTEVURSwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLkhFQUQsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5PUFRJT05TLCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuUEFUQ0gsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5DT05ORUNULCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuVFJBQ0UsIGNvbmZpZ0lkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW46IHN0cmluZywgZW5kcG9pbnQ6IEh0dHBNb2NrRW5kcG9pbnQsIG1ldGhvZDogSFRUUE1ldGhvZFJlZiwgY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZXA6IGFueSA9IGVuZHBvaW50O1xyXG4gICAgaWYgKCFlcFttZXRob2QgYXMgYW55XSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb3JpZ2luQ29uZmlnOiBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPiA9IHRoaXMuX2NvbmZpZ0xpc3QuZ2V0KG9yaWdpbikgYXMgYW55O1xyXG4gICAgY29uc3Qgcm91dGU6IHN0cmluZyA9IGVuZHBvaW50LnJvdXRlO1xyXG4gICAgY29uc3QgZGF0YTogVG9rZW5EYXRhID0gc3RyaW5nVG9Ub2tlbkRhdGEocm91dGUpO1xyXG4gICAgY29uc3Qga2V5czogS2V5W10gPSBbXTtcclxuICAgIGNvbnN0IHJlZ2V4cDogUmVnRXhwID0gdG9rZW5EYXRhVG9SZWdleHAoZGF0YSwga2V5cywge30pO1xyXG4gICAgaWYgKCFvcmlnaW5Db25maWcuaGFzKG1ldGhvZCkpIG9yaWdpbkNvbmZpZy5zZXQobWV0aG9kLCBbXSk7XHJcbiAgICBjb25zdCBtZXRob2RDb25maWc6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10gPSBvcmlnaW5Db25maWcuZ2V0KG1ldGhvZCkgYXMgYW55O1xyXG4gICAgbWV0aG9kQ29uZmlnLnB1c2goe1xyXG4gICAgICByZWdleHA6IHJlZ2V4cCxcclxuICAgICAga2V5czoga2V5cyxcclxuICAgICAgbWV0aG9kTW9jazogZXBbbWV0aG9kXSxcclxuICAgICAgY29uZmlnSWQ6IGNvbmZpZ0lkXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjaGVja09yaWdpbihvcmlnaW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG9yaWdpbi5lbmRzV2l0aChERUZBVUxUX0RFTElNSVRFUikpIHRocm93IG5ldyBTeW50YXhFcnJvcihgT3JpZ2luIG11c3Qgbm90IGVuZCB3aXRoIGEgLyBjaGFyYWN0ZXI6IFtcIiR7b3JpZ2lufVwiXS5gKTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGRlbGV0ZUNvbmZpZ0J5SWQoc3RvcmFnZU1hcDogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4sIGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN0b3JhZ2VNYXAuZm9yRWFjaCgoc3RvcmFnZTogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgY29uc3QgY2xlYW5lZENvbmZpZzogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSA9IHRoaXMuY2xlYW5Db25maWcoc3RvcmFnZSwgY29uZmlnSWQpO1xyXG4gICAgICBpZiAoY2xlYW5lZENvbmZpZy5sZW5ndGgpIHN0b3JhZ2VNYXAuc2V0KGtleSwgY2xlYW5lZENvbmZpZyk7XHJcbiAgICAgIGVsc2Ugc3RvcmFnZU1hcC5kZWxldGUoa2V5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFuQ29uZmlnKHN0b3JhZ2U6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10sIGNvbmZpZ0lkOiBzdHJpbmcpOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdIHtcclxuICAgIHJldHVybiBzdG9yYWdlLmZpbHRlcigodmFsdWU6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlKT0+IHZhbHVlLmNvbmZpZ0lkICE9PSBjb25maWdJZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -14,9 +14,9 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
*/
|
|
15
15
|
const LAYERS_VERSION_CONFIG = {
|
|
16
16
|
major: 0,
|
|
17
|
-
minor:
|
|
18
|
-
patch:
|
|
19
|
-
buildTimestamp:
|
|
17
|
+
minor: 11,
|
|
18
|
+
patch: 1,
|
|
19
|
+
buildTimestamp: 1722003985958,
|
|
20
20
|
metadata: "beta"
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
@@ -35,4 +35,4 @@ export class AngularToolboxVersionService extends AbstractVersionManager {
|
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
|
|
36
36
|
type: Injectable
|
|
37
37
|
}], ctorParameters: () => [] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtJQUM3QixRQUFRLEVBQUUsTUFBTTtDQUNqQixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBWZXJzaW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vYnVzaW5lc3MnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKiBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBBbmd1bGFyIFRvb2xib3ggbGlicmFyeS5cbiAqL1xuY29uc3QgTEFZRVJTX1ZFUlNJT05fQ09ORklHOiBWZXJzaW9uQ29uZmlnID0ge1xuICBtYWpvcjogMCxcbiAgbWlub3I6IDExLFxuICBwYXRjaDogMSxcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjIwMDM5ODU5NTgsXG4gIG1ldGFkYXRhOiBcImJldGFcIlxufTtcblxuLyoqXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcbiAgfVxufVxuIl19
|