@alauda-fe/network 1.0.0 → 1.0.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.
Files changed (62) hide show
  1. package/esm2022/index.mjs +10 -2
  2. package/esm2022/lib/components/certificate-status/component.mjs +7 -6
  3. package/esm2022/lib/components/fixed-ip/component.mjs +134 -91
  4. package/esm2022/lib/components/loadbalancer-spec-form/component.mjs +57 -57
  5. package/esm2022/lib/components/service-annotations-form/annotations.component.mjs +136 -142
  6. package/esm2022/lib/components/service-annotations-form-item/annotations.component.mjs +24 -25
  7. package/esm2022/lib/components/service-form/component.mjs +34 -33
  8. package/esm2022/lib/components/service-form/fieldset/component.mjs +92 -95
  9. package/esm2022/lib/directives/subnet-validator.directive.mjs +5 -5
  10. package/esm2022/lib/features/network-policy/components/add-peer-rule-handler/component.mjs +69 -0
  11. package/esm2022/lib/features/network-policy/components/ip-block-display/component.mjs +54 -0
  12. package/esm2022/lib/features/network-policy/components/label-selector-display/component.mjs +117 -0
  13. package/esm2022/lib/features/network-policy/components/peer-container/component.mjs +81 -0
  14. package/esm2022/lib/features/network-policy/components/pod-review/component.mjs +250 -0
  15. package/esm2022/lib/features/network-policy/components/rule-table/component.mjs +269 -0
  16. package/esm2022/lib/features/network-policy/form/network-policy/component.mjs +429 -0
  17. package/esm2022/lib/features/network-policy/form/network-policy-ip-block/component.mjs +102 -0
  18. package/esm2022/lib/features/network-policy/form/network-policy-peer/component.mjs +247 -0
  19. package/esm2022/lib/features/network-policy/form/network-policy-ports/component.mjs +161 -0
  20. package/esm2022/lib/features/network-policy/form/network-policy-remote-except-input/component.mjs +128 -0
  21. package/esm2022/lib/features/network-policy/form/network-policy-rule/component.mjs +142 -0
  22. package/esm2022/lib/services/alb-api.service.mjs +26 -6
  23. package/esm2022/lib/services/certificate-api.service.mjs +4 -4
  24. package/esm2022/lib/services/network-util.service.mjs +18 -4
  25. package/esm2022/lib/services/subnet-util.service.mjs +121 -0
  26. package/esm2022/lib/types/alb-exports.mjs +1 -1
  27. package/esm2022/lib/types/k8s-exports.mjs +2 -1
  28. package/esm2022/lib/types/metallb-exports.mjs +2 -0
  29. package/esm2022/lib/types/resource-definition.mjs +28 -2
  30. package/esm2022/lib/utils/alb-exports.mjs +1 -1
  31. package/esm2022/lib/utils/cidr-exports.mjs +3 -3
  32. package/esm2022/lib/utils/common-exports.mjs +22 -0
  33. package/esm2022/lib/utils/service-exports.mjs +1 -1
  34. package/esm2022/lib/utils/validators-exports.mjs +44 -0
  35. package/index.d.ts +9 -1
  36. package/lib/components/fixed-ip/component.d.ts +10 -3
  37. package/lib/components/service-annotations-form/annotations.component.d.ts +6 -6
  38. package/lib/components/service-annotations-form-item/annotations.component.d.ts +1 -1
  39. package/lib/components/service-form/component.d.ts +1 -1
  40. package/lib/features/network-policy/components/add-peer-rule-handler/component.d.ts +8 -0
  41. package/lib/features/network-policy/components/ip-block-display/component.d.ts +7 -0
  42. package/lib/features/network-policy/components/label-selector-display/component.d.ts +13 -0
  43. package/lib/features/network-policy/components/peer-container/component.d.ts +18 -0
  44. package/lib/features/network-policy/components/pod-review/component.d.ts +37 -0
  45. package/lib/features/network-policy/components/rule-table/component.d.ts +21 -0
  46. package/lib/features/network-policy/form/network-policy/component.d.ts +70 -0
  47. package/lib/features/network-policy/form/network-policy-ip-block/component.d.ts +23 -0
  48. package/lib/features/network-policy/form/network-policy-peer/component.d.ts +43 -0
  49. package/lib/features/network-policy/form/network-policy-ports/component.d.ts +17 -0
  50. package/lib/features/network-policy/form/network-policy-remote-except-input/component.d.ts +23 -0
  51. package/lib/features/network-policy/form/network-policy-rule/component.d.ts +28 -0
  52. package/lib/services/alb-api.service.d.ts +4 -2
  53. package/lib/services/network-util.service.d.ts +1 -0
  54. package/lib/services/subnet-util.service.d.ts +25 -0
  55. package/lib/types/alb-exports.d.ts +23 -0
  56. package/lib/types/k8s-exports.d.ts +51 -1
  57. package/lib/types/metallb-exports.d.ts +65 -0
  58. package/lib/types/resource-definition.d.ts +143 -0
  59. package/lib/utils/common-exports.d.ts +5 -0
  60. package/lib/utils/validators-exports.d.ts +16 -0
  61. package/package.json +10 -5
  62. package/styles.css +1 -0
@@ -0,0 +1,121 @@
1
+ import { DialogService } from '@alauda/ui';
2
+ import { API_GATEWAY, K8sApiService, K8sUtilService, TranslateService, catchPromise, ConfirmDeleteComponent, } from '@alauda-fe/common';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { Injectable } from '@angular/core';
5
+ import { flatMap } from 'lodash-es';
6
+ import { EMPTY, of, concatMap, map, switchMap, combineLatest } from 'rxjs';
7
+ import { INNER_NETWORK_RESOURCE_TYPES } from '../types/resource-definition';
8
+ import { adaptIpMode, IPMode } from '../utils/cidr-exports';
9
+ import { ConflictCidrType } from '../utils/subnet-exports';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "@alauda/ui";
13
+ import * as i3 from "@alauda-fe/common";
14
+ export class SubnetUtilService {
15
+ constructor(httpClient, dialog, translate, k8sUtil, k8sApi) {
16
+ this.httpClient = httpClient;
17
+ this.dialog = dialog;
18
+ this.translate = translate;
19
+ this.k8sUtil = k8sUtil;
20
+ this.k8sApi = k8sApi;
21
+ }
22
+ getClusterNodeIp$(cluster) {
23
+ return this.httpClient.get(`${API_GATEWAY}/acp/v1/resources/${cluster}/nodes/ips`);
24
+ }
25
+ getTkeClusterCidr$(cluster) {
26
+ return this.k8sApi
27
+ .getGlobalResource({
28
+ type: INNER_NETWORK_RESOURCE_TYPES.CLUSTER,
29
+ name: cluster,
30
+ namespaced: true,
31
+ })
32
+ .pipe(map(resource => this.k8sUtil.getAnnotation(resource, 'service-cidr')));
33
+ }
34
+ getInterSubnets$(cluster) {
35
+ return combineLatest([
36
+ this.k8sApi.getGlobalResourceList({
37
+ type: INNER_NETWORK_RESOURCE_TYPES.INTER_CONNECTION_SUBNET,
38
+ }),
39
+ of(cluster),
40
+ ]).pipe(map(([{ items: allInterSubnets }, cluster]) => {
41
+ const filteredInterSubnets = allInterSubnets.filter(interSubnet => this.k8sUtil.getName(interSubnet) !== cluster);
42
+ // 不能简单地使用 fieldSelector 排除当前集群,因为需要判断当前集群是否在集群互联内
43
+ // 如果过滤后的长度有变化说明当前集群在集群互联内,直接返回过滤后的集群列表
44
+ // 否则不需要校验集群互联冲突
45
+ if (allInterSubnets.length !== filteredInterSubnets.length) {
46
+ return filteredInterSubnets;
47
+ }
48
+ return [];
49
+ }));
50
+ }
51
+ delete(subnet, cluster) {
52
+ const name = this.k8sUtil.getName(subnet);
53
+ const usingIPs = [
54
+ subnet.status?.v4usingIPs || subnet?.status?.usingIPs,
55
+ subnet.status?.v6usingIPs,
56
+ ].filter(Boolean);
57
+ const deleteApi = () => this.k8sApi.deleteResource({
58
+ type: INNER_NETWORK_RESOURCE_TYPES.SUBNET_KUBE_OVN,
59
+ cluster,
60
+ resource: subnet,
61
+ });
62
+ return of(usingIPs.length).pipe(switchMap(value => {
63
+ if (value) {
64
+ const dialogRef = this.dialog.open(ConfirmDeleteComponent, {
65
+ data: {
66
+ resourceName: name,
67
+ title: this.translate.get('delete_subnet'),
68
+ deleteTips: this.translate.get('delete_subnet_with_ips', {
69
+ name,
70
+ usingIPs,
71
+ }),
72
+ deleteResourceApi: deleteApi,
73
+ },
74
+ });
75
+ return dialogRef.afterClosed().pipe(concatMap(isConfirm => {
76
+ if (!isConfirm) {
77
+ return EMPTY;
78
+ }
79
+ return of(null);
80
+ }));
81
+ }
82
+ return catchPromise(this.dialog.confirm({
83
+ title: this.translate.get('delete_subnet_title', {
84
+ name,
85
+ }),
86
+ confirmText: this.translate.get('delete'),
87
+ cancelText: this.translate.get('cancel'),
88
+ beforeConfirm: deleteApi,
89
+ }));
90
+ }));
91
+ }
92
+ getUsedCidrBlock(subnets, nodeIps, clusterCidr, networkMode, interSubnets) {
93
+ return [
94
+ ...subnets.map(({ spec }) => ({
95
+ cidr: spec.cidrBlock,
96
+ type: ConflictCidrType.EXIST_SUBNET,
97
+ })),
98
+ ...flatMap(interSubnets.map(({ spec, metadata }) => (spec?.subnets || []).map(subnet => ({
99
+ cidr: subnet.cidr,
100
+ type: ConflictCidrType.EXIST_SUBNET,
101
+ cluster: metadata.name,
102
+ })))),
103
+ ...(nodeIps || []).map(nodeIp => ({
104
+ cidr: [
105
+ nodeIp,
106
+ adaptIpMode(nodeIp, networkMode) === IPMode.IPV4 ? '32' : '128',
107
+ ].join('/'),
108
+ type: ConflictCidrType.HOST_NETWORK,
109
+ })),
110
+ clusterCidr
111
+ ? { cidr: clusterCidr, type: ConflictCidrType.SERVICE_CIDR }
112
+ : null,
113
+ ].filter(Boolean);
114
+ }
115
+ static { this.ɵfac = function SubnetUtilService_Factory(t) { return new (t || SubnetUtilService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.DialogService), i0.ɵɵinject(i3.TranslateService), i0.ɵɵinject(i3.K8sUtilService), i0.ɵɵinject(i3.K8sApiService)); }; }
116
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SubnetUtilService, factory: SubnetUtilService.ɵfac }); }
117
+ }
118
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubnetUtilService, [{
119
+ type: Injectable
120
+ }], () => [{ type: i1.HttpClient }, { type: i2.DialogService }, { type: i3.TranslateService }, { type: i3.K8sUtilService }, { type: i3.K8sApiService }], null); })();
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvbmV0d29yay9zcmMvbGliL3NlcnZpY2VzL3N1Ym5ldC11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixzQkFBc0IsR0FFdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUczRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ21CLFVBQXNCLEVBQ3RCLE1BQXFCLEVBQ3JCLFNBQTJCLEVBQzNCLE9BQXVCLEVBQ3ZCLE1BQXFCO1FBSnJCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQ3JD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QUFJO2dCQUNqQixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsWUFBWTtnQkFDbkMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3ZCLENBQUMsQ0FBQyxDQUNKLENBQ0Y7WUFDRCxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hDLElBQUksRUFBRTtvQkFDSixNQUFNO29CQUNOLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2lCQUNoRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1gsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFlBQVk7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsV0FBVztnQkFDVCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxJQUFJO1NBQ1QsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEIsQ0FBQztrRkFuSVUsaUJBQWlCO3VFQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBBUElfR0FURVdBWSxcbiAgSzhzQXBpU2VydmljZSxcbiAgSzhzVXRpbFNlcnZpY2UsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIGNhdGNoUHJvbWlzZSxcbiAgQ29uZmlybURlbGV0ZUNvbXBvbmVudCxcbiAgQ2x1c3Rlcixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZsYXRNYXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRU1QVFksIG9mLCBjb25jYXRNYXAsIG1hcCwgc3dpdGNoTWFwLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEludGVyQ29ubmVjdGlvblN1Ym5ldCwgU3VibmV0IH0gZnJvbSAnLi4vdHlwZXMvazhzLWV4cG9ydHMnO1xuaW1wb3J0IHsgSU5ORVJfTkVUV09SS19SRVNPVVJDRV9UWVBFUyB9IGZyb20gJy4uL3R5cGVzL3Jlc291cmNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgYWRhcHRJcE1vZGUsIElQTW9kZSwgTmV0d29ya01vZGUgfSBmcm9tICcuLi91dGlscy9jaWRyLWV4cG9ydHMnO1xuaW1wb3J0IHsgQ29uZmxpY3RDaWRyVHlwZSB9IGZyb20gJy4uL3V0aWxzL3N1Ym5ldC1leHBvcnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1Ym5ldFV0aWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGk6IEs4c0FwaVNlcnZpY2UsXG4gICkge31cblxuICBnZXRDbHVzdGVyTm9kZUlwJChjbHVzdGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxzdHJpbmdbXT4oXG4gICAgICBgJHtBUElfR0FURVdBWX0vYWNwL3YxL3Jlc291cmNlcy8ke2NsdXN0ZXJ9L25vZGVzL2lwc2AsXG4gICAgKTtcbiAgfVxuXG4gIGdldFRrZUNsdXN0ZXJDaWRyJChjbHVzdGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5rOHNBcGlcbiAgICAgIC5nZXRHbG9iYWxSZXNvdXJjZTxDbHVzdGVyPih7XG4gICAgICAgIHR5cGU6IElOTkVSX05FVFdPUktfUkVTT1VSQ0VfVFlQRVMuQ0xVU1RFUixcbiAgICAgICAgbmFtZTogY2x1c3RlcixcbiAgICAgICAgbmFtZXNwYWNlZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuazhzVXRpbC5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCAnc2VydmljZS1jaWRyJykpLFxuICAgICAgKTtcbiAgfVxuXG4gIGdldEludGVyU3VibmV0cyQoY2x1c3Rlcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5rOHNBcGkuZ2V0R2xvYmFsUmVzb3VyY2VMaXN0PEludGVyQ29ubmVjdGlvblN1Ym5ldD4oe1xuICAgICAgICB0eXBlOiBJTk5FUl9ORVRXT1JLX1JFU09VUkNFX1RZUEVTLklOVEVSX0NPTk5FQ1RJT05fU1VCTkVULFxuICAgICAgfSksXG4gICAgICBvZihjbHVzdGVyKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbeyBpdGVtczogYWxsSW50ZXJTdWJuZXRzIH0sIGNsdXN0ZXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkSW50ZXJTdWJuZXRzID0gYWxsSW50ZXJTdWJuZXRzLmZpbHRlcihcbiAgICAgICAgICBpbnRlclN1Ym5ldCA9PiB0aGlzLms4c1V0aWwuZ2V0TmFtZShpbnRlclN1Ym5ldCkgIT09IGNsdXN0ZXIsXG4gICAgICAgICk7XG4gICAgICAgIC8vIOS4jeiDveeugOWNleWcsOS9v+eUqCBmaWVsZFNlbGVjdG9yIOaOkumZpOW9k+WJjembhue+pO+8jOWboOS4uumcgOimgeWIpOaWreW9k+WJjembhue+pOaYr+WQpuWcqOmbhue+pOS6kuiBlOWGhVxuICAgICAgICAvLyDlpoLmnpzov4fmu6TlkI7nmoTplb/luqbmnInlj5jljJbor7TmmI7lvZPliY3pm4bnvqTlnKjpm4bnvqTkupLogZTlhoXvvIznm7TmjqXov5Tlm57ov4fmu6TlkI7nmoTpm4bnvqTliJfooahcbiAgICAgICAgLy8g5ZCm5YiZ5LiN6ZyA6KaB5qCh6aqM6ZuG576k5LqS6IGU5Yay56qBXG4gICAgICAgIGlmIChhbGxJbnRlclN1Ym5ldHMubGVuZ3RoICE9PSBmaWx0ZXJlZEludGVyU3VibmV0cy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gZmlsdGVyZWRJbnRlclN1Ym5ldHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShzdWJuZXQ6IFN1Ym5ldCwgY2x1c3Rlcjogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMuazhzVXRpbC5nZXROYW1lKHN1Ym5ldCk7XG4gICAgY29uc3QgdXNpbmdJUHMgPSBbXG4gICAgICBzdWJuZXQuc3RhdHVzPy52NHVzaW5nSVBzIHx8IHN1Ym5ldD8uc3RhdHVzPy51c2luZ0lQcyxcbiAgICAgIHN1Ym5ldC5zdGF0dXM/LnY2dXNpbmdJUHMsXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY29uc3QgZGVsZXRlQXBpID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmRlbGV0ZVJlc291cmNlKHtcbiAgICAgICAgdHlwZTogSU5ORVJfTkVUV09SS19SRVNPVVJDRV9UWVBFUy5TVUJORVRfS1VCRV9PVk4sXG4gICAgICAgIGNsdXN0ZXIsXG4gICAgICAgIHJlc291cmNlOiBzdWJuZXQsXG4gICAgICB9KTtcblxuICAgIHJldHVybiBvZih1c2luZ0lQcy5sZW5ndGgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAodmFsdWUgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1EZWxldGVDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBuYW1lLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuZ2V0KCdkZWxldGVfc3VibmV0JyksXG4gICAgICAgICAgICAgIGRlbGV0ZVRpcHM6IHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlX3N1Ym5ldF93aXRoX2lwcycsIHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIHVzaW5nSVBzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZGVsZXRlUmVzb3VyY2VBcGk6IGRlbGV0ZUFwaSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoaXNDb25maXJtID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFpc0NvbmZpcm0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0Y2hQcm9taXNlKFxuICAgICAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlX3N1Ym5ldF90aXRsZScsIHtcbiAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlJyksXG4gICAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICAgICAgYmVmb3JlQ29uZmlybTogZGVsZXRlQXBpLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldFVzZWRDaWRyQmxvY2soXG4gICAgc3VibmV0czogU3VibmV0W10sXG4gICAgbm9kZUlwczogc3RyaW5nW10sXG4gICAgY2x1c3RlckNpZHI6IHN0cmluZyxcbiAgICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4gICAgaW50ZXJTdWJuZXRzOiBJbnRlckNvbm5lY3Rpb25TdWJuZXRbXSxcbiAgKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1Ym5ldHMubWFwKCh7IHNwZWMgfSkgPT4gKHtcbiAgICAgICAgY2lkcjogc3BlYy5jaWRyQmxvY2ssXG4gICAgICAgIHR5cGU6IENvbmZsaWN0Q2lkclR5cGUuRVhJU1RfU1VCTkVULFxuICAgICAgfSkpLFxuICAgICAgLi4uZmxhdE1hcChcbiAgICAgICAgaW50ZXJTdWJuZXRzLm1hcCgoeyBzcGVjLCBtZXRhZGF0YSB9KSA9PlxuICAgICAgICAgIChzcGVjPy5zdWJuZXRzIHx8IFtdKS5tYXAoc3VibmV0ID0+ICh7XG4gICAgICAgICAgICBjaWRyOiBzdWJuZXQuY2lkcixcbiAgICAgICAgICAgIHR5cGU6IENvbmZsaWN0Q2lkclR5cGUuRVhJU1RfU1VCTkVULFxuICAgICAgICAgICAgY2x1c3RlcjogbWV0YWRhdGEubmFtZSxcbiAgICAgICAgICB9KSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgLi4uKG5vZGVJcHMgfHwgW10pLm1hcChub2RlSXAgPT4gKHtcbiAgICAgICAgY2lkcjogW1xuICAgICAgICAgIG5vZGVJcCxcbiAgICAgICAgICBhZGFwdElwTW9kZShub2RlSXAsIG5ldHdvcmtNb2RlKSA9PT0gSVBNb2RlLklQVjQgPyAnMzInIDogJzEyOCcsXG4gICAgICAgIF0uam9pbignLycpLFxuICAgICAgICB0eXBlOiBDb25mbGljdENpZHJUeXBlLkhPU1RfTkVUV09SSyxcbiAgICAgIH0pKSxcbiAgICAgIGNsdXN0ZXJDaWRyXG4gICAgICAgID8geyBjaWRyOiBjbHVzdGVyQ2lkciwgdHlwZTogQ29uZmxpY3RDaWRyVHlwZS5TRVJWSUNFX0NJRFIgfVxuICAgICAgICA6IG51bGwsXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gIH1cbn1cbiJdfQ==
@@ -11,4 +11,4 @@ export var SpecModel;
11
11
  SpecModel["LARGE"] = "large";
