angular-toolbox 0.11.0 → 0.11.2
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 +40 -0
- package/esm2022/lib/framework/mock/http/util/fetch-client.builder.mjs +52 -0
- package/esm2022/lib/framework/mock/http/util/index.mjs +3 -1
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +13 -3
- 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 +3 -3
- package/fesm2022/angular-toolbox.mjs +116 -8
- 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 +38 -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 +4 -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,40 @@
|
|
|
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
|
+
/**
|
|
36
|
+
* Allows to return the response as a promise that resolves with a `Response` object.
|
|
37
|
+
*/
|
|
38
|
+
FetchClientResponseType["RESPONSE"] = "response";
|
|
39
|
+
})(FetchClientResponseType || (FetchClientResponseType = {}));
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LXJlc3BvbnNlLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9mZXRjaC1jbGllbnQtcmVzcG9uc2UtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBTixJQUFZLHVCQWdDWDtBQWhDRCxXQUFZLHVCQUF1QjtJQUUvQjs7T0FFRztJQUNILHVEQUE0QixDQUFBO0lBRTVCOztPQUVHO0lBQ0gsd0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsaURBQXNCLENBQUE7SUFFdEI7O09BRUc7SUFDSCx3Q0FBYSxDQUFBO0lBRWI7OztPQUdHO0lBQ0gsd0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsZ0RBQXFCLENBQUE7QUFDekIsQ0FBQyxFQWhDVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBZ0NsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIHRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBgcmVzcG9uc2VUeXBlYCBwcm9wZXJ0eSBvZiB0aGVcclxuICogYEZldGNoQ2xpZW50QnVpbGRlci5idWlsZEZldGNoQ2xpZW50KClgIG1ldGhvZC5cclxuICovXHJcbmV4cG9ydCBlbnVtIEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93cyB0byByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYEFycmF5QnVmZmVyYC5cclxuICAgICAqL1xyXG4gICAgQVJSQVlfQlVGRkVSID0gXCJhcnJheUJ1ZmZlclwiLFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93cyB0byByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBgQmxvYmAuXHJcbiAgICAgKi9cclxuICAgIEJMT0IgPSBcImJsb2JcIixcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93cyB0byByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBgRm9ybURhdGFgIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgRk9STV9EQVRBID0gXCJmb3JtRGF0YVwiLFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWxsb3dzIHRvIHJldHVybiB0aGUgcmVzcG9uc2UgYXMgYSBwcm9taXNlIHdoaWNoIHJlc29sdmVzIHdpdGggdGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRoZSBib2R5IHRleHQgYXMgSlNPTi5cclxuICAgICAqL1xyXG4gICAgSlNPTiA9IFwianNvblwiLFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93cyB0byByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBgU3RyaW5nYC5cclxuICAgICAqIFRoZSByZXNwb25zZSBpcyBhbHdheXMgZGVjb2RlZCB1c2luZyBVVEYtOC5cclxuICAgICAqL1xyXG4gICAgVEVYVCA9IFwidGV4dFwiLFxyXG4gICAgICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGxvd3MgdG8gcmV0dXJuIHRoZSByZXNwb25zZSBhcyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgYFJlc3BvbnNlYCBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIFJFU1BPTlNFID0gXCJyZXNwb25zZVwiXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
const rspType = responseType;
|
|
27
|
+
if (response.ok)
|
|
28
|
+
return rspType !== FetchClientResponseType.RESPONSE ? FetchClientBuilder.buildResponseStrategy(response, rspType) : response;
|
|
29
|
+
throw new HttpErrorResponse({
|
|
30
|
+
status: response.status,
|
|
31
|
+
statusText: response.statusText
|
|
32
|
+
});
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
static buildResponseStrategy(response, responseType) {
|
|
39
|
+
if (responseType === FetchClientResponseType.JSON)
|
|
40
|
+
return response.json();
|
|
41
|
+
if (responseType === FetchClientResponseType.BLOB)
|
|
42
|
+
return response.blob();
|
|
43
|
+
if (responseType === FetchClientResponseType.FORM_DATA)
|
|
44
|
+
return response.formData();
|
|
45
|
+
if (responseType === FetchClientResponseType.ARRAY_BUFFER)
|
|
46
|
+
return response.arrayBuffer();
|
|
47
|
+
if (responseType === FetchClientResponseType.TEXT)
|
|
48
|
+
return response.text();
|
|
49
|
+
return response.json();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvZmV0Y2gtY2xpZW50LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFFM0I7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxPQUEyQixJQUFJLEVBQUUsZUFBd0MsdUJBQXVCLENBQUMsSUFBSTtRQUMxSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDcEUsTUFBTSxPQUFPLEdBQTRCLFlBQVksQ0FBQztZQUN0RCxJQUFJLFFBQVEsQ0FBQyxFQUFFO2dCQUFFLE9BQU8sT0FBTyxLQUFLLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDOUksTUFBTSxJQUFJLGlCQUFpQixDQUFDO2dCQUN4QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3ZCLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTthQUNsQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQWtCLEVBQUUsWUFBcUM7UUFDMUYsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFFLElBQUksWUFBWSxLQUFLLHVCQUF1QixDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxJQUFJLFlBQVksS0FBSyx1QkFBdUIsQ0FBQyxTQUFTO1lBQUUsT0FBTyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkYsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsWUFBWTtZQUFFLE9BQU8sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pGLElBQUksWUFBWSxLQUFLLHVCQUF1QixDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBGZXRjaENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBmcm9tIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUgfSBmcm9tIFwiLi9mZXRjaC1jbGllbnQtcmVzcG9uc2UtdHlwZS5lbnVtXCI7XHJcblxyXG4vKipcclxuICogQSBzdGF0aWMgdXRpbGl0eSBjbGFzcyBmb3IgYnVpbGRpbmcgYEZldGNoQ2xpZW50YCBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZldGNoQ2xpZW50QnVpbGRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW5kIHJldHVybnMgYSBuZXcgYEZldGNoQ2xpZW50YCBvYmplY3QuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBpbnB1dCBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3VyY2UgdG8gZmV0Y2guXHJcbiAgICAgKiBAcGFyYW0gaW5pdCBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyB0byBjb25maWd1cmUgdGhlIHJlcXVlc3QuXHJcbiAgICAgKiBAcGFyYW0gcmVzcG9uc2VUeXBlIFNwZWNpZmllcyB0aGUgdHlwZSBvZiByZXNwb25zZSBmb3IgdGhlIHJlc291cmNlIHRvIGZldGNoLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyBgRmV0Y2hDbGllbnRgIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBidWlsZEZldGNoQ2xpZW50KGlucHV0OiBSZXF1ZXN0SW5mbyB8IFVSTCwgaW5pdDogUmVxdWVzdEluaXQgfCBudWxsID0gbnVsbCwgcmVzcG9uc2VUeXBlOiBGZXRjaENsaWVudFJlc3BvbnNlVHlwZSA9IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkpTT04pOiBGZXRjaENsaWVudCB7XHJcbiAgICAgICAgcmV0dXJuIGZyb20oZmV0Y2goaW5wdXQsIGluaXQgfHwgdW5kZWZpbmVkKS50aGVuKChyZXNwb25zZTogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcnNwVHlwZTogRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUgPSByZXNwb25zZVR5cGU7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5vaykgcmV0dXJuIHJzcFR5cGUgIT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLlJFU1BPTlNFID8gRmV0Y2hDbGllbnRCdWlsZGVyLmJ1aWxkUmVzcG9uc2VTdHJhdGVneShyZXNwb25zZSwgcnNwVHlwZSkgOiByZXNwb25zZTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogcmVzcG9uc2Uuc3RhdHVzVGV4dFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBidWlsZFJlc3BvbnNlU3RyYXRlZ3kocmVzcG9uc2U6IFJlc3BvbnNlLCByZXNwb25zZVR5cGU6IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlKTogUHJvbWlzZTxhbnk+e1xyXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkpTT04pIHJldHVybiByZXNwb25zZS5qc29uKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuQkxPQikgcmV0dXJuIHJlc3BvbnNlLmJsb2IoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09PSBGZXRjaENsaWVudFJlc3BvbnNlVHlwZS5GT1JNX0RBVEEpIHJldHVybiByZXNwb25zZS5mb3JtRGF0YSgpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkFSUkFZX0JVRkZFUikgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuVEVYVCkgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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,7 +123,7 @@ 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;
|
|
@@ -324,5 +324,15 @@ export class DelegateXhr extends XhrBase {
|
|
|
324
324
|
setDataStorage(responseMock, data = null) {
|
|
325
325
|
this._dataStorage = DataStorageBuilder.buildDataStorage(responseMock, data);
|
|
326
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
|
+
}
|
|
327
337
|
}
|
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUteGhyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC94aHIvZGVsZWdhdGUteGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsVUFBVSxFQUFnQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxTQUFTLEdBQVcsS0FBSyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sd0JBQXdCLEdBQVUsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUVoRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPO0lBb0VwQzs7OztPQUlHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE1BQU07UUFDTixPQUFP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QUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVEsQ0FBQyxnQkFBa0M7UUFDL0MsTUFBTSxZQUFZLEdBQTBCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNsRSxPQUFPLENBQUMsWUFBWSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0Q7O09BRUc7SUFDSyxjQUFjLENBQUMsWUFBOEIsRUFBRSxPQUFZLElBQUk7UUFDbkUsSUFBSSxDQUFDLFlBQVksR0FBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0LCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBYaHJQcm94eSwgSHR0cFJlc3BvbnNlTW9jaywgSHR0cE1ldGhvZE1vY2ssIEh0dHBNb2NrRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgUHJvZ3Jlc3NFdmVudE1vY2sgfSBmcm9tIFwiLi4vZXZlbnQvcHJvZ3Jlc3MtZXZlbnQtbW9ja1wiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBYaHJCYXNlIH0gZnJvbSBcIi4veGhyLWJhc2VcIjtcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnNVdGlsIH0gZnJvbSBcIi4uL3V0aWwvaHR0cC1oZWFkZXJzLnV0aWxcIjtcclxuaW1wb3J0IHsgUm91dGVNb2NrQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9yb3V0ZS1tb2NrLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRGF0YVN0b3JhZ2UgfSBmcm9tIFwiLi4vY29yZS9kYXRhLXN0b3JhZ2VcIjtcclxuaW1wb3J0IHsgRGF0YVN0b3JhZ2VCdWlsZGVyIH0gZnJvbSBcIi4uL3V0aWwvZGF0YS1zdG9yYWdlLmJ1aWxkZXJcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgbWF4aW11bSB2YWx1ZSBmb3IgYSBkZWxheWVkIEhUVFAgcmVzcG9uc2UuXHJcbiAqL1xyXG5jb25zdCBNQVhfVElNRVI6IG51bWJlciA9IDEwMDAwO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEludGVuYWwgXCJvbnJlYWR5c3RhdGVjaGFuZ2VcIiBldmVudC5cclxuICovXHJcbmNvbnN0IFJFQURZX1NUQVRFX0NIQU5HRV9FVkVOVDogRXZlbnQgPSBuZXcgRXZlbnQoXCJvbnJlYWR5c3RhdGVjaGFuZ2VcIik7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IEVWVF9QUk9QU19DT05GSUc6IGFueSA9ICB7IHdyaXRhYmxlOiBmYWxzZSwgdmFsdWU6IHRoaXMgfTtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBBIHV0aWxpdHkgY2xhc3MgdXNlZCBhcyBkZWxlZ2F0ZSBvZiBgWE1MSHR0cFJlcXVlc3RgIGZ1bmN0aW9uYWxpdGllcyB3aGVuXHJcbiAqIGEgSFRUUCByZXF1ZXN0IGlzIGludGVyY2VwdGVkIGJ5IHRoZSBNb2NraW5nIEZyYW1ld29yayAuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVYaHIgZXh0ZW5kcyBYaHJCYXNlIGltcGxlbWVudHMgWGhyUHJveHkge1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvZ3Jlc3NpdmUgZG93bmxvYWQgaXMgYWN0aXZhdGVkLCBvciBub3QuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Byb2dyZXNzaXZlRG93bmxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBUaGUgY29uZmlnIGZvciB0aGUgaW50ZXJjZXB0ZWQgcm91dGUuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3JvdXRlQ29uZmlnOiBSb3V0ZU1vY2tDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciBIVFRQIHJlc3BvbnNlIGBkYXRhYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZGF0YVN0b3JhZ2U6IERhdGFTdG9yYWdlID0gbnVsbCBhcyBhbnk7IFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgbWV0aG9kYC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbWV0aG9kOiB1bmtub3duOyBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgVVJMLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF91cmw6IHVua25vd247IFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgcmVhZHlTdGF0ZWAuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3JlYWR5U3RhdGU6IG51bWJlciA9IHRoaXMuVU5TRU5UO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIEhUVFAgcmVxdWVzdCBgaGVhZGVyc2AuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2hlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBzdGF0dXNgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zdGF0dXM6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IGBzdGF0dXNUZXh0YC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc3RhdHVzVGV4dDogc3RyaW5nID0gRU1QVFlfU1RSSU5HO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSByZXNwb25zZSBib2R5IGNvbnRlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VcclxuICAgICAqL1xyXG4gICAgZ2V0IHJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFTdG9yYWdlPy5kYXRhIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBudW1lcmljYWwgSFRUUCBzdGF0dXMgY29kZSBvZiB0aGUgYFhNTEh0dHBSZXF1ZXN0YCByZXNwb25zZS5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9zdGF0dXNcclxuICAgICAqL1xyXG4gICAgZ2V0IHN0YXR1cygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIHN0YXR1cyBtZXNzYWdlIGFzIHJldHVybmVkIGJ5IHRoZSBIVFRQIHNlcnZlci5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9zdGF0dXNUZXh0XHJcbiAgICAgKi9cclxuICAgIGdldCBzdGF0dXNUZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1c1RleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSB0aGUgYFhNTEh0dHBSZXF1ZXN0YCBjbGllbnQgaXMgaW4uXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVhZHlTdGF0ZVxyXG4gICAgICovXHJcbiAgICBnZXQgcmVhZHlTdGF0ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkeVN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgc2VyaWFsaXplZCBVUkwgb2YgdGhlIHJlc3BvbnNlIG9yIHRoZSBlbXB0eSBzdHJpbmcgaWYgdGhlIFVSTCBpcyBgbnVsbGAuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVVJMXHJcbiAgICAgKi9cclxuICAgIGdldCByZXNwb25zZVVSTCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmwgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdGV4dCByZWNlaXZlZCBmcm9tIGEgc2VydmVyIGZvbGxvd2luZyBhIHJlcXVlc3QgYmVpbmcgc2VudC5cclxuICAgICAqXHJcbiAgICAgKiBUaHJvd3MgYW4gYEludmFsaWRTdGF0ZUVycm9yYCBET01FeGNlcHRpb24gaWYgcmVzcG9uc2VUeXBlIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nIG9yIFwidGV4dFwiLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVGV4dFxyXG4gICAgICovXHJcbiAgICBnZXQgcmVzcG9uc2VUZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFTdG9yYWdlPy5zdHJpbmdpZmllZERhdGEgfHwgRU1QVFlfU1RSSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIFJldHVybnMgYW4gYFhNTEh0dHBSZXF1ZXN0VXBsb2FkYCBvYmplY3QgdGhhdCBjYW4gYmUgb2JzZXJ2ZWQgdG8gbW9uaXRvciBhbiB1cGxvYWQgcHJvZ3Jlc3MuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3VwbG9hZFxyXG4gICAgICovXHJcbiAgICBnZXQgdXBsb2FkKCk6IFhNTEh0dHBSZXF1ZXN0VXBsb2FkIHtcclxuICAgICAgICByZXR1cm4gbnVsbCBhcyBhbnk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogIFJldHVybnMgYW4gYW4gZW51bWVyYXRlZCBzdHJpbmcgdmFsdWUgc3BlY2lmeWluZyB0aGUgdHlwZSBvZiBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzcG9uc2UuIFxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNlVHlwZVxyXG4gICAgICovXHJcbiAgICByZXNwb25zZVR5cGU6IFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHktY3JlYXRlZCByZXF1ZXN0LCBvciByZS1pbml0aWFsaXplcyBhbiBleGlzdGluZyBvbmUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtZXRob2QgVGhlIEhUVFAgcmVxdWVzdCBtZXRob2QgdG8gdXNlLCBzdWNoIGFzIGBcIkdFVFwiYCwgYFwiUE9TVFwiYCwgYFwiUFVUXCJgLCBgXCJERUxFVEVcImAsXHJcbiAgICAgKiAgICAgICAgICAgICAgIGV0Yy4gSWdub3JlZCBmb3Igbm9uLUhUVFAoUykgVVJMcy5cclxuICAgICAqIEBwYXJhbSB1cmwgQSBzdHJpbmcgb3IgYW55IG90aGVyIG9iamVjdCB3aXRoIGEgc3RyaW5naWZpZXIg4oCUIGluY2x1ZGluZyBhIFVSTCBvYmplY3Qg4oCUXHJcbiAgICAgKiAgICAgICAgICAgIHRoYXQgcHJvdmlkZXMgdGhlIFVSTCBvZiB0aGUgcmVzb3VyY2UgdG8gc2VuZCB0aGUgcmVxdWVzdCB0by5cclxuICAgICAqL1xyXG4gICAgb3BlbihtZXRob2Q6IHN0cmluZywgdXJsOiBzdHJpbmcgfCBVUkwpOiB2b2lkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZyB8IFVSTCwgYXN5bmM6IGJvb2xlYW4sIHVzZXJuYW1lPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgcGFzc3dvcmQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZDtcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgb3BlbihtZXRob2Q6IHVua25vd24sIHVybDogdW5rbm93biwgYXN5bmM/OiB1bmtub3duLCB1c2VybmFtZT86IHVua25vd24sIHBhc3N3b3JkPzogdW5rbm93bik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21ldGhvZCA9IG1ldGhvZDtcclxuICAgICAgICB0aGlzLl91cmwgPSB1cmw7XHJcbiAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuT1BFTkVEKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFib3J0cyB0aGUgcmVxdWVzdCBpZiBpdCBoYXMgYWxyZWFkeSBiZWVuIHNlbnQuIFdoZW4gYSByZXF1ZXN0IGlzIGFib3J0ZWQsIGl0cyBgcmVhZHlTdGF0ZWBcclxuICAgICAqIGlzIGNoYW5nZWQgdG8gYFhNTEh0dHBSZXF1ZXN0LlVOU0VOVGAgYW5kIHRoZSByZXF1ZXN0IHN0YXR1cyBjb2RlIGlzIHNldCB0byBgMGAuXHJcbiAgICAgKi9cclxuICAgIGFib3J0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWR5U3RhdGUgPSB0aGlzLlVOU0VOVDtcclxuICAgICAgICB0aGlzLl9zdGF0dXMgPSAwO1xyXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaChcImFib3J0XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhbGwgdGhlIHJlc3BvbnNlIGhlYWRlcnMsIHNlcGFyYXRlZCBieSBDUkxGLCBhcyBhIHN0cmluZywgb3IgcmV0dXJucyBgbnVsbGBcclxuICAgICAqIGlmIG5vIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBbGwgdGhlIHJlc3BvbnNlIGhlYWRlcnMsIHNlcGFyYXRlZCBieSBDUkxGLCBhcyBhIHN0cmluZywgb3IgcmV0dXJucyBgbnVsbGBcclxuICAgICAqICAgICAgICAgIGlmIG5vIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkLlxyXG4gICAgICovXHJcbiAgICBnZXRBbGxSZXNwb25zZUhlYWRlcnMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2UgPyBIdHRwSGVhZGVyc1V0aWwuc3RyaW5naWZ5KHRoaXMuX2hlYWRlcnMpIDogRU1QVFlfU1RSSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VuZHMgdGhlIHJlcXVlc3QgdG8gdGhlIHNlcnZlci5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGJvZHkgQSBib2R5IG9mIGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgWEhSIHJlcXVlc3QuXHJcbiAgICAgKi9cclxuICAgIHNlbmQoYm9keT86IERvY3VtZW50IHwgWE1MSHR0cFJlcXVlc3RCb2R5SW5pdCB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+ID0gbmV3IEh0dHBSZXF1ZXN0PGFueT4odGhpcy5fbWV0aG9kIGFzIHN0cmluZywgdGhpcy5fdXJsIGFzIGFueSwgYm9keSk7XHJcbiAgICAgICAgY29uc3QgcmM6IFJvdXRlTW9ja0NvbmZpZyA9IHRoaXMuX3JvdXRlQ29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZU1vY2s6IEh0dHBSZXNwb25zZU1vY2sgPSAocmMubWV0aG9kQ29uZmlnIGFzIGFueSkuZGF0YShyZXF1ZXN0LCByYy5wYXJhbWV0ZXJzKTtcclxuICAgICAgICBsZXQgdGltZXI6IG51bWJlciA9IGh0dHBSZXNwb25zZU1vY2suZGVsYXkgfHwgMDtcclxuICAgICAgICBpZiAodGltZXIgPiBNQVhfVElNRVIpIHRpbWVyID0gTUFYX1RJTUVSO1xyXG4gICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvYWREYXRhKGh0dHBSZXNwb25zZU1vY2spLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jaywgZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcjogSHR0cE1vY2tFcnJvciB8IG51bGwgPSB0aGlzLl9kYXRhU3RvcmFnZS5odHRwUmVzcG9uc2UuZXJyb3I7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkhFQURFUlNfUkVDRUlWRUQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikgcmV0dXJuIHRoaXMub25FcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuTE9BRElORyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZU1vY2sgPSB0aGlzLl9kYXRhU3RvcmFnZS5odHRwUmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhlYWRlcnM6IGFueSA9IHJlc3BvbnNlLmhlYWRlcnM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faGVhZGVycy5rZXlzKCkuZm9yRWFjaCgoa2V5OiBzdHJpbmcpPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdGhpcy5faGVhZGVycy5nZXQoa2V5KSBhcyBhbnkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oZWFkZXJzID0gaGVhZGVycztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9wcm9ncmVzc2l2ZURvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSByZXNwb25zZS5zdGF0dXNUZXh0IHx8IEVNUFRZX1NUUklORztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzIHx8IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uTG9hZENvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qcm9ncmVzc2l2ZURvd25sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9LCB0aW1lcik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jayk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBhbiBIVFRQIHJlcXVlc3QgaGVhZGVyLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyIHdob3NlIHZhbHVlIGlzIHRvIGJlIHNldC5cclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0IGFzIHRoZSBib2R5IG9mIHRoZSBoZWFkZXIuXHJcbiAgICAgKi9cclxuICAgIHNldFJlcXVlc3RIZWFkZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faGVhZGVycyA9IHRoaXMuX2hlYWRlcnMuc2V0KG5hbWUsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihyb3V0ZUNvbmZpZzogUm91dGVNb2NrQ29uZmlnKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBjb25zdCBtZXRob2RDb25maWc6IEh0dHBNZXRob2RNb2NrID0gcm91dGVDb25maWcubWV0aG9kQ29uZmlnO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlQ29uZmlnID0gcm91dGVDb25maWc7XHJcbiAgICAgICAgdGhpcy5fcHJvZ3Jlc3NpdmVEb3dubG9hZCA9IG1ldGhvZENvbmZpZy5wcm9ncmVzc2l2ZSB8fCBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNlVHlwZSA9IG1ldGhvZENvbmZpZy5yZXNwb25zZVR5cGUgfHwgRU1QVFlfU1RSSU5HIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKiBJbnRlcm5hbGx5IHVzZWQgYnkgdGhlIGZyYW1ld29yayB0byBkZWxldGUgYSBgRGVsZWdhdGVYaHJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZUNvbmZpZyA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuX2hlYWRlcnMgPSBudWxsIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZSA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fbG9hZFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZG9Qcm9ncmVzc2l2ZURvd25sb2FkKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRvdGFsOiBudW1iZXIgPSB0aGlzLl9kYXRhU3RvcmFnZS50b3RhbDtcclxuICAgICAgICBpZiAodG90YWwgPD0gMjAwKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltBbmd1bGFyIFRvb2xib3hdOiBCb2R5IGNvbnRlbnQgaXMgdG9vIHNtYWxsIGZvciBlbXVsYXRpbmcgcHJvZ3Jlc3NpdmUgZG93bmxvYWQhIE1pbmltdW0gc2l6ZSBpcyAyMDAgb2N0ZXRzLlwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25Mb2FkQ29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETzogYW1lbGlvcmF0ZSB0aGUgZm9sbG93aW5nIHByb2Nlc3M6XHJcbiAgICAgICAgY29uc3Qgc2VsZjogRGVsZWdhdGVYaHIgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IGNodW5ja1NpemU6IG51bWJlciA9IE1hdGguZmxvb3IodG90YWwgLyAxMCk7XHJcbiAgICAgICAgbGV0IGN1cnNvcjogbnVtYmVyID0gMDtcclxuICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gXCJQYXJ0aWFsIENvbnRlbnRcIjtcclxuICAgICAgICB0aGlzLl9zdGF0dXMgPSBIdHRwU3RhdHVzQ29kZS5QYXJ0aWFsQ29udGVudDtcclxuICAgICAgICBjb25zdCBpZHggPSBzZXRJbnRlcnZhbCgoKT0+IHtcclxuICAgICAgICAgICAgY3Vyc29yICs9IGNodW5ja1NpemU7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3IgPiB0b3RhbCkge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yID0gdG90YWw7XHJcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGlkeCk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLm9uTG9hZENvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZS5sb2FkZWQgPSBjdXJzb3I7XHJcbiAgICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25Mb2FkQ29tcGxldGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVN0b3JhZ2UubG9hZGVkID0gdGhpcy5fZGF0YVN0b3JhZ2UudG90YWw7XHJcbiAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuRE9ORSk7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaFByb2dyZXNzRXZlbnQoXCJsb2FkXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvbkVycm9yKGVycm9yOiBIdHRwTW9ja0Vycm9yKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3RhdHVzID0gZXJyb3Iuc3RhdHVzO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSBlcnJvci5zdGF0dXNUZXh0O1xyXG4gICAgICAgIHRoaXMuc2V0UmVhZHlTdGF0ZSh0aGlzLkRPTkUpO1xyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KFwiZXJyb3JcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2godHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IEV2ZW50ID0gbmV3IEV2ZW50KHR5cGUpO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgJ3RhcmdldCcsIEVWVF9QUk9QU19DT05GSUcpO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgJ2N1cnJlbnRUYXJnZXQnLCBFVlRfUFJPUFNfQ09ORklHKTtcclxuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KHR5cGU6IHN0cmluZyA9IFwicHJvZ3Jlc3NcIik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGQ6IGFueSA9IHRoaXMuX2RhdGFTdG9yYWdlO1xyXG4gICAgICAgIGNvbnN0IGV2ZW50OiBQcm9ncmVzc0V2ZW50TW9jayA9IG5ldyBQcm9ncmVzc0V2ZW50TW9jayh0eXBlKTtcclxuICAgICAgICBldmVudC5sb2FkZWQgPSBkLmxvYWRlZDtcclxuICAgICAgICBldmVudC50b3RhbCA9IGQudG90YWw7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldFJlYWR5U3RhdGUoc3RhdGU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICBjb25zdCBldmVudDogYW55ID0gdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2U7XHJcbiAgICAgICAgaWYgKGV2ZW50KSBldmVudC5jYWxsKHRoaXMsIFJFQURZX1NUQVRFX0NIQU5HRV9FVkVOVCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBsb2FkRGF0YShodHRwUmVzcG9uc2VNb2NrOiBIdHRwUmVzcG9uc2VNb2NrKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZUJvZHk6IGFueSB8IE9ic2VydmFibGU8YW55PiA9IGh0dHBSZXNwb25zZU1vY2suYm9keTtcclxuICAgICAgICByZXR1cm4gKHJlc3BvbnNlQm9keSBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gcmVzcG9uc2VCb2R5IDogb2YocmVzcG9uc2VCb2R5KTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2V0RGF0YVN0b3JhZ2UocmVzcG9uc2VNb2NrOiBIdHRwUmVzcG9uc2VNb2NrLCBkYXRhOiBhbnkgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVN0b3JhZ2UgPSAgRGF0YVN0b3JhZ2VCdWlsZGVyLmJ1aWxkRGF0YVN0b3JhZ2UocmVzcG9uc2VNb2NrLCBkYXRhKTtcclxuICAgIH1cclxufSJdfQ==
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL21vY2svaHR0cC9odHRwLW1vY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFXLGlCQUFpQixDQUFDO0FBYTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFLRTs7O1dBR0c7UUFDYSxTQUFJLEdBQVcsaUJBQWlCLENBQUM7UUFFakQ7OztXQUdHO1FBQ0ssa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssZ0JBQVcsR0FBd0QsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFFckk7OztXQUdHO1FBQ2MsZUFBVSxHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBcUw5RDtJQW5MQzs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxNQUFzQjtRQUNyQyxNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFV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U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFDLE1BQWM7UUFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQUUsTUFBTSxJQUFJLFdBQVcsQ0FBQyw2Q0FBNkMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxVQUFrRCxFQUFFLFFBQWdCO1FBQzNGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFrQyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ3JFLE1BQU0sYUFBYSxHQUE4QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRixJQUFJLGFBQWEsQ0FBQyxNQUFNO2dCQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDOztnQkFDeEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxPQUFrQyxFQUFFLFFBQWdCO1FBQ3RFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQThCLEVBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDeEYsQ0FBQzs4R0E1TVUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBNb2NrSW50ZXJjZXB0b3IsIEh0dHBNb2NrQ29uZmlnLCBIdHRwTWV0aG9kTW9jaywgSHR0cE1vY2tFbmRwb2ludCB9IGZyb20gJy4uLy4uLy4uL2J1c2luZXNzJztcclxuaW1wb3J0IHsgSFRUUE1ldGhvZFJlZiB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9odHRwLW1ldGhvZC1yZWYuZW51bSc7XHJcbmltcG9ydCB7IHRva2VuRGF0YVRvUmVnZXhwIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC90b2tlbi1kYXRhLXRvLXJlZ2V4cCc7XHJcbmltcG9ydCB7IFJvdXRlTW9ja0NvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvY29uZmlnL3JvdXRlLW1vY2stY29uZmlnJztcclxuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC9tb2RlbC9rZXknO1xyXG5pbXBvcnQgeyBzdHJpbmdUb1Rva2VuRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvc3RyaW5nLXRvLXRva2VuLWRhdGEnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0RFTElNSVRFUiB9IGZyb20gJy4uLy4uLy4uLy4uL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXVpZCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwnO1xyXG5pbXBvcnQgeyBUb2tlbkRhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL3Rva2VuLWRhdGEnO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1NlcnZpY2VFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvZXJyb3InO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgdHlwZSBmb3IgdGhpcyBjbGFzcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBIVFRQX01PQ0tfU0VSVklDRTogc3RyaW5nID0gXCJIdHRwTW9ja1NlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBBbiBpbnRlcm5hbCB1dGlsaXR5IGZvciBzdG9ycmluZyByZWZlcmVuY2VzIHRvIGVuZHBvaW50IG1vY2sgY29uZmlncy5cclxuICovXHJcbmludGVyZmFjZSBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZSB7XHJcbiAgbWV0aG9kTW9jazogSHR0cE1ldGhvZE1vY2s7XHJcbiAgcmVnZXhwOiBSZWdFeHA7XHJcbiAga2V5czogS2V5W107XHJcbiAgY29uZmlnSWQ6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBgSHR0cE1vY2tTZXJ2aWNlYCBjbGFzcyBwcm92aWRlcyB0aGUgQVBJIGZvciBtYW5hZ2luZyBIVFRQIG1vY2sgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cE1vY2tTZXJ2aWNlIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBFbnN1cmVzIHRoYXQgY2xhc3MgdHlwZSBpcyBzdGlsbCBhY2Nlc3NpYmxlIGFmdGVyIFR5cGVTY3JpcHQgY29tcGlsYXRpb24uXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IEhUVFBfTU9DS19TRVJWSUNFO1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFRoZSBsaXN0IG9mIElEcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBjb25maWcgb2JqZWN0LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ0lkTGlzdDogVXVpZFtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogU3RvcmVzIHRoZSBjb21wbGV0ZSBjb2xsZWN0aW9uIG9mIG1vY2tpbmcgYmVoYXZpb3JzIGZvciBlYWNoIHJlZ2lzdGVyZWQgY29uZmlnLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ0xpc3Q6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+PiA9IG5ldyBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGFwcCBVUkwgb3JpZ2luLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgQVBQX09SSUdJTjogc3RyaW5nID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyB0aGUgc3BlY2lmaWVkIGBIdHRwTW9ja0NvbmZpZ2Agb2JqZWN0IHRvIHRoaXMgYEh0dHBNb2NrU2VydmljZWAgaW5zdGFuY2UuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgYEh0dHBNb2NrQ29uZmlnYCBvYmplY3QgdG8gYWRkIHRvIHRoaXMgYEh0dHBNb2NrU2VydmljZWAgaW5zdGFuY2UuXHJcbiAgICogQFJldHVybnMgVGhlIGBVdWlkYCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIGFkZGVkIGBIdHRwTW9ja0NvbmZpZ2Agb2JqZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhZGRDb25maWcoY29uZmlnOiBIdHRwTW9ja0NvbmZpZyk6IFV1aWQge1xyXG4gICAgY29uc3Qgb3JpZ2luOiBzdHJpbmcgPSBjb25maWcub3JpZ2luIHx8IHRoaXMuQVBQX09SSUdJTjtcclxuICAgIHRoaXMuY2hlY2tPcmlnaW4ob3JpZ2luKTtcclxuICAgIGxldCBpZDogVXVpZCB8IHVuZGVmaW5lZCA9IGNvbmZpZy5pZDtcclxuICAgIGlmICghaWQpIHtcclxuICAgICAgaWQgPSBVdWlkLmJ1aWxkKCk7XHJcbiAgICAgIGNvbmZpZy5pZCA9IGlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaGFzUmVnaXN0ZXJlZENvbmZpZyhpZCkpIHRocm93IG5ldyBIdHRwTW9ja1NlcnZpY2VFcnJvcihgQSBjb25maWcgb2JqZWN0IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZCB3aXRoIHRoZSBpZDogW1wiJHtpZC50b1N0cmluZygpfVwiXS5gKSA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jb25maWdJZExpc3QucHVzaChpZCk7XHJcbiAgICBjb25zdCB1dWlkOiBzdHJpbmcgPSBpZC50b1N0cmluZygpO1xyXG4gICAgY29uZmlnLmludGVyY2VwdG9ycy5mb3JFYWNoKChpbnRlcmNlcHRvcjogSHR0cE1vY2tJbnRlcmNlcHRvcikgPT4gdGhpcy5leHRyYWN0Q29uZmlnKGludGVyY2VwdG9yLCBvcmlnaW4sIHV1aWQpICk7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGFwcCBVUkwgb3JpZ2luLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudCBhcHAgVVJMIG9yaWdpbi5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QXBwT3JpZ2luKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5BUFBfT1JJR0lOO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyB0aGUgY29uZmlndXJhdGlvbiByZWdpc3RlcmVkIHdpdGggdGhlIHNwZWNpZmllZCBgdXVpZGAgZnJvbSB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB1dWlkIFRoZSBVVUlEIG9mIHRoZSBjb25maWd1cmF0aW9uIHRvIHJlbW92ZS5cclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlQ29uZmlnKHV1aWQ6IFV1aWQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oYXNSZWdpc3RlcmVkQ29uZmlnKHV1aWQpKSByZXR1cm47XHJcbiAgICBjb25zdCBjb25maWdJZDogc3RyaW5nID0gdXVpZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fY29uZmlnTGlzdC5mb3JFYWNoKCh2YWx1ZTogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsZXRlQ29uZmlnQnlJZCh2YWx1ZSwgY29uZmlnSWQpO1xyXG4gICAgICBpZiAodmFsdWUuc2l6ZSA9PT0gMCkgdGhpcy5fY29uZmlnTGlzdC5kZWxldGUoa2V5KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fY29uZmlnSWRMaXN0LnNwbGljZSh0aGlzLl9jb25maWdJZExpc3QuaW5kZXhPZih1dWlkKSwgMSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGFsbCByZWdpc3RyZWQgY29uZmlndXJhdGlvbnMgZnJvbSB0aGlzIGBIdHRwTW9ja1NlcnZpY2VgIGluc3RhbmNlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGVhckNvbmZpZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdMaXN0LmNsZWFyKCk7XHJcbiAgICB0aGlzLl9jb25maWdJZExpc3QubGVuZ3RoID0gMDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciBhIGNvbmZpZyB3aXRoIHRoZSBzcGVjaWZpZWQgVVVJRCBoYXMgYmVlbiByZWdpc3RlcmVkXHJcbiAgICogKGB0cnVlYCksIG9yIG5vdCAoYGZhbHNlYCkuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHV1aWQgVGhlIFVVSUQgb2YgdGhlIGNvbmZpZyB0byBjaGVjay5cclxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hldGhlciBhIGNvbmZpZyB3aXRoIHRoZSBzcGVjaWZpZWQgVVVJRCBoYXMgYmVlbiByZWdpc3RlcmVkOyBgZmFsc2VgIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBwdWJsaWMgaGFzUmVnaXN0ZXJlZENvbmZpZyh1dWlkOiBVdWlkKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnSWRMaXN0LmluZGV4T2YodXVpZCkgIT09IC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgYFJvdXRlTW9ja0NvbmZpZ2Agb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGBVUkxgIGluc3RhbmNlIGFuZCBIVFRQIG1ldGhvZC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXJsIFRoZSBgVVJMYCBpbnN0YW5jZSBmb3Igd2hpY2ggdG8gZmluZCBhIHJvdXRlIGNvbmZpZy5cclxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBIVFRQIG1ldGhvZCBmb3Igd2hpY2ggdG8gZmluZCBhIHJvdXRlIGNvbmZpZy5cclxuICAgKiBAcmV0dXJucyBUaGUgYFJvdXRlTW9ja0NvbmZpZ2Agb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGBVUkxgIGluc3RhbmNlIGFuZCBIVFRQIG1ldGhvZCB3aGV0aGVyIGl0IGV4aXN0cztcclxuICAgKiAgICAgICAgICBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXHJcbiAgICovXHJcbiAgcHVibGljIGdldFJvdXRlQ29uZmlnKHVybDogVVJMLCBtZXRob2Q6IEhUVFBNZXRob2RSZWYpOiBSb3V0ZU1vY2tDb25maWcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgdXJsQ29uZmlnTGlzdDogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4gfCB1bmRlZmluZWQgPSB0aGlzLl9jb25maWdMaXN0LmdldCh1cmwub3JpZ2luKTtcclxuICAgIGNvbnN0IHJvdXRlOiBzdHJpbmcgPSB1cmwucGF0aG5hbWU7XHJcbiAgICBsZXQgcmVzdWx0OiBSb3V0ZU1vY2tDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgICBpZiAoIXVybENvbmZpZ0xpc3QpIHJldHVybiByZXN1bHQ7XHJcbiAgICBjb25zdCBtZXRob2RMaXN0OiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdIHwgdW5kZWZpbmVkID0gdXJsQ29uZmlnTGlzdC5nZXQobWV0aG9kKTtcclxuICAgIGlmICghbWV0aG9kTGlzdCkgcmV0dXJuIHJlc3VsdDtcclxuICAgIGxldCBsZW46IG51bWJlciA9IG1ldGhvZExpc3QubGVuZ3RoIC0gMTtcclxuICAgIHdoaWxlIChsZW4gPj0gMCApIHtcclxuICAgICAgY29uc3QgbWV0aG9kTWFwOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZSA9IG1ldGhvZExpc3RbbGVuXTtcclxuICAgICAgY29uc3QgcmVnZXhwOiBSZWdFeHAgPSBtZXRob2RNYXAucmVnZXhwO1xyXG4gICAgICBpZiAocmVnZXhwLnRlc3Qocm91dGUpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgbWV0aG9kQ29uZmlnOiBtZXRob2RNYXAubWV0aG9kTW9jayxcclxuICAgICAgICAgIHBhcmFtZXRlcnM6IHRoaXMuYnVpbGRQYXJhbWV0ZXJzKHJlZ2V4cCwgbWV0aG9kTWFwLmtleXMsIHJvdXRlKSxcclxuICAgICAgICAgIHNlYXJjaFBhcmFtczogdXJsLnNlYXJjaFBhcmFtc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgbGVuLS07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkUGFyYW1ldGVycyhyZWdleHA6IFJlZ0V4cCwga2V5czogS2V5W10sIHJvdXRlOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgZXhlY1Jlc3VsdDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHJlZ2V4cC5leGVjKHJvdXRlKTtcclxuICAgIGlmICghZXhlY1Jlc3VsdCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xyXG4gICAgbGV0IGxlbjogbnVtYmVyID0gZXhlY1Jlc3VsdC5sZW5ndGggLSAxO1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDE7XHJcbiAgICBmb3IgKDsgaSA8PSBsZW47ICsraSkge1xyXG4gICAgICBjb25zdCBrZXk6IEtleSA9IGtleXNbaSAtIDFdO1xyXG4gICAgICBwYXJhbXNba2V5Lm5hbWVdID0gZXhlY1Jlc3VsdFtpXTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcml2YXRlIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXh0cmFjdENvbmZpZyhpbnRlcmNlcHRvcjogSHR0cE1vY2tJbnRlcmNlcHRvciwgZ2xvYmFsT3JpZ2luOiBzdHJpbmcsIGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVuZHBvaW50czogSHR0cE1vY2tFbmRwb2ludFtdID0gaW50ZXJjZXB0b3IuZW5kcG9pbnRzO1xyXG4gICAgbGV0IG9yaWdpbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gaW50ZXJjZXB0b3Iub3JpZ2luO1xyXG4gICAgaWYgKG9yaWdpbikgdGhpcy5jaGVja09yaWdpbihvcmlnaW4pO1xyXG4gICAgZWxzZSBvcmlnaW4gPSBnbG9iYWxPcmlnaW47XHJcbiAgICBpZiAoIXRoaXMuX2NvbmZpZ0xpc3QuaGFzKG9yaWdpbikpIHRoaXMuX2NvbmZpZ0xpc3Quc2V0KG9yaWdpbiwgbmV3IE1hcDxzdHJpbmcsIEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10+KCkpO1xyXG4gICAgZW5kcG9pbnRzLmZvckVhY2goKGVuZHBvaW50OiBIdHRwTW9ja0VuZHBvaW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuR0VULCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuUE9TVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLlBVVCwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLkRFTEVURSwgY29uZmlnSWQpO1xyXG4gICAgICB0aGlzLmV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW4sIGVuZHBvaW50LCBIVFRQTWV0aG9kUmVmLkhFQUQsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5PUFRJT05TLCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuUEFUQ0gsIGNvbmZpZ0lkKTtcclxuICAgICAgdGhpcy5leHRyYWN0RW5kcG9pbnRDb25maWcob3JpZ2luLCBlbmRwb2ludCwgSFRUUE1ldGhvZFJlZi5DT05ORUNULCBjb25maWdJZCk7XHJcbiAgICAgIHRoaXMuZXh0cmFjdEVuZHBvaW50Q29uZmlnKG9yaWdpbiwgZW5kcG9pbnQsIEhUVFBNZXRob2RSZWYuVFJBQ0UsIGNvbmZpZ0lkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RFbmRwb2ludENvbmZpZyhvcmlnaW46IHN0cmluZywgZW5kcG9pbnQ6IEh0dHBNb2NrRW5kcG9pbnQsIG1ldGhvZDogSFRUUE1ldGhvZFJlZiwgY29uZmlnSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZXA6IGFueSA9IGVuZHBvaW50O1xyXG4gICAgaWYgKCFlcFttZXRob2QgYXMgYW55XSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb3JpZ2luQ29uZmlnOiBNYXA8c3RyaW5nLCBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdPiA9IHRoaXMuX2NvbmZpZ0xpc3QuZ2V0KG9yaWdpbikgYXMgYW55O1xyXG4gICAgY29uc3Qgcm91dGU6IHN0cmluZyA9IGVuZHBvaW50LnJvdXRlO1xyXG4gICAgY29uc3QgZGF0YTogVG9rZW5EYXRhID0gc3RyaW5nVG9Ub2tlbkRhdGEocm91dGUpO1xyXG4gICAgY29uc3Qga2V5czogS2V5W10gPSBbXTtcclxuICAgIGNvbnN0IHJlZ2V4cDogUmVnRXhwID0gdG9rZW5EYXRhVG9SZWdleHAoZGF0YSwga2V5cywge30pO1xyXG4gICAgaWYgKCFvcmlnaW5Db25maWcuaGFzKG1ldGhvZCkpIG9yaWdpbkNvbmZpZy5zZXQobWV0aG9kLCBbXSk7XHJcbiAgICBjb25zdCBtZXRob2RDb25maWc6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10gPSBvcmlnaW5Db25maWcuZ2V0KG1ldGhvZCkgYXMgYW55O1xyXG4gICAgbWV0aG9kQ29uZmlnLnB1c2goe1xyXG4gICAgICByZWdleHA6IHJlZ2V4cCxcclxuICAgICAga2V5czoga2V5cyxcclxuICAgICAgbWV0aG9kTW9jazogZXBbbWV0aG9kXSxcclxuICAgICAgY29uZmlnSWQ6IGNvbmZpZ0lkXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByaXZhdGUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjaGVja09yaWdpbihvcmlnaW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG9yaWdpbi5lbmRzV2l0aChERUZBVUxUX0RFTElNSVRFUikpIHRocm93IG5ldyBTeW50YXhFcnJvcihgT3JpZ2luIG11c3Qgbm90IGVuZCB3aXRoIGEgLyBjaGFyYWN0ZXI6IFtcIiR7b3JpZ2lufVwiXS5gKTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGRlbGV0ZUNvbmZpZ0J5SWQoc3RvcmFnZU1hcDogTWFwPHN0cmluZywgSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXT4sIGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN0b3JhZ2VNYXAuZm9yRWFjaCgoc3RvcmFnZTogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgY29uc3QgY2xlYW5lZENvbmZpZzogSHR0cE1vY2tFbmRwb2ludFN0b3JhZ2VbXSA9IHRoaXMuY2xlYW5Db25maWcoc3RvcmFnZSwgY29uZmlnSWQpO1xyXG4gICAgICBpZiAoY2xlYW5lZENvbmZpZy5sZW5ndGgpIHN0b3JhZ2VNYXAuc2V0KGtleSwgY2xlYW5lZENvbmZpZyk7XHJcbiAgICAgIGVsc2Ugc3RvcmFnZU1hcC5kZWxldGUoa2V5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJpdmF0ZSBcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFuQ29uZmlnKHN0b3JhZ2U6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlW10sIGNvbmZpZ0lkOiBzdHJpbmcpOiBIdHRwTW9ja0VuZHBvaW50U3RvcmFnZVtdIHtcclxuICAgIHJldHVybiBzdG9yYWdlLmZpbHRlcigodmFsdWU6IEh0dHBNb2NrRW5kcG9pbnRTdG9yYWdlKT0+IHZhbHVlLmNvbmZpZ0lkICE9PSBjb25maWdJZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -15,8 +15,8 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
const LAYERS_VERSION_CONFIG = {
|
|
16
16
|
major: 0,
|
|
17
17
|
minor: 11,
|
|
18
|
-
patch:
|
|
19
|
-
buildTimestamp:
|
|
18
|
+
patch: 2,
|
|
19
|
+
buildTimestamp: 1722064682009,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtJQUM3QixRQUFRLEVBQUUsTUFBTTtDQUNqQixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBWZXJzaW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vYnVzaW5lc3MnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKiBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBBbmd1bGFyIFRvb2xib3ggbGlicmFyeS5cbiAqL1xuY29uc3QgTEFZRVJTX1ZFUlNJT05fQ09ORklHOiBWZXJzaW9uQ29uZmlnID0ge1xuICBtYWpvcjogMCxcbiAgbWlub3I6IDExLFxuICBwYXRjaDogMixcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjIwNjQ2ODIwMDksXG4gIG1ldGFkYXRhOiBcImJldGFcIlxufTtcblxuLyoqXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcbiAgfVxufVxuIl19
|