cdk8s-plus-33 2.5.29 → 2.5.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3 -3
- package/lib/_action.js +35 -2
- package/lib/api-resource.js +392 -384
- package/lib/base.js +39 -7
- package/lib/config-map.js +52 -12
- package/lib/container.js +108 -17
- package/lib/cron-job.js +77 -10
- package/lib/daemon-set.js +43 -7
- package/lib/deployment.js +72 -14
- package/lib/handler.js +39 -5
- package/lib/horizontal-pod-autoscaler.js +73 -13
- package/lib/imports/k8s.js +1375 -1547
- package/lib/index.js +24 -2
- package/lib/ingress.js +47 -11
- package/lib/job.js +55 -8
- package/lib/namespace.js +53 -14
- package/lib/network-policy.js +55 -16
- package/lib/pod.js +166 -86
- package/lib/probe.js +41 -5
- package/lib/pv.js +130 -16
- package/lib/pvc.js +58 -8
- package/lib/role-binding.js +59 -17
- package/lib/role.js +56 -16
- package/lib/secret.js +54 -18
- package/lib/service-account.js +51 -8
- package/lib/service.js +61 -8
- package/lib/stateful-set.js +66 -12
- package/lib/volume.js +55 -22
- package/lib/workload.js +45 -9
- package/package.json +7 -9
package/lib/api-resource.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.NonApiResource = exports.ApiResource = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
@@ -7,6 +6,385 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
6
|
* Represents information about an API resource type.
|
|
8
7
|
*/
|
|
9
8
|
class ApiResource {
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-33.ApiResource", version: "2.5.30" };
|
|
10
|
+
/**
|
|
11
|
+
* API resource information for Binding.
|
|
12
|
+
*/
|
|
13
|
+
static BINDINGS = new ApiResource({
|
|
14
|
+
apiGroup: '',
|
|
15
|
+
resourceType: 'bindings',
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* API resource information for ComponentStatus.
|
|
19
|
+
*/
|
|
20
|
+
static COMPONENT_STATUSES = new ApiResource({
|
|
21
|
+
apiGroup: '',
|
|
22
|
+
resourceType: 'componentstatuses',
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* API resource information for ConfigMap.
|
|
26
|
+
*/
|
|
27
|
+
static CONFIG_MAPS = new ApiResource({
|
|
28
|
+
apiGroup: '',
|
|
29
|
+
resourceType: 'configmaps',
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* API resource information for Endpoints.
|
|
33
|
+
*/
|
|
34
|
+
static ENDPOINTS = new ApiResource({
|
|
35
|
+
apiGroup: '',
|
|
36
|
+
resourceType: 'endpoints',
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* API resource information for Event.
|
|
40
|
+
*/
|
|
41
|
+
static EVENTS = new ApiResource({
|
|
42
|
+
apiGroup: '',
|
|
43
|
+
resourceType: 'events',
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* API resource information for LimitRange.
|
|
47
|
+
*/
|
|
48
|
+
static LIMIT_RANGES = new ApiResource({
|
|
49
|
+
apiGroup: '',
|
|
50
|
+
resourceType: 'limitranges',
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* API resource information for Namespace.
|
|
54
|
+
*/
|
|
55
|
+
static NAMESPACES = new ApiResource({
|
|
56
|
+
apiGroup: '',
|
|
57
|
+
resourceType: 'namespaces',
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* API resource information for Node.
|
|
61
|
+
*/
|
|
62
|
+
static NODES = new ApiResource({
|
|
63
|
+
apiGroup: '',
|
|
64
|
+
resourceType: 'nodes',
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* API resource information for PersistentVolumeClaim.
|
|
68
|
+
*/
|
|
69
|
+
static PERSISTENT_VOLUME_CLAIMS = new ApiResource({
|
|
70
|
+
apiGroup: '',
|
|
71
|
+
resourceType: 'persistentvolumeclaims',
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* API resource information for PersistentVolume.
|
|
75
|
+
*/
|
|
76
|
+
static PERSISTENT_VOLUMES = new ApiResource({
|
|
77
|
+
apiGroup: '',
|
|
78
|
+
resourceType: 'persistentvolumes',
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* API resource information for Pod.
|
|
82
|
+
*/
|
|
83
|
+
static PODS = new ApiResource({
|
|
84
|
+
apiGroup: '',
|
|
85
|
+
resourceType: 'pods',
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* API resource information for PodTemplate.
|
|
89
|
+
*/
|
|
90
|
+
static POD_TEMPLATES = new ApiResource({
|
|
91
|
+
apiGroup: '',
|
|
92
|
+
resourceType: 'podtemplates',
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* API resource information for ReplicationController.
|
|
96
|
+
*/
|
|
97
|
+
static REPLICATION_CONTROLLERS = new ApiResource({
|
|
98
|
+
apiGroup: '',
|
|
99
|
+
resourceType: 'replicationcontrollers',
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* API resource information for ResourceQuota.
|
|
103
|
+
*/
|
|
104
|
+
static RESOURCE_QUOTAS = new ApiResource({
|
|
105
|
+
apiGroup: '',
|
|
106
|
+
resourceType: 'resourcequotas',
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* API resource information for Secret.
|
|
110
|
+
*/
|
|
111
|
+
static SECRETS = new ApiResource({
|
|
112
|
+
apiGroup: '',
|
|
113
|
+
resourceType: 'secrets',
|
|
114
|
+
});
|
|
115
|
+
/**
|
|
116
|
+
* API resource information for ServiceAccount.
|
|
117
|
+
*/
|
|
118
|
+
static SERVICE_ACCOUNTS = new ApiResource({
|
|
119
|
+
apiGroup: '',
|
|
120
|
+
resourceType: 'serviceaccounts',
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* API resource information for Service.
|
|
124
|
+
*/
|
|
125
|
+
static SERVICES = new ApiResource({
|
|
126
|
+
apiGroup: '',
|
|
127
|
+
resourceType: 'services',
|
|
128
|
+
});
|
|
129
|
+
/**
|
|
130
|
+
* API resource information for MutatingWebhookConfiguration.
|
|
131
|
+
*/
|
|
132
|
+
static MUTATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
|
|
133
|
+
apiGroup: 'admissionregistration.k8s.io',
|
|
134
|
+
resourceType: 'mutatingwebhookconfigurations',
|
|
135
|
+
});
|
|
136
|
+
/**
|
|
137
|
+
* API resource information for ValidatingWebhookConfiguration.
|
|
138
|
+
*/
|
|
139
|
+
static VALIDATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
|
|
140
|
+
apiGroup: 'admissionregistration.k8s.io',
|
|
141
|
+
resourceType: 'validatingwebhookconfigurations',
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* API resource information for CustomResourceDefinition.
|
|
145
|
+
*/
|
|
146
|
+
static CUSTOM_RESOURCE_DEFINITIONS = new ApiResource({
|
|
147
|
+
apiGroup: 'apiextensions.k8s.io',
|
|
148
|
+
resourceType: 'customresourcedefinitions',
|
|
149
|
+
});
|
|
150
|
+
/**
|
|
151
|
+
* API resource information for APIService.
|
|
152
|
+
*/
|
|
153
|
+
static API_SERVICES = new ApiResource({
|
|
154
|
+
apiGroup: 'apiregistration.k8s.io',
|
|
155
|
+
resourceType: 'apiservices',
|
|
156
|
+
});
|
|
157
|
+
/**
|
|
158
|
+
* API resource information for ControllerRevision.
|
|
159
|
+
*/
|
|
160
|
+
static CONTROLLER_REVISIONS = new ApiResource({
|
|
161
|
+
apiGroup: 'apps',
|
|
162
|
+
resourceType: 'controllerrevisions',
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* API resource information for DaemonSet.
|
|
166
|
+
*/
|
|
167
|
+
static DAEMON_SETS = new ApiResource({
|
|
168
|
+
apiGroup: 'apps',
|
|
169
|
+
resourceType: 'daemonsets',
|
|
170
|
+
});
|
|
171
|
+
/**
|
|
172
|
+
* API resource information for Deployment.
|
|
173
|
+
*/
|
|
174
|
+
static DEPLOYMENTS = new ApiResource({
|
|
175
|
+
apiGroup: 'apps',
|
|
176
|
+
resourceType: 'deployments',
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* API resource information for ReplicaSet.
|
|
180
|
+
*/
|
|
181
|
+
static REPLICA_SETS = new ApiResource({
|
|
182
|
+
apiGroup: 'apps',
|
|
183
|
+
resourceType: 'replicasets',
|
|
184
|
+
});
|
|
185
|
+
/**
|
|
186
|
+
* API resource information for StatefulSet.
|
|
187
|
+
*/
|
|
188
|
+
static STATEFUL_SETS = new ApiResource({
|
|
189
|
+
apiGroup: 'apps',
|
|
190
|
+
resourceType: 'statefulsets',
|
|
191
|
+
});
|
|
192
|
+
/**
|
|
193
|
+
* API resource information for TokenReview.
|
|
194
|
+
*/
|
|
195
|
+
static TOKEN_REVIEWS = new ApiResource({
|
|
196
|
+
apiGroup: 'authentication.k8s.io',
|
|
197
|
+
resourceType: 'tokenreviews',
|
|
198
|
+
});
|
|
199
|
+
/**
|
|
200
|
+
* API resource information for LocalSubjectAccessReview.
|
|
201
|
+
*/
|
|
202
|
+
static LOCAL_SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
203
|
+
apiGroup: 'authorization.k8s.io',
|
|
204
|
+
resourceType: 'localsubjectaccessreviews',
|
|
205
|
+
});
|
|
206
|
+
/**
|
|
207
|
+
* API resource information for SelfSubjectAccessReview.
|
|
208
|
+
*/
|
|
209
|
+
static SELF_SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
210
|
+
apiGroup: 'authorization.k8s.io',
|
|
211
|
+
resourceType: 'selfsubjectaccessreviews',
|
|
212
|
+
});
|
|
213
|
+
/**
|
|
214
|
+
* API resource information for SelfSubjectRulesReview.
|
|
215
|
+
*/
|
|
216
|
+
static SELF_SUBJECT_RULES_REVIEWS = new ApiResource({
|
|
217
|
+
apiGroup: 'authorization.k8s.io',
|
|
218
|
+
resourceType: 'selfsubjectrulesreviews',
|
|
219
|
+
});
|
|
220
|
+
/**
|
|
221
|
+
* API resource information for SubjectAccessReview.
|
|
222
|
+
*/
|
|
223
|
+
static SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
224
|
+
apiGroup: 'authorization.k8s.io',
|
|
225
|
+
resourceType: 'subjectaccessreviews',
|
|
226
|
+
});
|
|
227
|
+
/**
|
|
228
|
+
* API resource information for HorizontalPodAutoscaler.
|
|
229
|
+
*/
|
|
230
|
+
static HORIZONTAL_POD_AUTOSCALERS = new ApiResource({
|
|
231
|
+
apiGroup: 'autoscaling',
|
|
232
|
+
resourceType: 'horizontalpodautoscalers',
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* API resource information for CronJob.
|
|
236
|
+
*/
|
|
237
|
+
static CRON_JOBS = new ApiResource({
|
|
238
|
+
apiGroup: 'batch',
|
|
239
|
+
resourceType: 'cronjobs',
|
|
240
|
+
});
|
|
241
|
+
/**
|
|
242
|
+
* API resource information for Job.
|
|
243
|
+
*/
|
|
244
|
+
static JOBS = new ApiResource({
|
|
245
|
+
apiGroup: 'batch',
|
|
246
|
+
resourceType: 'jobs',
|
|
247
|
+
});
|
|
248
|
+
/**
|
|
249
|
+
* API resource information for CertificateSigningRequest.
|
|
250
|
+
*/
|
|
251
|
+
static CERTIFICATE_SIGNING_REQUESTS = new ApiResource({
|
|
252
|
+
apiGroup: 'certificates.k8s.io',
|
|
253
|
+
resourceType: 'certificatesigningrequests',
|
|
254
|
+
});
|
|
255
|
+
/**
|
|
256
|
+
* API resource information for Lease.
|
|
257
|
+
*/
|
|
258
|
+
static LEASES = new ApiResource({
|
|
259
|
+
apiGroup: 'coordination.k8s.io',
|
|
260
|
+
resourceType: 'leases',
|
|
261
|
+
});
|
|
262
|
+
/**
|
|
263
|
+
* API resource information for EndpointSlice.
|
|
264
|
+
*/
|
|
265
|
+
static ENDPOINT_SLICES = new ApiResource({
|
|
266
|
+
apiGroup: 'discovery.k8s.io',
|
|
267
|
+
resourceType: 'endpointslices',
|
|
268
|
+
});
|
|
269
|
+
/**
|
|
270
|
+
* API resource information for FlowSchema.
|
|
271
|
+
*/
|
|
272
|
+
static FLOW_SCHEMAS = new ApiResource({
|
|
273
|
+
apiGroup: 'flowcontrol.apiserver.k8s.io',
|
|
274
|
+
resourceType: 'flowschemas',
|
|
275
|
+
});
|
|
276
|
+
/**
|
|
277
|
+
* API resource information for PriorityLevelConfiguration.
|
|
278
|
+
*/
|
|
279
|
+
static PRIORITY_LEVEL_CONFIGURATIONS = new ApiResource({
|
|
280
|
+
apiGroup: 'flowcontrol.apiserver.k8s.io',
|
|
281
|
+
resourceType: 'prioritylevelconfigurations',
|
|
282
|
+
});
|
|
283
|
+
/**
|
|
284
|
+
* API resource information for IngressClass.
|
|
285
|
+
*/
|
|
286
|
+
static INGRESS_CLASSES = new ApiResource({
|
|
287
|
+
apiGroup: 'networking.k8s.io',
|
|
288
|
+
resourceType: 'ingressclasses',
|
|
289
|
+
});
|
|
290
|
+
/**
|
|
291
|
+
* API resource information for Ingress.
|
|
292
|
+
*/
|
|
293
|
+
static INGRESSES = new ApiResource({
|
|
294
|
+
apiGroup: 'networking.k8s.io',
|
|
295
|
+
resourceType: 'ingresses',
|
|
296
|
+
});
|
|
297
|
+
/**
|
|
298
|
+
* API resource information for NetworkPolicy.
|
|
299
|
+
*/
|
|
300
|
+
static NETWORK_POLICIES = new ApiResource({
|
|
301
|
+
apiGroup: 'networking.k8s.io',
|
|
302
|
+
resourceType: 'networkpolicies',
|
|
303
|
+
});
|
|
304
|
+
/**
|
|
305
|
+
* API resource information for RuntimeClass.
|
|
306
|
+
*/
|
|
307
|
+
static RUNTIME_CLASSES = new ApiResource({
|
|
308
|
+
apiGroup: 'node.k8s.io',
|
|
309
|
+
resourceType: 'runtimeclasses',
|
|
310
|
+
});
|
|
311
|
+
/**
|
|
312
|
+
* API resource information for PodDisruptionBudget.
|
|
313
|
+
*/
|
|
314
|
+
static POD_DISRUPTION_BUDGETS = new ApiResource({
|
|
315
|
+
apiGroup: 'policy',
|
|
316
|
+
resourceType: 'poddisruptionbudgets',
|
|
317
|
+
});
|
|
318
|
+
/**
|
|
319
|
+
* API resource information for ClusterRoleBinding.
|
|
320
|
+
*/
|
|
321
|
+
static CLUSTER_ROLE_BINDINGS = new ApiResource({
|
|
322
|
+
apiGroup: 'rbac.authorization.k8s.io',
|
|
323
|
+
resourceType: 'clusterrolebindings',
|
|
324
|
+
});
|
|
325
|
+
/**
|
|
326
|
+
* API resource information for ClusterRole.
|
|
327
|
+
*/
|
|
328
|
+
static CLUSTER_ROLES = new ApiResource({
|
|
329
|
+
apiGroup: 'rbac.authorization.k8s.io',
|
|
330
|
+
resourceType: 'clusterroles',
|
|
331
|
+
});
|
|
332
|
+
/**
|
|
333
|
+
* API resource information for RoleBinding.
|
|
334
|
+
*/
|
|
335
|
+
static ROLE_BINDINGS = new ApiResource({
|
|
336
|
+
apiGroup: 'rbac.authorization.k8s.io',
|
|
337
|
+
resourceType: 'rolebindings',
|
|
338
|
+
});
|
|
339
|
+
/**
|
|
340
|
+
* API resource information for Role.
|
|
341
|
+
*/
|
|
342
|
+
static ROLES = new ApiResource({
|
|
343
|
+
apiGroup: 'rbac.authorization.k8s.io',
|
|
344
|
+
resourceType: 'roles',
|
|
345
|
+
});
|
|
346
|
+
/**
|
|
347
|
+
* API resource information for PriorityClass.
|
|
348
|
+
*/
|
|
349
|
+
static PRIORITY_CLASSES = new ApiResource({
|
|
350
|
+
apiGroup: 'scheduling.k8s.io',
|
|
351
|
+
resourceType: 'priorityclasses',
|
|
352
|
+
});
|
|
353
|
+
/**
|
|
354
|
+
* API resource information for CSIDriver.
|
|
355
|
+
*/
|
|
356
|
+
static CSI_DRIVERS = new ApiResource({
|
|
357
|
+
apiGroup: 'storage.k8s.io',
|
|
358
|
+
resourceType: 'csidrivers',
|
|
359
|
+
});
|
|
360
|
+
/**
|
|
361
|
+
* API resource information for CSINode.
|
|
362
|
+
*/
|
|
363
|
+
static CSI_NODES = new ApiResource({
|
|
364
|
+
apiGroup: 'storage.k8s.io',
|
|
365
|
+
resourceType: 'csinodes',
|
|
366
|
+
});
|
|
367
|
+
/**
|
|
368
|
+
* API resource information for CSIStorageCapacity.
|
|
369
|
+
*/
|
|
370
|
+
static CSI_STORAGE_CAPACITIES = new ApiResource({
|
|
371
|
+
apiGroup: 'storage.k8s.io',
|
|
372
|
+
resourceType: 'csistoragecapacities',
|
|
373
|
+
});
|
|
374
|
+
/**
|
|
375
|
+
* API resource information for StorageClass.
|
|
376
|
+
*/
|
|
377
|
+
static STORAGE_CLASSES = new ApiResource({
|
|
378
|
+
apiGroup: 'storage.k8s.io',
|
|
379
|
+
resourceType: 'storageclasses',
|
|
380
|
+
});
|
|
381
|
+
/**
|
|
382
|
+
* API resource information for VolumeAttachment.
|
|
383
|
+
*/
|
|
384
|
+
static VOLUME_ATTACHMENTS = new ApiResource({
|
|
385
|
+
apiGroup: 'storage.k8s.io',
|
|
386
|
+
resourceType: 'volumeattachments',
|
|
387
|
+
});
|
|
10
388
|
/**
|
|
11
389
|
* API resource information for a custom resource type.
|
|
12
390
|
*/
|
|
@@ -14,6 +392,16 @@ class ApiResource {
|
|
|
14
392
|
return new ApiResource(options);
|
|
15
393
|
}
|
|
16
394
|
;
|
|
395
|
+
/**
|
|
396
|
+
* The group portion of the API version (e.g. `authorization.k8s.io`).
|
|
397
|
+
*/
|
|
398
|
+
apiGroup;
|
|
399
|
+
/**
|
|
400
|
+
* The name of the resource type as it appears in the relevant API endpoint.
|
|
401
|
+
* @example - "pods" or "pods/log"
|
|
402
|
+
* @see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
|
|
403
|
+
*/
|
|
404
|
+
resourceType;
|
|
17
405
|
constructor(options) {
|
|
18
406
|
this.apiGroup = options.apiGroup;
|
|
19
407
|
this.resourceType = options.resourceType;
|
|
@@ -26,390 +414,12 @@ class ApiResource {
|
|
|
26
414
|
}
|
|
27
415
|
}
|
|
28
416
|
exports.ApiResource = ApiResource;
|
|
29
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
ApiResource[_a] = { fqn: "cdk8s-plus-33.ApiResource", version: "2.5.29" };
|
|
31
|
-
/**
|
|
32
|
-
* API resource information for Binding.
|
|
33
|
-
*/
|
|
34
|
-
ApiResource.BINDINGS = new ApiResource({
|
|
35
|
-
apiGroup: '',
|
|
36
|
-
resourceType: 'bindings',
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* API resource information for ComponentStatus.
|
|
40
|
-
*/
|
|
41
|
-
ApiResource.COMPONENT_STATUSES = new ApiResource({
|
|
42
|
-
apiGroup: '',
|
|
43
|
-
resourceType: 'componentstatuses',
|
|
44
|
-
});
|
|
45
|
-
/**
|
|
46
|
-
* API resource information for ConfigMap.
|
|
47
|
-
*/
|
|
48
|
-
ApiResource.CONFIG_MAPS = new ApiResource({
|
|
49
|
-
apiGroup: '',
|
|
50
|
-
resourceType: 'configmaps',
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* API resource information for Endpoints.
|
|
54
|
-
*/
|
|
55
|
-
ApiResource.ENDPOINTS = new ApiResource({
|
|
56
|
-
apiGroup: '',
|
|
57
|
-
resourceType: 'endpoints',
|
|
58
|
-
});
|
|
59
|
-
/**
|
|
60
|
-
* API resource information for Event.
|
|
61
|
-
*/
|
|
62
|
-
ApiResource.EVENTS = new ApiResource({
|
|
63
|
-
apiGroup: '',
|
|
64
|
-
resourceType: 'events',
|
|
65
|
-
});
|
|
66
|
-
/**
|
|
67
|
-
* API resource information for LimitRange.
|
|
68
|
-
*/
|
|
69
|
-
ApiResource.LIMIT_RANGES = new ApiResource({
|
|
70
|
-
apiGroup: '',
|
|
71
|
-
resourceType: 'limitranges',
|
|
72
|
-
});
|
|
73
|
-
/**
|
|
74
|
-
* API resource information for Namespace.
|
|
75
|
-
*/
|
|
76
|
-
ApiResource.NAMESPACES = new ApiResource({
|
|
77
|
-
apiGroup: '',
|
|
78
|
-
resourceType: 'namespaces',
|
|
79
|
-
});
|
|
80
|
-
/**
|
|
81
|
-
* API resource information for Node.
|
|
82
|
-
*/
|
|
83
|
-
ApiResource.NODES = new ApiResource({
|
|
84
|
-
apiGroup: '',
|
|
85
|
-
resourceType: 'nodes',
|
|
86
|
-
});
|
|
87
|
-
/**
|
|
88
|
-
* API resource information for PersistentVolumeClaim.
|
|
89
|
-
*/
|
|
90
|
-
ApiResource.PERSISTENT_VOLUME_CLAIMS = new ApiResource({
|
|
91
|
-
apiGroup: '',
|
|
92
|
-
resourceType: 'persistentvolumeclaims',
|
|
93
|
-
});
|
|
94
|
-
/**
|
|
95
|
-
* API resource information for PersistentVolume.
|
|
96
|
-
*/
|
|
97
|
-
ApiResource.PERSISTENT_VOLUMES = new ApiResource({
|
|
98
|
-
apiGroup: '',
|
|
99
|
-
resourceType: 'persistentvolumes',
|
|
100
|
-
});
|
|
101
|
-
/**
|
|
102
|
-
* API resource information for Pod.
|
|
103
|
-
*/
|
|
104
|
-
ApiResource.PODS = new ApiResource({
|
|
105
|
-
apiGroup: '',
|
|
106
|
-
resourceType: 'pods',
|
|
107
|
-
});
|
|
108
|
-
/**
|
|
109
|
-
* API resource information for PodTemplate.
|
|
110
|
-
*/
|
|
111
|
-
ApiResource.POD_TEMPLATES = new ApiResource({
|
|
112
|
-
apiGroup: '',
|
|
113
|
-
resourceType: 'podtemplates',
|
|
114
|
-
});
|
|
115
|
-
/**
|
|
116
|
-
* API resource information for ReplicationController.
|
|
117
|
-
*/
|
|
118
|
-
ApiResource.REPLICATION_CONTROLLERS = new ApiResource({
|
|
119
|
-
apiGroup: '',
|
|
120
|
-
resourceType: 'replicationcontrollers',
|
|
121
|
-
});
|
|
122
|
-
/**
|
|
123
|
-
* API resource information for ResourceQuota.
|
|
124
|
-
*/
|
|
125
|
-
ApiResource.RESOURCE_QUOTAS = new ApiResource({
|
|
126
|
-
apiGroup: '',
|
|
127
|
-
resourceType: 'resourcequotas',
|
|
128
|
-
});
|
|
129
|
-
/**
|
|
130
|
-
* API resource information for Secret.
|
|
131
|
-
*/
|
|
132
|
-
ApiResource.SECRETS = new ApiResource({
|
|
133
|
-
apiGroup: '',
|
|
134
|
-
resourceType: 'secrets',
|
|
135
|
-
});
|
|
136
|
-
/**
|
|
137
|
-
* API resource information for ServiceAccount.
|
|
138
|
-
*/
|
|
139
|
-
ApiResource.SERVICE_ACCOUNTS = new ApiResource({
|
|
140
|
-
apiGroup: '',
|
|
141
|
-
resourceType: 'serviceaccounts',
|
|
142
|
-
});
|
|
143
|
-
/**
|
|
144
|
-
* API resource information for Service.
|
|
145
|
-
*/
|
|
146
|
-
ApiResource.SERVICES = new ApiResource({
|
|
147
|
-
apiGroup: '',
|
|
148
|
-
resourceType: 'services',
|
|
149
|
-
});
|
|
150
|
-
/**
|
|
151
|
-
* API resource information for MutatingWebhookConfiguration.
|
|
152
|
-
*/
|
|
153
|
-
ApiResource.MUTATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
|
|
154
|
-
apiGroup: 'admissionregistration.k8s.io',
|
|
155
|
-
resourceType: 'mutatingwebhookconfigurations',
|
|
156
|
-
});
|
|
157
|
-
/**
|
|
158
|
-
* API resource information for ValidatingWebhookConfiguration.
|
|
159
|
-
*/
|
|
160
|
-
ApiResource.VALIDATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
|
|
161
|
-
apiGroup: 'admissionregistration.k8s.io',
|
|
162
|
-
resourceType: 'validatingwebhookconfigurations',
|
|
163
|
-
});
|
|
164
|
-
/**
|
|
165
|
-
* API resource information for CustomResourceDefinition.
|
|
166
|
-
*/
|
|
167
|
-
ApiResource.CUSTOM_RESOURCE_DEFINITIONS = new ApiResource({
|
|
168
|
-
apiGroup: 'apiextensions.k8s.io',
|
|
169
|
-
resourceType: 'customresourcedefinitions',
|
|
170
|
-
});
|
|
171
|
-
/**
|
|
172
|
-
* API resource information for APIService.
|
|
173
|
-
*/
|
|
174
|
-
ApiResource.API_SERVICES = new ApiResource({
|
|
175
|
-
apiGroup: 'apiregistration.k8s.io',
|
|
176
|
-
resourceType: 'apiservices',
|
|
177
|
-
});
|
|
178
|
-
/**
|
|
179
|
-
* API resource information for ControllerRevision.
|
|
180
|
-
*/
|
|
181
|
-
ApiResource.CONTROLLER_REVISIONS = new ApiResource({
|
|
182
|
-
apiGroup: 'apps',
|
|
183
|
-
resourceType: 'controllerrevisions',
|
|
184
|
-
});
|
|
185
|
-
/**
|
|
186
|
-
* API resource information for DaemonSet.
|
|
187
|
-
*/
|
|
188
|
-
ApiResource.DAEMON_SETS = new ApiResource({
|
|
189
|
-
apiGroup: 'apps',
|
|
190
|
-
resourceType: 'daemonsets',
|
|
191
|
-
});
|
|
192
|
-
/**
|
|
193
|
-
* API resource information for Deployment.
|
|
194
|
-
*/
|
|
195
|
-
ApiResource.DEPLOYMENTS = new ApiResource({
|
|
196
|
-
apiGroup: 'apps',
|
|
197
|
-
resourceType: 'deployments',
|
|
198
|
-
});
|
|
199
|
-
/**
|
|
200
|
-
* API resource information for ReplicaSet.
|
|
201
|
-
*/
|
|
202
|
-
ApiResource.REPLICA_SETS = new ApiResource({
|
|
203
|
-
apiGroup: 'apps',
|
|
204
|
-
resourceType: 'replicasets',
|
|
205
|
-
});
|
|
206
|
-
/**
|
|
207
|
-
* API resource information for StatefulSet.
|
|
208
|
-
*/
|
|
209
|
-
ApiResource.STATEFUL_SETS = new ApiResource({
|
|
210
|
-
apiGroup: 'apps',
|
|
211
|
-
resourceType: 'statefulsets',
|
|
212
|
-
});
|
|
213
|
-
/**
|
|
214
|
-
* API resource information for TokenReview.
|
|
215
|
-
*/
|
|
216
|
-
ApiResource.TOKEN_REVIEWS = new ApiResource({
|
|
217
|
-
apiGroup: 'authentication.k8s.io',
|
|
218
|
-
resourceType: 'tokenreviews',
|
|
219
|
-
});
|
|
220
|
-
/**
|
|
221
|
-
* API resource information for LocalSubjectAccessReview.
|
|
222
|
-
*/
|
|
223
|
-
ApiResource.LOCAL_SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
224
|
-
apiGroup: 'authorization.k8s.io',
|
|
225
|
-
resourceType: 'localsubjectaccessreviews',
|
|
226
|
-
});
|
|
227
|
-
/**
|
|
228
|
-
* API resource information for SelfSubjectAccessReview.
|
|
229
|
-
*/
|
|
230
|
-
ApiResource.SELF_SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
231
|
-
apiGroup: 'authorization.k8s.io',
|
|
232
|
-
resourceType: 'selfsubjectaccessreviews',
|
|
233
|
-
});
|
|
234
|
-
/**
|
|
235
|
-
* API resource information for SelfSubjectRulesReview.
|
|
236
|
-
*/
|
|
237
|
-
ApiResource.SELF_SUBJECT_RULES_REVIEWS = new ApiResource({
|
|
238
|
-
apiGroup: 'authorization.k8s.io',
|
|
239
|
-
resourceType: 'selfsubjectrulesreviews',
|
|
240
|
-
});
|
|
241
|
-
/**
|
|
242
|
-
* API resource information for SubjectAccessReview.
|
|
243
|
-
*/
|
|
244
|
-
ApiResource.SUBJECT_ACCESS_REVIEWS = new ApiResource({
|
|
245
|
-
apiGroup: 'authorization.k8s.io',
|
|
246
|
-
resourceType: 'subjectaccessreviews',
|
|
247
|
-
});
|
|
248
|
-
/**
|
|
249
|
-
* API resource information for HorizontalPodAutoscaler.
|
|
250
|
-
*/
|
|
251
|
-
ApiResource.HORIZONTAL_POD_AUTOSCALERS = new ApiResource({
|
|
252
|
-
apiGroup: 'autoscaling',
|
|
253
|
-
resourceType: 'horizontalpodautoscalers',
|
|
254
|
-
});
|
|
255
|
-
/**
|
|
256
|
-
* API resource information for CronJob.
|
|
257
|
-
*/
|
|
258
|
-
ApiResource.CRON_JOBS = new ApiResource({
|
|
259
|
-
apiGroup: 'batch',
|
|
260
|
-
resourceType: 'cronjobs',
|
|
261
|
-
});
|
|
262
|
-
/**
|
|
263
|
-
* API resource information for Job.
|
|
264
|
-
*/
|
|
265
|
-
ApiResource.JOBS = new ApiResource({
|
|
266
|
-
apiGroup: 'batch',
|
|
267
|
-
resourceType: 'jobs',
|
|
268
|
-
});
|
|
269
|
-
/**
|
|
270
|
-
* API resource information for CertificateSigningRequest.
|
|
271
|
-
*/
|
|
272
|
-
ApiResource.CERTIFICATE_SIGNING_REQUESTS = new ApiResource({
|
|
273
|
-
apiGroup: 'certificates.k8s.io',
|
|
274
|
-
resourceType: 'certificatesigningrequests',
|
|
275
|
-
});
|
|
276
|
-
/**
|
|
277
|
-
* API resource information for Lease.
|
|
278
|
-
*/
|
|
279
|
-
ApiResource.LEASES = new ApiResource({
|
|
280
|
-
apiGroup: 'coordination.k8s.io',
|
|
281
|
-
resourceType: 'leases',
|
|
282
|
-
});
|
|
283
|
-
/**
|
|
284
|
-
* API resource information for EndpointSlice.
|
|
285
|
-
*/
|
|
286
|
-
ApiResource.ENDPOINT_SLICES = new ApiResource({
|
|
287
|
-
apiGroup: 'discovery.k8s.io',
|
|
288
|
-
resourceType: 'endpointslices',
|
|
289
|
-
});
|
|
290
|
-
/**
|
|
291
|
-
* API resource information for FlowSchema.
|
|
292
|
-
*/
|
|
293
|
-
ApiResource.FLOW_SCHEMAS = new ApiResource({
|
|
294
|
-
apiGroup: 'flowcontrol.apiserver.k8s.io',
|
|
295
|
-
resourceType: 'flowschemas',
|
|
296
|
-
});
|
|
297
|
-
/**
|
|
298
|
-
* API resource information for PriorityLevelConfiguration.
|
|
299
|
-
*/
|
|
300
|
-
ApiResource.PRIORITY_LEVEL_CONFIGURATIONS = new ApiResource({
|
|
301
|
-
apiGroup: 'flowcontrol.apiserver.k8s.io',
|
|
302
|
-
resourceType: 'prioritylevelconfigurations',
|
|
303
|
-
});
|
|
304
|
-
/**
|
|
305
|
-
* API resource information for IngressClass.
|
|
306
|
-
*/
|
|
307
|
-
ApiResource.INGRESS_CLASSES = new ApiResource({
|
|
308
|
-
apiGroup: 'networking.k8s.io',
|
|
309
|
-
resourceType: 'ingressclasses',
|
|
310
|
-
});
|
|
311
|
-
/**
|
|
312
|
-
* API resource information for Ingress.
|
|
313
|
-
*/
|
|
314
|
-
ApiResource.INGRESSES = new ApiResource({
|
|
315
|
-
apiGroup: 'networking.k8s.io',
|
|
316
|
-
resourceType: 'ingresses',
|
|
317
|
-
});
|
|
318
|
-
/**
|
|
319
|
-
* API resource information for NetworkPolicy.
|
|
320
|
-
*/
|
|
321
|
-
ApiResource.NETWORK_POLICIES = new ApiResource({
|
|
322
|
-
apiGroup: 'networking.k8s.io',
|
|
323
|
-
resourceType: 'networkpolicies',
|
|
324
|
-
});
|
|
325
|
-
/**
|
|
326
|
-
* API resource information for RuntimeClass.
|
|
327
|
-
*/
|
|
328
|
-
ApiResource.RUNTIME_CLASSES = new ApiResource({
|
|
329
|
-
apiGroup: 'node.k8s.io',
|
|
330
|
-
resourceType: 'runtimeclasses',
|
|
331
|
-
});
|
|
332
|
-
/**
|
|
333
|
-
* API resource information for PodDisruptionBudget.
|
|
334
|
-
*/
|
|
335
|
-
ApiResource.POD_DISRUPTION_BUDGETS = new ApiResource({
|
|
336
|
-
apiGroup: 'policy',
|
|
337
|
-
resourceType: 'poddisruptionbudgets',
|
|
338
|
-
});
|
|
339
|
-
/**
|
|
340
|
-
* API resource information for ClusterRoleBinding.
|
|
341
|
-
*/
|
|
342
|
-
ApiResource.CLUSTER_ROLE_BINDINGS = new ApiResource({
|
|
343
|
-
apiGroup: 'rbac.authorization.k8s.io',
|
|
344
|
-
resourceType: 'clusterrolebindings',
|
|
345
|
-
});
|
|
346
|
-
/**
|
|
347
|
-
* API resource information for ClusterRole.
|
|
348
|
-
*/
|
|
349
|
-
ApiResource.CLUSTER_ROLES = new ApiResource({
|
|
350
|
-
apiGroup: 'rbac.authorization.k8s.io',
|
|
351
|
-
resourceType: 'clusterroles',
|
|
352
|
-
});
|
|
353
|
-
/**
|
|
354
|
-
* API resource information for RoleBinding.
|
|
355
|
-
*/
|
|
356
|
-
ApiResource.ROLE_BINDINGS = new ApiResource({
|
|
357
|
-
apiGroup: 'rbac.authorization.k8s.io',
|
|
358
|
-
resourceType: 'rolebindings',
|
|
359
|
-
});
|
|
360
|
-
/**
|
|
361
|
-
* API resource information for Role.
|
|
362
|
-
*/
|
|
363
|
-
ApiResource.ROLES = new ApiResource({
|
|
364
|
-
apiGroup: 'rbac.authorization.k8s.io',
|
|
365
|
-
resourceType: 'roles',
|
|
366
|
-
});
|
|
367
|
-
/**
|
|
368
|
-
* API resource information for PriorityClass.
|
|
369
|
-
*/
|
|
370
|
-
ApiResource.PRIORITY_CLASSES = new ApiResource({
|
|
371
|
-
apiGroup: 'scheduling.k8s.io',
|
|
372
|
-
resourceType: 'priorityclasses',
|
|
373
|
-
});
|
|
374
|
-
/**
|
|
375
|
-
* API resource information for CSIDriver.
|
|
376
|
-
*/
|
|
377
|
-
ApiResource.CSI_DRIVERS = new ApiResource({
|
|
378
|
-
apiGroup: 'storage.k8s.io',
|
|
379
|
-
resourceType: 'csidrivers',
|
|
380
|
-
});
|
|
381
|
-
/**
|
|
382
|
-
* API resource information for CSINode.
|
|
383
|
-
*/
|
|
384
|
-
ApiResource.CSI_NODES = new ApiResource({
|
|
385
|
-
apiGroup: 'storage.k8s.io',
|
|
386
|
-
resourceType: 'csinodes',
|
|
387
|
-
});
|
|
388
|
-
/**
|
|
389
|
-
* API resource information for CSIStorageCapacity.
|
|
390
|
-
*/
|
|
391
|
-
ApiResource.CSI_STORAGE_CAPACITIES = new ApiResource({
|
|
392
|
-
apiGroup: 'storage.k8s.io',
|
|
393
|
-
resourceType: 'csistoragecapacities',
|
|
394
|
-
});
|
|
395
|
-
/**
|
|
396
|
-
* API resource information for StorageClass.
|
|
397
|
-
*/
|
|
398
|
-
ApiResource.STORAGE_CLASSES = new ApiResource({
|
|
399
|
-
apiGroup: 'storage.k8s.io',
|
|
400
|
-
resourceType: 'storageclasses',
|
|
401
|
-
});
|
|
402
|
-
/**
|
|
403
|
-
* API resource information for VolumeAttachment.
|
|
404
|
-
*/
|
|
405
|
-
ApiResource.VOLUME_ATTACHMENTS = new ApiResource({
|
|
406
|
-
apiGroup: 'storage.k8s.io',
|
|
407
|
-
resourceType: 'volumeattachments',
|
|
408
|
-
});
|
|
409
417
|
/**
|
|
410
418
|
* Factory for creating non api resources.
|
|
411
419
|
*/
|
|
412
420
|
class NonApiResource {
|
|
421
|
+
nonResourceUrl;
|
|
422
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-33.NonApiResource", version: "2.5.30" };
|
|
413
423
|
static of(url) {
|
|
414
424
|
return new NonApiResource(url);
|
|
415
425
|
}
|
|
@@ -425,6 +435,4 @@ class NonApiResource {
|
|
|
425
435
|
}
|
|
426
436
|
}
|
|
427
437
|
exports.NonApiResource = NonApiResource;
|
|
428
|
-
_b = JSII_RTTI_SYMBOL_1;
|
|
429
|
-
NonApiResource[_b] = { fqn: "cdk8s-plus-33.NonApiResource", version: "2.5.29" };
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTBEQTs7R0FFRztBQUNILE1BQWEsV0FBVztJQWlidEI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTJCO1FBQzlDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUFBLENBQUM7SUFjRixZQUFvQixPQUEyQjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQS9jSCxrQ0FnZEM7OztBQS9jQzs7R0FFRztBQUNvQixvQkFBUSxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2hELFFBQVEsRUFBRSxFQUFFO0lBQ1osWUFBWSxFQUFFLFVBQVU7Q0FDekIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDb0IsOEJBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDMUQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsbUJBQW1CO0NBQ2xDLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ29CLHVCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDbkQsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsWUFBWTtDQUMzQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNvQixxQkFBUyxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2pELFFBQVEsRUFBRSxFQUFFO0lBQ1osWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDb0Isa0JBQU0s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O0lBQzdCLENBQUM7O0FBZkgsd0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGEgcmVzb3VyY2Ugb3IgY29sbGVjdGlvbiBvZiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBncm91cCBwb3J0aW9uIG9mIHRoZSBBUEkgdmVyc2lvbiAoZS5nLiBgYXV0aG9yaXphdGlvbi5rOHMuaW9gKS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaUdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgcmVzb3VyY2UgdHlwZSBhcyBpdCBhcHBlYXJzIGluIHRoZSByZWxldmFudCBBUEkgZW5kcG9pbnQuXG4gICAqIEBleGFtcGxlIC0gXCJwb2RzXCIgb3IgXCJwb2RzL2xvZ1wiXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2FjY2Vzcy1hdXRobi1hdXRoei9yYmFjLyNyZWZlcnJpbmctdG8tcmVzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSwgbmFtZXNwYWNlLWdsb2JhbCwgbmFtZSBvZiBhbiBvYmplY3QgaW5zaWRlIHRoZSBLdWJlcm5ldGVzIGNsdXN0ZXIuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgb21pdHRlZCwgdGhlIEFwaVJlc291cmNlIHNob3VsZCByZXByZXNlbnQgYWxsIG9iamVjdHMgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZU5hbWU/OiBzdHJpbmc7XG59XG4vKipcbiAqIEFuIEFQSSBFbmRwb2ludCBjYW4gZWl0aGVyIGJlIGEgcmVzb3VyY2UgZGVzY3JpcHRvciAoZS5nIC9wb2RzKVxuICogb3IgYSBub24gcmVzb3VyY2UgdXJsIChlLmcgL2hlYWx0aHopLiBJdCBtdXN0IGJlIG9uZSBvciB0aGUgb3RoZXIsIGFuZCBub3QgYm90aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXBpRW5kcG9pbnQge1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIElBcGlSZXNvdXJjZSB0aGlzIG9iamVjdCByZXByZXNlbnRzLlxuICAgKi9cbiAgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbm9uIHJlc291cmNlIHVybCB0aGlzIG9iamVjdCByZXByZXNlbnRzLlxuICAgKi9cbiAgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQXBpUmVzb3VyY2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc291cmNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICByZWFkb25seSBhcGlHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UgdHlwZSBhcyBpdCBhcHBlYXJzIGluIHRoZSByZWxldmFudCBBUEkgZW5kcG9pbnQuXG4gICAqIEBleGFtcGxlIC0gXCJwb2RzXCIgb3IgXCJwb2RzL2xvZ1wiXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2FjY2Vzcy1hdXRobi1hdXRoei9yYmFjLyNyZWZlcnJpbmctdG8tcmVzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGFuIEFQSSByZXNvdXJjZSB0eXBlLlxuICovXG5leHBvcnQgY2xhc3MgQXBpUmVzb3VyY2UgaW1wbGVtZW50cyBJQXBpUmVzb3VyY2UsIElBcGlFbmRwb2ludCB7XG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJJTkRJTkdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnYmluZGluZ3MnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDb21wb25lbnRTdGF0dXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTVBPTkVOVF9TVEFUVVNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbXBvbmVudHN0YXR1c2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29uZmlnTWFwLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05GSUdfTUFQUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbmZpZ21hcHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFbmRwb2ludHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVORFBPSU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2VuZHBvaW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEV2ZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFVkVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdldmVudHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBMaW1pdFJhbmdlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU1JVF9SQU5HRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsaW1pdHJhbmdlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIE5hbWVzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFNRVNQQUNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ25hbWVzcGFjZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOb2RlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ25vZGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUGVyc2lzdGVudFZvbHVtZUNsYWltLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJTSVNURU5UX1ZPTFVNRV9DTEFJTVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lY2xhaW1zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUGVyc2lzdGVudFZvbHVtZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSU0lTVEVOVF9WT0xVTUVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncGVyc2lzdGVudHZvbHVtZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQb2QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPRFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwb2RzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kVGVtcGxhdGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPRF9URU1QTEFURVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwb2R0ZW1wbGF0ZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXBsaWNhdGlvbkNvbnRyb2xsZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUExJQ0FUSU9OX0NPTlRST0xMRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncmVwbGljYXRpb25jb250cm9sbGVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJlc291cmNlUXVvdGEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1FVT1RBUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3Jlc291cmNlcXVvdGFzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VjcmV0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUNSRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VjcmV0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlcnZpY2VBY2NvdW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVJWSUNFX0FDQ09VTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VydmljZWFjY291bnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzZXJ2aWNlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIE11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1VVEFUSU5HX1dFQkhPT0tfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbXV0YXRpbmd3ZWJob29rY29uZmlndXJhdGlvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBWYWxpZGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZBTElEQVRJTkdfV0VCSE9PS19DT05GSUdVUkFUSU9OUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhZG1pc3Npb25yZWdpc3RyYXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICd2YWxpZGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDVVNUT01fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBpZXh0ZW5zaW9ucy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2N1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBBUElTZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBUElfU0VSVklDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBpcmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnYXBpc2VydmljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDb250cm9sbGVyUmV2aXNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRST0xMRVJfUkVWSVNJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ2NvbnRyb2xsZXJyZXZpc2lvbnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBEYWVtb25TZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBRU1PTl9TRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ2RhZW1vbnNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBEZXBsb3ltZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERVBMT1lNRU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdkZXBsb3ltZW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJlcGxpY2FTZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUExJQ0FfU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdyZXBsaWNhc2V0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFN0YXRlZnVsU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFURUZVTF9TRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHJlc291cmNlVHlwZTogJ3N0YXRlZnVsc2V0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFRva2VuUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUT0tFTl9SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhlbnRpY2F0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAndG9rZW5yZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTG9jYWxTdWJqZWN0QWNjZXNzUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMT0NBTF9TVUJKRUNUX0FDQ0VTU19SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsb2NhbHN1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VsZlN1YmplY3RBY2Nlc3NSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VsZnN1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU2VsZlN1YmplY3RSdWxlc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VMRl9TVUJKRUNUX1JVTEVTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3NlbGZzdWJqZWN0cnVsZXNyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU3ViamVjdEFjY2Vzc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc3ViamVjdGFjY2Vzc3Jldmlld3MnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBIb3Jpem9udGFsUG9kQXV0b3NjYWxlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSE9SSVpPTlRBTF9QT0RfQVVUT1NDQUxFUlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0b3NjYWxpbmcnLFxuICAgIHJlc291cmNlVHlwZTogJ2hvcml6b250YWxwb2RhdXRvc2NhbGVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENyb25Kb2IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENST05fSk9CUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdiYXRjaCcsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3JvbmpvYnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBKb2IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEpPQlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHJlc291cmNlVHlwZTogJ2pvYnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRVJUSUZJQ0FURV9TSUdOSU5HX1JFUVVFU1RTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2NlcnRpZmljYXRlcy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NlcnRpZmljYXRlc2lnbmluZ3JlcXVlc3RzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTGVhc2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExFQVNFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdjb29yZGluYXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdsZWFzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFbmRwb2ludFNsaWNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTkRQT0lOVF9TTElDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZGlzY292ZXJ5Lms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZW5kcG9pbnRzbGljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBGbG93U2NoZW1hLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGTE9XX1NDSEVNQVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZmxvd2NvbnRyb2wuYXBpc2VydmVyLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZmxvd3NjaGVtYXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQcmlvcml0eUxldmVsQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJJT1JJVFlfTEVWRUxfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnZmxvd2NvbnRyb2wuYXBpc2VydmVyLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncHJpb3JpdHlsZXZlbGNvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSW5ncmVzc0NsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkdSRVNTX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnbmV0d29ya2luZy5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2luZ3Jlc3NjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSW5ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5HUkVTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdpbmdyZXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOZXR3b3JrUG9saWN5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBORVRXT1JLX1BPTElDSUVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICduZXR3b3JrcG9saWNpZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSdW50aW1lQ2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJVTlRJTUVfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdub2RlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncnVudGltZWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQb2REaXNydXB0aW9uQnVkZ2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RfRElTUlVQVElPTl9CVURHRVRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3BvbGljeScsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kZGlzcnVwdGlvbmJ1ZGdldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDbHVzdGVyUm9sZUJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENMVVNURVJfUk9MRV9CSU5ESU5HUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjbHVzdGVycm9sZWJpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2x1c3RlclJvbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENMVVNURVJfUk9MRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY2x1c3RlcnJvbGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUm9sZUJpbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJPTEVfQklORElOR1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncm9sZWJpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUm9sZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUk9MRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncm9sZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBQcmlvcml0eUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUklPUklUWV9DTEFTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3NjaGVkdWxpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdwcmlvcml0eWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDU0lEcml2ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9EUklWRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjc2lkcml2ZXJzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ1NJTm9kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1NJX05PREVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjc2lub2RlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENTSVN0b3JhZ2VDYXBhY2l0eS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1NJX1NUT1JBR0VfQ0FQQUNJVElFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3Npc3RvcmFnZWNhcGFjaXRpZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTdG9yYWdlQ2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNUT1JBR0VfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc3RvcmFnZWNsYXNzZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBWb2x1bWVBdHRhY2htZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWT0xVTUVfQVRUQUNITUVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3ZvbHVtZWF0dGFjaG1lbnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgYSBjdXN0b20gcmVzb3VyY2UgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY3VzdG9tKG9wdGlvbnM6IEFwaVJlc291cmNlT3B0aW9ucyk6IEFwaVJlc291cmNlIHtcbiAgICByZXR1cm4gbmV3IEFwaVJlc291cmNlKG9wdGlvbnMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Iob3B0aW9uczogQXBpUmVzb3VyY2VPcHRpb25zKSB7XG4gICAgdGhpcy5hcGlHcm91cCA9IG9wdGlvbnMuYXBpR3JvdXA7XG4gICAgdGhpcy5yZXNvdXJjZVR5cGUgPSBvcHRpb25zLnJlc291cmNlVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBhc0FwaVJlc291cmNlKCk6IElBcGlSZXNvdXJjZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBjcmVhdGluZyBub24gYXBpIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vbkFwaVJlc291cmNlIGltcGxlbWVudHMgSUFwaUVuZHBvaW50IHtcblxuICBwdWJsaWMgc3RhdGljIG9mKHVybDogc3RyaW5nKTogTm9uQXBpUmVzb3VyY2Uge1xuICAgIHJldHVybiBuZXcgTm9uQXBpUmVzb3VyY2UodXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBub25SZXNvdXJjZVVybDogc3RyaW5nKSB7fTtcblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgYXNOb25BcGlSZXNvdXJjZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXG4gICAgcmV0dXJuIHRoaXMubm9uUmVzb3VyY2VVcmw7XG4gIH1cbn0iXX0=
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBMERBOztHQUVHO0FBQ0gsTUFBYSxXQUFXOztJQUN0Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDaEQsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsVUFBVTtLQUN6QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUMxRCxRQUFRLEVBQUUsRUFBRTtRQUNaLFlBQVksRUFBRSxtQkFBbUI7S0FDbEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ25ELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFdBQVc7S0FDMUIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzlDLFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFFBQVE7S0FDdkIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3BELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLGFBQWE7S0FDNUIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsVUFBVSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2xELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FB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RWpDOzs7O09BSUc7SUFDYSxZQUFZLENBQVM7SUFFckMsWUFBb0IsT0FBMkI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7QUEvY0gsa0NBZ2RDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFNWTs7SUFKOUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQXFDLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQUcsQ0FBQztJQUFBLENBQUM7SUFFekQsYUFBYTtRQUNsQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sZ0JBQWdCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQWZILHdDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyBhIHJlc291cmNlIG9yIGNvbGxlY3Rpb24gb2YgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcGlSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICByZWFkb25seSBhcGlHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUsIG5hbWVzcGFjZS1nbG9iYWwsIG5hbWUgb2YgYW4gb2JqZWN0IGluc2lkZSB0aGUgS3ViZXJuZXRlcyBjbHVzdGVyLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIG9taXR0ZWQsIHRoZSBBcGlSZXNvdXJjZSBzaG91bGQgcmVwcmVzZW50IGFsbCBvYmplY3RzIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBBbiBBUEkgRW5kcG9pbnQgY2FuIGVpdGhlciBiZSBhIHJlc291cmNlIGRlc2NyaXB0b3IgKGUuZyAvcG9kcylcbiAqIG9yIGEgbm9uIHJlc291cmNlIHVybCAoZS5nIC9oZWFsdGh6KS4gSXQgbXVzdCBiZSBvbmUgb3IgdGhlIG90aGVyLCBhbmQgbm90IGJvdGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaUVuZHBvaW50IHtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBJQXBpUmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5vbiByZXNvdXJjZSB1cmwgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEFwaVJlc291cmNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNvdXJjZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBpbmZvcm1hdGlvbiBhYm91dCBhbiBBUEkgcmVzb3VyY2UgdHlwZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaVJlc291cmNlIGltcGxlbWVudHMgSUFwaVJlc291cmNlLCBJQXBpRW5kcG9pbnQge1xuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCSU5ESU5HUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2JpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29tcG9uZW50U3RhdHVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT01QT05FTlRfU1RBVFVTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb21wb25lbnRzdGF0dXNlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENvbmZpZ01hcC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09ORklHX01BUFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb25maWdtYXBzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTkRQT0lOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdlbmRwb2ludHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFdmVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRVZFTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZXZlbnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTGltaXRSYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElNSVRfUkFOR0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGltaXRyYW5nZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOYW1lc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUVTUEFDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTm9kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdub2RlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWVDbGFpbS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBFUlNJU1RFTlRfVk9MVU1FUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3BlcnNpc3RlbnR2b2x1bWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBvZFRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RfVEVNUExBVEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kdGVtcGxhdGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUmVwbGljYXRpb25Db250cm9sbGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBVElPTl9DT05UUk9MTEVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3JlcGxpY2F0aW9uY29udHJvbGxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXNvdXJjZVF1b3RhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9RVU9UQVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdyZXNvdXJjZXF1b3RhcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlY3JldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VDUkVUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlY3JldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTZXJ2aWNlQWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9BQ0NPVU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlcnZpY2VhY2NvdW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VydmljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNVVRBVElOR19XRUJIT09LX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ211dGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWQUxJREFUSU5HX1dFQkhPT0tfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAndmFsaWRhdGluZ3dlYmhvb2tjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX1JFU09VUkNFX0RFRklOSVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaWV4dGVuc2lvbnMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQVBJU2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVBJX1NFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaXJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2FwaXNlcnZpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29udHJvbGxlclJldmlzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05UUk9MTEVSX1JFVklTSU9OUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb250cm9sbGVycmV2aXNpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGFlbW9uU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQUVNT05fU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdkYWVtb25zZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGVwbG95bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVQTE9ZTUVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZGVwbG95bWVudHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXBsaWNhU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBX1NFVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAncmVwbGljYXNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTdGF0ZWZ1bFNldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RBVEVGVUxfU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBUb2tlblJldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVE9LRU5fUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRoZW50aWNhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3Rva2VucmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExvY2FsU3ViamVjdEFjY2Vzc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTE9DQUxfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbG9jYWxzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUxGX1NVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0UnVsZXNSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFTEZfU1VCSkVDVF9SVUxFU19SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzZWxmc3ViamVjdHJ1bGVzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFN1YmplY3RBY2Nlc3NSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICByZXNvdXJjZVR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDcm9uSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDUk9OX0pPQlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHJlc291cmNlVHlwZTogJ2Nyb25qb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBKT0JTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICByZXNvdXJjZVR5cGU6ICdqb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0VSVElGSUNBVEVfU0lHTklOR19SRVFVRVNUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdjZXJ0aWZpY2F0ZXMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjZXJ0aWZpY2F0ZXNpZ25pbmdyZXF1ZXN0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExlYXNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMRUFTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnY29vcmRpbmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGVhc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRTbGljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU5EUE9JTlRfU0xJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Rpc2NvdmVyeS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2VuZHBvaW50c2xpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRmxvd1NjaGVtYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRkxPV19TQ0hFTUFTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2Zsb3dzY2hlbWFzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlMZXZlbENvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBSSU9SSVRZX0xFVkVMX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3ByaW9yaXR5bGV2ZWxjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3NDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5HUkVTU19DTEFTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdpbmdyZXNzY2xhc3NlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOR1JFU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnaW5ncmVzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTmV0d29ya1BvbGljeS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkVUV09SS19QT0xJQ0lFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbmV0d29ya3BvbGljaWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUnVudGltZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSVU5USU1FX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnbm9kZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3J1bnRpbWVjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kRGlzcnVwdGlvbkJ1ZGdldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUE9EX0RJU1JVUFRJT05fQlVER0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdwb2xpY3knLFxuICAgIHJlc291cmNlVHlwZTogJ3BvZGRpc3J1cHRpb25idWRnZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2x1c3RlclJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVfQklORElOR1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY2x1c3RlcnJvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENsdXN0ZXJSb2xlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NsdXN0ZXJyb2xlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBST0xFX0JJTkRJTkdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJJT1JJVFlfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzY2hlZHVsaW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncHJpb3JpdHljbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ1NJRHJpdmVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDU0lfRFJJVkVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3NpZHJpdmVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENTSU5vZGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9OT0RFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3Npbm9kZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDU0lTdG9yYWdlQ2FwYWNpdHkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9TVE9SQUdFX0NBUEFDSVRJRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NzaXN0b3JhZ2VjYXBhY2l0aWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU3RvcmFnZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVE9SQUdFX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVm9sdW1lQXR0YWNobWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0FUVEFDSE1FTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICd2b2x1bWVhdHRhY2htZW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIGEgY3VzdG9tIHJlc291cmNlIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShvcHRpb25zOiBBcGlSZXNvdXJjZU9wdGlvbnMpOiBBcGlSZXNvdXJjZSB7XG4gICAgcmV0dXJuIG5ldyBBcGlSZXNvdXJjZShvcHRpb25zKTtcbiAgfTtcblxuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwaUdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0eXBlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIHJlbGV2YW50IEFQSSBlbmRwb2ludC5cbiAgICogQGV4YW1wbGUgLSBcInBvZHNcIiBvciBcInBvZHMvbG9nXCJcbiAgICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvYWNjZXNzLWF1dGhuLWF1dGh6L3JiYWMvI3JlZmVycmluZy10by1yZXNvdXJjZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFwaVJlc291cmNlT3B0aW9ucykge1xuICAgIHRoaXMuYXBpR3JvdXAgPSBvcHRpb25zLmFwaUdyb3VwO1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gb3B0aW9ucy5yZXNvdXJjZVR5cGU7XG4gIH1cblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgbm9uIGFwaSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb25BcGlSZXNvdXJjZSBpbXBsZW1lbnRzIElBcGlFbmRwb2ludCB7XG5cbiAgcHVibGljIHN0YXRpYyBvZih1cmw6IHN0cmluZyk6IE5vbkFwaVJlc291cmNlIHtcbiAgICByZXR1cm4gbmV3IE5vbkFwaVJlc291cmNlKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbm9uUmVzb3VyY2VVcmw6IHN0cmluZykge307XG5cbiAgcHVibGljIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICAgIHJldHVybiB0aGlzLm5vblJlc291cmNlVXJsO1xuICB9XG59Il19
|