12
12
  SpecModel["CUSTOMIZE"] = "customize";
13
13
  })(SpecModel || (SpecModel = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi90eXBlcy9hbGItZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLCtCQUFZLENBQUE7SUFDWix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBa0JELE1BQU0sQ0FBTixJQUFZLFNBS1g7QUFMRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLDRCQUFlLENBQUE7SUFDZixvQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZUxpbWl0IH0gZnJvbSAnLi4vdXRpbHMvYWxiLWludGVybmFscyc7XG5cbmV4cG9ydCBlbnVtIEFsYlJlc291cmNlVHlwZSB7XG4gIEFMQiA9ICdBTEIyJyxcbiAgRlJPTlRFTkQgPSAnRnJvbnRlbmQnLFxuICBSVUxFID0gJ1J1bGUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRSYW5nZUl0ZW0ge1xuICBwb3J0OiBzdHJpbmc7XG4gIHByb2plY3RzOiBzdHJpbmdbXTtcbiAgdXNlZFBvcnRzPzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaW5SZXNvdXJjZUxpbWl0IHtcbiAgY3B1Pzogc3RyaW5nO1xuICBtZW1vcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiUmVzb3VyY2VzIHtcbiAgbGltaXRzPzogUGxhaW5SZXNvdXJjZUxpbWl0O1xuICByZXF1ZXN0cz86IFBsYWluUmVzb3VyY2VMaW1pdDtcbn1cblxuZXhwb3J0IGVudW0gU3BlY01vZGVsIHtcbiAgU01BTEwgPSAnc21hbGwnLFxuICBNRURJVU0gPSAnbWVkaXVtJyxcbiAgTEFSR0UgPSAnbGFyZ2UnLFxuICBDVVNUT01JWkUgPSAnY3VzdG9taXplJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGJSZXNvdXJjZUxpbWl0TW9kZWwge1xuICBzcGVjTW9kZWw6IFNwZWNNb2RlbDtcbiAgcmVzb3VyY2VMaW1pdDogUmVzb3VyY2VMaW1pdDtcbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi90eXBlcy9hbGItZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLCtCQUFZLENBQUE7SUFDWix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBa0JELE1BQU0sQ0FBTixJQUFZLFNBS1g7QUFMRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLDRCQUFlLENBQUE7SUFDZixvQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbGJQcm90b2NvbCxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBTZXJ2aWNlR3JvdXAsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgUmVzb3VyY2VMaW1pdCB9IGZyb20gJy4uL3V0aWxzL2FsYi1pbnRlcm5hbHMnO1xuXG5leHBvcnQgZW51bSBBbGJSZXNvdXJjZVR5cGUge1xuICBBTEIgPSAnQUxCMicsXG4gIEZST05URU5EID0gJ0Zyb250ZW5kJyxcbiAgUlVMRSA9ICdSdWxlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0UmFuZ2VJdGVtIHtcbiAgcG9ydDogc3RyaW5nO1xuICBwcm9qZWN0czogc3RyaW5nW107XG4gIHVzZWRQb3J0cz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWluUmVzb3VyY2VMaW1pdCB7XG4gIGNwdT86IHN0cmluZztcbiAgbWVtb3J5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsYlJlc291cmNlcyB7XG4gIGxpbWl0cz86IFBsYWluUmVzb3VyY2VMaW1pdDtcbiAgcmVxdWVzdHM/OiBQbGFpblJlc291cmNlTGltaXQ7XG59XG5cbmV4cG9ydCBlbnVtIFNwZWNNb2RlbCB7XG4gIFNNQUxMID0gJ3NtYWxsJyxcbiAgTUVESVVNID0gJ21lZGl1bScsXG4gIExBUkdFID0gJ2xhcmdlJyxcbiAgQ1VTVE9NSVpFID0gJ2N1c3RvbWl6ZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiUmVzb3VyY2VMaW1pdE1vZGVsIHtcbiAgc3BlY01vZGVsOiBTcGVjTW9kZWw7XG4gIHJlc291cmNlTGltaXQ6IFJlc291cmNlTGltaXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmRTcGVjIHtcbiAgcG9ydD86IG51bWJlciB8ICcnO1xuICBwcm90b2NvbD86IEFsYlByb3RvY29sO1xuICBzb3VyY2U/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbiAgYmFja2VuZFByb3RvY29sPzogJ0hUVFAnIHwgJ0hUVFBTJyB8ICdnUlBDJztcbiAgc2VydmljZUdyb3VwPzogU2VydmljZUdyb3VwO1xuICBjZXJ0aWZpY2F0ZV9uYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZyb250ZW5kU3RhdHVzIHtcbiAgaW5zdGFuY2VzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIGNvbmZsaWN0OiBib29sZWFuO1xuICAgICAgcHJvYmVfdGltZTogc3RyaW5nO1xuICAgIH1cbiAgPjtcbn1cblxuLy8gaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MjcxNzc1Njdcbi8vIOWQjuerr+WvueS6jiBGcm9udGVuZCDnmoTotYTmupDlrprkuYlcbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogRnJvbnRlbmRTcGVjO1xuICBzdGF0dXM/OiBGcm9udGVuZFN0YXR1cztcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ // 存放通用网络资源及 CNI 相关的资源(NetworkPolicy、Subnet、VLAN、Provider-Network)
1
2
  export var EncapsulateProtocol;
2
3
  (function (EncapsulateProtocol) {
3
4
  EncapsulateProtocol["IPIP"] = "IPIP";
@@ -10,4 +11,4 @@ export var EncapsulateMode;
10
11
  EncapsulateMode["CROSS_SUBNET"] = "CrossSubnet";
11
12
  EncapsulateMode["NEVER"] = "Never";
12
13
  })(EncapsulateMode || (EncapsulateMode = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi90eXBlcy9rOHMtZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLG9DQUFhLENBQUE7SUFDYixzQ0FBZSxDQUFBO0lBQ2Ysc0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsb0NBQWlCLENBQUE7SUFDakIsK0NBQTRCLENBQUE7SUFDNUIsa0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25kaXRpb24sIEt1YmVybmV0ZXNSZXNvdXJjZSwgU3RyaW5nTWFwIH0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5leHBvcnQgZW51bSBFbmNhcHN1bGF0ZVByb3RvY29sIHtcbiAgSVBJUCA9ICdJUElQJyxcbiAgVlhMQU4gPSAnVlhMQU4nLFxuICBORVZFUiA9ICdORVZFUicsXG59XG5cbmV4cG9ydCBlbnVtIEVuY2Fwc3VsYXRlTW9kZSB7XG4gIEFMV0FZUyA9ICdBbHdheXMnLFxuICBDUk9TU19TVUJORVQgPSAnQ3Jvc3NTdWJuZXQnLFxuICBORVZFUiA9ICdOZXZlcicsXG59XG5cbi8vIFN1Ym5ldFxuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRTdGF0dXMge1xuICB1c2luZ0lQcz86IG51bWJlcjtcbiAgYXZhaWxhYmxlSVBzPzogbnVtYmVyO1xuICB2NHVzaW5nSVBzPzogbnVtYmVyO1xuICB2NGF2YWlsYWJsZUlQcz86IG51bWJlcjtcbiAgdjZ1c2luZ0lQcz86IG51bWJlcjtcbiAgdjZhdmFpbGFibGVJUHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0U3BlYyB7XG4gIGRlZmF1bHQ6IGJvb2xlYW47IC8vIHdoZXRoZXIgZGVmYXVsdFxuICBwcm90b2NvbDogJ0lQdjQnIHwgJ0lQdjYnIHwgJ0R1YWwnO1xuICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG4gIGNpZHJCbG9jazogc3RyaW5nOyAvLyBzZWdtZW50XG4gIG5hdE91dGdvaW5nPzogYm9vbGVhbjtcbiAgLy8gZm9yIGNhbGljb1xuICBpcGlwTW9kZT86IEVuY2Fwc3VsYXRlTW9kZTtcbiAgdnhsYW5Nb2RlPzogRW5jYXBzdWxhdGVNb2RlO1xuICBibG9ja1NpemU/OiBudW1iZXI7XG4gIHY0YmxvY2tTaXplPzogbnVtYmVyO1xuICB2NmJsb2NrU2l6ZT86IG51bWJlcjtcblxuICAvLyBmb3Iga3ViLW92blxuICBnYXRld2F5OiBzdHJpbmc7IC8vIGRlZmF1bHQsY2lkcl9ibG9jaydzIGZpcnN0IGF2YWlsYWJsZVxuICBleGNsdWRlSXBzOiBzdHJpbmdbXTtcbiAgZ2F0ZXdheVR5cGU6IHN0cmluZztcbiAgZ2F0ZXdheU5vZGU/OiBzdHJpbmc7IC8vIHJlcXVpcmVkIHdoZW4gZ2F0ZXdheV90eXBlIGlzIENlbnRyYWxpemVkXG4gIHByaXZhdGU/OiBib29sZWFuOyAvLyBwcml2YXRlIG5ldHdvcmssZGVmYXVsdCBmYWxzZVxuICBhbGxvd1N1Ym5ldHM/OiBzdHJpbmdbXTsgLy8gZW5hYmxlIHdoZW4gcHJpdmF0ZSBpcyB0cnVlXG4gIGVuYWJsZUVjbXA/OiBib29sZWFuOyAvLyByZXF1aXJlZCB3aGVuIGdhdGV3YXlfdHlwZSBpcyBDZW50cmFsaXplZC4gaHR0cHM6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTE2MzA3MTA0MlxuXG4gIC8vIHVuZGVybGF5XG4gIHZsYW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFN1Ym5ldFNwZWM7XG4gIHN0YXR1cz86IFN1Ym5ldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRJcFNwZWMge1xuICBwb2ROYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWJuZXQ6IHN0cmluZztcbiAgbm9kZU5hbWU6IHN0cmluZztcbiAgaXBBZGRyZXNzPzogc3RyaW5nO1xuICBtYWNBZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0SXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogU3VibmV0SXBTcGVjO1xufVxuXG4vLyBMb2FkQmFsYW5jZXJcbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAga2luZDogJ0FMQjInO1xuICBzcGVjPzogTG9hZEJhbGFuY2VyU3BlYztcbiAgc3RhdHVzPzogTG9hZEJhbGFuY2VyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlclN0YXR1cyB7XG4gIHByb2JlVGltZTogc3RyaW5nO1xuICByZWFzb246IHN0cmluZztcbiAgc3RhdGU6ICdyZWFkeScgfCAnd2FybmluZyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyU3BlYyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYmluZF9hZGRyZXNzOiBzdHJpbmc7XG4gIGRvbWFpbnM6IHN0cmluZ1tdO1xuICBpYWFzX2lkOiBzdHJpbmc7XG4gIHR5cGU6ICduZ2lueCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUxCMlN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRldGFpbD86IHtcbiAgICBhZGRyZXNzOiB7XG4gICAgICBob3N0OiBzdHJpbmdbXTtcbiAgICAgIGlwdjQ6IHN0cmluZ1tdO1xuICAgICAgaXB2Njogc3RyaW5nW107XG4gICAgICBtc2c/OiBzdHJpbmc7XG4gICAgICBvaz86IGJvb2xlYW47XG4gICAgfTtcbiAgICBhbGI/OiBTdHJpbmdNYXA7XG4gICAgdmVyc2lvbj86IHtcbiAgICAgIGltYWdlUGF0Y2g6IHN0cmluZztcbiAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFMQjJTcGVjIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY29uZmlnOiB7XG4gICAgZW5hYmxlQWxiPzogYm9vbGVhbjtcbiAgICB2aXA/OiB7XG4gICAgICBlbmFibGVMYlN2YzogYm9vbGVhbjtcbiAgICAgIGxiU3ZjQW5ub3RhdGlvbnM/OiBTdHJpbmdNYXA7XG4gICAgfTtcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICBuZXR3b3JrTW9kZTogJ2hvc3QnIHwgJ2NvbnRhaW5lcic7XG4gICAgZW5hYmxlUG9ydFByb2plY3Q/OiBib29sZWFuO1xuICAgIC8qKlxuICAgIEFycmF5PHtcbiAgICAgIHBvcnQ6IHN0cmluZztcbiAgICAgIHByb2plY3RzOiBzdHJpbmdbXTtcbiAgICB9PlxuICAgICovXG4gICAgcG9ydFByb2plY3RzPzogc3RyaW5nO1xuICAgIG5vZGVTZWxlY3Rvcj86IFN0cmluZ01hcDtcbiAgICBwcm9qZWN0cz86IHN0cmluZ1tdO1xuICAgIHJlcGxpY2FzPzogbnVtYmVyO1xuICAgIHJlc291cmNlcz86IHtcbiAgICAgIGxpbWl0cz86IHtcbiAgICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIHJlcXVlc3RzPzoge1xuICAgICAgICBjcHU6IHN0cmluZztcbiAgICAgICAgbWVtb3J5OiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gICAgZ2F0ZXdheT86IHtcbiAgICAgIG1vZGU6ICdzdGFuZGFsb25lJyB8ICdzaGFyZSc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgdHlwZTogJ25naW54Jztcbn1cblxuLy8gaHR0cHM6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTEzMzA3MzU2NlxuZXhwb3J0IGludGVyZmFjZSBBTEIyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAga2luZDogJ0FMQjInO1xuICBzcGVjOiBBTEIyU3BlYztcbiAgc3RhdHVzPzogQUxCMlN0YXR1cztcbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi90eXBlcy9rOHMtZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxrRUFBa0U7QUFFbEUsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixvQ0FBYSxDQUFBO0lBQ2Isc0NBQWUsQ0FBQTtJQUNmLHNDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLCtDQUE0QixDQUFBO0lBQzVCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2VydGlmaWNhdGUsXG4gIENvbmRpdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBMYWJlbFNlbGVjdG9yLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuLy8g5a2Y5pS+6YCa55So572R57uc6LWE5rqQ5Y+KIENOSSDnm7jlhbPnmoTotYTmupDvvIhOZXR3b3JrUG9saWN544CBU3VibmV044CBVkxBTuOAgVByb3ZpZGVyLU5ldHdvcmvvvIlcblxuZXhwb3J0IGVudW0gRW5jYXBzdWxhdGVQcm90b2NvbCB7XG4gIElQSVAgPSAnSVBJUCcsXG4gIFZYTEFOID0gJ1ZYTEFOJyxcbiAgTkVWRVIgPSAnTkVWRVInLFxufVxuXG5leHBvcnQgZW51bSBFbmNhcHN1bGF0ZU1vZGUge1xuICBBTFdBWVMgPSAnQWx3YXlzJyxcbiAgQ1JPU1NfU1VCTkVUID0gJ0Nyb3NzU3VibmV0JyxcbiAgTkVWRVIgPSAnTmV2ZXInLFxufVxuXG4vLyBTdWJuZXRcbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0U3RhdHVzIHtcbiAgdXNpbmdJUHM/OiBudW1iZXI7XG4gIGF2YWlsYWJsZUlQcz86IG51bWJlcjtcbiAgdjR1c2luZ0lQcz86IG51bWJlcjtcbiAgdjRhdmFpbGFibGVJUHM/OiBudW1iZXI7XG4gIHY2dXNpbmdJUHM/OiBudW1iZXI7XG4gIHY2YXZhaWxhYmxlSVBzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Ym5ldFNwZWMge1xuICBkZWZhdWx0OiBib29sZWFuOyAvLyB3aGV0aGVyIGRlZmF1bHRcbiAgcHJvdG9jb2w6ICdJUHY0JyB8ICdJUHY2JyB8ICdEdWFsJztcbiAgbmFtZXNwYWNlcz86IHN0cmluZ1tdO1xuICBjaWRyQmxvY2s6IHN0cmluZzsgLy8gc2VnbWVudFxuICBuYXRPdXRnb2luZz86IGJvb2xlYW47XG4gIC8vIGZvciBjYWxpY29cbiAgaXBpcE1vZGU/OiBFbmNhcHN1bGF0ZU1vZGU7XG4gIHZ4bGFuTW9kZT86IEVuY2Fwc3VsYXRlTW9kZTtcbiAgYmxvY2tTaXplPzogbnVtYmVyO1xuICB2NGJsb2NrU2l6ZT86IG51bWJlcjtcbiAgdjZibG9ja1NpemU/OiBudW1iZXI7XG5cbiAgLy8gZm9yIGt1Yi1vdm5cbiAgZ2F0ZXdheTogc3RyaW5nOyAvLyBkZWZhdWx0LGNpZHJfYmxvY2sncyBmaXJzdCBhdmFpbGFibGVcbiAgZXhjbHVkZUlwczogc3RyaW5nW107XG4gIGdhdGV3YXlUeXBlOiBzdHJpbmc7XG4gIGdhdGV3YXlOb2RlPzogc3RyaW5nOyAvLyByZXF1aXJlZCB3aGVuIGdhdGV3YXlfdHlwZSBpcyBDZW50cmFsaXplZFxuICBwcml2YXRlPzogYm9vbGVhbjsgLy8gcHJpdmF0ZSBuZXR3b3JrLGRlZmF1bHQgZmFsc2VcbiAgYWxsb3dTdWJuZXRzPzogc3RyaW5nW107IC8vIGVuYWJsZSB3aGVuIHByaXZhdGUgaXMgdHJ1ZVxuICBlbmFibGVFY21wPzogYm9vbGVhbjsgLy8gcmVxdWlyZWQgd2hlbiBnYXRld2F5X3R5cGUgaXMgQ2VudHJhbGl6ZWQuIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xNjMwNzEwNDJcblxuICBuYW1lc3BhY2VTZWxlY3RvcnM/OiBMYWJlbFNlbGVjdG9yW107XG4gIC8vIHVuZGVybGF5XG4gIHZsYW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFN1Ym5ldFNwZWM7XG4gIHN0YXR1cz86IFN1Ym5ldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRJcFNwZWMge1xuICBwb2ROYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWJuZXQ6IHN0cmluZztcbiAgbm9kZU5hbWU6IHN0cmluZztcbiAgaXBBZGRyZXNzPzogc3RyaW5nO1xuICBtYWNBZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0SXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogU3VibmV0SXBTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyQ29ubmVjdGlvblN1Ym5ldCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IEludGVyQ29ubmVjdGlvblN1Ym5ldFNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJDb25uZWN0aW9uU3VibmV0U3BlYyB7XG4gIHN1Ym5ldHM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY2lkcjogc3RyaW5nO1xuICB9Pjtcbn1cblxuLy8gTG9hZEJhbGFuY2VyXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdBTEIyJztcbiAgc3BlYz86IExvYWRCYWxhbmNlclNwZWM7XG4gIHN0YXR1cz86IExvYWRCYWxhbmNlclN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkQmFsYW5jZXJTdGF0dXMge1xuICBwcm9iZVRpbWU6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7XG4gIHN0YXRlOiAncmVhZHknIHwgJ3dhcm5pbmcnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlclNwZWMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGJpbmRfYWRkcmVzczogc3RyaW5nO1xuICBkb21haW5zOiBzdHJpbmdbXTtcbiAgaWFhc19pZDogc3RyaW5nO1xuICB0eXBlOiAnbmdpbngnO1xufVxuXG4vLyBBTEIyXG5leHBvcnQgaW50ZXJmYWNlIEFMQjJTdGF0dXMgZXh0ZW5kcyBDb25kaXRpb24ge1xuICBkZXRhaWw/OiB7XG4gICAgYWRkcmVzczoge1xuICAgICAgaG9zdDogc3RyaW5nW107XG4gICAgICBpcHY0OiBzdHJpbmdbXTtcbiAgICAgIGlwdjY6IHN0cmluZ1tdO1xuICAgICAgbXNnPzogc3RyaW5nO1xuICAgICAgb2s/OiBib29sZWFuO1xuICAgIH07XG4gICAgYWxiPzogU3RyaW5nTWFwO1xuICAgIHZlcnNpb24/OiB7XG4gICAgICBpbWFnZVBhdGNoOiBzdHJpbmc7XG4gICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBTEIyU3BlYyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNvbmZpZzoge1xuICAgIGVuYWJsZUFsYj86IGJvb2xlYW47XG4gICAgdmlwPzoge1xuICAgICAgZW5hYmxlTGJTdmM6IGJvb2xlYW47XG4gICAgICBsYlN2Y0Fubm90YXRpb25zPzogU3RyaW5nTWFwO1xuICAgIH07XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgbmV0d29ya01vZGU6ICdob3N0JyB8ICdjb250YWluZXInO1xuICAgIGVuYWJsZVBvcnRQcm9qZWN0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICBBcnJheTx7XG4gICAgICBwb3J0OiBzdHJpbmc7XG4gICAgICBwcm9qZWN0czogc3RyaW5nW107XG4gICAgfT5cbiAgICAqL1xuICAgIHBvcnRQcm9qZWN0cz86IHN0cmluZztcbiAgICBub2RlU2VsZWN0b3I/OiBTdHJpbmdNYXA7XG4gICAgcHJvamVjdHM/OiBzdHJpbmdbXTtcbiAgICByZXBsaWNhcz86IG51bWJlcjtcbiAgICByZXNvdXJjZXM/OiB7XG4gICAgICBsaW1pdHM/OiB7XG4gICAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgICBtZW1vcnk6IHN0cmluZztcbiAgICAgIH07XG4gICAgICByZXF1ZXN0cz86IHtcbiAgICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGdhdGV3YXk/OiB7XG4gICAgICBtb2RlOiAnc3RhbmRhbG9uZScgfCAnc2hhcmUnO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIHR5cGU6ICduZ2lueCc7XG59XG5cbi8vIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xMzMwNzM1NjZcbmV4cG9ydCBpbnRlcmZhY2UgQUxCMiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdBTEIyJztcbiAgc3BlYzogQUxCMlNwZWM7XG4gIHN0YXR1cz86IEFMQjJTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBCbG9jayB7XG4gIGNpZHI6IHN0cmluZztcbiAgZXhjZXB0OiBzdHJpbmdbXTtcbn1cblxuLy8gTmV0d29ya1BvbGljeVxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUG9saWN5UG9ydCB7XG4gIHBvcnQ6IG51bWJlciB8IHN0cmluZztcbiAgcHJvdG9jb2w6IHN0cmluZztcbiAgZW5kUG9ydD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUG9saWN5UGVlciB7XG4gIGlwQmxvY2s/OiBJUEJsb2NrO1xuICBuYW1lc3BhY2VTZWxlY3Rvcj86IExhYmVsU2VsZWN0b3I7XG4gIHBvZFNlbGVjdG9yPzogTGFiZWxTZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUG9saWN5RWdyZXNzUnVsZSB7XG4gIHBvcnRzPzogTmV0d29ya1BvbGljeVBvcnRbXTtcbiAgdG8/OiBOZXR3b3JrUG9saWN5UGVlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtQb2xpY3lJbmdyZXNzUnVsZSB7XG4gIGZyb20/OiBOZXR3b3JrUG9saWN5UGVlcltdO1xuICBwb3J0cz86IE5ldHdvcmtQb2xpY3lQb3J0W107XG59XG5cbmV4cG9ydCB0eXBlIFBvbGljeVR5cGUgPSAnSW5ncmVzcycgfCAnRWdyZXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUG9saWN5U3BlYyB7XG4gIGVncmVzcz86IE5ldHdvcmtQb2xpY3lFZ3Jlc3NSdWxlW107XG4gIGluZ3Jlc3M/OiBOZXR3b3JrUG9saWN5SW5ncmVzc1J1bGVbXTtcbiAgcG9kU2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICBwb2xpY3lUeXBlcz86IFBvbGljeVR5cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUG9saWN5IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IE5ldHdvcmtQb2xpY3lTcGVjO1xufVxuXG4vLyBEb21haW5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluU3BlYyB7XG4gIG5hbWU6IHN0cmluZztcbiAga2luZDogJ2Z1bGwnIHwgJ2V4dGVuc2l2ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IERvbWFpblNwZWM7XG4gIC8vIGZvciBVSSB1c2FnZVxuICBfY2VydGlmaWNhdGU/OiBDZXJ0aWZpY2F0ZTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWxsYi1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdHlwZXMvbWV0YWxsYi1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UsIExhYmVsU2VsZWN0b3IgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbi8vIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tZXRhbGxiL21ldGFsbGIvbWFpbi9jb25maWcvY3JkL2Jhc2VzL21ldGFsbGIuaW9fYmdwcGVlcnMueWFtbFxuZXhwb3J0IGludGVyZmFjZSBCR1BQZWVyU3BlYyB7XG4gIG15QVNOOiBudW1iZXI7XG4gIHBlZXJBU046IG51bWJlcjtcbiAgcGVlckFkZHJlc3M6IHN0cmluZztcbiAgYmZkUHJvZmlsZT86IHN0cmluZztcbiAgZWJncE11bHRpSG9wPzogYm9vbGVhbjtcbiAgaG9sZFRpbWU/OiBzdHJpbmc7XG4gIGtlZXBhbGl2ZVRpbWU/OiBzdHJpbmc7XG4gIG5vZGVTZWxlY3RvcnM/OiBMYWJlbFNlbGVjdG9yW107XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwZWVyUG9ydD86IG51bWJlcjtcbiAgcm91dGVySUQ/OiBzdHJpbmc7XG4gIHNvdXJjZUFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQkdQUGVlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdCR1BQZWVyJztcbiAgc3BlYzogQkdQUGVlclNwZWM7XG59XG5cbi8vIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tZXRhbGxiL21ldGFsbGIvbWFpbi9jb25maWcvY3JkL2Jhc2VzL21ldGFsbGIuaW9fYmdwYWR2ZXJ0aXNlbWVudHMueWFtbFxuZXhwb3J0IGludGVyZmFjZSBCR1BBZHZlcnRpc2VtZW50IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAga2luZDogJ0JHUEFkdmVydGlzZW1lbnQnO1xuICBzcGVjOiB7XG4gICAgYWdncmVnYXRpb25MZW5ndGg/OiBudW1iZXI7XG4gICAgYWdncmVnYXRpb25MZW5ndGhWNj86IG51bWJlcjtcbiAgICBjb21tdW5pdGllcz86IHN0cmluZ1tdO1xuICAgIGlwQWRkcmVzc1Bvb2xTZWxlY3RvcnM/OiBMYWJlbFNlbGVjdG9yO1xuICAgIGlwQWRkcmVzc1Bvb2xzPzogc3RyaW5nW107XG4gICAgbG9jYWxQcmVmPzogbnVtYmVyO1xuICAgIG5vZGVTZWxlY3RvcnM/OiBMYWJlbFNlbGVjdG9yW107XG4gICAgcGVlcnM6IHN0cmluZ1tdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQQWRkcmVzc1Bvb2wgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBraW5kOiAnSVBBZGRyZXNzUG9vbCc7XG4gIHNwZWM6IHtcbiAgICBhZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGF1dG9Bc3NpZ24/OiBib29sZWFuO1xuICAgIGF2b2lkQnVnZ3lJUHM/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEwyQWR2ZXJ0aXNlbWVudCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdMMkFkdmVydGlzZW1lbnQnO1xuICBzcGVjOiB7XG4gICAgaXBBZGRyZXNzUG9vbHM6IFtzdHJpbmddO1xuICAgIG5vZGVTZWxlY3RvcnM6IExhYmVsU2VsZWN0b3JbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcFBvb2xVc2VkSXAge1xuICBpcDogc3RyaW5nO1xuICBub2RlSXA6IHN0cmluZztcbiAgc2VydmljZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElwUG9vbFVzYWdlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgYXBpVmVyc2lvbjogJ21ldGFsbGIuaW8vdjFiZXRhMSc7XG4gIGtpbmQ6ICdJUEFkZHJlc3NQb29sVXNhZ2UnO1xuICBzdGF0dXM6IHtcbiAgICB1c2VkOiBudW1iZXI7XG4gICAgYXZhaWxhYmxlOiBudW1iZXI7XG4gICAgdXNlZElwczogSXBQb29sVXNlZElwW107XG4gICAgLy8gaHR0cHM6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTE2MTM5NDQzOSNoZWFkaW5nLTMxNjFHRVRhY3B2MW1ldGFsbGJjbHVzdGVybmFtZXNwYWNlc21ldGFsbGItc3lzdGVtaXBhZGRyZXNzcG9vbHVzYWdlaXBwb29sbmFtZVxuICAgIGlwdjRhdmFpbGFibGU6IG51bWJlcjtcbiAgICBpcHY0dXNlZDogbnVtYmVyO1xuICAgIGlwdjZ1c2VkOiBudW1iZXI7XG4gICAgaXB2NmF2YWlsYWJsZTogbnVtYmVyO1xuICB9O1xufVxuIl19
@@ -1,4 +1,5 @@
1
- import { createResourceDefinitions } from '@alauda-fe/common';
1
+ import { COMMON_RESOURCE_DEFINITIONS, createResourceDefinitions, safeAssign, } from '@alauda-fe/common';
2
+ const METALLB_GROUP = 'metallb.io';
2
3
  export const KUBE_OVN_GROUP = 'kubeovn.io';
3
4
  export const NetworkResourceDefinitions = {
4
5
  SUBNET_KUBE_OVN: {
@@ -9,8 +10,33 @@ export const NetworkResourceDefinitions = {
9
10
  type: 'ips',
10
11
  apiGroup: KUBE_OVN_GROUP,
11
12
  },
13
+ L2_ADVERTISEMENT: {
14
+ apiGroup: METALLB_GROUP,
15
+ apiVersion: 'v1beta1',
16
+ type: 'l2advertisements',
17
+ },
18
+ IP_POOL: {
19
+ apiGroup: METALLB_GROUP,
20
+ apiVersion: 'v1beta1',
21
+ type: 'ipaddresspools',
22
+ },
23
+ BGP_PEER: {
24
+ apiGroup: METALLB_GROUP,
25
+ apiVersion: 'v1beta2',
26
+ type: 'bgppeers',
27
+ },
28
+ BGP_ADVERTISEMENT: {
29
+ apiGroup: METALLB_GROUP,
30
+ apiVersion: 'v1beta1',
31
+ type: 'bgpadvertisements',
32
+ },
33
+ INTER_CONNECTION_SUBNET: {
34
+ type: 'interconnectionsubnets',
35
+ apiGroup: KUBE_OVN_GROUP,
36
+ },
12
37
  };
13
38
  const _ = createResourceDefinitions(NetworkResourceDefinitions);
39
+ export const INNER_NETWORK_RESOURCE_TYPES = createResourceDefinitions(safeAssign([COMMON_RESOURCE_DEFINITIONS, NetworkResourceDefinitions])).RESOURCE_TYPES;
14
40
  export const NETWORK_RESOURCE_DEFINITIONS = _.RESOURCE_DEFINITIONS;
15
41
  export const NETWORK_RESOURCE_TYPES = _.RESOURCE_TYPES;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvbmV0d29yay9zcmMvbGliL3R5cGVzL3Jlc291cmNlLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QyxlQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsU0FBUztRQUNmLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLEtBQUs7UUFDWCxRQUFRLEVBQUUsY0FBYztLQUN6QjtDQUNPLENBQUM7QUFFWCxNQUFNLENBQUMsR0FBRyx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IEtVQkVfT1ZOX0dST1VQID0gJ2t1YmVvdm4uaW8nO1xuXG5leHBvcnQgY29uc3QgTmV0d29ya1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7XG4gIFNVQk5FVF9LVUJFX09WTjoge1xuICAgIHR5cGU6ICdzdWJuZXRzJyxcbiAgICBhcGlHcm91cDogS1VCRV9PVk5fR1JPVVAsXG4gIH0sXG4gIFNVQk5FVF9LVUJFX09WTl9JUDoge1xuICAgIHR5cGU6ICdpcHMnLFxuICAgIGFwaUdyb3VwOiBLVUJFX09WTl9HUk9VUCxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IF8gPSBjcmVhdGVSZXNvdXJjZURlZmluaXRpb25zKE5ldHdvcmtSZXNvdXJjZURlZmluaXRpb25zKTtcblxuZXhwb3J0IGNvbnN0IE5FVFdPUktfUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBfLlJFU09VUkNFX0RFRklOSVRJT05TO1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfUkVTT1VSQ0VfVFlQRVMgPSBfLlJFU09VUkNFX1RZUEVTO1xuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvbmV0d29yay9zcmMvbGliL3R5cGVzL3Jlc291cmNlLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIsVUFBVSxHQUNYLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLFNBQVM7UUFDZixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLElBQUksRUFBRSxLQUFLO1FBQ1gsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixRQUFRLEVBQUUsYUFBYTtRQUN2QixVQUFVLEVBQUUsU0FBUztRQUNyQixJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFLGFBQWE7UUFDdkIsVUFBVSxFQUFFLFNBQVM7UUFDckIsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLGFBQWE7UUFDdkIsVUFBVSxFQUFFLFNBQVM7UUFDckIsSUFBSSxFQUFFLG1CQUFtQjtLQUMxQjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLGNBQWM7S0FDekI7Q0FDTyxDQUFDO0FBRVgsTUFBTSxDQUFDLEdBQUcseUJBQXlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FDbkUsVUFBVSxDQUFDLENBQUMsMkJBQTJCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxDQUN0RSxDQUFDLGNBQWMsQ0FBQztBQUVqQixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUMsb0JBQW9CLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTU1PTl9SRVNPVVJDRV9ERUZJTklUSU9OUyxcbiAgY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyxcbiAgc2FmZUFzc2lnbixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5jb25zdCBNRVRBTExCX0dST1VQID0gJ21ldGFsbGIuaW8nO1xuZXhwb3J0IGNvbnN0IEtVQkVfT1ZOX0dST1VQID0gJ2t1YmVvdm4uaW8nO1xuXG5leHBvcnQgY29uc3QgTmV0d29ya1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7XG4gIFNVQk5FVF9LVUJFX09WTjoge1xuICAgIHR5cGU6ICdzdWJuZXRzJyxcbiAgICBhcGlHcm91cDogS1VCRV9PVk5fR1JPVVAsXG4gIH0sXG4gIFNVQk5FVF9LVUJFX09WTl9JUDoge1xuICAgIHR5cGU6ICdpcHMnLFxuICAgIGFwaUdyb3VwOiBLVUJFX09WTl9HUk9VUCxcbiAgfSxcbiAgTDJfQURWRVJUSVNFTUVOVDoge1xuICAgIGFwaUdyb3VwOiBNRVRBTExCX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbDJhZHZlcnRpc2VtZW50cycsXG4gIH0sXG4gIElQX1BPT0w6IHtcbiAgICBhcGlHcm91cDogTUVUQUxMQl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2lwYWRkcmVzc3Bvb2xzJyxcbiAgfSxcbiAgQkdQX1BFRVI6IHtcbiAgICBhcGlHcm91cDogTUVUQUxMQl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMicsXG4gICAgdHlwZTogJ2JncHBlZXJzJyxcbiAgfSxcbiAgQkdQX0FEVkVSVElTRU1FTlQ6IHtcbiAgICBhcGlHcm91cDogTUVUQUxMQl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2JncGFkdmVydGlzZW1lbnRzJyxcbiAgfSxcbiAgSU5URVJfQ09OTkVDVElPTl9TVUJORVQ6IHtcbiAgICB0eXBlOiAnaW50ZXJjb25uZWN0aW9uc3VibmV0cycsXG4gICAgYXBpR3JvdXA6IEtVQkVfT1ZOX0dST1VQLFxuICB9LFxufSBhcyBjb25zdDtcblxuY29uc3QgXyA9IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMoTmV0d29ya1Jlc291cmNlRGVmaW5pdGlvbnMpO1xuXG5leHBvcnQgY29uc3QgSU5ORVJfTkVUV09SS19SRVNPVVJDRV9UWVBFUyA9IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMoXG4gIHNhZmVBc3NpZ24oW0NPTU1PTl9SRVNPVVJDRV9ERUZJTklUSU9OUywgTmV0d29ya1Jlc291cmNlRGVmaW5pdGlvbnNdKSxcbikuUkVTT1VSQ0VfVFlQRVM7XG5cbmV4cG9ydCBjb25zdCBORVRXT1JLX1JFU09VUkNFX0RFRklOSVRJT05TID0gXy5SRVNPVVJDRV9ERUZJTklUSU9OUztcbmV4cG9ydCBjb25zdCBORVRXT1JLX1JFU09VUkNFX1RZUEVTID0gXy5SRVNPVVJDRV9UWVBFUztcbiJdfQ==
@@ -105,4 +105,4 @@ export function getAddressPriority(address) {
105
105
  export function sortAddressesByPriority(addresses) {
106
106
  return sortBy(addresses, getAddressPriority);
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi91dGlscy9hbGItZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUVMLFNBQVMsR0FFVixNQUFNLHNCQUFzQixDQUFDO0FBSzlCLE1BQU0sdUJBQXVCLEdBQTRCO0lBQ3ZEO1FBQ0UsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQzFCLGFBQWEsRUFBRTtZQUNiLEdBQUcsRUFBRTtnQkFDSCxLQUFLLEVBQUUsR0FBRztnQkFDVixJQUFJLEVBQUUsR0FBRzthQUNWO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxHQUFHO2dCQUNWLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsYUFBYSxFQUFFO1lBQ2IsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGO0tBQ0Y7SUFDRDtRQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztRQUMxQixhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsQ0FBQztnQkFDUixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0Y7S0FDRjtDQUNGLENBQUM7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TyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsU0FBbUI7SUFDekQsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHRvVW5pdE51bU0sXG4gIHRvVW5pdE1pLFxuICBJUF9QQVRURVJOX0JBU0UsXG4gIExvb3NlVmFsdWVPZixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgc29ydEJ5LCB1bmlvbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7XG4gIFBsYWluUmVzb3VyY2VMaW1pdCxcbiAgU3BlY01vZGVsLFxuICBBbGJSZXNvdXJjZUxpbWl0TW9kZWwsXG59IGZyb20gJy4uL3R5cGVzL2FsYi1leHBvcnRzJztcbmltcG9ydCB7IEFMQjIgfSBmcm9tICcuLi90eXBlcy9rOHMtZXhwb3J0cyc7XG5cbmltcG9ydCB7IFJlc291cmNlTGltaXQgfSBmcm9tICcuL2FsYi1pbnRlcm5hbHMnO1xuXG5jb25zdCBERUZJTkVEX1JFU09VUkNFX0xJTUlUUzogQWxiUmVzb3VyY2VMaW1pdE1vZGVsW10gPSBbXG4gIHtcbiAgICBzcGVjTW9kZWw6IFNwZWNNb2RlbC5TTUFMTCxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6IDIwMCxcbiAgICAgICAgdW5pdDogJ20nLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeToge1xuICAgICAgICB2YWx1ZTogMjU2LFxuICAgICAgICB1bml0OiAnTWknLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgc3BlY01vZGVsOiBTcGVjTW9kZWwuTUVESVVNLFxuICAgIHJlc291cmNlTGltaXQ6IHtcbiAgICAgIGNwdToge1xuICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgdW5pdDogJ2NvcmUnLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeToge1xuICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgdW5pdDogJ0dpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIHNwZWNNb2RlbDogU3BlY01vZGVsLkxBUkdFLFxuICAgIHJlc291cmNlTGltaXQ6IHtcbiAgICAgIGNwdToge1xuICAgICAgICB2YWx1ZTogNCxcbiAgICAgICAgdW5pdDogJ2NvcmUnLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeToge1xuICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgdW5pdDogJ0dpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRSZXNvdXJjZUxpbWl0ID0gKHtcbiAgdmFsdWUsXG4gIHVuaXQsXG59OiBMb29zZVZhbHVlT2Y8UmVzb3VyY2VMaW1pdD4pID0+XG4gIHZhbHVlIHx8IHZhbHVlID09PSAwID8gdmFsdWUgKyAodW5pdCA9PT0gJ2NvcmUnID8gJycgOiB1bml0KSA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVzb3VyY2VMaW1pdCA9IChcbiAgcGxhaW5SZXNvdXJjZUxpbWl0OiBQbGFpblJlc291cmNlTGltaXQgPSB7fSxcbik6IHtcbiAgc3BlY01vZGVsOiBTcGVjTW9kZWw7XG4gIHJlc291cmNlTGltaXQ6IFBsYWluUmVzb3VyY2VMaW1pdDtcbn0gPT4ge1xuICBjb25zdCB7IGNwdSwgbWVtb3J5IH0gPSBwbGFpblJlc291cmNlTGltaXQ7XG5cbiAgY29uc3QgcmVzb3VyY2VMaW1pdE1vZGVsID0gREVGSU5FRF9SRVNPVVJDRV9MSU1JVFMuZmluZChcbiAgICAoeyByZXNvdXJjZUxpbWl0IH0pID0+XG4gICAgICBjcHUgPT09IGZvcm1hdFJlc291cmNlTGltaXQocmVzb3VyY2VMaW1pdC5jcHUpICYmXG4gICAgICBtZW1vcnkgPT09IGZvcm1hdFJlc291cmNlTGltaXQocmVzb3VyY2VMaW1pdC5tZW1vcnkpLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgc3BlY01vZGVsOiByZXNvdXJjZUxpbWl0TW9kZWw/LnNwZWNNb2RlbCB8fCBTcGVjTW9kZWwuQ1VTVE9NSVpFLFxuICAgIHJlc291cmNlTGltaXQ6IHBsYWluUmVzb3VyY2VMaW1pdCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9MSU1JVF9NQVBQRVIgPSBERUZJTkVEX1JFU09VUkNFX0xJTUlUUy5yZWR1Y2U8XG4gIFBhcnRpYWw8UmVjb3JkPFNwZWNNb2RlbCwgUmVzb3VyY2VMaW1pdD4+XG4+KChhY2MsIGN1cnIpID0+IHtcbiAgYWNjW2N1cnIuc3BlY01vZGVsXSA9IGN1cnIucmVzb3VyY2VMaW1pdDtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGltaXQocmVzb3VyY2U6IEFMQjIpOiBBbGJSZXNvdXJjZUxpbWl0TW9kZWwge1xuICBjb25zdCByZXNvdXJjZXMgPSByZXNvdXJjZT8uc3BlYz8uY29uZmlnPy5yZXNvdXJjZXM7XG5cbiAgY29uc3QgeyBzcGVjTW9kZWwsIHJlc291cmNlTGltaXQgfSA9IHBhcnNlUmVzb3VyY2VMaW1pdChcbiAgICByZXNvdXJjZXM/LmxpbWl0cyB8fCByZXNvdXJjZXM/LnJlcXVlc3RzLFxuICApO1xuXG4gIGlmIChzcGVjTW9kZWwgIT09IFNwZWNNb2RlbC5DVVNUT01JWkUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3BlY01vZGVsLFxuICAgICAgcmVzb3VyY2VMaW1pdDogUkVTT1VSQ0VfTElNSVRfTUFQUEVSW3NwZWNNb2RlbF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGNwdU1WYWx1ZSA9IHBhcnNlSW50KHRvVW5pdE51bU0ocmVzb3VyY2VMaW1pdC5jcHUpKTtcbiAgY29uc3QgbWVtb3J5TWlWYWx1ZSA9IHBhcnNlSW50KHRvVW5pdE1pKHJlc291cmNlTGltaXQubWVtb3J5KSk7XG5cbiAgY29uc3QgY3B1Q29yZVZhbHVlID0gY3B1TVZhbHVlIC8gMTAwMDtcbiAgY29uc3QgaXNDb3JlID1cbiAgICBOdW1iZXIuaXNOYU4oY3B1Q29yZVZhbHVlKSB8fCBjcHVDb3JlVmFsdWUgPT09IE1hdGguZmxvb3IoY3B1Q29yZVZhbHVlKTtcblxuICBjb25zdCBtZW1vcnlHaVZhbHVlID0gbWVtb3J5TWlWYWx1ZSAvIDEwMjQ7XG4gIGNvbnN0IGlzR2kgPVxuICAgIE51bWJlci5pc05hTihtZW1vcnlHaVZhbHVlKSB8fCBtZW1vcnlHaVZhbHVlID09PSBNYXRoLmZsb29yKG1lbW9yeUdpVmFsdWUpO1xuXG4gIHJldHVybiB7XG4gICAgc3BlY01vZGVsLFxuICAgIHJlc291cmNlTGltaXQ6IHtcbiAgICAgIGNwdToge1xuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBjcHVNVmFsdWUgPT09IDAgPyAwIDogKGlzQ29yZSA/IGNwdUNvcmVWYWx1ZSA6IGNwdU1WYWx1ZSkgfHwgbnVsbCxcbiAgICAgICAgdW5pdDogaXNDb3JlID8gJ2NvcmUnIDogJ20nLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeToge1xuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBtZW1vcnlNaVZhbHVlID09PSAwXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogKGlzR2kgPyBtZW1vcnlHaVZhbHVlIDogbWVtb3J5TWlWYWx1ZSkgfHwgbnVsbCxcbiAgICAgICAgdW5pdDogaXNHaSA/ICdHaScgOiAnTWknLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQUxMQiA9ICdtZXRhbGxiJztcbmV4cG9ydCBjb25zdCBNRVRBTExCX05TID0gYCR7TUVUQUxMQn0tc3lzdGVtYCBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWRkcmVzc2VzKGFsYjI6IEFMQjIpIHtcbiAgY29uc3QgaXBBZGRyZXNzID0gW1xuICAgIC4uLihhbGIyPy5zdGF0dXM/LmRldGFpbD8uYWRkcmVzcz8uaG9zdCA/PyBbXSksXG4gICAgLi4uKGFsYjI/LnN0YXR1cz8uZGV0YWlsPy5hZGRyZXNzPy5pcHY0ID8/IFtdKSxcbiAgICAuLi4oYWxiMj8uc3RhdHVzPy5kZXRhaWw/LmFkZHJlc3M/LmlwdjYgPz8gW10pLFxuICAgIC4uLihhbGIyPy5zcGVjPy5hZGRyZXNzID8gYWxiMj8uc3BlYz8uYWRkcmVzcz8uc3BsaXQoJywnKSA6IFtdKSxcbiAgXTtcbiAgcmV0dXJuIHVuaW9uKGlwQWRkcmVzcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRyZXNzUHJpb3JpdHkoYWRkcmVzczogc3RyaW5nKSB7XG4gIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoSVBfUEFUVEVSTl9CQVNFKTtcbiAgcmV0dXJuIGFkZHJlc3MuaW5jbHVkZXMoJzonKSA/IDIgOiByZWcudGVzdChhZGRyZXNzKSA/IDEgOiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydEFkZHJlc3Nlc0J5UHJpb3JpdHkoYWRkcmVzc2VzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gc29ydEJ5KGFkZHJlc3NlcywgZ2V0QWRkcmVzc1ByaW9yaXR5KTtcbn1cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi91dGlscy9hbGItZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUVMLFNBQVMsR0FFVixNQUFNLHNCQUFzQixDQUFDO0FBSzlCLE1BQU0sdUJBQXVCLEdBQTRCO0lBQ3ZEO1FBQ0UsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQzFCLGFBQWEsRUFBRTtZQUNiLEdBQUcsRUFBRTtnQkFDSCxLQUFLLEVBQUUsR0FBRztnQkFDVixJQUFJLEVBQUUsR0FBRzthQUNWO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxHQUFHO2dCQUNWLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsYUFBYSxFQUFFO1lBQ2IsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGO0tBQ0Y7SUFDRDtRQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztRQUMxQixhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsQ0FBQztnQkFDUixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQ2xDLEtBQUssRUFDTCxJQUFJLEdBQ3dCLEVBQUUsRUFBRSxDQUNoQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLHFCQUF5QyxFQUFFLEVBSTNDLEVBQUU7SUFDRixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLGtCQUFrQixDQUFDO0lBRTNDLE1BQU0sa0JBQWtCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUNyRCxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUNwQixHQUFHLEtBQUssbUJBQW1CLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxNQUFNLEtBQUssbUJBQW1CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUN2RCxDQUFDO0lBRUYsT0FBTztRQUNMLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVM7UUFDL0QsYUFBYSxFQUFFLGtCQUFrQjtLQUNsQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUVqRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNkLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVQLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFjO0lBQzdDLE1BQU0sU0FBUyxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUVwRCxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLGtCQUFrQixDQUNyRCxTQUFTLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxRQUFRLENBQ3pDLENBQUM7SUFFRixJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTztZQUNMLFNBQVM7WUFDVCxhQUFhLEVBQUUscUJBQXFCLENBQUMsU0FBUyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRS9ELE1BQU0sWUFBWSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUxRSxNQUFNLGFBQWEsR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUNSLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFN0UsT0FBTztRQUNMLFNBQVM7UUFDVCxhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxFQUNILFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSTtnQkFDbkUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQzVCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFDSCxhQUFhLEtBQUssQ0FBQztvQkFDakIsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUk7Z0JBQ3BELElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTthQUN6QjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLE9BQU8sU0FBa0IsQ0FBQztBQUV2RCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVU7SUFDdkMsTUFBTSxTQUFTLEdBQUc7UUFDaEIsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzlDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNoRSxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFlO0lBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFNBQW1CO0lBQ3pELE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0b1VuaXROdW1NLFxuICB0b1VuaXRNaSxcbiAgSVBfUEFUVEVSTl9CQVNFLFxuICBMb29zZVZhbHVlT2YsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IHNvcnRCeSwgdW5pb24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQge1xuICBQbGFpblJlc291cmNlTGltaXQsXG4gIFNwZWNNb2RlbCxcbiAgQWxiUmVzb3VyY2VMaW1pdE1vZGVsLFxufSBmcm9tICcuLi90eXBlcy9hbGItZXhwb3J0cyc7XG5pbXBvcnQgeyBBTEIyIH0gZnJvbSAnLi4vdHlwZXMvazhzLWV4cG9ydHMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZUxpbWl0IH0gZnJvbSAnLi9hbGItaW50ZXJuYWxzJztcblxuY29uc3QgREVGSU5FRF9SRVNPVVJDRV9MSU1JVFM6IEFsYlJlc291cmNlTGltaXRNb2RlbFtdID0gW1xuICB7XG4gICAgc3BlY01vZGVsOiBTcGVjTW9kZWwuU01BTEwsXG4gICAgcmVzb3VyY2VMaW1pdDoge1xuICAgICAgY3B1OiB7XG4gICAgICAgIHZhbHVlOiAyMDAsXG4gICAgICAgIHVuaXQ6ICdtJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDI1NixcbiAgICAgICAgdW5pdDogJ01pJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIHNwZWNNb2RlbDogU3BlY01vZGVsLk1FRElVTSxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgIHVuaXQ6ICdjb3JlJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgIHVuaXQ6ICdHaScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBzcGVjTW9kZWw6IFNwZWNNb2RlbC5MQVJHRSxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6IDQsXG4gICAgICAgIHVuaXQ6ICdjb3JlJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgIHVuaXQ6ICdHaScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0UmVzb3VyY2VMaW1pdCA9ICh7XG4gIHZhbHVlLFxuICB1bml0LFxufTogTG9vc2VWYWx1ZU9mPFJlc291cmNlTGltaXQ+KSA9PlxuICB2YWx1ZSB8fCB2YWx1ZSA9PT0gMCA/IHZhbHVlICsgKHVuaXQgPT09ICdjb3JlJyA/ICcnIDogdW5pdCkgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlc291cmNlTGltaXQgPSAoXG4gIHBsYWluUmVzb3VyY2VMaW1pdDogUGxhaW5SZXNvdXJjZUxpbWl0ID0ge30sXG4pOiB7XG4gIHNwZWNNb2RlbDogU3BlY01vZGVsO1xuICByZXNvdXJjZUxpbWl0OiBQbGFpblJlc291cmNlTGltaXQ7XG59ID0+IHtcbiAgY29uc3QgeyBjcHUsIG1lbW9yeSB9ID0gcGxhaW5SZXNvdXJjZUxpbWl0O1xuXG4gIGNvbnN0IHJlc291cmNlTGltaXRNb2RlbCA9IERFRklORURfUkVTT1VSQ0VfTElNSVRTLmZpbmQoXG4gICAgKHsgcmVzb3VyY2VMaW1pdCB9KSA9PlxuICAgICAgY3B1ID09PSBmb3JtYXRSZXNvdXJjZUxpbWl0KHJlc291cmNlTGltaXQuY3B1KSAmJlxuICAgICAgbWVtb3J5ID09PSBmb3JtYXRSZXNvdXJjZUxpbWl0KHJlc291cmNlTGltaXQubWVtb3J5KSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHNwZWNNb2RlbDogcmVzb3VyY2VMaW1pdE1vZGVsPy5zcGVjTW9kZWwgfHwgU3BlY01vZGVsLkNVU1RPTUlaRSxcbiAgICByZXNvdXJjZUxpbWl0OiBwbGFpblJlc291cmNlTGltaXQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfTElNSVRfTUFQUEVSID0gREVGSU5FRF9SRVNPVVJDRV9MSU1JVFMucmVkdWNlPFxuICBQYXJ0aWFsPFJlY29yZDxTcGVjTW9kZWwsIFJlc291cmNlTGltaXQ+PlxuPigoYWNjLCBjdXJyKSA9PiB7XG4gIGFjY1tjdXJyLnNwZWNNb2RlbF0gPSBjdXJyLnJlc291cmNlTGltaXQ7XG4gIHJldHVybiBhY2M7XG59LCB7fSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbWl0KHJlc291cmNlOiBBTEIyKTogQWxiUmVzb3VyY2VMaW1pdE1vZGVsIHtcbiAgY29uc3QgcmVzb3VyY2VzID0gcmVzb3VyY2U/LnNwZWM/LmNvbmZpZz8ucmVzb3VyY2VzO1xuXG4gIGNvbnN0IHsgc3BlY01vZGVsLCByZXNvdXJjZUxpbWl0IH0gPSBwYXJzZVJlc291cmNlTGltaXQoXG4gICAgcmVzb3VyY2VzPy5saW1pdHMgfHwgcmVzb3VyY2VzPy5yZXF1ZXN0cyxcbiAgKTtcblxuICBpZiAoc3BlY01vZGVsICE9PSBTcGVjTW9kZWwuQ1VTVE9NSVpFKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNwZWNNb2RlbCxcbiAgICAgIHJlc291cmNlTGltaXQ6IFJFU09VUkNFX0xJTUlUX01BUFBFUltzcGVjTW9kZWxdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjcHVNVmFsdWUgPSBwYXJzZUludCh0b1VuaXROdW1NKHJlc291cmNlTGltaXQuY3B1KSk7XG4gIGNvbnN0IG1lbW9yeU1pVmFsdWUgPSBwYXJzZUludCh0b1VuaXRNaShyZXNvdXJjZUxpbWl0Lm1lbW9yeSkpO1xuXG4gIGNvbnN0IGNwdUNvcmVWYWx1ZSA9IGNwdU1WYWx1ZSAvIDEwMDA7XG4gIGNvbnN0IGlzQ29yZSA9XG4gICAgTnVtYmVyLmlzTmFOKGNwdUNvcmVWYWx1ZSkgfHwgY3B1Q29yZVZhbHVlID09PSBNYXRoLmZsb29yKGNwdUNvcmVWYWx1ZSk7XG5cbiAgY29uc3QgbWVtb3J5R2lWYWx1ZSA9IG1lbW9yeU1pVmFsdWUgLyAxMDI0O1xuICBjb25zdCBpc0dpID1cbiAgICBOdW1iZXIuaXNOYU4obWVtb3J5R2lWYWx1ZSkgfHwgbWVtb3J5R2lWYWx1ZSA9PT0gTWF0aC5mbG9vcihtZW1vcnlHaVZhbHVlKTtcblxuICByZXR1cm4ge1xuICAgIHNwZWNNb2RlbCxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgY3B1TVZhbHVlID09PSAwID8gMCA6IChpc0NvcmUgPyBjcHVDb3JlVmFsdWUgOiBjcHVNVmFsdWUpIHx8IG51bGwsXG4gICAgICAgIHVuaXQ6IGlzQ29yZSA/ICdjb3JlJyA6ICdtJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgbWVtb3J5TWlWYWx1ZSA9PT0gMFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IChpc0dpID8gbWVtb3J5R2lWYWx1ZSA6IG1lbW9yeU1pVmFsdWUpIHx8IG51bGwsXG4gICAgICAgIHVuaXQ6IGlzR2kgPyAnR2knIDogJ01pJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE1FVEFMTEIgPSAnbWV0YWxsYic7XG5leHBvcnQgY29uc3QgTUVUQUxMQl9OUyA9IGAke01FVEFMTEJ9LXN5c3RlbWAgYXMgY29uc3Q7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFkZHJlc3NlcyhhbGIyOiBBTEIyKSB7XG4gIGNvbnN0IGlwQWRkcmVzcyA9IFtcbiAgICAuLi4oYWxiMj8uc3RhdHVzPy5kZXRhaWw/LmFkZHJlc3M/Lmhvc3QgPz8gW10pLFxuICAgIC4uLihhbGIyPy5zdGF0dXM/LmRldGFpbD8uYWRkcmVzcz8uaXB2NCA/PyBbXSksXG4gICAgLi4uKGFsYjI/LnN0YXR1cz8uZGV0YWlsPy5hZGRyZXNzPy5pcHY2ID8/IFtdKSxcbiAgICAuLi4oYWxiMj8uc3BlYz8uYWRkcmVzcyA/IGFsYjI/LnNwZWM/LmFkZHJlc3M/LnNwbGl0KCcsJykgOiBbXSksXG4gIF07XG4gIHJldHVybiB1bmlvbihpcEFkZHJlc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc1ByaW9yaXR5KGFkZHJlc3M6IHN0cmluZykge1xuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKElQX1BBVFRFUk5fQkFTRSk7XG4gIHJldHVybiBhZGRyZXNzLmluY2x1ZGVzKCc6JykgPyAyIDogcmVnLnRlc3QoYWRkcmVzcykgPyAxIDogMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRBZGRyZXNzZXNCeVByaW9yaXR5KGFkZHJlc3Nlczogc3RyaW5nW10pIHtcbiAgcmV0dXJuIHNvcnRCeShhZGRyZXNzZXMsIGdldEFkZHJlc3NQcmlvcml0eSk7XG59XG4iXX0=
@@ -257,7 +257,7 @@ export function getCidrMaximumPrefix(ipMode = IPMode.IPV4) {
257
257
  return DEFAULT_NETWORK_CIDR_PREFIX_MAPPER[ipMode];
258
258
  }
259
259
  export const adaptIpMode = (value, networkMode) => networkMode === NetworkMode.DUAL
260
- ? value.includes(':')
260
+ ? value?.includes(':')
261
261
  ? NetworkMode.IPV6
262
262
  : NetworkMode.IPV4
263
263
  : networkMode;
@@ -272,7 +272,7 @@ export const isIpPartValid = (part, isIpV4) => {
272
272
  return false;
273
273
  }
274
274
  if (/^[\da-f]+$/i.test(part)) {
275
- return Number.parseInt(part, 16) <= 65535;
275
+ return Number.parseInt(part, 16) <= 0xff_ff;
276
276
  }
277
277
  return false;
278
278
  };
@@ -356,4 +356,4 @@ export function invalidIpOrder(ipBegin, ipEnd) {
356
356
  const ipEndBigInt = ipEnd.bigInteger();
357
357
  return ipBeginBigInt.compareTo(ipEndBigInt) >= 0;
358
358
  }
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lkci1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvY2lkci1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixHQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDRixDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBVSxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3JCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07Q0FDYixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQUlYOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLEtBQWEsRUFDYixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUNFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNwQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFDaEM7UUFDQSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBYSxFQUNiLE9BQWdCLEVBQ2hCLFNBQWlCLE1BQU0sQ0FBQyxJQUFJO0lBRTVCLGVBQWU7SUFDZixJQUFJLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxLQUFLLEtBQUssaUJBQWlCLENBQUM7S0FDcEM7SUFDRCxJQUFJO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsV0FBVztRQUNYLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDNUM7SUFBQyxNQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWEsRUFBRSxTQUFpQixNQUFNLENBQUMsSUFBSTtJQUNwRSxNQUFNLElBQUksR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEUsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxTQUFpQixNQUFNLENBQUMsSUFBSTtJQUMxRSxNQUFNLElBQUksR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDakUsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsTUFBTSxDQUFDLElBQUk7SUFDckUsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDckUsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsTUFBTSxDQUFDLElBQUk7SUFDbkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzlELE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQWEsRUFDYixPQUFnQixFQUNoQixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0tBQzVCO0lBQ0QsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLFdBQVc7UUFDWCxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQzlDO0lBQUMsTUFBTTtRQUNOLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixRQUFnQixFQUNoQixRQUFnQixFQUNoQixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxJQUFJO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sQ0FDTCxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMzQixRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMxQixTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMzQixRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUMzQixDQUFDO0tBQ0g7SUFBQyxNQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsU0FBaUIsTUFBTSxDQUFDLElBQUk7SUFFNUIsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEMsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbEU7SUFBQyxNQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUN0RCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBZSxFQUFFLFNBQWlCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxJQUFJO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM3QjtJQUFDLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBYyxFQUNkLE1BQWMsRUFDZCxTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDMUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUk7UUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7S0FDbEQ7SUFBQyxNQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE9BQWUsRUFDZixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxJQUFJO1FBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xDO0lBQUMsTUFBTTtRQUNOLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUFlLEVBQ2YsU0FBaUIsTUFBTSxDQUFDLElBQUk7SUFFNUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxFQUFVO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWE7SUFDbEMsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFDRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWE7SUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWE7SUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWUsRUFBRSxNQUFjO0lBQzNELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLE9BQU8sQ0FBQztLQUNoQjtJQUNELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzVEO0lBQUMsTUFBTTtRQUNOLE9BQU8sRUFBRSxDQUFDO0tBQ1g7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLE9BQWdCLEVBQ2hCLFdBQXlCLEVBQ1gsRUFBRTtJQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7UUFDcEMsT0FBTztZQUNMLFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUM7S0FDSDtJQUVELElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7UUFDcEMsT0FBTztZQUNMLFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUM7S0FDSDtJQUVELElBQUksV0FBbUIsQ0FBQztJQUN4QixJQUFJLFdBQW1CLENBQUM7SUFFeEIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakQ7U0FBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEMsV0FBVyxHQUFHLE9BQU8sQ0FBQztLQUN2QjtTQUFNO1FBQ0wsV0FBVyxHQUFHLE9BQU8sQ0FBQztLQUN2QjtJQUVELE9BQU87UUFDTCxXQUFXO1FBQ1gsV0FBVztLQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFVRixNQUFNLFVBQVUsWUFBWSxDQUMxQixLQUE0QixFQUM1QixXQUF5QjtJQUV6QixJQUFJLFdBQW1CLENBQUM7SUFDeEIsSUFBSSxXQUFtQixDQUFDO0lBRXhCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDM0MsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUIsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7S0FDN0I7U0FBTTtRQUNMLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2hDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0tBQ2pDO0lBRUQsT0FBTztRQUNMLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN2QyxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDeEM7U0FDRSxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEVBQUUsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUc7SUFDaEQsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsNEJBQTRCO0lBQzNDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLDRCQUE0QjtDQUNuQyxDQUFDO0FBRVgsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFNBQWlCLE1BQU0sQ0FBQyxJQUFJO0lBQy9ELE9BQU8sa0NBQWtDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxXQUF3QixFQUFFLEVBQUUsQ0FDckUsV0FBVyxLQUFLLFdBQVcsQ0FBQyxJQUFJO0lBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7UUFDbEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJO0lBQ3BCLENBQUMsQ0FBQyxXQUFXLENBQUM7QUFFbEIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFFLE1BQWUsRUFBVyxFQUFFO0lBQ3RFLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtRQUNmLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE1BQU0sRUFBRTtRQUNWLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7U0FDNUI7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzVCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBTyxDQUFDO0tBQzdDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsTUFBZSxFQUFXLEVBQUUsQ0FDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQUUsTUFBZSxFQUFXLEVBQUU7SUFDeEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDNUMsS0FBZSxFQUNmLFdBQXdCLEVBQ3hCLE9BQWlCLEVBQ2pCLFVBQWtCLEVBQ2xCLFFBQWlCLEVBQ2pCLE9BQU8sR0FBRyxFQUFFLEVBRUYsRUFBRTtJQUNaLFVBQVUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO0lBRTlCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVoQyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEUsSUFBSTtnQkFDRixRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDNUM7WUFBQyxNQUFNLEdBQUU7WUFDVixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQWMsQ0FBQztLQUMxQixDQUFDO0lBRUYsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDeEIsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQztRQUV0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUN2QyxNQUFNO1NBQ1A7UUFFRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFcEMsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsSUFBSSxNQUEyQixDQUFDO1FBRWhDLElBQUk7WUFDRixNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFBQyxNQUFNO1lBQ04sU0FBUztTQUNWO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV4Qyw0Q0FBNEM7UUFDNUMsSUFBSSxPQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1RSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRTlCLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLElBQUksR0FBRyxHQUFHLFNBQVMsR0FBRyxHQUFHLEVBQUU7b0JBQ3pCLE1BQU07aUJBQ1A7Z0JBRUQsSUFBSSxHQUFHLEdBQUcsS0FBSyxHQUFHLEdBQUcsRUFBRTtvQkFDckIsT0FBTyxNQUFNLENBQUM7aUJBQ2Y7YUFDRjtZQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzdELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDcEIsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTt3QkFDNUIsT0FBTyxNQUFNLENBQUM7cUJBQ2Y7aUJBQ0Y7YUFDRjtZQUVELE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsb0JBQW9CLEdBQUcsS0FBSztJQUU1QixPQUFPLEtBQUs7UUFDVixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDWCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQ1AsSUFBSSxDQUFDLFdBQVcsRUFDaEIsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLElBQUksSUFBSSxvQkFBb0IsQ0FBQztZQUN4RCxJQUFJLENBQUMsV0FBVyxDQUNuQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUsRUFBYyxDQUFDO1NBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxjQUFjLENBQzVCLE9BQVUsRUFDVixLQUFRO0lBRVIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJTlRfWkVST19QQVRURVJOLFxuICBJUF9BRERSRVNTX1BBVFRFUk4sXG4gIElQX1Y2X0FERFJFU1NfUEFUVEVSTixcbiAgVmFsdWVPZixcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgQWRkcmVzczQsIEFkZHJlc3M2IH0gZnJvbSAnaXAtYWRkcmVzcyc7XG5pbXBvcnQgeyBCaWdJbnRlZ2VyIH0gZnJvbSAnanNibic7XG5cbmludGVyZmFjZSBTZWdtZW50TW9kZWwge1xuICBpcFY0U2VnbWVudD86IHN0cmluZztcbiAgaXBWNlNlZ21lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogbm90ZTogd2UgZG9uJ3QgdXNlIGVudW0gaGVyZSBiZWNhdXNlIHRzIGRvIG5vdCBzdXBwb3J0IGV4dGVuZHMgZW51bSBmb3Igbm93XG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTkyXG4gKi9cbmV4cG9ydCBjb25zdCBJUE1vZGUgPSB7XG4gIElQVjQ6ICd2NCcsXG4gIElQVjY6ICd2NicsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBJUE1vZGUgPSBWYWx1ZU9mPHR5cGVvZiBJUE1vZGU+O1xuXG5leHBvcnQgY29uc3QgQWRkcmVzc1R5cGVzID0ge1xuICBBRFZFUlRJU0U6ICdBZHZlcnRpc2UnLFxuICBQVUJMSUM6ICdQdWJsaWMnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQWRkcmVzc1R5cGVzID0gVmFsdWVPZjx0eXBlb2YgQWRkcmVzc1R5cGVzPjtcblxuZXhwb3J0IGNvbnN0IElQX01PREVTID0gW0lQTW9kZS5JUFY0LCBJUE1vZGUuSVBWNl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBJUF9NT0RFX1RFWFRTID0ge1xuICBbSVBNb2RlLklQVjRdOiAnSVB2NCcsXG4gIFtJUE1vZGUuSVBWNl06ICdJUHY2Jyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrTW9kZSA9IHtcbiAgLi4uSVBNb2RlLFxuICBEVUFMOiAnZHVhbCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrTW9kZSA9IFZhbHVlT2Y8dHlwZW9mIE5ldHdvcmtNb2RlPjtcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkclN0ciBjaWRyQmxvY2ssIGUuZy4gMTAuMTYuMC4wLzI0IG1heSBzdXBwb3J0IGlwdjZcbiAqIEBwYXJhbSB7c3RyaW5nfSBpcFN0ciBzcGVjaWZpYyBpcCwgZS5nLiAxMC4xNi4xLjIgbWF5IHN1cHBvcnQgaXB2NlxuICogQHBhcmFtIHtJUE1vZGV9IGlwTW9kZSBpcCBuZXR3b3JrIG1vZGUgaXB2NC9pcHY2XG4gKiBAcmV0dXJuIHtib29sZWFufSB3aGV0aGVyIGlwIGJlbG9uZ3MgdG8gY2lkclxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCZWxvbmdDaWRyKFxuICBjaWRyU3RyOiBzdHJpbmcsXG4gIGlwU3RyOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pOiBib29sZWFuIHtcbiAgaWYgKFxuICAgICFpc0NpZHJBZGRyZXNzVmFsaWQoY2lkclN0ciwgaXBNb2RlKSB8fFxuICAgICFpc0lwQWRkcmVzc1ZhbGlkKGlwU3RyLCBpcE1vZGUpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICBjb25zdCBpcCA9IG5ldyBCdWlsZGVyKGlwU3RyKTtcbiAgY29uc3QgY2lkciA9IG5ldyBCdWlsZGVyKGNpZHJTdHIpO1xuICByZXR1cm4gaXAuaXNJblN1Ym5ldChjaWRyKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gaXAgc3BlY2lmaWMgaXAsIGUuZy4gMTAuMTYuMS4yXG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkciBzcGVjaWZpYyBjaWRyIHdoaWNoIGlwIG1heSBiZWxvbmdzIHRvLCBlLmcuIDEwLjE2LjAuMC8yNFxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciBpcCBpcyBicm9hZGNhc3QgYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCcm9hZGNhc3RBZGRyKFxuICBpcFN0cjogc3RyaW5nLFxuICBjaWRyU3RyPzogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKTogYm9vbGVhbiB7XG4gIC8vIElQVjYg5peg5bm/5pKt5Zyw5Z2A5qaC5b+1XG4gIGlmIChpcE1vZGUgPT09IElQTW9kZS5JUFY2KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICghY2lkclN0cikge1xuICAgIHJldHVybiBpcFN0ciA9PT0gJzI1NS4yNTUuMjU1LjI1NSc7XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBjaWRyID0gbmV3IEFkZHJlc3M0KGNpZHJTdHIpO1xuICAgIC8vIOWtkOe9keS4reeahOacgOWQjuS4gOS9jVxuICAgIHJldHVybiBpcFN0ciA9PT0gY2lkci5lbmRBZGRyZXNzKCkuYWRkcmVzcztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvb3BiYWNrKGlwU3RyOiBzdHJpbmcsIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQpIHtcbiAgY29uc3QgY2lkciA9IGlwTW9kZSA9PT0gSVBNb2RlLklQVjQgPyAnMTI3LjAuMC4wLzgnIDogJzo6MS8xMjgnO1xuICByZXR1cm4gaXNCZWxvbmdDaWRyKGNpZHIsIGlwU3RyLCBpcE1vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNdWx0aUJyb2FkY2FzdChpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzIyNC4wLjAuMC80JyA6ICdmZjAwOjovOCc7XG4gIHJldHVybiBpc0JlbG9uZ0NpZHIoY2lkciwgaXBTdHIsIGlwTW9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xpbmtMb2NhbChpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzE2OS4yNTQuMC4wLzE2JyA6ICdmZTgwOjovMTAnO1xuICByZXR1cm4gaXNCZWxvbmdDaWRyKGNpZHIsIGlwU3RyLCBpcE1vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBbGxaZXJvKGlwU3RyOiBzdHJpbmcsIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQpIHtcbiAgY29uc3QgY2lkciA9IGlwTW9kZSA9PT0gSVBNb2RlLklQVjQgPyAnMC4wLjAuMC8zMicgOiAnOjovMTI4JztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV0d29ya0FkZHIoXG4gIGlwU3RyOiBzdHJpbmcsXG4gIGNpZHJTdHI/OiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgaWYgKCFjaWRyU3RyKSB7XG4gICAgcmV0dXJuIGlwU3RyID09PSAnMC4wLjAuMCc7XG4gIH1cbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkciA9IG5ldyBCdWlsZGVyKGNpZHJTdHIpO1xuICAgIC8vIOWtkOe9keS4reeahOacgOWQjuS4gOS9jVxuICAgIHJldHVybiBpcFN0ciA9PT0gY2lkci5zdGFydEFkZHJlc3MoKS5hZGRyZXNzO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkckFTdHIgY2lkckJsb2NrIEEsIGUuZy4gMTAuMTYuMC4wLzI0LiBzdXBwb3J0IElQdjZcbiAqIEBwYXJhbSB7c3RyaW5nfSBjaWRyQlN0ciBjaWRyQmxvY2sgQiwgZS5nLiAxMC4xMC4wLjAvMTYuIHN1cHBvcnQgSVB2NlxuICogQHBhcmFtIHtJUE1vZGV9IGlwTW9kZSBpcE1vZGUsIHY0IG9yIHY2XG4gKiBAcmV0dXJuIHtib29sZWFufSB3aGV0aGVyIDIgY2lkciBibG9ja3MgbWF5IGNvbmZsaWN0LCBqdWRnZSBieSB3aGV0aGVyIGlwIGJlbG9uZ3MgdG8gY2lkckJsb2NrIEEgbWF5IGFsc28gYmVsb25ncyB0byBCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NpZHJDb25mbGljdChcbiAgY2lkckFTdHI6IHN0cmluZyxcbiAgY2lkckJTdHI6IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBjaWRyQSA9IG5ldyBCdWlsZGVyKGNpZHJBU3RyKTtcbiAgICBjb25zdCBjaWRyQiA9IG5ldyBCdWlsZGVyKGNpZHJCU3RyKTtcbiAgICBjb25zdCBjaWRyQUZyb20gPSBjaWRyQS5zdGFydEFkZHJlc3MoKTtcbiAgICBjb25zdCBjaWRyQUVuZCA9IGNpZHJBLmVuZEFkZHJlc3MoKTtcbiAgICBjb25zdCBjaWRyQkZyb20gPSBjaWRyQi5zdGFydEFkZHJlc3MoKTtcbiAgICBjb25zdCBjaWRyQkVuZCA9IGNpZHJCLmVuZEFkZHJlc3MoKTtcbiAgICByZXR1cm4gKFxuICAgICAgY2lkckFGcm9tLmlzSW5TdWJuZXQoY2lkckIpIHx8XG4gICAgICBjaWRyQUVuZC5pc0luU3VibmV0KGNpZHJCKSB8fFxuICAgICAgY2lkckJGcm9tLmlzSW5TdWJuZXQoY2lkckEpIHx8XG4gICAgICBjaWRyQkVuZC5pc0luU3VibmV0KGNpZHJBKVxuICAgICk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyB3aGV0aGVyIGNpZHJBIGNvbnRhaW5zIGNpZHJCIChjaWRyQSA+IGNpZHJCKVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2lkckNvbnRhaW4oXG4gIGNpZHJBU3RyOiBzdHJpbmcsXG4gIGNpZHJCU3RyOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkckEgPSBuZXcgQnVpbGRlcihjaWRyQVN0cik7XG4gICAgY29uc3QgY2lkckIgPSBuZXcgQnVpbGRlcihjaWRyQlN0cik7XG4gICAgY29uc3QgY2lkckJGcm9tID0gY2lkckIuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJFbmQgPSBjaWRyQi5lbmRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIGNpZHJCRnJvbS5pc0luU3VibmV0KGNpZHJBKSAmJiBjaWRyQkVuZC5pc0luU3VibmV0KGNpZHJBKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGU6IElQTW9kZSkge1xuICByZXR1cm4gaXBNb2RlID09PSBJUE1vZGUuSVBWNiA/IEFkZHJlc3M2IDogQWRkcmVzczQ7XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNJRFIgPSAoYWRkcmVzczogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSA9PiB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgQnVpbGRlcihhZGRyZXNzKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpcEFkZHJlc3NFcXVhbChcbiAgaXBBU3RyOiBzdHJpbmcsXG4gIGlwQlN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGlmIChpcEFTdHIgPT09IGlwQlN0cikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKGlwTW9kZSA9PT0gSVBNb2RlLklQVjQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGlwQSA9IG5ldyBBZGRyZXNzNihpcEFTdHIpO1xuICAgIGNvbnN0IGlwQiA9IG5ldyBBZGRyZXNzNihpcEJTdHIpO1xuICAgIHJldHVybiBpcEEuYmlnSW50ZWdlcigpLmVxdWFscyhpcEIuYmlnSW50ZWdlcigpKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0lwQWRkcmVzc1ZhbGlkKFxuICBhZGRyZXNzOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgaXAgPSBuZXcgQnVpbGRlcihhZGRyZXNzKTtcbiAgICByZXR1cm4gIWlwLmFkZHJlc3MuaW5jbHVkZXMoJy8nKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NpZHJBZGRyZXNzVmFsaWQoXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbikge1xuICBjb25zdCBjaWRyID0gcGFyc2VDSURSKGFkZHJlc3MsIGlwTW9kZSk7XG4gIHJldHVybiAhIWNpZHI/LmFkZHJlc3MuaW5jbHVkZXMoJy8nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJUeXBlKGlwOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGlzSXB2NihpcD8uc3BsaXQoJy8nKT8uWzBdKSA/IElQTW9kZS5JUFY2IDogSVBNb2RlLklQVjQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0lwdjQodmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gSVBfQUREUkVTU19QQVRURVJOLnBhdHRlcm4udGVzdCh2YWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNJcHY2KHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIElQX1Y2X0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXBBZGRyZXNzKHZhbHVlOiBzdHJpbmcpIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gaXNJcHY0KHZhbHVlKSA/IHZhbHVlIDogYFske3ZhbHVlfV1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RyaWN0Q2lkcihjaWRyU3RyOiBzdHJpbmcsIGlwTW9kZTogSVBNb2RlKSB7XG4gIGlmICghY2lkclN0cikge1xuICAgIHJldHVybiBjaWRyU3RyO1xuICB9XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgICByZXR1cm4gW2NpZHIuc3RhcnRBZGRyZXNzKCkuYWRkcmVzcywgY2lkci5zdWJuZXRdLmpvaW4oJycpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlU2VnbWVudCA9IChcbiAgc2VnbWVudD86IHN0cmluZyxcbiAgbmV0d29ya01vZGU/OiBOZXR3b3JrTW9kZSxcbik6IFNlZ21lbnRNb2RlbCA9PiB7XG4gIGlmICghc2VnbWVudCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmIChuZXR3b3JrTW9kZSA9PT0gTmV0d29ya01vZGUuSVBWNCkge1xuICAgIHJldHVybiB7XG4gICAgICBpcFY0U2VnbWVudDogc2VnbWVudCxcbiAgICB9O1xuICB9XG5cbiAgaWYgKG5ldHdvcmtNb2RlID09PSBOZXR3b3JrTW9kZS5JUFY2KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlwVjZTZWdtZW50OiBzZWdtZW50LFxuICAgIH07XG4gIH1cblxuICBsZXQgaXBWNFNlZ21lbnQ6IHN0cmluZztcbiAgbGV0IGlwVjZTZWdtZW50OiBzdHJpbmc7XG5cbiAgaWYgKHNlZ21lbnQuaW5jbHVkZXMoJywnKSkge1xuICAgIFtpcFY0U2VnbWVudCwgaXBWNlNlZ21lbnRdID0gc2VnbWVudC5zcGxpdCgnLCcpO1xuICB9IGVsc2UgaWYgKHNlZ21lbnQuaW5jbHVkZXMoJzonKSkge1xuICAgIGlwVjZTZWdtZW50ID0gc2VnbWVudDtcbiAgfSBlbHNlIHtcbiAgICBpcFY0U2VnbWVudCA9IHNlZ21lbnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlwVjRTZWdtZW50LFxuICAgIGlwVjZTZWdtZW50LFxuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJCbG9jayhcbiAgc2VnbWVudDogc3RyaW5nLFxuICBuZXR3b3JrVHlwZT86IE5ldHdvcmtNb2RlLFxuKTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJCbG9jayh7XG4gIGlwVjRTZWdtZW50LFxuICBpcFY2U2VnbWVudCxcbn06IFNlZ21lbnRNb2RlbCk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soXG4gIHBhcmFtOiBTZWdtZW50TW9kZWwgfCBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlPzogTmV0d29ya01vZGUsXG4pIHtcbiAgbGV0IGlwVjRTZWdtZW50OiBzdHJpbmc7XG4gIGxldCBpcFY2U2VnbWVudDogc3RyaW5nO1xuXG4gIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgXyA9IHBhcnNlU2VnbWVudChwYXJhbSwgbmV0d29ya01vZGUpO1xuICAgIGlwVjRTZWdtZW50ID0gXy5pcFY0U2VnbWVudDtcbiAgICBpcFY2U2VnbWVudCA9IF8uaXBWNlNlZ21lbnQ7XG4gIH0gZWxzZSB7XG4gICAgaXBWNFNlZ21lbnQgPSBwYXJhbS5pcFY0U2VnbWVudDtcbiAgICBpcFY2U2VnbWVudCA9IHBhcmFtLmlwVjZTZWdtZW50O1xuICB9XG5cbiAgcmV0dXJuIFtcbiAgICBnZXRTdHJpY3RDaWRyKGlwVjRTZWdtZW50LCBJUE1vZGUuSVBWNCksXG4gICAgZ2V0U3RyaWN0Q2lkcihpcFY2U2VnbWVudCwgSVBNb2RlLklQVjYpLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcsJyk7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lQVjRfTUFYX0NJRFJfUFJFRklYID0gMzE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JUFY2X01BWF9DSURSX1BSRUZJWCA9IDEyNztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTkVUV09SS19DSURSX1BSRUZJWF9NQVBQRVIgPSB7XG4gIFtJUE1vZGUuSVBWNF06IERFRkFVTFRfSVBWNF9NQVhfQ0lEUl9QUkVGSVgsXG4gIFtJUE1vZGUuSVBWNl06IERFRkFVTFRfSVBWNl9NQVhfQ0lEUl9QUkVGSVgsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2lkck1heGltdW1QcmVmaXgoaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICByZXR1cm4gREVGQVVMVF9ORVRXT1JLX0NJRFJfUFJFRklYX01BUFBFUltpcE1vZGVdO1xufVxuXG5leHBvcnQgY29uc3QgYWRhcHRJcE1vZGUgPSAodmFsdWU6IHN0cmluZywgbmV0d29ya01vZGU6IE5ldHdvcmtNb2RlKSA9PlxuICBuZXR3b3JrTW9kZSA9PT0gTmV0d29ya01vZGUuRFVBTFxuICAgID8gdmFsdWUuaW5jbHVkZXMoJzonKVxuICAgICAgPyBOZXR3b3JrTW9kZS5JUFY2XG4gICAgICA6IE5ldHdvcmtNb2RlLklQVjRcbiAgICA6IG5ldHdvcmtNb2RlO1xuXG5leHBvcnQgY29uc3QgaXNJcFBhcnRWYWxpZCA9IChwYXJ0OiBzdHJpbmcsIGlzSXBWNDogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICBpZiAocGFydCA9PT0gJycpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNJcFY0KSB7XG4gICAgaWYgKElOVF9aRVJPX1BBVFRFUk4ucGF0dGVybi50ZXN0KHBhcnQpKSB7XG4gICAgICByZXR1cm4gTnVtYmVyKHBhcnQpIDw9IDI1NTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgvXltcXGRhLWZdKyQvaS50ZXN0KHBhcnQpKSB7XG4gICAgcmV0dXJuIE51bWJlci5wYXJzZUludChwYXJ0LCAxNikgPD0gMHhmZl9mZjtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgaXNJcFBhcnRzVmFsaWQgPSAocGFydHM6IHN0cmluZ1tdLCBpc0lwVjQ6IGJvb2xlYW4pOiBib29sZWFuID0+XG4gIHBhcnRzLmV2ZXJ5KHBhcnQgPT4gaXNJcFBhcnRWYWxpZChwYXJ0LCBpc0lwVjQpKTtcblxuZXhwb3J0IGNvbnN0IGlzSXBJbnB1dFZhbGlkID0gKGlucHV0OiBzdHJpbmcsIGlzSXBWNDogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBwYXJ0cyA9IGlucHV0LnNwbGl0KGlzSXBWNCA/ICcuJyA6ICc6Jyk7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPD0gKGlzSXBWNCA/IDQgOiA4KSAmJiBpc0lwUGFydHNWYWxpZChwYXJ0cywgaXNJcFY0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJcEFkZHJlc3NTdWdnZXN0aW9uc0J5Q2lkcnMgPSAoXG4gIGNpZHJzOiBzdHJpbmdbXSxcbiAgbmV0d29ya01vZGU6IE5ldHdvcmtNb2RlLFxuICB1c2VkSXBzOiBzdHJpbmdbXSxcbiAgaW5wdXRWYWx1ZTogc3RyaW5nLFxuICBpc0NhbGljbzogYm9vbGVhbixcbiAgbWF4U2l6ZSA9IDEwLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuKTogc3RyaW5nW10gPT4ge1xuICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSA/PyAnJztcblxuICBjb25zdCBzdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdCB1c2VkSXBWYWx1ZXMgPSBbXG4gICAgLi4udXNlZElwcy5yZWR1Y2U8U2V0PEJpZ0ludGVnZXI+PigoaXBWYWx1ZXMsIGlwKSA9PiB7XG4gICAgICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoYWRhcHRJcE1vZGUoaXAsIG5ldHdvcmtNb2RlKSk7XG4gICAgICB0cnkge1xuICAgICAgICBpcFZhbHVlcy5hZGQobmV3IEJ1aWxkZXIoaXApLmJpZ0ludGVnZXIoKSk7XG4gICAgICB9IGNhdGNoIHt9XG4gICAgICByZXR1cm4gaXBWYWx1ZXM7XG4gICAgfSwgbmV3IFNldDxCaWdJbnRlZ2VyPigpKSxcbiAgXTtcblxuICBmb3IgKGNvbnN0IGNpZHIgb2YgY2lkcnMpIHtcbiAgICBjb25zdCBpcE1vZGUgPSBhZGFwdElwTW9kZShjaWRyLCBuZXR3b3JrTW9kZSk7XG5cbiAgICBjb25zdCBpc0lwVjQgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0O1xuXG4gICAgaWYgKCFpc0lwSW5wdXRWYWxpZChpbnB1dFZhbHVlLCBpc0lwVjQpKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBsb29wU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuXG4gICAgbGV0IGlwQ2lkcjogQWRkcmVzczQgfCBBZGRyZXNzNjtcblxuICAgIHRyeSB7XG4gICAgICBpcENpZHIgPSBuZXcgQnVpbGRlcihjaWRyKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0QWRkcmVzcyA9IGlwQ2lkci5fc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgZW5kQWRkcmVzcyA9IGlwQ2lkci5fZW5kQWRkcmVzcygpO1xuXG4gICAgLy8g6Z2eIGNhbGljbyDmqKHlvI/kuIvvvIzkuI3lhYHorrjkvb/nlKjnvZHmrrXnmoTnrKzkuIDkuKrnvZHnu5wgSVAg5ZKM5pyA5ZCO5LiA5LiqIOW5v+aSrSBJUFxuICAgIGxldCBhZGRyZXNzID0gc3RhcnRBZGRyZXNzLmFkZChpc0NhbGljbyA/IEJpZ0ludGVnZXIuWkVSTyA6IEJpZ0ludGVnZXIuT05FKTtcblxuICAgIHdoaWxlIChhZGRyZXNzLmNvbXBhcmVUbyhlbmRBZGRyZXNzKSA8IChpc0NhbGljbyA/IDEgOiAwKSkge1xuICAgICAgY29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIC8vIENvbnNpZGVyaW5nIHRoZSBwZXJmb3JtYW5jZSwgd2UgZG9uJ3Qgd2FudCB0byBibG9jayB0aGUgVUkgdG9vIG11Y2hcbiAgICAgIGlmICghaXNJcFY0KSB7XG4gICAgICAgIGlmIChub3cgLSBsb29wU3RhcnQgPiAxMDApIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3cgLSBzdGFydCA+IDI1MCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF1c2VkSXBWYWx1ZXMuc29tZShpcCA9PiAhaXAuY29tcGFyZVRvKGFkZHJlc3MpKSkge1xuICAgICAgICBjb25zdCBpcEFkZHIgPSBCdWlsZGVyLmZyb21CaWdJbnRlZ2VyKGFkZHJlc3MpLmNvcnJlY3RGb3JtKCk7XG4gICAgICAgIGlmIChpcEFkZHIuaW5jbHVkZXMoaW5wdXRWYWx1ZSkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChpcEFkZHIpO1xuICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID49IG1heFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFkZHJlc3MgPSBhZGRyZXNzLmFkZChCaWdJbnRlZ2VyLk9ORSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGFwdFN1Ym5ldENpZHJzKFxuICBjaWRyczogc3RyaW5nLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4gIGVuYWJsZUZpeElwVjZGb3JEdWFsID0gZmFsc2UsXG4pIHtcbiAgcmV0dXJuIGNpZHJzXG4gICAgPy5zcGxpdCgnOycpXG4gICAgLm1hcChjaWRyID0+IHBhcnNlU2VnbWVudChjaWRyKSlcbiAgICAucmVkdWNlKChsaXN0LCBpdGVtKSA9PiB7XG4gICAgICBsaXN0LnB1c2goXG4gICAgICAgIGl0ZW0uaXBWNFNlZ21lbnQsXG4gICAgICAgIChuZXR3b3JrTW9kZSAhPT0gTmV0d29ya01vZGUuRFVBTCB8fCBlbmFibGVGaXhJcFY2Rm9yRHVhbCkgJiZcbiAgICAgICAgICBpdGVtLmlwVjZTZWdtZW50LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIFtdIGFzIHN0cmluZ1tdKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5cbi8vIHJldHVybiB0cnVlIGlmIGlwQmVnaW4gPiBpcEVuZFxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRJcE9yZGVyPFQgZXh0ZW5kcyBBZGRyZXNzNCB8IEFkZHJlc3M2PihcbiAgaXBCZWdpbjogVCxcbiAgaXBFbmQ6IFQsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgaXBCZWdpbkJpZ0ludCA9IGlwQmVnaW4uYmlnSW50ZWdlcigpO1xuICBjb25zdCBpcEVuZEJpZ0ludCA9IGlwRW5kLmJpZ0ludGVnZXIoKTtcbiAgcmV0dXJuIGlwQmVnaW5CaWdJbnQuY29tcGFyZVRvKGlwRW5kQmlnSW50KSA+PSAwO1xufVxuIl19
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lkci1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvY2lkci1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixHQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPbEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDRixDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBVSxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3JCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07Q0FDYixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQUlYOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLEtBQWEsRUFDYixTQUFpQixNQUFNLENBQUMsSUFBSTtJQUU1QixJQUNFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FB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QUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5UX1pFUk9fUEFUVEVSTixcbiAgSVBfQUREUkVTU19QQVRURVJOLFxuICBJUF9WNl9BRERSRVNTX1BBVFRFUk4sXG4gIFZhbHVlT2YsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFkZHJlc3M0LCBBZGRyZXNzNiB9IGZyb20gJ2lwLWFkZHJlc3MnO1xuaW1wb3J0IHsgQmlnSW50ZWdlciB9IGZyb20gJ2pzYm4nO1xuXG5pbnRlcmZhY2UgU2VnbWVudE1vZGVsIHtcbiAgaXBWNFNlZ21lbnQ/OiBzdHJpbmc7XG4gIGlwVjZTZWdtZW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIG5vdGU6IHdlIGRvbid0IHVzZSBlbnVtIGhlcmUgYmVjYXVzZSB0cyBkbyBub3Qgc3VwcG9ydCBleHRlbmRzIGVudW0gZm9yIG5vd1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8xNzU5MlxuICovXG5leHBvcnQgY29uc3QgSVBNb2RlID0ge1xuICBJUFY0OiAndjQnLFxuICBJUFY2OiAndjYnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgSVBNb2RlID0gVmFsdWVPZjx0eXBlb2YgSVBNb2RlPjtcblxuZXhwb3J0IGNvbnN0IEFkZHJlc3NUeXBlcyA9IHtcbiAgQURWRVJUSVNFOiAnQWR2ZXJ0aXNlJyxcbiAgUFVCTElDOiAnUHVibGljJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3NUeXBlcyA9IFZhbHVlT2Y8dHlwZW9mIEFkZHJlc3NUeXBlcz47XG5cbmV4cG9ydCBjb25zdCBJUF9NT0RFUyA9IFtJUE1vZGUuSVBWNCwgSVBNb2RlLklQVjZdIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSVBfTU9ERV9URVhUUyA9IHtcbiAgW0lQTW9kZS5JUFY0XTogJ0lQdjQnLFxuICBbSVBNb2RlLklQVjZdOiAnSVB2NicsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgTmV0d29ya01vZGUgPSB7XG4gIC4uLklQTW9kZSxcbiAgRFVBTDogJ2R1YWwnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgTmV0d29ya01vZGUgPSBWYWx1ZU9mPHR5cGVvZiBOZXR3b3JrTW9kZT47XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJTdHIgY2lkckJsb2NrLCBlLmcuIDEwLjE2LjAuMC8yNCBtYXkgc3VwcG9ydCBpcHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gaXBTdHIgc3BlY2lmaWMgaXAsIGUuZy4gMTAuMTYuMS4yIG1heSBzdXBwb3J0IGlwdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXAgbmV0d29yayBtb2RlIGlwdjQvaXB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmVsb25nQ2lkcihcbiAgY2lkclN0cjogc3RyaW5nLFxuICBpcFN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICAhaXNDaWRyQWRkcmVzc1ZhbGlkKGNpZHJTdHIsIGlwTW9kZSkgfHxcbiAgICAhaXNJcEFkZHJlc3NWYWxpZChpcFN0ciwgaXBNb2RlKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgY29uc3QgaXAgPSBuZXcgQnVpbGRlcihpcFN0cik7XG4gIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgcmV0dXJuIGlwLmlzSW5TdWJuZXQoY2lkcik7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGlwIHNwZWNpZmljIGlwLCBlLmcuIDEwLjE2LjEuMlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHIgc3BlY2lmaWMgY2lkciB3aGljaCBpcCBtYXkgYmVsb25ncyB0bywgZS5nLiAxMC4xNi4wLjAvMjRcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgaXAgaXMgYnJvYWRjYXN0IGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQnJvYWRjYXN0QWRkcihcbiAgaXBTdHI6IHN0cmluZyxcbiAgY2lkclN0cj86IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbik6IGJvb2xlYW4ge1xuICAvLyBJUFY2IOaXoOW5v+aSreWcsOWdgOamguW/tVxuICBpZiAoaXBNb2RlID09PSBJUE1vZGUuSVBWNikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gaXBTdHIgPT09ICcyNTUuMjU1LjI1NS4yNTUnO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkciA9IG5ldyBBZGRyZXNzNChjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuZW5kQWRkcmVzcygpLmFkZHJlc3M7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb29wYmFjayhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzEyNy4wLjAuMC84JyA6ICc6OjEvMTI4JztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXVsdGlCcm9hZGNhc3QoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcyMjQuMC4wLjAvNCcgOiAnZmYwMDo6LzgnO1xuICByZXR1cm4gaXNCZWxvbmdDaWRyKGNpZHIsIGlwU3RyLCBpcE1vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rTG9jYWwoaXBTdHI6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkge1xuICBjb25zdCBjaWRyID0gaXBNb2RlID09PSBJUE1vZGUuSVBWNCA/ICcxNjkuMjU0LjAuMC8xNicgOiAnZmU4MDo6LzEwJztcbiAgcmV0dXJuIGlzQmVsb25nQ2lkcihjaWRyLCBpcFN0ciwgaXBNb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWxsWmVybyhpcFN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0KSB7XG4gIGNvbnN0IGNpZHIgPSBpcE1vZGUgPT09IElQTW9kZS5JUFY0ID8gJzAuMC4wLjAvMzInIDogJzo6LzEyOCc7XG4gIHJldHVybiBpc0JlbG9uZ0NpZHIoY2lkciwgaXBTdHIsIGlwTW9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ldHdvcmtBZGRyKFxuICBpcFN0cjogc3RyaW5nLFxuICBjaWRyU3RyPzogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGlmICghY2lkclN0cikge1xuICAgIHJldHVybiBpcFN0ciA9PT0gJzAuMC4wLjAnO1xuICB9XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHIgPSBuZXcgQnVpbGRlcihjaWRyU3RyKTtcbiAgICAvLyDlrZDnvZHkuK3nmoTmnIDlkI7kuIDkvY1cbiAgICByZXR1cm4gaXBTdHIgPT09IGNpZHIuc3RhcnRBZGRyZXNzKCkuYWRkcmVzcztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNpZHJBU3RyIGNpZHJCbG9jayBBLCBlLmcuIDEwLjE2LjAuMC8yNC4gc3VwcG9ydCBJUHY2XG4gKiBAcGFyYW0ge3N0cmluZ30gY2lkckJTdHIgY2lkckJsb2NrIEIsIGUuZy4gMTAuMTAuMC4wLzE2LiBzdXBwb3J0IElQdjZcbiAqIEBwYXJhbSB7SVBNb2RlfSBpcE1vZGUgaXBNb2RlLCB2NCBvciB2NlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciAyIGNpZHIgYmxvY2tzIG1heSBjb25mbGljdCwganVkZ2UgYnkgd2hldGhlciBpcCBiZWxvbmdzIHRvIGNpZHJCbG9jayBBIG1heSBhbHNvIGJlbG9uZ3MgdG8gQlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQ29uZmxpY3QoXG4gIGNpZHJBU3RyOiBzdHJpbmcsXG4gIGNpZHJCU3RyOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgY2lkckEgPSBuZXcgQnVpbGRlcihjaWRyQVN0cik7XG4gICAgY29uc3QgY2lkckIgPSBuZXcgQnVpbGRlcihjaWRyQlN0cik7XG4gICAgY29uc3QgY2lkckFGcm9tID0gY2lkckEuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckFFbmQgPSBjaWRyQS5lbmRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJGcm9tID0gY2lkckIuc3RhcnRBZGRyZXNzKCk7XG4gICAgY29uc3QgY2lkckJFbmQgPSBjaWRyQi5lbmRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGNpZHJBRnJvbS5pc0luU3VibmV0KGNpZHJCKSB8fFxuICAgICAgY2lkckFFbmQuaXNJblN1Ym5ldChjaWRyQikgfHxcbiAgICAgIGNpZHJCRnJvbS5pc0luU3VibmV0KGNpZHJBKSB8fFxuICAgICAgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSlcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gd2hldGhlciBjaWRyQSBjb250YWlucyBjaWRyQiAoY2lkckEgPiBjaWRyQilcbmV4cG9ydCBmdW5jdGlvbiBpc0NpZHJDb250YWluKFxuICBjaWRyQVN0cjogc3RyaW5nLFxuICBjaWRyQlN0cjogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGNpZHJBID0gbmV3IEJ1aWxkZXIoY2lkckFTdHIpO1xuICAgIGNvbnN0IGNpZHJCID0gbmV3IEJ1aWxkZXIoY2lkckJTdHIpO1xuICAgIGNvbnN0IGNpZHJCRnJvbSA9IGNpZHJCLnN0YXJ0QWRkcmVzcygpO1xuICAgIGNvbnN0IGNpZHJCRW5kID0gY2lkckIuZW5kQWRkcmVzcygpO1xuICAgIHJldHVybiBjaWRyQkZyb20uaXNJblN1Ym5ldChjaWRyQSkgJiYgY2lkckJFbmQuaXNJblN1Ym5ldChjaWRyQSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlOiBJUE1vZGUpIHtcbiAgcmV0dXJuIGlwTW9kZSA9PT0gSVBNb2RlLklQVjYgPyBBZGRyZXNzNiA6IEFkZHJlc3M0O1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VDSURSID0gKGFkZHJlc3M6IHN0cmluZywgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCkgPT4ge1xuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXBBZGRyZXNzRXF1YWwoXG4gIGlwQVN0cjogc3RyaW5nLFxuICBpcEJTdHI6IHN0cmluZyxcbiAgaXBNb2RlOiBJUE1vZGUgPSBJUE1vZGUuSVBWNCxcbikge1xuICBpZiAoaXBBU3RyID09PSBpcEJTdHIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpcE1vZGUgPT09IElQTW9kZS5JUFY0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBpcEEgPSBuZXcgQWRkcmVzczYoaXBBU3RyKTtcbiAgICBjb25zdCBpcEIgPSBuZXcgQWRkcmVzczYoaXBCU3RyKTtcbiAgICByZXR1cm4gaXBBLmJpZ0ludGVnZXIoKS5lcXVhbHMoaXBCLmJpZ0ludGVnZXIoKSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcEFkZHJlc3NWYWxpZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBpcE1vZGU6IElQTW9kZSA9IElQTW9kZS5JUFY0LFxuKSB7XG4gIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihpcE1vZGUpO1xuICB0cnkge1xuICAgIGNvbnN0IGlwID0gbmV3IEJ1aWxkZXIoYWRkcmVzcyk7XG4gICAgcmV0dXJuICFpcC5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaWRyQWRkcmVzc1ZhbGlkKFxuICBhZGRyZXNzOiBzdHJpbmcsXG4gIGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQsXG4pIHtcbiAgY29uc3QgY2lkciA9IHBhcnNlQ0lEUihhZGRyZXNzLCBpcE1vZGUpO1xuICByZXR1cm4gISFjaWRyPy5hZGRyZXNzLmluY2x1ZGVzKCcvJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyVHlwZShpcDogc3RyaW5nKSB7XG4gIHJldHVybiBpc0lwdjYoaXA/LnNwbGl0KCcvJyk/LlswXSkgPyBJUE1vZGUuSVBWNiA6IElQTW9kZS5JUFY0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJcHY0KHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIElQX0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QodmFsdWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSXB2Nih2YWx1ZTogc3RyaW5nKSB7XG4gIHJldHVybiBJUF9WNl9BRERSRVNTX1BBVFRFUk4ucGF0dGVybi50ZXN0KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlwQWRkcmVzcyh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIGlzSXB2NCh2YWx1ZSkgPyB2YWx1ZSA6IGBbJHt2YWx1ZX1dYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmljdENpZHIoY2lkclN0cjogc3RyaW5nLCBpcE1vZGU6IElQTW9kZSkge1xuICBpZiAoIWNpZHJTdHIpIHtcbiAgICByZXR1cm4gY2lkclN0cjtcbiAgfVxuICBjb25zdCBCdWlsZGVyID0gZ2V0QWRkcmVzc0J1aWxkZXIoaXBNb2RlKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBjaWRyID0gbmV3IEJ1aWxkZXIoY2lkclN0cik7XG4gICAgcmV0dXJuIFtjaWRyLnN0YXJ0QWRkcmVzcygpLmFkZHJlc3MsIGNpZHIuc3VibmV0XS5qb2luKCcnKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlZ21lbnQgPSAoXG4gIHNlZ21lbnQ/OiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlPzogTmV0d29ya01vZGUsXG4pOiBTZWdtZW50TW9kZWwgPT4ge1xuICBpZiAoIXNlZ21lbnQpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAobmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLklQVjQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBWNFNlZ21lbnQ6IHNlZ21lbnQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChuZXR3b3JrTW9kZSA9PT0gTmV0d29ya01vZGUuSVBWNikge1xuICAgIHJldHVybiB7XG4gICAgICBpcFY2U2VnbWVudDogc2VnbWVudCxcbiAgICB9O1xuICB9XG5cbiAgbGV0IGlwVjRTZWdtZW50OiBzdHJpbmc7XG4gIGxldCBpcFY2U2VnbWVudDogc3RyaW5nO1xuXG4gIGlmIChzZWdtZW50LmluY2x1ZGVzKCcsJykpIHtcbiAgICBbaXBWNFNlZ21lbnQsIGlwVjZTZWdtZW50XSA9IHNlZ21lbnQuc3BsaXQoJywnKTtcbiAgfSBlbHNlIGlmIChzZWdtZW50LmluY2x1ZGVzKCc6JykpIHtcbiAgICBpcFY2U2VnbWVudCA9IHNlZ21lbnQ7XG4gIH0gZWxzZSB7XG4gICAgaXBWNFNlZ21lbnQgPSBzZWdtZW50O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpcFY0U2VnbWVudCxcbiAgICBpcFY2U2VnbWVudCxcbiAgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soXG4gIHNlZ21lbnQ6IHN0cmluZyxcbiAgbmV0d29ya1R5cGU/OiBOZXR3b3JrTW9kZSxcbik6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDaWRyQmxvY2soe1xuICBpcFY0U2VnbWVudCxcbiAgaXBWNlNlZ21lbnQsXG59OiBTZWdtZW50TW9kZWwpOiBzdHJpbmc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2lkckJsb2NrKFxuICBwYXJhbTogU2VnbWVudE1vZGVsIHwgc3RyaW5nLFxuICBuZXR3b3JrTW9kZT86IE5ldHdvcmtNb2RlLFxuKSB7XG4gIGxldCBpcFY0U2VnbWVudDogc3RyaW5nO1xuICBsZXQgaXBWNlNlZ21lbnQ6IHN0cmluZztcblxuICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IF8gPSBwYXJzZVNlZ21lbnQocGFyYW0sIG5ldHdvcmtNb2RlKTtcbiAgICBpcFY0U2VnbWVudCA9IF8uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBfLmlwVjZTZWdtZW50O1xuICB9IGVsc2Uge1xuICAgIGlwVjRTZWdtZW50ID0gcGFyYW0uaXBWNFNlZ21lbnQ7XG4gICAgaXBWNlNlZ21lbnQgPSBwYXJhbS5pcFY2U2VnbWVudDtcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgZ2V0U3RyaWN0Q2lkcihpcFY0U2VnbWVudCwgSVBNb2RlLklQVjQpLFxuICAgIGdldFN0cmljdENpZHIoaXBWNlNlZ21lbnQsIElQTW9kZS5JUFY2KSxcbiAgXVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JUFY0X01BWF9DSURSX1BSRUZJWCA9IDMxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSVBWNl9NQVhfQ0lEUl9QUkVGSVggPSAxMjc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05FVFdPUktfQ0lEUl9QUkVGSVhfTUFQUEVSID0ge1xuICBbSVBNb2RlLklQVjRdOiBERUZBVUxUX0lQVjRfTUFYX0NJRFJfUFJFRklYLFxuICBbSVBNb2RlLklQVjZdOiBERUZBVUxUX0lQVjZfTUFYX0NJRFJfUFJFRklYLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENpZHJNYXhpbXVtUHJlZml4KGlwTW9kZTogSVBNb2RlID0gSVBNb2RlLklQVjQpIHtcbiAgcmV0dXJuIERFRkFVTFRfTkVUV09SS19DSURSX1BSRUZJWF9NQVBQRVJbaXBNb2RlXTtcbn1cblxuZXhwb3J0IGNvbnN0IGFkYXB0SXBNb2RlID0gKHZhbHVlOiBzdHJpbmcsIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSkgPT5cbiAgbmV0d29ya01vZGUgPT09IE5ldHdvcmtNb2RlLkRVQUxcbiAgICA/IHZhbHVlPy5pbmNsdWRlcygnOicpXG4gICAgICA/IE5ldHdvcmtNb2RlLklQVjZcbiAgICAgIDogTmV0d29ya01vZGUuSVBWNFxuICAgIDogbmV0d29ya01vZGU7XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydFZhbGlkID0gKHBhcnQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChwYXJ0ID09PSAnJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmIChpc0lwVjQpIHtcbiAgICBpZiAoSU5UX1pFUk9fUEFUVEVSTi5wYXR0ZXJuLnRlc3QocGFydCkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIocGFydCkgPD0gMjU1O1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKC9eW1xcZGEtZl0rJC9pLnRlc3QocGFydCkpIHtcbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KHBhcnQsIDE2KSA8PSAweGZmX2ZmO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0lwUGFydHNWYWxpZCA9IChwYXJ0czogc3RyaW5nW10sIGlzSXBWNDogYm9vbGVhbik6IGJvb2xlYW4gPT5cbiAgcGFydHMuZXZlcnkocGFydCA9PiBpc0lwUGFydFZhbGlkKHBhcnQsIGlzSXBWNCkpO1xuXG5leHBvcnQgY29uc3QgaXNJcElucHV0VmFsaWQgPSAoaW5wdXQ6IHN0cmluZywgaXNJcFY0OiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHBhcnRzID0gaW5wdXQuc3BsaXQoaXNJcFY0ID8gJy4nIDogJzonKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA8PSAoaXNJcFY0ID8gNCA6IDgpICYmIGlzSXBQYXJ0c1ZhbGlkKHBhcnRzLCBpc0lwVjQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldElwQWRkcmVzc1N1Z2dlc3Rpb25zQnlDaWRycyA9IChcbiAgY2lkcnM6IHN0cmluZ1tdLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4gIHVzZWRJcHM6IHN0cmluZ1tdLFxuICBpbnB1dFZhbHVlOiBzdHJpbmcsXG4gIGlzQ2FsaWNvOiBib29sZWFuLFxuICBtYXhTaXplID0gMTAsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4pOiBzdHJpbmdbXSA9PiB7XG4gIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlID8/ICcnO1xuXG4gIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0IHVzZWRJcFZhbHVlcyA9IFtcbiAgICAuLi51c2VkSXBzLnJlZHVjZTxTZXQ8QmlnSW50ZWdlcj4+KChpcFZhbHVlcywgaXApID0+IHtcbiAgICAgIGNvbnN0IEJ1aWxkZXIgPSBnZXRBZGRyZXNzQnVpbGRlcihhZGFwdElwTW9kZShpcCwgbmV0d29ya01vZGUpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlwVmFsdWVzLmFkZChuZXcgQnVpbGRlcihpcCkuYmlnSW50ZWdlcigpKTtcbiAgICAgIH0gY2F0Y2gge31cbiAgICAgIHJldHVybiBpcFZhbHVlcztcbiAgICB9LCBuZXcgU2V0PEJpZ0ludGVnZXI+KCkpLFxuICBdO1xuXG4gIGZvciAoY29uc3QgY2lkciBvZiBjaWRycykge1xuICAgIGNvbnN0IGlwTW9kZSA9IGFkYXB0SXBNb2RlKGNpZHIsIG5ldHdvcmtNb2RlKTtcblxuICAgIGNvbnN0IGlzSXBWNCA9IGlwTW9kZSA9PT0gSVBNb2RlLklQVjQ7XG5cbiAgICBpZiAoIWlzSXBJbnB1dFZhbGlkKGlucHV0VmFsdWUsIGlzSXBWNCkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGxvb3BTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3QgQnVpbGRlciA9IGdldEFkZHJlc3NCdWlsZGVyKGlwTW9kZSk7XG5cbiAgICBsZXQgaXBDaWRyOiBBZGRyZXNzNCB8IEFkZHJlc3M2O1xuXG4gICAgdHJ5IHtcbiAgICAgIGlwQ2lkciA9IG5ldyBCdWlsZGVyKGNpZHIpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRBZGRyZXNzID0gaXBDaWRyLl9zdGFydEFkZHJlc3MoKTtcbiAgICBjb25zdCBlbmRBZGRyZXNzID0gaXBDaWRyLl9lbmRBZGRyZXNzKCk7XG5cbiAgICAvLyDpnZ4gY2FsaWNvIOaooeW8j+S4i++8jOS4jeWFgeiuuOS9v+eUqOe9keauteeahOesrOS4gOS4que9kee7nCBJUCDlkozmnIDlkI7kuIDkuKog5bm/5pKtIElQXG4gICAgbGV0IGFkZHJlc3MgPSBzdGFydEFkZHJlc3MuYWRkKGlzQ2FsaWNvID8gQmlnSW50ZWdlci5aRVJPIDogQmlnSW50ZWdlci5PTkUpO1xuXG4gICAgd2hpbGUgKGFkZHJlc3MuY29tcGFyZVRvKGVuZEFkZHJlc3MpIDwgKGlzQ2FsaWNvID8gMSA6IDApKSB7XG4gICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gQ29uc2lkZXJpbmcgdGhlIHBlcmZvcm1hbmNlLCB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIHRoZSBVSSB0b28gbXVjaFxuICAgICAgaWYgKCFpc0lwVjQpIHtcbiAgICAgICAgaWYgKG5vdyAtIGxvb3BTdGFydCA+IDEwMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vdyAtIHN0YXJ0ID4gMjUwKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVzZWRJcFZhbHVlcy5zb21lKGlwID0+ICFpcC5jb21wYXJlVG8oYWRkcmVzcykpKSB7XG4gICAgICAgIGNvbnN0IGlwQWRkciA9IEJ1aWxkZXIuZnJvbUJpZ0ludGVnZXIoYWRkcmVzcykuY29ycmVjdEZvcm0oKTtcbiAgICAgICAgaWYgKGlwQWRkci5pbmNsdWRlcyhpbnB1dFZhbHVlKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGlwQWRkcik7XG4gICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPj0gbWF4U2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWRkcmVzcyA9IGFkZHJlc3MuYWRkKEJpZ0ludGVnZXIuT05FKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkYXB0U3VibmV0Q2lkcnMoXG4gIGNpZHJzOiBzdHJpbmcsXG4gIG5ldHdvcmtNb2RlOiBOZXR3b3JrTW9kZSxcbiAgZW5hYmxlRml4SXBWNkZvckR1YWwgPSBmYWxzZSxcbikge1xuICByZXR1cm4gY2lkcnNcbiAgICA/LnNwbGl0KCc7JylcbiAgICAubWFwKGNpZHIgPT4gcGFyc2VTZWdtZW50KGNpZHIpKVxuICAgIC5yZWR1Y2UoKGxpc3QsIGl0ZW0pID0+IHtcbiAgICAgIGxpc3QucHVzaChcbiAgICAgICAgaXRlbS5pcFY0U2VnbWVudCxcbiAgICAgICAgKG5ldHdvcmtNb2RlICE9PSBOZXR3b3JrTW9kZS5EVUFMIHx8IGVuYWJsZUZpeElwVjZGb3JEdWFsKSAmJlxuICAgICAgICAgIGl0ZW0uaXBWNlNlZ21lbnQsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbn1cblxuLy8gcmV0dXJuIHRydWUgaWYgaXBCZWdpbiA+IGlwRW5kXG5leHBvcnQgZnVuY3Rpb24gaW52YWxpZElwT3JkZXI8VCBleHRlbmRzIEFkZHJlc3M0IHwgQWRkcmVzczY+KFxuICBpcEJlZ2luOiBULFxuICBpcEVuZDogVCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBpcEJlZ2luQmlnSW50ID0gaXBCZWdpbi5iaWdJbnRlZ2VyKCk7XG4gIGNvbnN0IGlwRW5kQmlnSW50ID0gaXBFbmQuYmlnSW50ZWdlcigpO1xuICByZXR1cm4gaXBCZWdpbkJpZ0ludC5jb21wYXJlVG8oaXBFbmRCaWdJbnQpID49IDA7XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ function _getMatchedDomain(domains, domain) {
2
+ for (const d of domains) {
3
+ if (d.spec.kind === 'full' && d.spec.name === domain) {
4
+ return d;
5
+ }
6
+ if (d.spec.kind === 'extensive' && domain.endsWith(d.spec.name.slice(1))) {
7
+ return d;
8
+ }
9
+ }
10
+ }
11
+ export function getMatchedDomain(domains, domain) {
12
+ const matched = _getMatchedDomain(domains, domain);
13
+ if (matched?.spec.kind === 'extensive') {
14
+ const d = matched.spec.name;
15
+ return {
16
+ // `test.alauda.io` + `*.alauda.io` -> test
17
+ subDomain: domain.slice(0, domain.length - d.length + 1),
18
+ domain: d,
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi91dGlscy9jb21tb24tZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLGlCQUFpQixDQUFDLE9BQWlCLEVBQUUsTUFBYztJQUMxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFpQixFQUFFLE1BQWM7SUFDaEUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELElBQUksT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsT0FBTztZQUNMLDJDQUEyQztZQUMzQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN4RCxNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbWFpbiB9IGZyb20gJy4uL3R5cGVzL2s4cy1leHBvcnRzJztcblxuZnVuY3Rpb24gX2dldE1hdGNoZWREb21haW4oZG9tYWluczogRG9tYWluW10sIGRvbWFpbjogc3RyaW5nKSB7XG4gIGZvciAoY29uc3QgZCBvZiBkb21haW5zKSB7XG4gICAgaWYgKGQuc3BlYy5raW5kID09PSAnZnVsbCcgJiYgZC5zcGVjLm5hbWUgPT09IGRvbWFpbikge1xuICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgaWYgKGQuc3BlYy5raW5kID09PSAnZXh0ZW5zaXZlJyAmJiBkb21haW4uZW5kc1dpdGgoZC5zcGVjLm5hbWUuc2xpY2UoMSkpKSB7XG4gICAgICByZXR1cm4gZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWREb21haW4oZG9tYWluczogRG9tYWluW10sIGRvbWFpbjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZWQgPSBfZ2V0TWF0Y2hlZERvbWFpbihkb21haW5zLCBkb21haW4pO1xuICBpZiAobWF0Y2hlZD8uc3BlYy5raW5kID09PSAnZXh0ZW5zaXZlJykge1xuICAgIGNvbnN0IGQgPSBtYXRjaGVkLnNwZWMubmFtZTtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gYHRlc3QuYWxhdWRhLmlvYCArIGAqLmFsYXVkYS5pb2AgLT4gdGVzdFxuICAgICAgc3ViRG9tYWluOiBkb21haW4uc2xpY2UoMCwgZG9tYWluLmxlbmd0aCAtIGQubGVuZ3RoICsgMSksXG4gICAgICBkb21haW46IGQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -55,4 +55,4 @@ export function completeDefaultServiceName(resource, networkMode) {
55
55
  },
56
56
  };
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvc2VydmljZS1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLGFBQWEsRUFFYixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRNUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsSUFBSSxHQUFHLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsT0FBTztRQUNMLEdBQUcsZUFBZTtRQUNsQixRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osU0FBUztTQUNWO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDdEIsZUFBZSxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztZQUM5QyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUTtvQkFDUixJQUFJLEVBQUUsRUFBRTtvQkFDUixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsRUFBRTtvQkFDZCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBVztpQkFDN0M7YUFDRjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBRWxDLE9BQWdCLEVBQ2hCLElBQUksR0FBRyxJQUFJO0lBRVgsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzVDLE9BQU8sRUFDUCxXQUFXLEVBQ1gsVUFBVSxDQUNYLENBQUM7SUFDRixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE9BQU87S0FDUjtJQUNELElBQUk7UUFDRixNQUFNLFNBQVMsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBR2hELENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTztZQUNQLE9BQU87U0FDUixDQUFDO0tBQ0g7SUFBQyxNQUFNLEdBQUU7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxRQUFpQixFQUNqQixXQUF3QjtJQUV4QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsSUFBSSxFQUNGLElBQUksS0FBSyxjQUFjO1lBQ3JCLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN2QixDQUFDLENBQUM7Z0JBQ0UsVUFBVSxFQUFFLFdBQVcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUM1RCxjQUFjLEVBQUUsaUJBQWlCO2dCQUNqQyxHQUFHLFFBQVEsRUFBRSxJQUFJO2dCQUNqQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEQsR0FBRyxXQUFXO29CQUNkLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztpQkFDN0QsQ0FBQyxDQUFDO2FBQ0o7S0FDUixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERhZW1vblNldCxcbiAgRGVwbG95bWVudCxcbiAgSzhzVXRpbFNlcnZpY2UsXG4gIFNFUlZJQ0VfUE9SVF9CQVNFX1BST1RPQ09MUyxcbiAgU0VSVklDRV9TRVNTSU9OX0FGRklOSVRJRVMsXG4gIFNFUlZJQ0VfVFlQRVMsXG4gIFNlcnZpY2UsXG4gIFNlcnZpY2VUeXBlTWV0YSxcbiAgU3RhdGVmdWxTZXQsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgTmV0d29ya01vZGUgfSBmcm9tICcuL2NpZHItZXhwb3J0cyc7XG5pbXBvcnQgeyBnZXRTZXJ2aWNlRGVmYXVsdE5hbWUgfSBmcm9tICcuL3NlcnZpY2UtaW50ZXJuYWxzJztcblxuaW50ZXJmYWNlIFdvcmtsb2FkcyB7XG4gIERlcGxveW1lbnQ/OiBEZXBsb3ltZW50W107XG4gIERhZW1vblNldD86IERhZW1vblNldFtdO1xuICBTdGF0ZWZ1bFNldD86IFN0YXRlZnVsU2V0W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0U2VydmljZShuYW1lc3BhY2U6IHN0cmluZywgbmFtZSA9ICcnKTogU2VydmljZSB7XG4gIGNvbnN0IHByb3RvY29sID0gU0VSVklDRV9QT1JUX0JBU0VfUFJPVE9DT0xTWzBdO1xuICByZXR1cm4ge1xuICAgIC4uLlNlcnZpY2VUeXBlTWV0YSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgbmFtZSxcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9LFxuICAgIHNwZWM6IHtcbiAgICAgIHR5cGU6IFNFUlZJQ0VfVFlQRVNbMF0sXG4gICAgICBzZXNzaW9uQWZmaW5pdHk6IFNFUlZJQ0VfU0VTU0lPTl9BRkZJTklUSUVTWzBdLFxuICAgICAgcG9ydHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3RvY29sLFxuICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgIHBvcnQ6IG51bGwsXG4gICAgICAgICAgdGFyZ2V0UG9ydDogJycsXG4gICAgICAgICAgYXBwUHJvdG9jb2w6IHByb3RvY29sLnRvTG93ZXJDYXNlKCkgYXMgJ3RjcCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZVJlZmVyZW5jZShcbiAgdGhpczogeyBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSB9LFxuICBzZXJ2aWNlOiBTZXJ2aWNlLFxuICBzZWxmID0gdGhpcyxcbikge1xuICBjb25zdCByZXNvdXJjZVJlZiA9IHNlbGYuazhzVXRpbC5nZXRBbm5vdGF0aW9uKFxuICAgIHNlcnZpY2UsXG4gICAgJ3JlZmVyZW5jZScsXG4gICAgJ3Jlc291cmNlJyxcbiAgKTtcbiAgaWYgKCFyZXNvdXJjZVJlZikge1xuICAgIHJldHVybjtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHJlZmVyZW5jZTogc3RyaW5nW10gPSBKU09OLnBhcnNlKHJlc291cmNlUmVmKTtcbiAgICBjb25zdCBbcmVmVHlwZSwgcmVmTmFtZV0gPSByZWZlcmVuY2VbMF0uc3BsaXQoJy4nKSBhcyBbXG4gICAgICBrZXlvZiBXb3JrbG9hZHMgfCAnVmlydHVhbE1hY2hpbmUnIHwgJ1ZpcnR1YWxNYWNoaW5lUG9vbCcsXG4gICAgICBzdHJpbmcsXG4gICAgXTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVmVHlwZSxcbiAgICAgIHJlZk5hbWUsXG4gICAgfTtcbiAgfSBjYXRjaCB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVEZWZhdWx0U2VydmljZU5hbWUoXG4gIHJlc291cmNlOiBTZXJ2aWNlLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4pOiBTZXJ2aWNlIHtcbiAgY29uc3QgdHlwZSA9IHJlc291cmNlLnNwZWMudHlwZTtcbiAgcmV0dXJuIHtcbiAgICAuLi5yZXNvdXJjZSxcbiAgICBzcGVjOlxuICAgICAgdHlwZSA9PT0gJ0V4dGVybmFsTmFtZSdcbiAgICAgICAgPyB7IC4uLnJlc291cmNlPy5zcGVjIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBpcEZhbWlsaWVzOiBuZXR3b3JrTW9kZSA9PT0gJ2R1YWwnID8gWydJUHY0JywgJ0lQdjYnXSA6IG51bGwsXG4gICAgICAgICAgICBpcEZhbWlseVBvbGljeTogJ1ByZWZlckR1YWxTdGFjaycsXG4gICAgICAgICAgICAuLi5yZXNvdXJjZT8uc3BlYyxcbiAgICAgICAgICAgIHBvcnRzOiByZXNvdXJjZT8uc3BlYz8ucG9ydHM/Lm1hcChzZXJ2aWNlUG9ydCA9PiAoe1xuICAgICAgICAgICAgICAuLi5zZXJ2aWNlUG9ydCxcbiAgICAgICAgICAgICAgbmFtZTogc2VydmljZVBvcnQubmFtZSB8fCBnZXRTZXJ2aWNlRGVmYXVsdE5hbWUoc2VydmljZVBvcnQpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0sXG4gIH07XG59XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvc2VydmljZS1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLGFBQWEsRUFFYixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRNUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsSUFBSSxHQUFHLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsT0FBTztRQUNMLEdBQUcsZUFBZTtRQUNsQixRQUFRLEVBQUU7WUFDUixJQUFJO1lBQ0osU0FBUztTQUNWO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDdEIsZUFBZSxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztZQUM5QyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUTtvQkFDUixJQUFJLEVBQUUsRUFBRTtvQkFDUixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsRUFBRTtvQkFDZCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBVztpQkFDN0M7YUFDRjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBRWxDLE9BQWdCLEVBQ2hCLElBQUksR0FBRyxJQUFJO0lBRVgsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzVDLE9BQU8sRUFDUCxXQUFXLEVBQ1gsVUFBVSxDQUNYLENBQUM7SUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTztJQUNULENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBR2hELENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTztZQUNQLE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxRQUFpQixFQUNqQixXQUF3QjtJQUV4QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsSUFBSSxFQUNGLElBQUksS0FBSyxjQUFjO1lBQ3JCLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN2QixDQUFDLENBQUM7Z0JBQ0UsVUFBVSxFQUFFLFdBQVcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUM1RCxjQUFjLEVBQUUsaUJBQWlCO2dCQUNqQyxHQUFHLFFBQVEsRUFBRSxJQUFJO2dCQUNqQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEQsR0FBRyxXQUFXO29CQUNkLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztpQkFDN0QsQ0FBQyxDQUFDO2FBQ0o7S0FDUixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERhZW1vblNldCxcbiAgRGVwbG95bWVudCxcbiAgSzhzVXRpbFNlcnZpY2UsXG4gIFNFUlZJQ0VfUE9SVF9CQVNFX1BST1RPQ09MUyxcbiAgU0VSVklDRV9TRVNTSU9OX0FGRklOSVRJRVMsXG4gIFNFUlZJQ0VfVFlQRVMsXG4gIFNlcnZpY2UsXG4gIFNlcnZpY2VUeXBlTWV0YSxcbiAgU3RhdGVmdWxTZXQsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgTmV0d29ya01vZGUgfSBmcm9tICcuL2NpZHItZXhwb3J0cyc7XG5pbXBvcnQgeyBnZXRTZXJ2aWNlRGVmYXVsdE5hbWUgfSBmcm9tICcuL3NlcnZpY2UtaW50ZXJuYWxzJztcblxuaW50ZXJmYWNlIFdvcmtsb2FkcyB7XG4gIERlcGxveW1lbnQ/OiBEZXBsb3ltZW50W107XG4gIERhZW1vblNldD86IERhZW1vblNldFtdO1xuICBTdGF0ZWZ1bFNldD86IFN0YXRlZnVsU2V0W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0U2VydmljZShuYW1lc3BhY2U6IHN0cmluZywgbmFtZSA9ICcnKTogU2VydmljZSB7XG4gIGNvbnN0IHByb3RvY29sID0gU0VSVklDRV9QT1JUX0JBU0VfUFJPVE9DT0xTWzBdO1xuICByZXR1cm4ge1xuICAgIC4uLlNlcnZpY2VUeXBlTWV0YSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgbmFtZSxcbiAgICAgIG5hbWVzcGFjZSxcbiAgICB9LFxuICAgIHNwZWM6IHtcbiAgICAgIHR5cGU6IFNFUlZJQ0VfVFlQRVNbMF0sXG4gICAgICBzZXNzaW9uQWZmaW5pdHk6IFNFUlZJQ0VfU0VTU0lPTl9BRkZJTklUSUVTWzBdLFxuICAgICAgcG9ydHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3RvY29sLFxuICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgIHBvcnQ6IG51bGwsXG4gICAgICAgICAgdGFyZ2V0UG9ydDogJycsXG4gICAgICAgICAgYXBwUHJvdG9jb2w6IHByb3RvY29sLnRvTG93ZXJDYXNlKCkgYXMgJ3RjcCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZVJlZmVyZW5jZShcbiAgdGhpczogeyBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSB9LFxuICBzZXJ2aWNlOiBTZXJ2aWNlLFxuICBzZWxmID0gdGhpcyxcbikge1xuICBjb25zdCByZXNvdXJjZVJlZiA9IHNlbGYuazhzVXRpbC5nZXRBbm5vdGF0aW9uKFxuICAgIHNlcnZpY2UsXG4gICAgJ3JlZmVyZW5jZScsXG4gICAgJ3Jlc291cmNlJyxcbiAgKTtcbiAgaWYgKCFyZXNvdXJjZVJlZikge1xuICAgIHJldHVybjtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHJlZmVyZW5jZTogc3RyaW5nW10gPSBKU09OLnBhcnNlKHJlc291cmNlUmVmKTtcbiAgICBjb25zdCBbcmVmVHlwZSwgcmVmTmFtZV0gPSByZWZlcmVuY2VbMF0uc3BsaXQoJy4nKSBhcyBbXG4gICAgICBrZXlvZiBXb3JrbG9hZHMgfCAnVmlydHVhbE1hY2hpbmUnIHwgJ1ZpcnR1YWxNYWNoaW5lUG9vbCcsXG4gICAgICBzdHJpbmcsXG4gICAgXTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVmVHlwZSxcbiAgICAgIHJlZk5hbWUsXG4gICAgfTtcbiAgfSBjYXRjaCB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVEZWZhdWx0U2VydmljZU5hbWUoXG4gIHJlc291cmNlOiBTZXJ2aWNlLFxuICBuZXR3b3JrTW9kZTogTmV0d29ya01vZGUsXG4pOiBTZXJ2aWNlIHtcbiAgY29uc3QgdHlwZSA9IHJlc291cmNlLnNwZWMudHlwZTtcbiAgcmV0dXJuIHtcbiAgICAuLi5yZXNvdXJjZSxcbiAgICBzcGVjOlxuICAgICAgdHlwZSA9PT0gJ0V4dGVybmFsTmFtZSdcbiAgICAgICAgPyB7IC4uLnJlc291cmNlPy5zcGVjIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBpcEZhbWlsaWVzOiBuZXR3b3JrTW9kZSA9PT0gJ2R1YWwnID8gWydJUHY0JywgJ0lQdjYnXSA6IG51bGwsXG4gICAgICAgICAgICBpcEZhbWlseVBvbGljeTogJ1ByZWZlckR1YWxTdGFjaycsXG4gICAgICAgICAgICAuLi5yZXNvdXJjZT8uc3BlYyxcbiAgICAgICAgICAgIHBvcnRzOiByZXNvdXJjZT8uc3BlYz8ucG9ydHM/Lm1hcChzZXJ2aWNlUG9ydCA9PiAoe1xuICAgICAgICAgICAgICAuLi5zZXJ2aWNlUG9ydCxcbiAgICAgICAgICAgICAgbmFtZTogc2VydmljZVBvcnQubmFtZSB8fCBnZXRTZXJ2aWNlRGVmYXVsdE5hbWUoc2VydmljZVBvcnQpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { DOMAIN_PATTERN, publishRef, } from '@alauda-fe/common';
2
+ import { Validators } from '@angular/forms';
3
+ import { map } from 'rxjs';
4
+ export const getHostPrefixErrorMapper = (translate) => ({
5
+ hostPrefixExtensivePosition: translate.get('network.domain_extensive_starts_tip'),
6
+ hostPrefixPattern: translate.get('network.host_prefix_pattern_error'),
7
+ maxlength: translate.get('network.extra_long_domain_name'),
8
+ hostPrefixIncludeDotError: translate.get('network.host_prefix_input_dot_error'),
9
+ });
10
+ export const getHostPrefixErrorMapper$ = (translate) => translate.locale$.pipe(map(() => getHostPrefixErrorMapper(translate)), publishRef());
11
+ export const hostPrefixValidator = (hostPrefixCtrl) => {
12
+ let hostPrefix = hostPrefixCtrl.value;
13
+ if (!hostPrefix) {
14
+ return;
15
+ }
16
+ if (hostPrefix.includes('.')) {
17
+ return {
18
+ hostPrefixIncludeDotError: true,
19
+ };
20
+ }
21
+ if (hostPrefix.includes('*')) {
22
+ if (hostPrefix === '*') {
23
+ return;
24
+ }
25
+ const startExtensive = hostPrefix.startsWith('*.');
26
+ if (hostPrefix.lastIndexOf('*') !== 0 ||
27
+ (hostPrefix.length > 1 && !startExtensive)) {
28
+ return {
29
+ hostPrefixExtensivePosition: true,
30
+ };
31
+ }
32
+ if (startExtensive) {
33
+ hostPrefix = hostPrefix.slice(2);
34
+ }
35
+ }
36
+ if (!DOMAIN_PATTERN.pattern.test(hostPrefix + '.example.org')) {
37
+ return { hostPrefixPattern: true };
38
+ }
39
+ };
40
+ export const getHostPrefixCompleteValidators = (domainLength) => [
41
+ hostPrefixValidator,
42
+ Validators.maxLength(domainLength),
43
+ ];
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvdmFsaWRhdG9ycy1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBRWQsVUFBVSxHQUNYLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RSwyQkFBMkIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUN4QyxxQ0FBcUMsQ0FDdEM7SUFDRCxpQkFBaUIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDO0lBQ3JFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO0lBQzFELHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQ3RDLHFDQUFxQyxDQUN0QztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQ3ZFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDOUMsVUFBVSxFQUFFLENBQ2IsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLGNBQStCLEVBQ2IsRUFBRTtJQUNwQixJQUFJLFVBQVUsR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBRTlDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU87WUFDTCx5QkFBeUIsRUFBRSxJQUFJO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5ELElBQ0UsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ2pDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDMUMsQ0FBQztZQUNELE9BQU87Z0JBQ0wsMkJBQTJCLEVBQUUsSUFBSTthQUNsQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFlBQW9CLEVBQUUsRUFBRSxDQUFDO0lBQ3ZFLG1CQUFtQjtJQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRE9NQUlOX1BBVFRFUk4sXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdFByZWZpeEVycm9yTWFwcGVyID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT4gKHtcbiAgaG9zdFByZWZpeEV4dGVuc2l2ZVBvc2l0aW9uOiB0cmFuc2xhdGUuZ2V0KFxuICAgICduZXR3b3JrLmRvbWFpbl9leHRlbnNpdmVfc3RhcnRzX3RpcCcsXG4gICksXG4gIGhvc3RQcmVmaXhQYXR0ZXJuOiB0cmFuc2xhdGUuZ2V0KCduZXR3b3JrLmhvc3RfcHJlZml4X3BhdHRlcm5fZXJyb3InKSxcbiAgbWF4bGVuZ3RoOiB0cmFuc2xhdGUuZ2V0KCduZXR3b3JrLmV4dHJhX2xvbmdfZG9tYWluX25hbWUnKSxcbiAgaG9zdFByZWZpeEluY2x1ZGVEb3RFcnJvcjogdHJhbnNsYXRlLmdldChcbiAgICAnbmV0d29yay5ob3N0X3ByZWZpeF9pbnB1dF9kb3RfZXJyb3InLFxuICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0UHJlZml4RXJyb3JNYXBwZXIkID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT5cbiAgdHJhbnNsYXRlLmxvY2FsZSQucGlwZShcbiAgICBtYXAoKCkgPT4gZ2V0SG9zdFByZWZpeEVycm9yTWFwcGVyKHRyYW5zbGF0ZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGhvc3RQcmVmaXhWYWxpZGF0b3IgPSAoXG4gIGhvc3RQcmVmaXhDdHJsOiBBYnN0cmFjdENvbnRyb2wsXG4pOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgbGV0IGhvc3RQcmVmaXg6IHN0cmluZyA9IGhvc3RQcmVmaXhDdHJsLnZhbHVlO1xuXG4gIGlmICghaG9zdFByZWZpeCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChob3N0UHJlZml4LmluY2x1ZGVzKCcuJykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaG9zdFByZWZpeEluY2x1ZGVEb3RFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGhvc3RQcmVmaXguaW5jbHVkZXMoJyonKSkge1xuICAgIGlmIChob3N0UHJlZml4ID09PSAnKicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydEV4dGVuc2l2ZSA9IGhvc3RQcmVmaXguc3RhcnRzV2l0aCgnKi4nKTtcblxuICAgIGlmIChcbiAgICAgIGhvc3RQcmVmaXgubGFzdEluZGV4T2YoJyonKSAhPT0gMCB8fFxuICAgICAgKGhvc3RQcmVmaXgubGVuZ3RoID4gMSAmJiAhc3RhcnRFeHRlbnNpdmUpXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBob3N0UHJlZml4RXh0ZW5zaXZlUG9zaXRpb246IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChzdGFydEV4dGVuc2l2ZSkge1xuICAgICAgaG9zdFByZWZpeCA9IGhvc3RQcmVmaXguc2xpY2UoMik7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFET01BSU5fUEFUVEVSTi5wYXR0ZXJuLnRlc3QoaG9zdFByZWZpeCArICcuZXhhbXBsZS5vcmcnKSkge1xuICAgIHJldHVybiB7IGhvc3RQcmVmaXhQYXR0ZXJuOiB0cnVlIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0UHJlZml4Q29tcGxldGVWYWxpZGF0b3JzID0gKGRvbWFpbkxlbmd0aDogbnVtYmVyKSA9PiBbXG4gIGhvc3RQcmVmaXhWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnMubWF4TGVuZ3RoKGRvbWFpbkxlbmd0aCksXG5dO1xuIl19