@pipeline-builder/api-core 5.2.6 → 5.2.7
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/lib/constants/ai-providers.js +1 -1
- package/lib/constants/http-status.js +1 -1
- package/lib/constants/index.js +1 -1
- package/lib/constants/time.js +1 -1
- package/lib/errors/app-errors.js +1 -1
- package/lib/errors/index.js +1 -1
- package/lib/helpers/access-helpers.d.ts +19 -0
- package/lib/helpers/access-helpers.js +24 -4
- package/lib/helpers/content-disposition.js +1 -1
- package/lib/helpers/crud-helpers.js +1 -1
- package/lib/helpers/index.d.ts +1 -1
- package/lib/helpers/index.js +2 -2
- package/lib/helpers/org-hierarchy-http.js +1 -1
- package/lib/helpers/org-hierarchy.js +1 -1
- package/lib/helpers/restore-helpers.js +1 -1
- package/lib/helpers/sse-helpers.js +13 -2
- package/lib/helpers/support-calendar.js +1 -1
- package/lib/index.js +1 -1
- package/lib/middleware/ask-provenance.js +1 -1
- package/lib/middleware/assurance.js +1 -1
- package/lib/middleware/auth.js +1 -1
- package/lib/middleware/deferred-quota-check.js +1 -1
- package/lib/middleware/ecosystem-guard.js +1 -1
- package/lib/middleware/index.js +1 -1
- package/lib/middleware/jwt-verify.js +1 -1
- package/lib/middleware/mongo-sanitize.js +1 -1
- package/lib/middleware/on-behalf.js +1 -1
- package/lib/middleware/permission-gates.js +1 -1
- package/lib/middleware/quota-exempt-routes.js +1 -1
- package/lib/middleware/revocation.js +1 -1
- package/lib/middleware/route-table.js +16 -1
- package/lib/middleware/service-tokens.js +1 -1
- package/lib/middleware/step-up.js +1 -1
- package/lib/middleware/system-org.d.ts +18 -5
- package/lib/middleware/system-org.js +19 -6
- package/lib/openapi/extend-zod.js +1 -1
- package/lib/openapi/index.js +1 -1
- package/lib/openapi/registry.js +1 -1
- package/lib/openapi/routes/ask-routes.js +1 -1
- package/lib/openapi/routes/billing-routes.js +1 -1
- package/lib/openapi/routes/image-registry-routes.js +1 -1
- package/lib/openapi/routes/index.js +1 -1
- package/lib/openapi/routes/message-routes.js +1 -1
- package/lib/openapi/routes/pipeline-routes.js +1 -1
- package/lib/openapi/routes/pipeline-template-routes.js +1 -1
- package/lib/openapi/routes/plugin-routes.js +1 -1
- package/lib/openapi/routes/quota-routes.js +1 -1
- package/lib/openapi/schema-registry.js +1 -1
- package/lib/routes/health.js +1 -1
- package/lib/routes/index.js +1 -1
- package/lib/services/ai-call-weight.js +1 -1
- package/lib/services/alert-delivery.js +1 -1
- package/lib/services/api-key-exchange.js +1 -1
- package/lib/services/audit-context.js +1 -1
- package/lib/services/audit-spool.js +1 -1
- package/lib/services/cache-service.js +1 -1
- package/lib/services/circuit-breaker.js +1 -1
- package/lib/services/compliance-client.js +1 -1
- package/lib/services/compliance-event-subscriber.js +1 -1
- package/lib/services/durable-event-bus.js +1 -1
- package/lib/services/ecosystem-notify-client.d.ts +7 -1
- package/lib/services/ecosystem-notify-client.js +9 -3
- package/lib/services/entity-events.js +1 -1
- package/lib/services/env-redis.js +1 -1
- package/lib/services/http-client.js +19 -3
- package/lib/services/index.d.ts +1 -1
- package/lib/services/index.js +2 -2
- package/lib/services/jwks-cache.js +1 -1
- package/lib/services/leader-lock.js +1 -1
- package/lib/services/notification-channels.js +1 -1
- package/lib/services/org-ai-client.js +1 -1
- package/lib/services/pagerduty-inbound.js +1 -1
- package/lib/services/pagerduty.js +1 -1
- package/lib/services/quota-increment-batcher.js +1 -1
- package/lib/services/quota.js +1 -1
- package/lib/services/remote-audit-client.js +1 -1
- package/lib/services/retry-forever.js +1 -1
- package/lib/services/retry-strategy.js +1 -1
- package/lib/services/s3-client.js +1 -1
- package/lib/services/scheduler.js +1 -1
- package/lib/services/service-boot.js +1 -1
- package/lib/services/service-keys.js +2 -2
- package/lib/services/sse-ticket-store.js +1 -1
- package/lib/services/system-notification.js +1 -1
- package/lib/services/token-revocation.js +1 -1
- package/lib/services/version-vuln-policy.d.ts +11 -0
- package/lib/services/version-vuln-policy.js +33 -7
- package/lib/types/ai-catalog.js +1 -1
- package/lib/types/ask-proposals.d.ts +23 -0
- package/lib/types/ask-proposals.js +29 -1
- package/lib/types/audit-events.js +1 -1
- package/lib/types/build-catalog.d.ts +65 -0
- package/lib/types/build-catalog.js +95 -1
- package/lib/types/catalog-metadata.js +1 -1
- package/lib/types/common.js +1 -1
- package/lib/types/compliance-exemption.js +1 -1
- package/lib/types/ecosystem-notifications.d.ts +9 -0
- package/lib/types/ecosystem-notifications.js +15 -6
- package/lib/types/ecosystem.d.ts +1 -6
- package/lib/types/ecosystem.js +18 -5
- package/lib/types/error-codes.js +1 -1
- package/lib/types/feature-flags.d.ts +17 -1
- package/lib/types/feature-flags.js +1 -1
- package/lib/types/http.js +1 -1
- package/lib/types/index.d.ts +3 -3
- package/lib/types/index.js +4 -4
- package/lib/types/metadata-keys.js +1 -1
- package/lib/types/permissions.d.ts +60 -13
- package/lib/types/permissions.js +63 -14
- package/lib/types/pipeline-template.js +1 -1
- package/lib/types/pipeline.js +1 -1
- package/lib/types/plugin-catalog.js +1 -1
- package/lib/types/plugin-health.js +1 -1
- package/lib/types/plugin-scan.d.ts +69 -0
- package/lib/types/plugin-scan.js +77 -1
- package/lib/types/quota-catalog.js +15 -2
- package/lib/types/quota-tiers.d.ts +27 -160
- package/lib/types/quota-tiers.js +47 -255
- package/lib/types/remote-audit-actions.d.ts +1 -1
- package/lib/types/remote-audit-actions.js +9 -1
- package/lib/types/reserved-tags.js +1 -1
- package/lib/types/tier-limits.d.ts +210 -0
- package/lib/types/tier-limits.js +254 -0
- package/lib/types/usage-projection.js +1 -1
- package/lib/types/visibility.js +1 -1
- package/lib/types/wire-vocabulary.d.ts +7 -0
- package/lib/types/wire-vocabulary.js +7 -1
- package/lib/utils/alias-resolver.js +1 -1
- package/lib/utils/api-key.js +1 -1
- package/lib/utils/audit.js +1 -1
- package/lib/utils/aws-scrub.js +1 -1
- package/lib/utils/compliance-attributes.js +1 -1
- package/lib/utils/concurrency-gate.d.ts +98 -0
- package/lib/utils/concurrency-gate.js +110 -0
- package/lib/utils/concurrency.js +1 -1
- package/lib/utils/crash-handlers.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/dsse.js +1 -1
- package/lib/utils/env.d.ts +11 -0
- package/lib/utils/env.js +14 -1
- package/lib/utils/headers.js +1 -1
- package/lib/utils/identity.js +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -1
- package/lib/utils/jwk.js +2 -2
- package/lib/utils/logger.js +1 -1
- package/lib/utils/metric-emitter.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/plugin-compliance.d.ts +9 -1
- package/lib/utils/plugin-compliance.js +1 -1
- package/lib/utils/proof-of-work.js +1 -1
- package/lib/utils/response.js +1 -1
- package/lib/utils/retention.js +1 -1
- package/lib/utils/safe-require.js +1 -1
- package/lib/utils/secret-encryption.js +1 -1
- package/lib/utils/secret-rotation.js +1 -1
- package/lib/utils/secure-compare.js +1 -1
- package/lib/utils/sensitive-patterns.js +1 -1
- package/lib/utils/service-registry.js +1 -1
- package/lib/utils/ssrf.js +1 -1
- package/lib/validation/ai-schemas.js +1 -1
- package/lib/validation/common-schemas.js +1 -1
- package/lib/validation/dockerfile-static.js +1 -1
- package/lib/validation/index.d.ts +1 -1
- package/lib/validation/index.js +2 -2
- package/lib/validation/message-schemas.d.ts +73 -0
- package/lib/validation/message-schemas.js +63 -2
- package/lib/validation/middleware.js +1 -1
- package/lib/validation/pipeline-schemas.js +1 -1
- package/lib/validation/pipeline-template-schemas.js +1 -1
- package/lib/validation/plugin-base-images.js +1 -1
- package/lib/validation/plugin-catalog-detect.js +1 -1
- package/lib/validation/plugin-catalog-metadata.js +1 -1
- package/lib/validation/plugin-heuristics.js +1 -1
- package/lib/validation/plugin-lint.js +1 -1
- package/lib/validation/plugin-name-confusable.js +1 -1
- package/lib/validation/plugin-schemas.js +1 -1
- package/lib/validation/plugin-spec-schema.js +1 -1
- package/lib/validation/plugin-template-contract.js +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* A tier key as product copy: `developer` → "Developer", `pro_plus` → "Pro Plus".
|
|
5
|
+
*
|
|
6
|
+
* Lives here, with the other tier facts, because three callers want it: the
|
|
7
|
+
* default `QUOTA_TIERS` label, the shared test fixture's labels (which kept a
|
|
8
|
+
* second `titleCase` of its own), and the browser.
|
|
9
|
+
*
|
|
10
|
+
* It will NOT guess at an acronym (`sso` → "Sso") or a stylized name ("Pro+"),
|
|
11
|
+
* and deliberately takes no formatting options: the cases it cannot derive need
|
|
12
|
+
* a human writing copy, which is what `QUOTA_TIER_<TIER>_LABEL` is for. A mode
|
|
13
|
+
* flag would add surface without reaching any of them, and a mid-sentence phrase
|
|
14
|
+
* ("… — new version") is a different FACT from a standalone label rather than
|
|
15
|
+
* another style of one — `quota-catalog.ts` carries `label` and `labelPlural` as
|
|
16
|
+
* separate named fields for exactly that reason.
|
|
17
|
+
*/
|
|
18
|
+
export function tierLabel(tier) {
|
|
19
|
+
return tier
|
|
20
|
+
.split(/[_-]/)
|
|
21
|
+
.filter(Boolean)
|
|
22
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
23
|
+
.join(' ');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Preset limits for each tier. -1 means unlimited.
|
|
27
|
+
*
|
|
28
|
+
* AI calls are sized much smaller than `apiCalls` because each call has
|
|
29
|
+
* external provider cost (~$0.01$0.10/call). Developer tier allows light
|
|
30
|
+
* exploration (50/period); Pro lifts to 2,500; Enterprise is capped high
|
|
31
|
+
* (25,000) — fair-use, not literally unlimited.
|
|
32
|
+
*
|
|
33
|
+
* `storageBytes` is the aggregate registry cap per org. Sized
|
|
34
|
+
* around plugin-image realities: a typical plugin image is 200500 MB;
|
|
35
|
+
* Developer's 2 GB holds ~4 versions × ~500 MB, Pro's 25 GB covers a
|
|
36
|
+
* mature catalog. Operators can override per-org via the quota CRUD API.
|
|
37
|
+
*/
|
|
38
|
+
const GB = 1024 * 1024 * 1024;
|
|
39
|
+
/**
|
|
40
|
+
* How the `automationCalls` defaults are sized — written down so the next
|
|
41
|
+
* person to touch them argues with the arithmetic, not with the numbers.
|
|
42
|
+
*
|
|
43
|
+
* Every call an org's automation keys make in one pipeline RUN, itemized (the
|
|
44
|
+
* earlier sizing counted only the plugin lookups and hand-waved the rest as
|
|
45
|
+
* "×2"):
|
|
46
|
+
*
|
|
47
|
+
* plugin lookups 12 one per plugin step (self-mutating pipeline)
|
|
48
|
+
* synth 1 the synth step fetching the pipeline config
|
|
49
|
+
* runtime check 1 the pre-deploy runtime-check call
|
|
50
|
+
* security-report upload 1 the scan step posting its report
|
|
51
|
+
* registry register 1 pipeline-register stamping the deployed version
|
|
52
|
+
* reporting ingest batches 12 the event forwarder posts ~one batch per action
|
|
53
|
+
* --
|
|
54
|
+
* 28 calls per run
|
|
55
|
+
*
|
|
56
|
+
* Per default period (`QUOTA_RESET_DAYS`, 3 days) one active pipeline running
|
|
57
|
+
* hourly makes 28 × 24 × 3 = 2,016 calls. An org keeps far more pipelines alive
|
|
58
|
+
* than it CREATES in a period (`pipelines` is a creation rate), so active
|
|
59
|
+
* pipelines are taken as 4× the tier's `pipelines`. On top sits a per-ORG
|
|
60
|
+
* constant that does not scale with pipelines: the ingest-health heartbeat
|
|
61
|
+
* (≤ 1/minute → 1,440/day → 4,320/period). The sum gets 25% headroom (retries,
|
|
62
|
+
* registry pushes, ad-hoc CI scripts on keys) and rounds UP to the next 10,000:
|
|
63
|
+
*
|
|
64
|
+
* developer 2×4×2016 + 4320 = 20,448 × 1.25 = 25,560 → 30,000
|
|
65
|
+
* pro 5×4×2016 + 4320 = 44,640 × 1.25 = 55,800 → 60,000
|
|
66
|
+
* team 10×4×2016 + 4320 = 84,960 × 1.25 = 106,200 → 110,000
|
|
67
|
+
* business 20×4×2016 + 4320 = 165,600 × 1.25 = 207,000 → 210,000
|
|
68
|
+
* enterprise 30×4×2016 + 4320 = 246,240 × 1.25 = 307,800 → 310,000
|
|
69
|
+
*
|
|
70
|
+
* {@link automationCallsFor} computes exactly this, and the tier tests hold the
|
|
71
|
+
* table to it. Over the cap the 429 is SOFT for a band ({@link quotaGracePct}):
|
|
72
|
+
* a self-mutating pipeline that hard-stopped at 100% stayed stopped until the
|
|
73
|
+
* period reset, up to 3 days. The limits are PER PERIOD: an operator who
|
|
74
|
+
* lengthens `QUOTA_RESET_DAYS` should scale `QUOTA_TIER_<TIER>_AUTOMATION_CALLS`
|
|
75
|
+
* by the same factor.
|
|
76
|
+
*/
|
|
77
|
+
export const AUTOMATION_CALLS_SIZING = {
|
|
78
|
+
callsPerRun: {
|
|
79
|
+
pluginLookups: 12,
|
|
80
|
+
synth: 1,
|
|
81
|
+
runtimeCheck: 1,
|
|
82
|
+
securityReportUpload: 1,
|
|
83
|
+
registryRegister: 1,
|
|
84
|
+
ingestBatches: 12,
|
|
85
|
+
},
|
|
86
|
+
runsPerDay: 24,
|
|
87
|
+
activePipelinesPerCreation: 4,
|
|
88
|
+
/** Ingest-health heartbeats per org per day (≤ one a minute). */
|
|
89
|
+
heartbeatsPerDay: 1440,
|
|
90
|
+
/** Multiplier on the itemized total. */
|
|
91
|
+
headroom: 1.25,
|
|
92
|
+
/** Defaults round UP to a multiple of this. */
|
|
93
|
+
roundTo: 10_000,
|
|
94
|
+
};
|
|
95
|
+
/** The {@link AUTOMATION_CALLS_SIZING} formula for a tier creating `pipelines` per period. */
|
|
96
|
+
export function automationCallsFor(pipelines, periodDays = 3) {
|
|
97
|
+
const s = AUTOMATION_CALLS_SIZING;
|
|
98
|
+
const perRun = Object.values(s.callsPerRun).reduce((a, b) => a + b, 0);
|
|
99
|
+
const perPipeline = perRun * s.runsPerDay * periodDays;
|
|
100
|
+
const total = (pipelines * s.activePipelinesPerCreation * perPipeline + s.heartbeatsPerDay * periodDays) * s.headroom;
|
|
101
|
+
return Math.ceil(total / s.roundTo) * s.roundTo;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Code-default limits per tier — the fallback when no env override is set.
|
|
105
|
+
*
|
|
106
|
+
* SERVER CODE WANTS `getTierLimits(tier)` / `QUOTA_TIERS[tier].limits`, not this
|
|
107
|
+
* table: those carry the deployment's `QUOTA_TIER_*` overrides, and this is what
|
|
108
|
+
* they fall back to. It is exported for the BROWSER, which has no env to overlay
|
|
109
|
+
* and gets the deployment's effective figures from `/config` instead.
|
|
110
|
+
* -1 means unlimited. (Counts sized to "comfortably enough for one team, not
|
|
111
|
+
* script spam": 20 dashboards, 50 alert rules, 10 destinations, 1 IdP config
|
|
112
|
+
* for Developer; scaled up for Pro; -1 (uncapped) for the cheap count-quotas
|
|
113
|
+
* on Team/Enterprise while cost-driving quotas — incl. apiCalls — stay finite.)
|
|
114
|
+
*/
|
|
115
|
+
export const DEFAULT_TIER_LIMITS = {
|
|
116
|
+
// Free tier: single seat, 2 pipelines, apiCalls CAPPED (was unlimited — a
|
|
117
|
+
// DoS/abuse hole on a shared resource); aiCalls small (each has ~$0.01-0.10
|
|
118
|
+
// external cost). Lean base — growth happens by upgrading, not stacking here.
|
|
119
|
+
developer: {
|
|
120
|
+
plugins: 10,
|
|
121
|
+
pipelines: 2,
|
|
122
|
+
apiCalls: 25_000,
|
|
123
|
+
automationCalls: 30_000,
|
|
124
|
+
aiCalls: 20,
|
|
125
|
+
cpuCredits: 4_500,
|
|
126
|
+
storageBytes: 2 * GB,
|
|
127
|
+
dashboards: 20,
|
|
128
|
+
alertRules: 50,
|
|
129
|
+
alertDestinations: 10,
|
|
130
|
+
idpConfigs: 1,
|
|
131
|
+
listings: 3,
|
|
132
|
+
seats: 1,
|
|
133
|
+
supportContacts: 0,
|
|
134
|
+
supportPremiumContacts: 0,
|
|
135
|
+
eventRetentionDays: 30,
|
|
136
|
+
doraRetentionDays: 180,
|
|
137
|
+
},
|
|
138
|
+
// Pro = individual power user, single seat, individual pricing. A 2nd seat (or
|
|
139
|
+
// team collaboration) requires the Team tier — the `seat` add-on is Team+ only,
|
|
140
|
+
// keeping Team the collaboration tier. Pro's value over Developer is its richer
|
|
141
|
+
// call/storage/plugin ceilings + feature add-ons (SSO/audit/DORA), not seats.
|
|
142
|
+
pro: {
|
|
143
|
+
plugins: 25,
|
|
144
|
+
pipelines: 5,
|
|
145
|
+
apiCalls: 100_000,
|
|
146
|
+
automationCalls: 60_000,
|
|
147
|
+
aiCalls: 200,
|
|
148
|
+
cpuCredits: 11_250,
|
|
149
|
+
storageBytes: 25 * GB,
|
|
150
|
+
dashboards: 200,
|
|
151
|
+
alertRules: 500,
|
|
152
|
+
alertDestinations: 50,
|
|
153
|
+
idpConfigs: 5,
|
|
154
|
+
listings: 10,
|
|
155
|
+
seats: 1,
|
|
156
|
+
supportContacts: 0,
|
|
157
|
+
supportPremiumContacts: 0,
|
|
158
|
+
eventRetentionDays: 30,
|
|
159
|
+
doraRetentionDays: 180,
|
|
160
|
+
},
|
|
161
|
+
// Team = collaboration tier; the seat limit (3) is the real differentiator over
|
|
162
|
+
// Pro (single-seat) — it's the multi-seat collaboration floor. Lean base ($79):
|
|
163
|
+
// growth rides the seat/pipeline/etc add-ons (land-and-expand). Limits sit
|
|
164
|
+
// between Pro and Enterprise.
|
|
165
|
+
team: {
|
|
166
|
+
plugins: 50,
|
|
167
|
+
pipelines: 10,
|
|
168
|
+
apiCalls: 300_000,
|
|
169
|
+
automationCalls: 110_000,
|
|
170
|
+
aiCalls: 600,
|
|
171
|
+
cpuCredits: 22_500,
|
|
172
|
+
storageBytes: 60 * GB,
|
|
173
|
+
dashboards: -1,
|
|
174
|
+
alertRules: -1,
|
|
175
|
+
alertDestinations: -1,
|
|
176
|
+
idpConfigs: 5,
|
|
177
|
+
listings: 25,
|
|
178
|
+
seats: 3,
|
|
179
|
+
supportContacts: 0,
|
|
180
|
+
supportPremiumContacts: 0,
|
|
181
|
+
eventRetentionDays: 30,
|
|
182
|
+
doraRetentionDays: 180,
|
|
183
|
+
},
|
|
184
|
+
// Business ($249): the step the $79 -> $599 cliff was missing. 8 seats, 20
|
|
185
|
+
// pipelines, and DORA (advanced_reporting) included rather than an add-on.
|
|
186
|
+
// Every cost driver is 100,000 apiCalls and 200 aiCalls PER SEAT, the same
|
|
187
|
+
// per-seat rate as Pro/Team/Enterprise, so the ladder reads consistently to a
|
|
188
|
+
// buyer who divides by headcount. Count-quotas that Team already uncaps stay
|
|
189
|
+
// -1; `idpConfigs` sits between Team's 5 and Enterprise's unlimited.
|
|
190
|
+
business: {
|
|
191
|
+
plugins: 100,
|
|
192
|
+
pipelines: 20,
|
|
193
|
+
apiCalls: 800_000,
|
|
194
|
+
automationCalls: 210_000,
|
|
195
|
+
aiCalls: 1_600,
|
|
196
|
+
cpuCredits: 45_000,
|
|
197
|
+
storageBytes: 120 * GB,
|
|
198
|
+
dashboards: -1,
|
|
199
|
+
alertRules: -1,
|
|
200
|
+
alertDestinations: -1,
|
|
201
|
+
idpConfigs: 10,
|
|
202
|
+
listings: 50,
|
|
203
|
+
seats: 8,
|
|
204
|
+
supportContacts: 0,
|
|
205
|
+
supportPremiumContacts: 0,
|
|
206
|
+
eventRetentionDays: 30,
|
|
207
|
+
doraRetentionDays: 180,
|
|
208
|
+
},
|
|
209
|
+
// Enterprise ($599, held): the all-inclusive tier — 15 seats, 30 pipelines, ALL
|
|
210
|
+
// premium features included (see TIER_FEATURES). FAIR-USE — cost drivers (apiCalls,
|
|
211
|
+
// aiCalls, storageBytes) capped so one account can't run up unbounded
|
|
212
|
+
// compute/provider/storage cost on a flat price; cheap count-quotas stay -1.
|
|
213
|
+
enterprise: {
|
|
214
|
+
plugins: 150,
|
|
215
|
+
pipelines: 30,
|
|
216
|
+
apiCalls: 1_500_000,
|
|
217
|
+
automationCalls: 310_000,
|
|
218
|
+
aiCalls: 3_000,
|
|
219
|
+
cpuCredits: 67_500,
|
|
220
|
+
storageBytes: 250 * GB,
|
|
221
|
+
dashboards: -1,
|
|
222
|
+
alertRules: -1,
|
|
223
|
+
alertDestinations: -1,
|
|
224
|
+
idpConfigs: -1,
|
|
225
|
+
listings: 100,
|
|
226
|
+
seats: 15,
|
|
227
|
+
supportContacts: 0,
|
|
228
|
+
supportPremiumContacts: 0,
|
|
229
|
+
eventRetentionDays: 30,
|
|
230
|
+
doraRetentionDays: 180,
|
|
231
|
+
},
|
|
232
|
+
// Unlimited: EVERY quota uncapped (-1). The default when billing is disabled
|
|
233
|
+
// (no enforcement surface) — never shown/selectable when billing is enabled.
|
|
234
|
+
unlimited: {
|
|
235
|
+
plugins: -1,
|
|
236
|
+
pipelines: -1,
|
|
237
|
+
apiCalls: -1,
|
|
238
|
+
automationCalls: -1,
|
|
239
|
+
aiCalls: -1,
|
|
240
|
+
cpuCredits: -1,
|
|
241
|
+
storageBytes: -1,
|
|
242
|
+
dashboards: -1,
|
|
243
|
+
alertRules: -1,
|
|
244
|
+
alertDestinations: -1,
|
|
245
|
+
idpConfigs: -1,
|
|
246
|
+
listings: -1,
|
|
247
|
+
seats: -1,
|
|
248
|
+
supportContacts: -1,
|
|
249
|
+
supportPremiumContacts: -1,
|
|
250
|
+
eventRetentionDays: -1,
|
|
251
|
+
doraRetentionDays: -1,
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllci1saW1pdHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy90aWVyLWxpbWl0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBNEJ0Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBWTtJQUNwQyxPQUFPLElBQUk7U0FDUixLQUFLLENBQUMsTUFBTSxDQUFDO1NBQ2IsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUM7QUFzR0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNyQyxXQUFXLEVBQUU7UUFDWCxhQUFhLEVBQUUsRUFBRTtRQUNqQixLQUFLLEVBQUUsQ0FBQztRQUNSLFlBQVksRUFBRSxDQUFDO1FBQ2Ysb0JBQW9CLEVBQUUsQ0FBQztRQUN2QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLGFBQWEsRUFBRSxFQUFFO0tBQ2xCO0lBQ0QsVUFBVSxFQUFFLEVBQUU7SUFDZCwwQkFBMEIsRUFBRSxDQUFDO0lBQzdCLGlFQUFpRTtJQUNqRSxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLHdDQUF3QztJQUN4QyxRQUFRLEVBQUUsSUFBSTtJQUNkLCtDQUErQztJQUMvQyxPQUFPLEVBQUUsTUFBTTtDQUNQLENBQUM7QUFFWCw4RkFBOEY7QUFDOUYsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsVUFBVSxHQUFXLENBQUM7SUFDMUUsTUFBTSxDQUFDLEdBQUcsdUJBQXVCLENBQUM7SUFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RSxNQUFNLFdBQVcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF1QztJQUNyRSwwRUFBMEU7SUFDMUUsNEVBQTRFO0lBQzVFLDhFQUE4RTtJQUM5RSxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsRUFBRTtRQUNYLFNBQVMsRUFBRSxDQUFDO1FBQ1osUUFBUSxFQUFFLE1BQU07UUFDaEIsZUFBZSxFQUFFLE1BQU07UUFDdkIsT0FBTyxFQUFFLEVBQUU7UUFDWCxVQUFVLEVBQUUsS0FBSztRQUNqQixZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7UUFDZCxVQUFVLEVBQUUsRUFBRTtRQUNkLGlCQUFpQixFQUFFLEVBQUU7UUFDckIsVUFBVSxFQUFFLENBQUM7UUFDYixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsZUFBZSxFQUFFLENBQUM7UUFDbEIsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QixrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLGlCQUFpQixFQUFFLEdBQUc7S0FDdkI7SUFDRCwrRUFBK0U7SUFDL0UsZ0ZBQWdGO0lBQ2hGLGdGQUFnRjtJQUNoRiw4RUFBOEU7SUFDOUUsR0FBRyxFQUFFO1FBQ0gsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLEVBQUUsQ0FBQztRQUNaLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHO1FBQ1osVUFBVSxFQUFFLE1BQU07UUFDbEIsWUFBWSxFQUFFLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLFVBQVUsRUFBRSxHQUFHO1FBQ2YsVUFBVSxFQUFFLEdBQUc7UUFDZixpQkFBaUIsRUFBRSxFQUFFO1FBQ3JCLFVBQVUsRUFBRSxDQUFDO1FBQ2IsUUFBUSxFQUFFLEVBQUU7UUFDWixLQUFLLEVBQUUsQ0FBQztRQUNSLGVBQWUsRUFBRSxDQUFDO1FBQ2xCLHNCQUFzQixFQUFFLENBQUM7UUFDekIsa0JBQWtCLEVBQUUsRUFBRTtRQUN0QixpQkFBaUIsRUFBRSxHQUFHO0tBQ3ZCO0lBQ0QsZ0ZBQWdGO0lBQ2hGLGdGQUFnRjtJQUNoRiwyRUFBMkU7SUFDM0UsOEJBQThCO0lBQzlCLElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLEVBQUU7UUFDYixRQUFRLEVBQUUsT0FBTztRQUNqQixlQUFlLEVBQUUsT0FBTztRQUN4QixPQUFPLEVBQUUsR0FBRztRQUNaLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRTtRQUNyQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUNyQixVQUFVLEVBQUUsQ0FBQztRQUNiLFFBQVEsRUFBRSxFQUFFO1FBQ1osS0FBSyxFQUFFLENBQUM7UUFDUixlQUFlLEVBQUUsQ0FBQztRQUNsQixzQkFBc0IsRUFBRSxDQUFDO1FBQ3pCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsaUJBQWlCLEVBQUUsR0FBRztLQUN2QjtJQUNELDJFQUEyRTtJQUMzRSwyRUFBMkU7SUFDM0UsMkVBQTJFO0lBQzNFLDhFQUE4RTtJQUM5RSw2RUFBNkU7SUFDN0UscUVBQXFFO0lBQ3JFLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxHQUFHO1FBQ1osU0FBUyxFQUFFLEVBQUU7UUFDYixRQUFRLEVBQUUsT0FBTztRQUNqQixlQUFlLEVBQUUsT0FBTztRQUN4QixPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFlBQVksRUFBRSxHQUFHLEdBQUcsRUFBRTtRQUN0QixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUNyQixVQUFVLEVBQUUsRUFBRTtRQUNkLFFBQVEsRUFBRSxFQUFFO1FBQ1osS0FBSyxFQUFFLENBQUM7UUFDUixlQUFlLEVBQUUsQ0FBQztRQUNsQixzQkFBc0IsRUFBRSxDQUFDO1FBQ3pCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsaUJBQWlCLEVBQUUsR0FBRztLQUN2QjtJQUNELGdGQUFnRjtJQUNoRixvRkFBb0Y7SUFDcEYsc0VBQXNFO0lBQ3RFLDZFQUE2RTtJQUM3RSxVQUFVLEVBQUU7UUFDVixPQUFPLEVBQUUsR0FBRztRQUNaLFNBQVMsRUFBRSxFQUFFO1FBQ2IsUUFBUSxFQUFFLFNBQVM7UUFDbkIsZUFBZSxFQUFFLE9BQU87UUFDeEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsTUFBTTtRQUNsQixZQUFZLEVBQUUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDZCxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLFFBQVEsRUFBRSxHQUFHO1FBQ2IsS0FBSyxFQUFFLEVBQUU7UUFDVCxlQUFlLEVBQUUsQ0FBQztRQUNsQixzQkFBc0IsRUFBRSxDQUFDO1FBQ3pCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsaUJBQWlCLEVBQUUsR0FBRztLQUN2QjtJQUNELDZFQUE2RTtJQUM3RSw2RUFBNkU7SUFDN0UsU0FBUyxFQUFFO1FBQ1QsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNYLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDYixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ1osZUFBZSxFQUFFLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDZCxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDWixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUNuQixzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFDMUIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFpQixFQUFFLENBQUMsQ0FBQztLQUN0QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBXaGF0IGEgdGllciBHSVZFUyB5b3UsIGFzIERBVEEgT05MWSDigJQgdGhlIGxpbWl0cyBzaGFwZSwgdGhlIGNvZGUtZGVmYXVsdFxuICogbnVtYmVyIGZvciBldmVyeSB0aWVyIHggcXVvdGEgdHlwZSwgYW5kIHRoZSBhcml0aG1ldGljIHRob3NlIG51bWJlcnMgd2VyZVxuICogZGVyaXZlZCBmcm9tLlxuICpcbiAqIERlcGVuZGVuY3ktZnJlZSBhbmQgZW52LWZyZWUgc28gdGhlIGJyb3dzZXIgaW1wb3J0cyBpdCBkaXJlY3RseVxuICogKGBAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZS90aWVyLWxpbWl0c2ApLiBJdHMgb25seSBpbXBvcnQgaXMgYSB0eXBlLCB3aGljaFxuICogaXMgZXJhc2VkIGF0IGNvbXBpbGUgdGltZSwgc28gbm90aGluZyBvZiB0aGUgc2VydmVyIGdyYXBoIHJlYWNoZXMgdGhlIGJ1bmRsZS5cbiAqIFRoZSBlbnYgT1ZFUkxBWSAoYFFVT1RBX1RJRVJfPFRJRVI+XzxMSU1JVD5gKSBkZWxpYmVyYXRlbHkgc3RheXMgaW5cbiAqIGBxdW90YS10aWVycy50c2A6IGl0IHJlYWRzIGBwcm9jZXNzLmVudmAsIHdoaWNoIGlzIHdoYXQga2VwdCB0aGlzIHRhYmxlIG91dCBvZlxuICogdGhlIGJyb3dzZXIncyByZWFjaCBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gKlxuICogV0hZIElUIEVYSVNUUy4gVGhlIGZyb250ZW5kIGtlcHQgYSBoYW5kLXdyaXR0ZW4gY29weSBvZiB0aGlzIHRhYmxlXG4gKiAoYGZyb250ZW5kL3NyYy9jb21wb25lbnRzL3F1b3Rhcy9jb25zdGFudHMudHNgLCB1bmRlciBhIFwia2VlcCBpbiBzeW5jXCJcbiAqIGNvbW1lbnQpIGJlY2F1c2UgaW1wb3J0aW5nIHRoZSByZWFsIG9uZSBtZWFudCBpbXBvcnRpbmcgYSBtb2R1bGUgd2l0aCBzaXh0ZWVuXG4gKiBlbnYgcmVhZHMuIFRoZSBjb3B5IHByZWZpbGxzIHRoZSBxdW90YS1hZG1pbiBlZGl0b3IncyBwZXItdGllciBwcmVzZXRzLCBzbyBhXG4gKiBkcmlmdGVkIGNvcHkgZGlkIG5vdCBicmVhayB0aGUgcGFnZSDigJQgYW4gYWRtaW4gY2xpY2tlZCBhIHByZXNldCBhbmQgU0FWRURcbiAqIG51bWJlcnMgdGhhdCB3ZXJlIG5vIGxvbmdlciB0aGUgcHJvZHVjdCdzLCB3aXRoIG5vdGhpbmcgYW55d2hlcmUgcmVwb3J0aW5nIGl0LlxuICogQSB0ZXN0IHBhcnNlZCBCT1RIIGZpbGVzJyBzb3VyY2UgdGV4dCB0byBob2xkIHRoZW0gZXF1YWwsIHdoaWNoIGlzIHRoZSBzaGFwZVxuICogeW91IHJlYWNoIGZvciB3aGVuIHRoZSB2YWx1ZXMgY2Fubm90IGJlIHNoYXJlZC4gTm93IHRoZXkgY2FuIGJlOiB0aGUgZnJvbnRlbmRcbiAqIGltcG9ydHMgdGhpcyB0YWJsZSwgdGhlIGNvcHkgaXMgZ29uZSwgYW5kIHRoZSBkcmlmdCBpdCBndWFyZGVkIGlzIG5vdFxuICogZXhwcmVzc2libGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBRdW90YVRpZXIgfSBmcm9tICcuL3F1b3RhLXRpZXJzLmpzJztcblxuLyoqXG4gKiBBIHRpZXIga2V5IGFzIHByb2R1Y3QgY29weTogYGRldmVsb3BlcmAg4oaSIFwiRGV2ZWxvcGVyXCIsIGBwcm9fcGx1c2Ag4oaSIFwiUHJvIFBsdXNcIi5cbiAqXG4gKiBMaXZlcyBoZXJlLCB3aXRoIHRoZSBvdGhlciB0aWVyIGZhY3RzLCBiZWNhdXNlIHRocmVlIGNhbGxlcnMgd2FudCBpdDogdGhlXG4gKiBkZWZhdWx0IGBRVU9UQV9USUVSU2AgbGFiZWwsIHRoZSBzaGFyZWQgdGVzdCBmaXh0dXJlJ3MgbGFiZWxzICh3aGljaCBrZXB0IGFcbiAqIHNlY29uZCBgdGl0bGVDYXNlYCBvZiBpdHMgb3duKSwgYW5kIHRoZSBicm93c2VyLlxuICpcbiAqIEl0IHdpbGwgTk9UIGd1ZXNzIGF0IGFuIGFjcm9ueW0gKGBzc29gIOKGkiBcIlNzb1wiKSBvciBhIHN0eWxpemVkIG5hbWUgKFwiUHJvK1wiKSxcbiAqIGFuZCBkZWxpYmVyYXRlbHkgdGFrZXMgbm8gZm9ybWF0dGluZyBvcHRpb25zOiB0aGUgY2FzZXMgaXQgY2Fubm90IGRlcml2ZSBuZWVkXG4gKiBhIGh1bWFuIHdyaXRpbmcgY29weSwgd2hpY2ggaXMgd2hhdCBgUVVPVEFfVElFUl88VElFUj5fTEFCRUxgIGlzIGZvci4gQSBtb2RlXG4gKiBmbGFnIHdvdWxkIGFkZCBzdXJmYWNlIHdpdGhvdXQgcmVhY2hpbmcgYW55IG9mIHRoZW0sIGFuZCBhIG1pZC1zZW50ZW5jZSBwaHJhc2VcbiAqIChcIuKApiDigJQgbmV3IHZlcnNpb25cIikgaXMgYSBkaWZmZXJlbnQgRkFDVCBmcm9tIGEgc3RhbmRhbG9uZSBsYWJlbCByYXRoZXIgdGhhblxuICogYW5vdGhlciBzdHlsZSBvZiBvbmUg4oCUIGBxdW90YS1jYXRhbG9nLnRzYCBjYXJyaWVzIGBsYWJlbGAgYW5kIGBsYWJlbFBsdXJhbGAgYXNcbiAqIHNlcGFyYXRlIG5hbWVkIGZpZWxkcyBmb3IgZXhhY3RseSB0aGF0IHJlYXNvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRpZXJMYWJlbCh0aWVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdGllclxuICAgIC5zcGxpdCgvW18tXS8pXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHdvcmQpID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKVxuICAgIC5qb2luKCcgJyk7XG59XG5cbi8qKiBMaW1pdCB2YWx1ZXMgZm9yIGVhY2ggcXVvdGEgdHlwZSB3aXRoaW4gYSB0aWVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdW90YVRpZXJMaW1pdHMge1xuICBwbHVnaW5zOiBudW1iZXI7XG4gIHBpcGVsaW5lczogbnVtYmVyO1xuICBhcGlDYWxsczogbnVtYmVyO1xuICAvKipcbiAgICogTWV0ZXJlZCBBUEkgY2FsbHMgbWFkZSBieSBPUkcgU0VSVklDRSBBQ0NPVU5UUyAoYXV0b21hdGlvbiksIGNvdW50ZWRcbiAgICogaW5zdGVhZCBvZiBgYXBpQ2FsbHNgIHNvIHBpcGVsaW5lcyBjYW4ndCBzdGFydmUgdGhlIG9yZydzIHBlb3BsZS4gU2VlXG4gICAqIHtAbGluayBBVVRPTUFUSU9OX0NBTExTX1NJWklOR30gZm9yIGhvdyB0aGUgZGVmYXVsdHMgYXJlIGRlcml2ZWQuXG4gICAqL1xuICBhdXRvbWF0aW9uQ2FsbHM6IG51bWJlcjtcbiAgYWlDYWxsczogbnVtYmVyO1xuICAvKipcbiAgICogQWdncmVnYXRlIHJlZ2lzdHJ5IHN0b3JhZ2UgY2FwIGluIEJZVEVTLiBDb3VudGVkIGFjcm9zcyBldmVyeSByZXBvXG4gICAqIHVuZGVyIHRoZSBvcmcncyBgb3JnLXtvcmdJZH0vYCBuYW1lc3BhY2UuIC0xIG1lYW5zIHVubGltaXRlZC5cbiAgICogcHVzaC1nYXRlIHJlYWRzIHRoaXM7IHRoZSBpbWFnZS1yZWdpc3RyeSByZWplY3RzIHRva2VuIGlzc3VhbmNlIGZvclxuICAgKiBgcHVzaGAgc2NvcGUgd2hlbiB0aGUgb3JnJ3MgbWVhc3VyZWQgdXNhZ2UgZXhjZWVkcyB0aGUgbGltaXQuXG4gICAqL1xuICBzdG9yYWdlQnl0ZXM6IG51bWJlcjtcbiAgLyoqXG4gICAqIHZDUFUtTUlOVVRFUyBvZiBwbHVnaW4tYnVpbGQgY29tcHV0ZSBwZXIgTU9OVEgg4oCUIHRoZSBvbmUgcXVvdGEgb24gYSBwZXJpb2RcbiAgICogb2YgaXRzIG93biAoZXZlcnkgb3RoZXIgZmxvdyBxdW90YSByb2xscyBvbiBgUVVPVEFfUkVTRVRfREFZU2AsIDMgZGF5cykuXG4gICAqXG4gICAqIERlcml2ZWQgZnJvbSB0aGUgYHBsdWdpbnNgIGNhcCByYXRoZXIgdGhhbiBndWVzc2VkOiBgcGx1Z2lucyB4IDEwYCBidWlsZHMgYVxuICAgKiBtb250aCwgYXQgYSBmbGF0IDMwIHdhbGwtbWludXRlcyBhIGJ1aWxkIGFuZCAxLjUgdkNQVSBvZiBidWlsZGtpdGQsIHNvXG4gICAqIGBjcmVkaXRzID0gYnVpbGRzIHggNDVgLiBUaGUgZmxhdCBwZXItYnVpbGQgZmlndXJlIGlzIGRlbGliZXJhdGUg4oCUIHNjYWxpbmdcbiAgICogQk9USCB0aGUgYnVpbGQgY291bnQgYW5kIHRoZSBwZXItYnVpbGQgY29zdCBieSB0aWVyIG1hZGUgY3JlZGl0c1xuICAgKiBzdXBlcmxpbmVhciBpbiB0aWVyIG9uIHRoZSBzdHJlbmd0aCBvZiBhbiB1bm1lYXN1cmVkIGNsYWltLCBhbmQgaXQgbWFkZSBhXG4gICAqIHBhY2sncyBjcmVkaXQgZ3JhbnQgdGllci1kZXBlbmRlbnQsIHdoaWNoIHRoZSBjYXRhbG9ndWUncyBncmFudCBzaGFwZSBjYW5ub3RcbiAgICogZXhwcmVzcy5cbiAgICpcbiAgICogVGhpcyBpcyB0aGUgZmlyc3QgZGltZW5zaW9uIHdpdGggZ2VudWluZSBwZXItdW5pdCBtYXJnaW5hbCBjb3N0OiBldmVyeSBvdGhlclxuICAgKiBxdW90YSBpcyBhIHJhdGUgbGltaXQgcHJvdGVjdGluZyBzaGFyZWQgaW5mcmFzdHJ1Y3R1cmUsIHRoaXMgb25lIGlzIGNvbXB1dGVcbiAgICogdGhlIHBsYXRmb3JtIHBheXMgZm9yLiBTZWUgYGRvY3MvcGxhbnMvY3B1LWNyZWRpdHMubWRgLlxuICAgKi9cbiAgY3B1Q3JlZGl0czogbnVtYmVyO1xuICAvKiogQ291bnQtcXVvdGFzIG9uIHRoZSB1c2VyLWVkaXRhYmxlIGZlYXR1cmUgdGFibGVzIGFkZGVkIHRvIGNsb3NlIHBlci1vcmdcbiAgICogIERvUyB2aWEgc3BhbS4gLTEgbWVhbnMgdW5saW1pdGVkLiAqL1xuICBkYXNoYm9hcmRzOiBudW1iZXI7XG4gIGFsZXJ0UnVsZXM6IG51bWJlcjtcbiAgYWxlcnREZXN0aW5hdGlvbnM6IG51bWJlcjtcbiAgaWRwQ29uZmlnczogbnVtYmVyO1xuICAvKipcbiAgICogQWN0aXZlLCBub24tc3VzcGVuZGVkIHBsdWdpbi1lY29zeXN0ZW0gbGlzdGluZ3MgdGhlIG9yZyBwdWJsaXNoZXNcbiAgICogKGRvY3MvcGx1Z2luLWluc3RhbGxpbmcubWQpLiBBIENPVU5UIHF1b3RhIOKAlCBpbnN0YWxscyBuZXZlclxuICAgKiBjb3VudC4gLTEgPSB1bmxpbWl0ZWQuIEV4dGVuZGFibGUgdmlhIHRoZSBgbGlzdGluZ19wYWNrYCBhZGQtb24gYnVuZGxlLlxuICAgKi9cbiAgbGlzdGluZ3M6IG51bWJlcjtcbiAgLyoqXG4gICAqIE1heCBvcmcgbWVtYmVycyAoYWN0aXZlIHVzZXJzIC8gc2VhdHMpLiAtMSA9IHVubGltaXRlZC4gVGhpcyBpcyB0aGUgXCJUZWFtXCJcbiAgICogdGllciBkaWZmZXJlbnRpYXRvciDigJQgZW5mb3JjZWQgYXQgbWVtYmVyLWludml0ZSB0aW1lIChhbiBpbnZpdGUgaXMgYmxvY2tlZFxuICAgKiB3aGVuIGFjdGl2ZSBtZW1iZXJzICsgcGVuZGluZyBpbnZpdGVzIHdvdWxkIGV4Y2VlZCB0aGlzKS5cbiAgICovXG4gIHNlYXRzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBNYXggZGVzaWduYXRlZCBTVVBQT1JUIENPTlRBQ1RTIOKAlCB0aGUgbWVtYmVycyBhdXRob3Jpc2VkIHRvIG9wZW4gc3VwcG9ydFxuICAgKiBjYXNlcy4gLTEgPSB1bmxpbWl0ZWQuIEJhc2UgaXMgKiowIG9uIGV2ZXJ5IHRpZXIqKjogc3VwcG9ydCBpcyBhbiBhZGQtb24gYXRcbiAgICogZXZlcnkgdGllciBhbmQgaW5jbHVkZWQgaW4gbm9uZSwgc28gYW4gb3JnIHdpdGggbm8gc3VwcG9ydCBidW5kbGUgaGFzIG5vXG4gICAqIGNvbnRhY3RzIGFuZCBjYW5ub3Qgb3BlbiBhIGNhc2UuIFRoYXQgbWFrZXMgdGhlIHN1cHBvcnQgcGF5d2FsbCBhIHF1b3RhXG4gICAqIGNoZWNrIHJhdGhlciB0aGFuIGEgZmVhdHVyZSBmbGFnLlxuICAgKlxuICAgKiBMaWtlIGBzZWF0c2AgdGhpcyBpcyBhIHRpZXIgTElNSVQsIG5vdCBhIHRyYWNrZWQgY291bnRlciDigJQgZW5mb3JjZWQgbGl2ZSBhdFxuICAgKiBkZXNpZ25hdGlvbiB0aW1lIGFnYWluc3QgY3VycmVudCBkZXNpZ25hdGlvbnMgYWNyb3NzIHRoZSBvcmcgc3VidHJlZS5cbiAgICogRXh0ZW5kZWQgcGVyIHVuaXQgYnkgdGhlIGBzdXBwb3J0X3N0YW5kYXJkYCAvIGBzdXBwb3J0X3ByaW9yaXR5YCBCQVNFTElORVxuICAgKiBidW5kbGVzLCB3aGljaCBhcmUgcHJpY2VkIHBlciBjb250YWN0LlxuICAgKi9cbiAgc3VwcG9ydENvbnRhY3RzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgbWFueSBvZiB0aG9zZSBjb250YWN0cyBtYXkgYmUgVVBHUkFERUQgdG8gcHJlbWl1bSAoMjTDlzcsIDgtaG91clxuICAgKiByZXNwb25zZSwgYW5kIHRoZSBvbmx5IG9uZXMgd2hvIG1heSBkZWNsYXJlIGB1cmdlbnRgKS5cbiAgICpcbiAgICogQSBzZWNvbmQgZGltZW5zaW9uIHJhdGhlciB0aGFuIGEgdGhpcmQgYmFzZWxpbmUgbGV2ZWwsIGJlY2F1c2UgcHJlbWl1bSBpcyBhblxuICAgKiBVUEdSQURFIGFuZCBub3QgYW4gYWx0ZXJuYXRpdmUuIFRoZSBzaGFwZSBpdCBlbmNvZGVzOiBhbiBvcmcgYnV5cyBOIGJhc2VsaW5lXG4gICAqIGNvbnRhY3RzIGFuZCB1cGdyYWRlcyBNIG9mIHRoZW0sIE0g4omkIE4uIFRoYXQgaXMgd2hhdCBsZXRzIGEgMTAwLXNlYXRcbiAgICogY3VzdG9tZXIgZ2l2ZSBidXNpbmVzcy1ob3VycyBzdXBwb3J0IHRvIGl0cyB0aHJlZSBuYW1lZCBjb250YWN0cyBhbmQgMjTDlzdcbiAgICogdG8gdGhlIG9uZSB3aG8gY2FycmllcyB0aGUgcGFnZXIg4oCUIHRoZSBjYXNlIHRoZSBtdXR1YWxseS1leGNsdXNpdmUgbGFkZGVyXG4gICAqIGNvdWxkIG5vdCBleHByZXNzIGF0IGFsbCwgd2hlcmUgYnV5aW5nIFwiOTkgc3RhbmRhcmQgKyAxIHByZW1pdW1cIiBjaGFyZ2VkIGZvclxuICAgKiAxMDAgdW5pdHMgYW5kIGdyYW50ZWQgb25lIGNvbnRhY3QuXG4gICAqXG4gICAqIEFERElUSVZFLCBkZWxpYmVyYXRlbHkuIEEgcHJlbWl1bSBjb250YWN0IGNvc3RzIHRoZSBiYXNlbGluZSB1bml0IFBMVVMgdGhlXG4gICAqIHVwZ3JhZGUgKCQxOS45OSArICQ5OS45OSksIGJlY2F1c2UgaXQgaXMgc2VydmVkIGR1cmluZyBidXNpbmVzcyBob3Vyc1xuICAgKiB0aHJvdWdoIHRoZSBiYXNlbGluZSBhbmQgb3Zlcm5pZ2h0IHRocm91Z2ggdGhlIHVwZ3JhZGU7IHByaWNpbmcgdGhlIHVwZ3JhZGVcbiAgICogYXMgYSBkZWx0YSB3b3VsZCBwcmV0ZW5kIHRoZSBiYXNlbGluZSB3ZXJlIGZyZWUuIEJhc2UgMCBvbiBldmVyeSB0aWVyLCBsaWtlXG4gICAqIGBzdXBwb3J0Q29udGFjdHNgLCBzbyB0aGUgcGF5d2FsbCBzdGF5cyBhIHF1b3RhIGNoZWNrLlxuICAgKi9cbiAgc3VwcG9ydFByZW1pdW1Db250YWN0czogbnVtYmVyO1xuICAvKipcbiAgICogUmVwb3J0aW5nIHJldGVudGlvbiBpbiBEQVlTIOKAlCBOT1QgYSBmbG93IHF1b3RhIChuZXZlciBkZWNyZW1lbnRlZCwgYWJzZW50XG4gICAqIGZyb20gYFZBTElEX1FVT1RBX1RZUEVTYCk6IHRoZXNlIHJpZGUgdGhlIHRpZXItYmFzZWxpbmUgKyBidW5kbGUtZ3JhbnQgbWF0aFxuICAgKiBwdXJlbHkgYXMgYW4gZW50aXRsZW1lbnQgdGhlIGJpbGxpbmcgc2VydmljZSBzeW5jcyB0byByZXBvcnRpbmcnc1xuICAgKiBgZG9yYV9zZXR0aW5nc2AuIC0xID0gdW5saW1pdGVkICh0aGUgc3dlZXAgc2tpcHMgdGhlIG9yZyBlbnRpcmVseSkuXG4gICAqICAgYGV2ZW50UmV0ZW50aW9uRGF5c2Ag4oCUIG5vbi1kZXBsb3kgYHBpcGVsaW5lX2V2ZW50c2AgKFNUQUdFL0FDVElPTi9idWlsZCkuXG4gICAqICAgYGRvcmFSZXRlbnRpb25EYXlzYCAg4oCUIGRlcGxveSBldmVudHMgKyBgZGVwbG95bWVudF9vdXRjb21lc2AgKyBgaW5jaWRlbnRzYCxcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgcGVyLW9yZyByZXBvcnQtcXVlcnkgd2luZG93IGZvciBET1JBIHJvdXRlcy5cbiAgICogRXh0ZW5kYWJsZSB2aWEgdGhlIGByZXRlbnRpb25fcGFja2AgLyBgZG9yYV9oaXN0b3J5X3BhY2tgIGFkZC1vbiBidW5kbGVzLlxuICAgKi9cbiAgZXZlbnRSZXRlbnRpb25EYXlzOiBudW1iZXI7XG4gIGRvcmFSZXRlbnRpb25EYXlzOiBudW1iZXI7XG59XG5cbi8qKlxuICogUHJlc2V0IGxpbWl0cyBmb3IgZWFjaCB0aWVyLiAtMSBtZWFucyB1bmxpbWl0ZWQuXG4gKlxuICogQUkgY2FsbHMgYXJlIHNpemVkIG11Y2ggc21hbGxlciB0aGFuIGBhcGlDYWxsc2AgYmVjYXVzZSBlYWNoIGNhbGwgaGFzXG4gKiBleHRlcm5hbCBwcm92aWRlciBjb3N0ICh+JDAuMDEkMC4xMC9jYWxsKS4gRGV2ZWxvcGVyIHRpZXIgYWxsb3dzIGxpZ2h0XG4gKiBleHBsb3JhdGlvbiAoNTAvcGVyaW9kKTsgUHJvIGxpZnRzIHRvIDIsNTAwOyBFbnRlcnByaXNlIGlzIGNhcHBlZCBoaWdoXG4gKiAoMjUsMDAwKSDigJQgZmFpci11c2UsIG5vdCBsaXRlcmFsbHkgdW5saW1pdGVkLlxuICpcbiAqIGBzdG9yYWdlQnl0ZXNgIGlzIHRoZSBhZ2dyZWdhdGUgcmVnaXN0cnkgY2FwIHBlciBvcmcuIFNpemVkXG4gKiBhcm91bmQgcGx1Z2luLWltYWdlIHJlYWxpdGllczogYSB0eXBpY2FsIHBsdWdpbiBpbWFnZSBpcyAyMDA1MDAgTUI7XG4gKiBEZXZlbG9wZXIncyAyIEdCIGhvbGRzIH40IHZlcnNpb25zIMOXIH41MDAgTUIsIFBybydzIDI1IEdCIGNvdmVycyBhXG4gKiBtYXR1cmUgY2F0YWxvZy4gT3BlcmF0b3JzIGNhbiBvdmVycmlkZSBwZXItb3JnIHZpYSB0aGUgcXVvdGEgQ1JVRCBBUEkuXG4gKi9cbmNvbnN0IEdCID0gMTAyNCAqIDEwMjQgKiAxMDI0O1xuXG4vKipcbiAqIEhvdyB0aGUgYGF1dG9tYXRpb25DYWxsc2AgZGVmYXVsdHMgYXJlIHNpemVkIOKAlCB3cml0dGVuIGRvd24gc28gdGhlIG5leHRcbiAqIHBlcnNvbiB0byB0b3VjaCB0aGVtIGFyZ3VlcyB3aXRoIHRoZSBhcml0aG1ldGljLCBub3Qgd2l0aCB0aGUgbnVtYmVycy5cbiAqXG4gKiBFdmVyeSBjYWxsIGFuIG9yZydzIGF1dG9tYXRpb24ga2V5cyBtYWtlIGluIG9uZSBwaXBlbGluZSBSVU4sIGl0ZW1pemVkICh0aGVcbiAqIGVhcmxpZXIgc2l6aW5nIGNvdW50ZWQgb25seSB0aGUgcGx1Z2luIGxvb2t1cHMgYW5kIGhhbmQtd2F2ZWQgdGhlIHJlc3QgYXNcbiAqIFwiw5cyXCIpOlxuICpcbiAqICAgcGx1Z2luIGxvb2t1cHMgICAgICAgICAgICAxMiAgIG9uZSBwZXIgcGx1Z2luIHN0ZXAgKHNlbGYtbXV0YXRpbmcgcGlwZWxpbmUpXG4gKiAgIHN5bnRoICAgICAgICAgICAgICAgICAgICAgIDEgICB0aGUgc3ludGggc3RlcCBmZXRjaGluZyB0aGUgcGlwZWxpbmUgY29uZmlnXG4gKiAgIHJ1bnRpbWUgY2hlY2sgICAgICAgICAgICAgIDEgICB0aGUgcHJlLWRlcGxveSBydW50aW1lLWNoZWNrIGNhbGxcbiAqICAgc2VjdXJpdHktcmVwb3J0IHVwbG9hZCAgICAgMSAgIHRoZSBzY2FuIHN0ZXAgcG9zdGluZyBpdHMgcmVwb3J0XG4gKiAgIHJlZ2lzdHJ5IHJlZ2lzdGVyICAgICAgICAgIDEgICBwaXBlbGluZS1yZWdpc3RlciBzdGFtcGluZyB0aGUgZGVwbG95ZWQgdmVyc2lvblxuICogICByZXBvcnRpbmcgaW5nZXN0IGJhdGNoZXMgIDEyICAgdGhlIGV2ZW50IGZvcndhcmRlciBwb3N0cyB+b25lIGJhdGNoIHBlciBhY3Rpb25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI4ICAgY2FsbHMgcGVyIHJ1blxuICpcbiAqIFBlciBkZWZhdWx0IHBlcmlvZCAoYFFVT1RBX1JFU0VUX0RBWVNgLCAzIGRheXMpIG9uZSBhY3RpdmUgcGlwZWxpbmUgcnVubmluZ1xuICogaG91cmx5IG1ha2VzIDI4IMOXIDI0IMOXIDMgPSAyLDAxNiBjYWxscy4gQW4gb3JnIGtlZXBzIGZhciBtb3JlIHBpcGVsaW5lcyBhbGl2ZVxuICogdGhhbiBpdCBDUkVBVEVTIGluIGEgcGVyaW9kIChgcGlwZWxpbmVzYCBpcyBhIGNyZWF0aW9uIHJhdGUpLCBzbyBhY3RpdmVcbiAqIHBpcGVsaW5lcyBhcmUgdGFrZW4gYXMgNMOXIHRoZSB0aWVyJ3MgYHBpcGVsaW5lc2AuIE9uIHRvcCBzaXRzIGEgcGVyLU9SR1xuICogY29uc3RhbnQgdGhhdCBkb2VzIG5vdCBzY2FsZSB3aXRoIHBpcGVsaW5lczogdGhlIGluZ2VzdC1oZWFsdGggaGVhcnRiZWF0XG4gKiAo4omkIDEvbWludXRlIOKGkiAxLDQ0MC9kYXkg4oaSIDQsMzIwL3BlcmlvZCkuIFRoZSBzdW0gZ2V0cyAyNSUgaGVhZHJvb20gKHJldHJpZXMsXG4gKiByZWdpc3RyeSBwdXNoZXMsIGFkLWhvYyBDSSBzY3JpcHRzIG9uIGtleXMpIGFuZCByb3VuZHMgVVAgdG8gdGhlIG5leHQgMTAsMDAwOlxuICpcbiAqICAgZGV2ZWxvcGVyICAgMsOXNMOXMjAxNiArIDQzMjAgPSAgMjAsNDQ4IMOXIDEuMjUgPSAgMjUsNTYwIOKGkiAgMzAsMDAwXG4gKiAgIHBybyAgICAgICAgIDXDlzTDlzIwMTYgKyA0MzIwID0gIDQ0LDY0MCDDlyAxLjI1ID0gIDU1LDgwMCDihpIgIDYwLDAwMFxuICogICB0ZWFtICAgICAgIDEww5c0w5cyMDE2ICsgNDMyMCA9ICA4NCw5NjAgw5cgMS4yNSA9IDEwNiwyMDAg4oaSIDExMCwwMDBcbiAqICAgYnVzaW5lc3MgICAyMMOXNMOXMjAxNiArIDQzMjAgPSAxNjUsNjAwIMOXIDEuMjUgPSAyMDcsMDAwIOKGkiAyMTAsMDAwXG4gKiAgIGVudGVycHJpc2UgMzDDlzTDlzIwMTYgKyA0MzIwID0gMjQ2LDI0MCDDlyAxLjI1ID0gMzA3LDgwMCDihpIgMzEwLDAwMFxuICpcbiAqIHtAbGluayBhdXRvbWF0aW9uQ2FsbHNGb3J9IGNvbXB1dGVzIGV4YWN0bHkgdGhpcywgYW5kIHRoZSB0aWVyIHRlc3RzIGhvbGQgdGhlXG4gKiB0YWJsZSB0byBpdC4gT3ZlciB0aGUgY2FwIHRoZSA0MjkgaXMgU09GVCBmb3IgYSBiYW5kICh7QGxpbmsgcXVvdGFHcmFjZVBjdH0pOlxuICogYSBzZWxmLW11dGF0aW5nIHBpcGVsaW5lIHRoYXQgaGFyZC1zdG9wcGVkIGF0IDEwMCUgc3RheWVkIHN0b3BwZWQgdW50aWwgdGhlXG4gKiBwZXJpb2QgcmVzZXQsIHVwIHRvIDMgZGF5cy4gVGhlIGxpbWl0cyBhcmUgUEVSIFBFUklPRDogYW4gb3BlcmF0b3Igd2hvXG4gKiBsZW5ndGhlbnMgYFFVT1RBX1JFU0VUX0RBWVNgIHNob3VsZCBzY2FsZSBgUVVPVEFfVElFUl88VElFUj5fQVVUT01BVElPTl9DQUxMU2BcbiAqIGJ5IHRoZSBzYW1lIGZhY3Rvci5cbiAqL1xuZXhwb3J0IGNvbnN0IEFVVE9NQVRJT05fQ0FMTFNfU0laSU5HID0ge1xuICBjYWxsc1BlclJ1bjoge1xuICAgIHBsdWdpbkxvb2t1cHM6IDEyLFxuICAgIHN5bnRoOiAxLFxuICAgIHJ1bnRpbWVDaGVjazogMSxcbiAgICBzZWN1cml0eVJlcG9ydFVwbG9hZDogMSxcbiAgICByZWdpc3RyeVJlZ2lzdGVyOiAxLFxuICAgIGluZ2VzdEJhdGNoZXM6IDEyLFxuICB9LFxuICBydW5zUGVyRGF5OiAyNCxcbiAgYWN0aXZlUGlwZWxpbmVzUGVyQ3JlYXRpb246IDQsXG4gIC8qKiBJbmdlc3QtaGVhbHRoIGhlYXJ0YmVhdHMgcGVyIG9yZyBwZXIgZGF5ICjiiaQgb25lIGEgbWludXRlKS4gKi9cbiAgaGVhcnRiZWF0c1BlckRheTogMTQ0MCxcbiAgLyoqIE11bHRpcGxpZXIgb24gdGhlIGl0ZW1pemVkIHRvdGFsLiAqL1xuICBoZWFkcm9vbTogMS4yNSxcbiAgLyoqIERlZmF1bHRzIHJvdW5kIFVQIHRvIGEgbXVsdGlwbGUgb2YgdGhpcy4gKi9cbiAgcm91bmRUbzogMTBfMDAwLFxufSBhcyBjb25zdDtcblxuLyoqIFRoZSB7QGxpbmsgQVVUT01BVElPTl9DQUxMU19TSVpJTkd9IGZvcm11bGEgZm9yIGEgdGllciBjcmVhdGluZyBgcGlwZWxpbmVzYCBwZXIgcGVyaW9kLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1dG9tYXRpb25DYWxsc0ZvcihwaXBlbGluZXM6IG51bWJlciwgcGVyaW9kRGF5czogbnVtYmVyID0gMyk6IG51bWJlciB7XG4gIGNvbnN0IHMgPSBBVVRPTUFUSU9OX0NBTExTX1NJWklORztcbiAgY29uc3QgcGVyUnVuID0gT2JqZWN0LnZhbHVlcyhzLmNhbGxzUGVyUnVuKS5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcbiAgY29uc3QgcGVyUGlwZWxpbmUgPSBwZXJSdW4gKiBzLnJ1bnNQZXJEYXkgKiBwZXJpb2REYXlzO1xuICBjb25zdCB0b3RhbCA9IChwaXBlbGluZXMgKiBzLmFjdGl2ZVBpcGVsaW5lc1BlckNyZWF0aW9uICogcGVyUGlwZWxpbmUgKyBzLmhlYXJ0YmVhdHNQZXJEYXkgKiBwZXJpb2REYXlzKSAqIHMuaGVhZHJvb207XG4gIHJldHVybiBNYXRoLmNlaWwodG90YWwgLyBzLnJvdW5kVG8pICogcy5yb3VuZFRvO1xufVxuXG4vKipcbiAqIENvZGUtZGVmYXVsdCBsaW1pdHMgcGVyIHRpZXIg4oCUIHRoZSBmYWxsYmFjayB3aGVuIG5vIGVudiBvdmVycmlkZSBpcyBzZXQuXG4gKlxuICogU0VSVkVSIENPREUgV0FOVFMgYGdldFRpZXJMaW1pdHModGllcilgIC8gYFFVT1RBX1RJRVJTW3RpZXJdLmxpbWl0c2AsIG5vdCB0aGlzXG4gKiB0YWJsZTogdGhvc2UgY2FycnkgdGhlIGRlcGxveW1lbnQncyBgUVVPVEFfVElFUl8qYCBvdmVycmlkZXMsIGFuZCB0aGlzIGlzIHdoYXRcbiAqIHRoZXkgZmFsbCBiYWNrIHRvLiBJdCBpcyBleHBvcnRlZCBmb3IgdGhlIEJST1dTRVIsIHdoaWNoIGhhcyBubyBlbnYgdG8gb3ZlcmxheVxuICogYW5kIGdldHMgdGhlIGRlcGxveW1lbnQncyBlZmZlY3RpdmUgZmlndXJlcyBmcm9tIGAvY29uZmlnYCBpbnN0ZWFkLlxuICogLTEgbWVhbnMgdW5saW1pdGVkLiAoQ291bnRzIHNpemVkIHRvIFwiY29tZm9ydGFibHkgZW5vdWdoIGZvciBvbmUgdGVhbSwgbm90XG4gKiBzY3JpcHQgc3BhbVwiOiAyMCBkYXNoYm9hcmRzLCA1MCBhbGVydCBydWxlcywgMTAgZGVzdGluYXRpb25zLCAxIElkUCBjb25maWdcbiAqIGZvciBEZXZlbG9wZXI7IHNjYWxlZCB1cCBmb3IgUHJvOyAtMSAodW5jYXBwZWQpIGZvciB0aGUgY2hlYXAgY291bnQtcXVvdGFzXG4gKiBvbiBUZWFtL0VudGVycHJpc2Ugd2hpbGUgY29zdC1kcml2aW5nIHF1b3RhcyDigJQgaW5jbC4gYXBpQ2FsbHMg4oCUIHN0YXkgZmluaXRlLilcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElFUl9MSU1JVFM6IFJlY29yZDxRdW90YVRpZXIsIFF1b3RhVGllckxpbWl0cz4gPSB7XG4gIC8vIEZyZWUgdGllcjogc2luZ2xlIHNlYXQsIDIgcGlwZWxpbmVzLCBhcGlDYWxscyBDQVBQRUQgKHdhcyB1bmxpbWl0ZWQg4oCUIGFcbiAgLy8gRG9TL2FidXNlIGhvbGUgb24gYSBzaGFyZWQgcmVzb3VyY2UpOyBhaUNhbGxzIHNtYWxsIChlYWNoIGhhcyB+JDAuMDEtMC4xMFxuICAvLyBleHRlcm5hbCBjb3N0KS4gTGVhbiBiYXNlIOKAlCBncm93dGggaGFwcGVucyBieSB1cGdyYWRpbmcsIG5vdCBzdGFja2luZyBoZXJlLlxuICBkZXZlbG9wZXI6IHtcbiAgICBwbHVnaW5zOiAxMCxcbiAgICBwaXBlbGluZXM6IDIsXG4gICAgYXBpQ2FsbHM6IDI1XzAwMCxcbiAgICBhdXRvbWF0aW9uQ2FsbHM6IDMwXzAwMCxcbiAgICBhaUNhbGxzOiAyMCxcbiAgICBjcHVDcmVkaXRzOiA0XzUwMCxcbiAgICBzdG9yYWdlQnl0ZXM6IDIgKiBHQixcbiAgICBkYXNoYm9hcmRzOiAyMCxcbiAgICBhbGVydFJ1bGVzOiA1MCxcbiAgICBhbGVydERlc3RpbmF0aW9uczogMTAsXG4gICAgaWRwQ29uZmlnczogMSxcbiAgICBsaXN0aW5nczogMyxcbiAgICBzZWF0czogMSxcbiAgICBzdXBwb3J0Q29udGFjdHM6IDAsXG4gICAgc3VwcG9ydFByZW1pdW1Db250YWN0czogMCxcbiAgICBldmVudFJldGVudGlvbkRheXM6IDMwLFxuICAgIGRvcmFSZXRlbnRpb25EYXlzOiAxODAsXG4gIH0sXG4gIC8vIFBybyA9IGluZGl2aWR1YWwgcG93ZXIgdXNlciwgc2luZ2xlIHNlYXQsIGluZGl2aWR1YWwgcHJpY2luZy4gQSAybmQgc2VhdCAob3JcbiAgLy8gdGVhbSBjb2xsYWJvcmF0aW9uKSByZXF1aXJlcyB0aGUgVGVhbSB0aWVyIOKAlCB0aGUgYHNlYXRgIGFkZC1vbiBpcyBUZWFtKyBvbmx5LFxuICAvLyBrZWVwaW5nIFRlYW0gdGhlIGNvbGxhYm9yYXRpb24gdGllci4gUHJvJ3MgdmFsdWUgb3ZlciBEZXZlbG9wZXIgaXMgaXRzIHJpY2hlclxuICAvLyBjYWxsL3N0b3JhZ2UvcGx1Z2luIGNlaWxpbmdzICsgZmVhdHVyZSBhZGQtb25zIChTU08vYXVkaXQvRE9SQSksIG5vdCBzZWF0cy5cbiAgcHJvOiB7XG4gICAgcGx1Z2luczogMjUsXG4gICAgcGlwZWxpbmVzOiA1LFxuICAgIGFwaUNhbGxzOiAxMDBfMDAwLFxuICAgIGF1dG9tYXRpb25DYWxsczogNjBfMDAwLFxuICAgIGFpQ2FsbHM6IDIwMCxcbiAgICBjcHVDcmVkaXRzOiAxMV8yNTAsXG4gICAgc3RvcmFnZUJ5dGVzOiAyNSAqIEdCLFxuICAgIGRhc2hib2FyZHM6IDIwMCxcbiAgICBhbGVydFJ1bGVzOiA1MDAsXG4gICAgYWxlcnREZXN0aW5hdGlvbnM6IDUwLFxuICAgIGlkcENvbmZpZ3M6IDUsXG4gICAgbGlzdGluZ3M6IDEwLFxuICAgIHNlYXRzOiAxLFxuICAgIHN1cHBvcnRDb250YWN0czogMCxcbiAgICBzdXBwb3J0UHJlbWl1bUNvbnRhY3RzOiAwLFxuICAgIGV2ZW50UmV0ZW50aW9uRGF5czogMzAsXG4gICAgZG9yYVJldGVudGlvbkRheXM6IDE4MCxcbiAgfSxcbiAgLy8gVGVhbSA9IGNvbGxhYm9yYXRpb24gdGllcjsgdGhlIHNlYXQgbGltaXQgKDMpIGlzIHRoZSByZWFsIGRpZmZlcmVudGlhdG9yIG92ZXJcbiAgLy8gUHJvIChzaW5nbGUtc2VhdCkg4oCUIGl0J3MgdGhlIG11bHRpLXNlYXQgY29sbGFib3JhdGlvbiBmbG9vci4gTGVhbiBiYXNlICgkNzkpOlxuICAvLyBncm93dGggcmlkZXMgdGhlIHNlYXQvcGlwZWxpbmUvZXRjIGFkZC1vbnMgKGxhbmQtYW5kLWV4cGFuZCkuIExpbWl0cyBzaXRcbiAgLy8gYmV0d2VlbiBQcm8gYW5kIEVudGVycHJpc2UuXG4gIHRlYW06IHtcbiAgICBwbHVnaW5zOiA1MCxcbiAgICBwaXBlbGluZXM6IDEwLFxuICAgIGFwaUNhbGxzOiAzMDBfMDAwLFxuICAgIGF1dG9tYXRpb25DYWxsczogMTEwXzAwMCxcbiAgICBhaUNhbGxzOiA2MDAsXG4gICAgY3B1Q3JlZGl0czogMjJfNTAwLFxuICAgIHN0b3JhZ2VCeXRlczogNjAgKiBHQixcbiAgICBkYXNoYm9hcmRzOiAtMSxcbiAgICBhbGVydFJ1bGVzOiAtMSxcbiAgICBhbGVydERlc3RpbmF0aW9uczogLTEsXG4gICAgaWRwQ29uZmlnczogNSxcbiAgICBsaXN0aW5nczogMjUsXG4gICAgc2VhdHM6IDMsXG4gICAgc3VwcG9ydENvbnRhY3RzOiAwLFxuICAgIHN1cHBvcnRQcmVtaXVtQ29udGFjdHM6IDAsXG4gICAgZXZlbnRSZXRlbnRpb25EYXlzOiAzMCxcbiAgICBkb3JhUmV0ZW50aW9uRGF5czogMTgwLFxuICB9LFxuICAvLyBCdXNpbmVzcyAoJDI0OSk6IHRoZSBzdGVwIHRoZSAkNzkgLT4gJDU5OSBjbGlmZiB3YXMgbWlzc2luZy4gOCBzZWF0cywgMjBcbiAgLy8gcGlwZWxpbmVzLCBhbmQgRE9SQSAoYWR2YW5jZWRfcmVwb3J0aW5nKSBpbmNsdWRlZCByYXRoZXIgdGhhbiBhbiBhZGQtb24uXG4gIC8vIEV2ZXJ5IGNvc3QgZHJpdmVyIGlzIDEwMCwwMDAgYXBpQ2FsbHMgYW5kIDIwMCBhaUNhbGxzIFBFUiBTRUFULCB0aGUgc2FtZVxuICAvLyBwZXItc2VhdCByYXRlIGFzIFByby9UZWFtL0VudGVycHJpc2UsIHNvIHRoZSBsYWRkZXIgcmVhZHMgY29uc2lzdGVudGx5IHRvIGFcbiAgLy8gYnV5ZXIgd2hvIGRpdmlkZXMgYnkgaGVhZGNvdW50LiBDb3VudC1xdW90YXMgdGhhdCBUZWFtIGFscmVhZHkgdW5jYXBzIHN0YXlcbiAgLy8gLTE7IGBpZHBDb25maWdzYCBzaXRzIGJldHdlZW4gVGVhbSdzIDUgYW5kIEVudGVycHJpc2UncyB1bmxpbWl0ZWQuXG4gIGJ1c2luZXNzOiB7XG4gICAgcGx1Z2luczogMTAwLFxuICAgIHBpcGVsaW5lczogMjAsXG4gICAgYXBpQ2FsbHM6IDgwMF8wMDAsXG4gICAgYXV0b21hdGlvbkNhbGxzOiAyMTBfMDAwLFxuICAgIGFpQ2FsbHM6IDFfNjAwLFxuICAgIGNwdUNyZWRpdHM6IDQ1XzAwMCxcbiAgICBzdG9yYWdlQnl0ZXM6IDEyMCAqIEdCLFxuICAgIGRhc2hib2FyZHM6IC0xLFxuICAgIGFsZXJ0UnVsZXM6IC0xLFxuICAgIGFsZXJ0RGVzdGluYXRpb25zOiAtMSxcbiAgICBpZHBDb25maWdzOiAxMCxcbiAgICBsaXN0aW5nczogNTAsXG4gICAgc2VhdHM6IDgsXG4gICAgc3VwcG9ydENvbnRhY3RzOiAwLFxuICAgIHN1cHBvcnRQcmVtaXVtQ29udGFjdHM6IDAsXG4gICAgZXZlbnRSZXRlbnRpb25EYXlzOiAzMCxcbiAgICBkb3JhUmV0ZW50aW9uRGF5czogMTgwLFxuICB9LFxuICAvLyBFbnRlcnByaXNlICgkNTk5LCBoZWxkKTogdGhlIGFsbC1pbmNsdXNpdmUgdGllciDigJQgMTUgc2VhdHMsIDMwIHBpcGVsaW5lcywgQUxMXG4gIC8vIHByZW1pdW0gZmVhdHVyZXMgaW5jbHVkZWQgKHNlZSBUSUVSX0ZFQVRVUkVTKS4gRkFJUi1VU0Ug4oCUIGNvc3QgZHJpdmVycyAoYXBpQ2FsbHMsXG4gIC8vIGFpQ2FsbHMsIHN0b3JhZ2VCeXRlcykgY2FwcGVkIHNvIG9uZSBhY2NvdW50IGNhbid0IHJ1biB1cCB1bmJvdW5kZWRcbiAgLy8gY29tcHV0ZS9wcm92aWRlci9zdG9yYWdlIGNvc3Qgb24gYSBmbGF0IHByaWNlOyBjaGVhcCBjb3VudC1xdW90YXMgc3RheSAtMS5cbiAgZW50ZXJwcmlzZToge1xuICAgIHBsdWdpbnM6IDE1MCxcbiAgICBwaXBlbGluZXM6IDMwLFxuICAgIGFwaUNhbGxzOiAxXzUwMF8wMDAsXG4gICAgYXV0b21hdGlvbkNhbGxzOiAzMTBfMDAwLFxuICAgIGFpQ2FsbHM6IDNfMDAwLFxuICAgIGNwdUNyZWRpdHM6IDY3XzUwMCxcbiAgICBzdG9yYWdlQnl0ZXM6IDI1MCAqIEdCLFxuICAgIGRhc2hib2FyZHM6IC0xLFxuICAgIGFsZXJ0UnVsZXM6IC0xLFxuICAgIGFsZXJ0RGVzdGluYXRpb25zOiAtMSxcbiAgICBpZHBDb25maWdzOiAtMSxcbiAgICBsaXN0aW5nczogMTAwLFxuICAgIHNlYXRzOiAxNSxcbiAgICBzdXBwb3J0Q29udGFjdHM6IDAsXG4gICAgc3VwcG9ydFByZW1pdW1Db250YWN0czogMCxcbiAgICBldmVudFJldGVudGlvbkRheXM6IDMwLFxuICAgIGRvcmFSZXRlbnRpb25EYXlzOiAxODAsXG4gIH0sXG4gIC8vIFVubGltaXRlZDogRVZFUlkgcXVvdGEgdW5jYXBwZWQgKC0xKS4gVGhlIGRlZmF1bHQgd2hlbiBiaWxsaW5nIGlzIGRpc2FibGVkXG4gIC8vIChubyBlbmZvcmNlbWVudCBzdXJmYWNlKSDigJQgbmV2ZXIgc2hvd24vc2VsZWN0YWJsZSB3aGVuIGJpbGxpbmcgaXMgZW5hYmxlZC5cbiAgdW5saW1pdGVkOiB7XG4gICAgcGx1Z2luczogLTEsXG4gICAgcGlwZWxpbmVzOiAtMSxcbiAgICBhcGlDYWxsczogLTEsXG4gICAgYXV0b21hdGlvbkNhbGxzOiAtMSxcbiAgICBhaUNhbGxzOiAtMSxcbiAgICBjcHVDcmVkaXRzOiAtMSxcbiAgICBzdG9yYWdlQnl0ZXM6IC0xLFxuICAgIGRhc2hib2FyZHM6IC0xLFxuICAgIGFsZXJ0UnVsZXM6IC0xLFxuICAgIGFsZXJ0RGVzdGluYXRpb25zOiAtMSxcbiAgICBpZHBDb25maWdzOiAtMSxcbiAgICBsaXN0aW5nczogLTEsXG4gICAgc2VhdHM6IC0xLFxuICAgIHN1cHBvcnRDb250YWN0czogLTEsXG4gICAgc3VwcG9ydFByZW1pdW1Db250YWN0czogLTEsXG4gICAgZXZlbnRSZXRlbnRpb25EYXlzOiAtMSxcbiAgICBkb3JhUmV0ZW50aW9uRGF5czogLTEsXG4gIH0sXG59O1xuIl19
|
|
@@ -95,4 +95,4 @@ export function daysToExhaustion(input) {
|
|
|
95
95
|
return null;
|
|
96
96
|
return Math.max(0, (limit - used) / perDay);
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtcHJvamVjdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VzYWdlLXByb2plY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgscUZBQXFGO0FBQ3JGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQWFuQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FPNUI7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDL0MsMkVBQTJFO0lBQzNFLHVEQUF1RDtJQUN2RCxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRWxFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLFVBQVUsR0FBRyxNQUFNLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLDJFQUEyRTtJQUMzRSxpRUFBaUU7SUFDakUsSUFBSSxPQUFPLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTlCLG9FQUFvRTtJQUNwRSxzRUFBc0U7SUFDdEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU87UUFDTCxTQUFTO1FBQ1QsS0FBSyxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLEtBQUssQ0FBQztLQUM5QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUUzQyxzRUFBc0U7QUFDdEUsTUFBTSxVQUFVLHNCQUFzQixDQUFDLENBQXlCO0lBQzlELE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLHVCQUF1QixDQUFDO0FBQzFELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQU1oQztJQUNDLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUNyQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogV2hlcmUgYSBxdW90YSBjb3VudGVyIGlzIEhFQURFRCwgZnJvbSB3aGVyZSBpdCBpcyBub3cuXG4gKlxuICogRXh0cmFjdGVkIG91dCBvZiBgZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvcXVvdGFzL1F1b3RhQ2FyZC50c3hgLCB3aGljaCBvd25lZFxuICogdGhpcyBwcml2YXRlbHkgKGRvY3MvcGxhbnMvc2FsZXMtYWdlbnQubWQsIFBoYXNlIDAgZ3JvdW5kd29yaykuIFRocmVlIGNhbGxlcnNcbiAqIG5lZWQgdGhlIHNhbWUgYW5zd2VyIGFuZCB3ZXJlIGdvaW5nIHRvIGNvbXB1dGUgaXQgdGhyZWUgd2F5czpcbiAqXG4gKiAgLSB0aGUgcXVvdGEgY2FyZCdzIGZvcmVjYXN0IHJvdywgd2hpY2ggaXMgd2hlcmUgaXQgc3RhcnRlZDtcbiAqICAtIHRoZSB0aHJlc2hvbGQgbm90aWNlLCB3aGljaCBkZWNpZGVzIHdoZXRoZXIgdG8gd2FybjtcbiAqICAtIHRoZSB1c2FnZSBwcm9maWxlJ3MgVFJBSkVDVE9SWSBzaWduYWwgKEQ0IENsYXNzIDIpLCB3aGljaCBpcyB0aGUgd2hvbGVcbiAqICAgIGJhc2lzIGZvciBcIndoZW4gd2lsbCB0aGV5IHJ1biBvdXRcIiByYXRoZXIgdGhhbiBcImFyZSB0aGV5IG91dFwiLlxuICpcbiAqIEEgcHJvamVjdGlvbiB0aGF0IGRpc2FncmVlZCBiZXR3ZWVuIHRoZSBwYWdlIGFuZCB0aGUgb2ZmZXIgd291bGQgYmUgdGhlIHdvcnN0XG4gKiBwb3NzaWJsZSBzcGxpdDogdGhlIGFjY291bnQgcmVhZHMgb25lIG51bWJlciBvbiB0aGUgY2FyZCBhbmQgZ2V0cyBhbiBvZmZlclxuICogYXJndWVkIGZyb20gYW5vdGhlci5cbiAqXG4gKiBERVBFTkRFTkNZLUZSRUUsIHNvIHRoZSBicm93c2VyIGltcG9ydHMgaXQgdGhyb3VnaCB0aGUgYC4vdXNhZ2UtcHJvamVjdGlvbmBcbiAqIHN1YnBhdGggcmF0aGVyIHRoYW4ga2VlcGluZyB0aGUgY29weSBpdCBoYXMgbm93LlxuICovXG5cbi8qKiBNaWxsaXNlY29uZHMgaW4gYSBkYXksIG5hbWVkIGJlY2F1c2UgdGhlIGFyaXRobWV0aWMgYmVsb3cgcmVhZHMgYmV0dGVyIGZvciBpdC4gKi9cbmNvbnN0IERBWV9NUyA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNhZ2VQcm9qZWN0aW9uIHtcbiAgLyoqIFVuaXRzIHRoZSBjb3VudGVyIGlzIHBhY2luZyB0byByZWFjaCBieSBgcmVzZXRBdGAuICovXG4gIHByb2plY3RlZDogbnVtYmVyO1xuICAvKiogYHByb2plY3RlZCAvIGxpbWl0YC4gQWJvdmUgMSBtZWFucyB0aGUgY2FwIGlzIHJlYWNoZWQgYmVmb3JlIHRoZSByZXNldC4gKi9cbiAgcmF0aW86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgdGhlIHBhY2UgZXhoYXVzdHMgdGhlIGxpbWl0IGJlZm9yZSB0aGUgcGVyaW9kIGVuZHMuICovXG4gIHdpbGxCcmVhY2g6IGJvb2xlYW47XG4gIC8qKiBGcmFjdGlvbiBvZiB0aGUgcGVyaW9kIGFscmVhZHkgZWxhcHNlZCwgMOKAkzEuICovXG4gIGVsYXBzZWRGcmFjdGlvbjogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb2plY3QgYSBmbG93IGNvdW50ZXIgdG8gaXRzIHBlcmlvZCBlbmQsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG9cbiAqIHByb2plY3QgZnJvbS5cbiAqXG4gKiBSZXR1cm5zIG51bGwgcmF0aGVyIHRoYW4gemVybyBmb3IgZXZlcnkgdW5wcm9qZWN0YWJsZSBjYXNlIOKAlCBubyB1c2FnZSB5ZXQsIGFuXG4gKiB1bmxpbWl0ZWQgb3IgYWJzZW50IGxpbWl0LCBhIHBlcmlvZCB0aGF0IGhhcyBub3Qgc3RhcnRlZCwgYW4gdW5wYXJzZWFibGVcbiAqIHJlc2V0IOKAlCBiZWNhdXNlIHplcm8gaXMgYSBGT1JFQ0FTVCBhbmQgXCJjYW5ub3Qgc2F5XCIgaXMgbm90IG9uZS4gQSBjYWxsZXIgdGhhdFxuICogdHJlYXRlZCB0aGUgdHdvIGFsaWtlIHdvdWxkIHdhcm4gYW4gYWNjb3VudCBhdCAwJSBhbmQgb2ZmZXIgYWdhaW5zdCBhXG4gKiB0cmFqZWN0b3J5IG5vYm9keSBtZWFzdXJlZC5cbiAqXG4gKiBUaGUgYnVybiByYXRlIGlzIExJTkVBUiwgYW5kIHRoYXQgaXMgYSBkZWxpYmVyYXRlIGZsb29yIHJhdGhlciB0aGFuIGEgbW9kZWw6XG4gKiByZWFsIHdvcmtsb2FkcyBzcGlrZSwgYnV0IGEgc3RyYWlnaHQgbGluZSBzdGlsbCBjYXRjaGVzIFwicGFjaW5nIHRocmVlIHRpbWVzXG4gKiBhaGVhZCBvZiBwbGFuXCIsIHdoaWNoIGlzIHRoZSBjYXNlIHdvcnRoIGFjdGluZyBvbi4gQW55dGhpbmcgY2xldmVyZXIgd2FudHMgdGhlXG4gKiBoaXN0b3J5IHRoZSBwcm9maWxlIHN0b3JlIGtlZXBzIChEMTYpLCBub3QgYSBiZXR0ZXIgZm9ybXVsYSBoZXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvamVjdFVzYWdlKGlucHV0OiB7XG4gIHVzZWQ6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbiAgcmVzZXRBdDogc3RyaW5nIHwgRGF0ZTtcbiAgcGVyaW9kRGF5czogbnVtYmVyO1xuICAvKiogRGVmYXVsdHMgdG8gbm93OyBpbmplY3RhYmxlIHNvIGEgY2FsbGVyIGNhbiBwcm9qZWN0IGFzIG9mIGEgcGVyaW9kJ3MgZW5kLiAqL1xuICBub3c/OiBudW1iZXI7XG59KTogVXNhZ2VQcm9qZWN0aW9uIHwgbnVsbCB7XG4gIGNvbnN0IHsgdXNlZCwgbGltaXQsIHBlcmlvZERheXMgfSA9IGlucHV0O1xuICBjb25zdCByZXNldCA9IGlucHV0LnJlc2V0QXQgaW5zdGFuY2VvZiBEYXRlID8gaW5wdXQucmVzZXRBdCA6IG5ldyBEYXRlKGlucHV0LnJlc2V0QXQpO1xuICBpZiAoTnVtYmVyLmlzTmFOKHJlc2V0LmdldFRpbWUoKSkpIHJldHVybiBudWxsO1xuICAvLyBgbGltaXQgPD0gMGAgY292ZXJzIGJvdGggYW4gdW5zZXQgY2FwIGFuZCB0aGUgYC0xYCB0aGF0IG1lYW5zIHVubGltaXRlZDpcbiAgLy8gbmVpdGhlciBoYXMgYSByYXRpbywgYW5kIHRoZXJlIGlzIG5vdGhpbmcgdG8gYnJlYWNoLlxuICBpZiAoIShsaW1pdCA+IDApIHx8ICEodXNlZCA+IDApIHx8ICEocGVyaW9kRGF5cyA+IDApKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBub3cgPSBpbnB1dC5ub3cgPz8gRGF0ZS5ub3coKTtcbiAgY29uc3QgdG90YWwgPSBwZXJpb2REYXlzICogREFZX01TO1xuICBjb25zdCBwZXJpb2RTdGFydCA9IHJlc2V0LmdldFRpbWUoKSAtIHRvdGFsO1xuICBjb25zdCBlbGFwc2VkID0gbm93IC0gcGVyaW9kU3RhcnQ7XG4gIC8vIEJlZm9yZSB0aGUgcGVyaW9kIG9wZW5lZCwgb3IgZXhhY3RseSBhdCBpdHMgYm91bmRhcnk6IG5vIGVsYXBzZWQgdGltZSB0b1xuICAvLyBkaXZpZGUgYnksIGFuZCBleHRyYXBvbGF0aW5nIGZyb20gemVybyBlbGFwc2VkIGdpdmVzIGluZmluaXR5LlxuICBpZiAoZWxhcHNlZCA8PSAwKSByZXR1cm4gbnVsbDtcblxuICAvLyBQYXN0IHRoZSByZXNldCB0aGUgcGVyaW9kIGlzIG92ZXI7IHRoZSBwYWNlIElTIHRoZSB1c2FnZSwgd2l0aCBub1xuICAvLyBleHRyYXBvbGF0aW9uLCByYXRoZXIgdGhhbiBhIGZpZ3VyZSBzY2FsZWQgYnkgYSBmcmFjdGlvbiBhYm92ZSBvbmUuXG4gIGNvbnN0IHNjYWxlID0gZWxhcHNlZCA+PSB0b3RhbCA/IDEgOiB0b3RhbCAvIGVsYXBzZWQ7XG4gIGNvbnN0IHByb2plY3RlZCA9IE1hdGgucm91bmQodXNlZCAqIHNjYWxlKTtcbiAgcmV0dXJuIHtcbiAgICBwcm9qZWN0ZWQsXG4gICAgcmF0aW86IHByb2plY3RlZCAvIGxpbWl0LFxuICAgIHdpbGxCcmVhY2g6IHByb2plY3RlZCA+IGxpbWl0LFxuICAgIGVsYXBzZWRGcmFjdGlvbjogTWF0aC5taW4oMSwgZWxhcHNlZCAvIHRvdGFsKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgYmFuZCBhdCB3aGljaCBhIHByb2plY3Rpb24gaXMgd29ydGggc2hvd2luZyBhIHBlcnNvbi5cbiAqXG4gKiBTaGFyZWQgc28gdGhlIGNhcmQncyBmb3JlY2FzdCByb3cgYW5kIHRoZSBwcm9maWxlJ3MgcHJlc3N1cmUgc2lnbmFsIGFncmVlIG9uXG4gKiB3aGF0IFwiYXBwcm9hY2hpbmdcIiBtZWFucy4gQmVsb3cgaXQgdGhlcmUgaXMgYSBwcm9qZWN0aW9uIGJ1dCBubyByZWFzb24gdG8gc2F5XG4gKiBhbnl0aGluZywgd2hpY2ggaXMgYSBkaWZmZXJlbnQgc3RhdGUgZnJvbSBoYXZpbmcgbm8gcHJvamVjdGlvbiBhdCBhbGwuXG4gKi9cbmV4cG9ydCBjb25zdCBQUk9KRUNUSU9OX05PVElDRV9SQVRJTyA9IDAuNztcblxuLyoqIFdoZXRoZXIgYSBwcm9qZWN0aW9uIGhhcyBjcm9zc2VkIGludG8gdGhlIGJhbmQgd29ydGggc3VyZmFjaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2plY3Rpb25Xb3J0aFNob3dpbmcocDogVXNhZ2VQcm9qZWN0aW9uIHwgbnVsbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcCAhPT0gbnVsbCAmJiBwLnJhdGlvID49IFBST0pFQ1RJT05fTk9USUNFX1JBVElPO1xufVxuXG4vKipcbiAqIERheXMgdW50aWwgdGhlIGNvdW50ZXIgcmVhY2hlcyBpdHMgbGltaXQgYXQgdGhlIGN1cnJlbnQgcGFjZSwgb3IgYG51bGxgIHdoZW5cbiAqIGl0IGRvZXMgbm90IHJlYWNoIGl0IGluc2lkZSB0aGUgcGVyaW9kLlxuICpcbiAqIFRoZSBUUkFKRUNUT1JZIHNpZ25hbCdzIGFjdHVhbCBxdWVzdGlvbiAoRDQgQ2xhc3MgMikg4oCUIFwiaG93IGxvbmcgaGF2ZSB0aGV5XG4gKiBnb3RcIiBpcyB3aGF0IGRlY2lkZXMgd2hldGhlciBhbiBvZmZlciBpcyB0aW1lbHksIHdoZXJlIHRoZSBwcm9qZWN0ZWQgdG90YWxcbiAqIG9ubHkgc2F5cyB3aGV0aGVyIGl0IGlzIHdhcnJhbnRlZC4gRnJhY3Rpb25hbCBkYXlzIGFyZSBrZXB0OiByb3VuZGluZyB1cCB0byBhXG4gKiB3aG9sZSBkYXkgbG9zZXMgZXhhY3RseSB0aGUgdXJnZW5jeSB0aGUgc2lnbmFsIGlzIGZvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRheXNUb0V4aGF1c3Rpb24oaW5wdXQ6IHtcbiAgdXNlZDogbnVtYmVyO1xuICBsaW1pdDogbnVtYmVyO1xuICByZXNldEF0OiBzdHJpbmcgfCBEYXRlO1xuICBwZXJpb2REYXlzOiBudW1iZXI7XG4gIG5vdz86IG51bWJlcjtcbn0pOiBudW1iZXIgfCBudWxsIHtcbiAgY29uc3QgcCA9IHByb2plY3RVc2FnZShpbnB1dCk7XG4gIGlmICghcCB8fCAhcC53aWxsQnJlYWNoKSByZXR1cm4gbnVsbDtcbiAgY29uc3QgeyB1c2VkLCBsaW1pdCwgcGVyaW9kRGF5cyB9ID0gaW5wdXQ7XG4gIGNvbnN0IHBlckRheSA9IHVzZWQgLyAocC5lbGFwc2VkRnJhY3Rpb24gKiBwZXJpb2REYXlzKTtcbiAgaWYgKCEocGVyRGF5ID4gMCkpIHJldHVybiBudWxsO1xuICByZXR1cm4gTWF0aC5tYXgoMCwgKGxpbWl0IC0gdXNlZCkgLyBwZXJEYXkpO1xufVxuIl19
|
package/lib/types/visibility.js
CHANGED
|
@@ -19,4 +19,4 @@
|
|
|
19
19
|
* `requireVisibilityWriteAccess` gates the writes.
|
|
20
20
|
*/
|
|
21
21
|
export const VISIBILITIES = ['private', 'org', 'public'];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Zpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogVGhlIHNpbmdsZSBzaGFyaW5nIG1vZGVsIGZvciBldmVyeSBjYXRhbG9nIGVudGl0eTogcGlwZWxpbmVzLCBwbHVnaW5zLFxuICogcGlwZWxpbmUgdGVtcGxhdGVzLCBhbmQgZGFzaGJvYXJkcy5cbiAqXG4gKiBUaHJlZSBydW5ncywgd2lkZW5pbmcgbGVmdCB0byByaWdodDpcbiAqXG4gKiAtIGBwcml2YXRlYCDigJQgb25seSB0aGUgQVVUSE9SIChgY3JlYXRlZEJ5YCkgY2FuIHNlZSBvciBlZGl0IGl0LiBBIHBlcnNvbmFsXG4gKiAgIGRyYWZ0OiBzb21ld2hlcmUgdG8gaXRlcmF0ZSBiZWZvcmUgYW55b25lIGVsc2UgaXMgYWZmZWN0ZWQuXG4gKiAtIGBvcmdgICAgICDigJQgZXZlcnlvbmUgaW4gdGhlIG93bmluZyBvcmcgY2FuIHNlZSBpdDsgdGhlIHJlc291cmNlJ3MgYDp3cml0ZWBcbiAqICAgcGVybWlzc2lvbiBlZGl0cyBpdC4gVGhpcyBpcyB0aGUgZGVmYXVsdCB3b3JraW5nIHN0YXRlIGZvciBzaGFyZWQgY29udGVudC5cbiAqIC0gYHB1YmxpY2AgIOKAlCBzaGFyZWQgYmV5b25kIHRoZSBvcmc6IGEgdGVhbSBhbHNvIHNlZXMgaXRzIHBhcmVudCBvcmcncyBwdWJsaWNcbiAqICAgcm93cywgYW5kIHRoZSBzeXN0ZW0gb3JnJ3MgcHVibGljIHJvd3MgYXJlIHRoZSBzaGFyZWQgY2F0YWxvZyBldmVyeSBvcmdcbiAqICAgc2Vlcy4gUmVxdWlyZXMgdGhlIHJlc291cmNlJ3MgYDpwdWJsaXNoYCBwZXJtaXNzaW9uLlxuICpcbiAqIEVuZm9yY2VtZW50IGxpdmVzIGluIGV4YWN0bHkgdHdvIHBsYWNlcywgc28gbm8gZW50aXR5IGNhbiBkcmlmdDpcbiAqIGBBY2Nlc3NDb250cm9sUXVlcnlCdWlsZGVyYCBidWlsZHMgdGhlIHJlYWQgcHJlZGljYXRlLCBhbmRcbiAqIGByZXF1aXJlVmlzaWJpbGl0eVdyaXRlQWNjZXNzYCBnYXRlcyB0aGUgd3JpdGVzLlxuICovXG5leHBvcnQgY29uc3QgVklTSUJJTElUSUVTID0gWydwcml2YXRlJywgJ29yZycsICdwdWJsaWMnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFZpc2liaWxpdHkgPSAodHlwZW9mIFZJU0lCSUxJVElFUylbbnVtYmVyXTtcbiJdfQ==
|
|
@@ -27,6 +27,13 @@ export declare const MESSAGE_TYPES: readonly ['announcement', 'conversation'];
|
|
|
27
27
|
export type MessageType = (typeof MESSAGE_TYPES)[number];
|
|
28
28
|
export declare const MESSAGE_PRIORITIES: readonly ['normal', 'high', 'urgent'];
|
|
29
29
|
export type MessagePriority = (typeof MESSAGE_PRIORITIES)[number];
|
|
30
|
+
/**
|
|
31
|
+
* Who SENT a root message, relative to the viewer: `me` (the viewing user
|
|
32
|
+
* authored it), `org` (the viewing org sent it — any member), `others` (it
|
|
33
|
+
* arrived from another org, announcements included).
|
|
34
|
+
*/
|
|
35
|
+
export declare const MESSAGE_SENT_BY: readonly ['me', 'org', 'others'];
|
|
36
|
+
export type MessageSentBy = (typeof MESSAGE_SENT_BY)[number];
|
|
30
37
|
export declare const SUBSCRIPTION_STATUSES: readonly ['active', 'canceled', 'past_due', 'trialing', 'incomplete'];
|
|
31
38
|
export type SubscriptionStatus = (typeof SUBSCRIPTION_STATUSES)[number];
|
|
32
39
|
export declare const BILLING_INTERVALS: readonly ['monthly', 'annual'];
|
|
@@ -37,6 +37,12 @@ export const RULE_SCOPES = ['org', 'published'];
|
|
|
37
37
|
// -----------------------------------------------------------------------------
|
|
38
38
|
export const MESSAGE_TYPES = ['announcement', 'conversation'];
|
|
39
39
|
export const MESSAGE_PRIORITIES = ['normal', 'high', 'urgent'];
|
|
40
|
+
/**
|
|
41
|
+
* Who SENT a root message, relative to the viewer: `me` (the viewing user
|
|
42
|
+
* authored it), `org` (the viewing org sent it — any member), `others` (it
|
|
43
|
+
* arrived from another org, announcements included).
|
|
44
|
+
*/
|
|
45
|
+
export const MESSAGE_SENT_BY = ['me', 'org', 'others'];
|
|
40
46
|
// -----------------------------------------------------------------------------
|
|
41
47
|
// Billing
|
|
42
48
|
// -----------------------------------------------------------------------------
|
|
@@ -116,4 +122,4 @@ export const PLUGIN_SECURITY_DIGEST_MODES = ['immediate', 'daily', 'weekly'];
|
|
|
116
122
|
// the labels were in a frontend mirror of both. One keyed catalog is importable
|
|
117
123
|
// by the browser, so the mirror and the test that parsed this package's source
|
|
118
124
|
// to detect drift are both gone.
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS12b2NhYnVsYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3dpcmUtdm9jYWJ1bGFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7R0FTRztBQUVILGdGQUFnRjtBQUNoRixtQkFBbUI7QUFDbkIsZ0ZBQWdGO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFHekUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBVSxDQUFDO0FBRzVELHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsSUFBSSxFQUFFLEtBQUs7SUFDWCxVQUFVLEVBQUUsYUFBYTtJQUN6QixPQUFPO0lBQ1AsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN4QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVTtJQUNqQyxTQUFTLEVBQUUsU0FBUztJQUNwQixVQUFVLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFHWCxzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBNEMsQ0FBQztBQUV2SCwwREFBMEQ7QUFDMUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7QUFHNUQsNEVBQTRFO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQVUsQ0FBQztBQUd6RCxnRkFBZ0Y7QUFDaEYsV0FBVztBQUNYLGdGQUFnRjtBQUVoRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxjQUFjLEVBQUUs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LFVBQVUsRUFBRSxXQUFXLENBQVUsQ0FBQztBQUdwRyxvRkFBb0Y7QUFDcEYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQVUsQ0FBQztBQUc1RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBR2xGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFVLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQVUsQ0FBQztBQUc1Rjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTO0NBQzNHLENBQUM7QUFHWCxnRkFBZ0Y7QUFDaEYsMENBQTBDO0FBQzFDLGdGQUFnRjtBQUVoRjsyRUFDMkU7QUFDM0UsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFHN0Usd0ZBQXdGO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQVUsQ0FBQztBQUd0Riw2RUFBNkU7QUFDN0Usd0VBQXdFO0FBQ3hFLCtFQUErRTtBQUMvRSw4RUFBOEU7QUFDOUUsZ0ZBQWdGO0FBQ2hGLCtFQUErRTtBQUMvRSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBDbG9zZWQgc3RyaW5nIHZvY2FidWxhcmllcyB0aGF0IGNyb3NzIHRoZSB3aXJlIGJldHdlZW4gdGhlIHNlcnZpY2VzIGFuZCB0aGVcbiAqIGJyb3dzZXIuIEVhY2ggaXMgYW4gYGFzIGNvbnN0YCBhcnJheSAodGhlIHJ1bnRpbWUgbGlzdCBhIFpvZCBlbnVtLCBhIE1vbmdvb3NlXG4gKiBlbnVtIG9yIGEgZHJpenpsZSBgJHR5cGVgIGJ1aWxkcyBmcm9tKSBwbHVzIHRoZSB1bmlvbiB0eXBlIGRlcml2ZWQgZnJvbSBpdC5cbiAqXG4gKiBEZXBlbmRlbmN5LWZyZWUgb24gcHVycG9zZTogdGhlIGZyb250ZW5kIGltcG9ydHMgdGhlc2UgdHlwZXMsIHNvIGEgdmFsdWUgYWRkZWRcbiAqIGhlcmUgcmVhY2hlcyB0aGUgVUkncyBleGhhdXN0aXZlIGxhYmVsIG1hcHMgYXMgYSBjb21waWxlIGVycm9yIGluc3RlYWQgb2YgYVxuICogc2lsZW50bHkgdW5oYW5kbGVkIHN0cmluZy4gVGhlIFBvc3RncmVzIENIRUNLIGNvbnN0cmFpbnRzIGluIGVhY2ggZGVwbG95XG4gKiB0YXJnZXQncyBgcG9zdGdyZXMtaW5pdC5zcWxgIG1pcnJvciB0aGUgb25lcyBzdG9yZWQgaW4gU1FMLlxuICovXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21wbGlhbmNlIHJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgUlVMRV9TRVZFUklUSUVTID0gWyd3YXJuaW5nJywgJ2Vycm9yJywgJ2NyaXRpY2FsJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSdWxlU2V2ZXJpdHkgPSAodHlwZW9mIFJVTEVfU0VWRVJJVElFUylbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IFJVTEVfVEFSR0VUUyA9IFsncGx1Z2luJywgJ3BpcGVsaW5lJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSdWxlVGFyZ2V0ID0gKHR5cGVvZiBSVUxFX1RBUkdFVFMpW251bWJlcl07XG5cbi8qKiBGaWVsZC1ldmFsdWF0aW9uIG9wZXJhdG9yczsgdGhlIGVuZ2luZSdzIGltcGxlbWVudGF0aW9ucyBsaXZlIGluIGFwaS9jb21wbGlhbmNlLiAqL1xuZXhwb3J0IGNvbnN0IFJVTEVfT1BFUkFUT1JTID0gW1xuICAnZXEnLCAnbmVxJyxcbiAgJ2NvbnRhaW5zJywgJ25vdENvbnRhaW5zJyxcbiAgJ3JlZ2V4JyxcbiAgJ2d0JywgJ2d0ZScsICdsdCcsICdsdGUnLFxuICAnaW4nLCAnbm90SW4nLFxuICAnZXhpc3RzJywgJ25vdEV4aXN0cycsICdub3RFbXB0eScsXG4gICdjb3VudEd0JywgJ2NvdW50THQnLFxuICAnbGVuZ3RoR3QnLCAnbGVuZ3RoTHQnLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJ1bGVPcGVyYXRvciA9ICh0eXBlb2YgUlVMRV9PUEVSQVRPUlMpW251bWJlcl07XG5cbi8qKiBPcGVyYXRvcnMgdGhhdCB0ZXN0IHByZXNlbmNlIG9ubHkgYW5kIHRha2Ugbm8gY29tcGFyaXNvbiB2YWx1ZS4gKi9cbmV4cG9ydCBjb25zdCBWQUxVRUxFU1NfUlVMRV9PUEVSQVRPUlMgPSBbJ2V4aXN0cycsICdub3RFeGlzdHMnLCAnbm90RW1wdHknXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgUnVsZU9wZXJhdG9yW107XG5cbi8qKiBIb3cgYSBtdWx0aS1jb25kaXRpb24gcnVsZSBjb21iaW5lcyBpdHMgY29uZGl0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCBSVUxFX0NPTkRJVElPTl9NT0RFUyA9IFsnYWxsJywgJ2FueSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUnVsZUNvbmRpdGlvbk1vZGUgPSAodHlwZW9mIFJVTEVfQ09ORElUSU9OX01PREVTKVtudW1iZXJdO1xuXG4vKiogYHB1Ymxpc2hlZGAgcnVsZXMgYmVsb25nIHRvIHRoZSBzeXN0ZW0gb3JnIGFuZCBhcHBseSBieSBzdWJzY3JpcHRpb24uICovXG5leHBvcnQgY29uc3QgUlVMRV9TQ09QRVMgPSBbJ29yZycsICdwdWJsaXNoZWQnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJ1bGVTY29wZSA9ICh0eXBlb2YgUlVMRV9TQ09QRVMpW251bWJlcl07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZXNzYWdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGNvbnN0IE1FU1NBR0VfVFlQRVMgPSBbJ2Fubm91bmNlbWVudCcsICdjb252ZXJzYXRpb24nXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIE1lc3NhZ2VUeXBlID0gKHR5cGVvZiBNRVNTQUdFX1RZUEVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgTUVTU0FHRV9QUklPUklUSUVTID0gWydub3JtYWwnLCAnaGlnaCcsICd1cmdlbnQnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIE1lc3NhZ2VQcmlvcml0eSA9ICh0eXBlb2YgTUVTU0FHRV9QUklPUklUSUVTKVtudW1iZXJdO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmlsbGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGNvbnN0IFNVQlNDUklQVElPTl9TVEFUVVNFUyA9IFsnYWN0aXZlJywgJ2NhbmNlbGVkJywgJ3Bhc3RfZHVlJywgJ3RyaWFsaW5nJywgJ2luY29tcGxldGUnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFN1YnNjcmlwdGlvblN0YXR1cyA9ICh0eXBlb2YgU1VCU0NSSVBUSU9OX1NUQVRVU0VTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgQklMTElOR19JTlRFUlZBTFMgPSBbJ21vbnRobHknLCAnYW5udWFsJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBCaWxsaW5nSW50ZXJ2YWwgPSAodHlwZW9mIEJJTExJTkdfSU5URVJWQUxTKVtudW1iZXJdO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSWRlbnRpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKiBPSURDIHByb3ZpZGVycyBhbiBvcmcgSWRQIGNvbmZpZyBjYW4gbmFtZSAoR2l0SHViIGlzIE9BdXRoLW9ubHkgYW5kIHJlZnVzZWQgYnkgdGhlIE9JREMgZW5naW5lKS4gKi9cbmV4cG9ydCBjb25zdCBJRFBfUFJPVklERVJTID0gWydnZW5lcmljLW9pZGMnLCAnY29nbml0bycsICdnb29nbGUnLCAnZ2l0aHViJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBJZHBQcm92aWRlciA9ICh0eXBlb2YgSURQX1BST1ZJREVSUylbbnVtYmVyXTtcblxuLyoqIFRoZSBmZWRlcmF0aW9uIHByb3RvY29sIGFuIG9yZyBzaWducyBpbiBvdmVyIOKAlCBvbmUgcGVyIG9yZy4gKi9cbmV4cG9ydCBjb25zdCBJRFBfUFJPVE9DT0xTID0gWydvaWRjJywgJ3NhbWwnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIElkcFByb3RvY29sID0gKHR5cGVvZiBJRFBfUFJPVE9DT0xTKVtudW1iZXJdO1xuXG4vKipcbiAqIFdoaWNoIFNBTUwgYXNzZXJ0aW9uIGF0dHJpYnV0ZSBjYXJyaWVzIHdoaWNoIGlkZW50aXR5IGZpZWxkLiBBbiBlbXB0eSBuYW1lXG4gKiBtZWFucyBcInVzZSB0aGUgY29tbW9uIHNwZWxsaW5nc1wiIChzaG9ydCBuYW1lcyBwbHVzIHRoZSBFbnRyYS9TaGliYm9sZXRoIFVSSXMpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbWxBdHRyaWJ1dGVNYXBwaW5nIHtcbiAgLyoqIEF0dHJpYnV0ZSBob2xkaW5nIHRoZSB1c2VyJ3MgZW1haWwgYWRkcmVzcy4gKi9cbiAgZW1haWw/OiBzdHJpbmc7XG4gIC8qKiBBdHRyaWJ1dGUgaG9sZGluZyB0aGUgZGlzcGxheSBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogQXR0cmlidXRlIGhvbGRpbmcgZ3JvdXAgbWVtYmVyc2hpcHMgKGRyaXZlcyBKSVQgcm9sZSBtYXBwaW5nKS4gKi9cbiAgZ3JvdXBzPzogc3RyaW5nO1xufVxuXG4vKiogVGhlIGNvYXJzZSBncmFudCBhIHBlcm1pc3Npb24gcm9sZSBnaXZlcyBpdHMgbWVtYmVycy4gKi9cbmV4cG9ydCBjb25zdCBST0xFX0dSQU5UUyA9IFsnc3VwZXJhZG1pbicsICdhZG1pbicsICdtZW1iZXInXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJvbGVHcmFudCA9ICh0eXBlb2YgUk9MRV9HUkFOVFMpW251bWJlcl07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQbHVnaW4gZWNvc3lzdGVtIChlYWNoIG1pcnJvcmVkIGJ5IGEgQ0hFQ0sgaW4gcG9zdGdyZXMtaW5pdC5zcWwpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiogUHVibGlzaGVyIHRydXN0IHRpZXIuICovXG5leHBvcnQgY29uc3QgUFVCTElTSEVSX1RJRVJTID0gWydvZmZpY2lhbCcsICd2ZXJpZmllZCcsICdjb21tdW5pdHknLCAndW52ZXJpZmllZCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUHVibGlzaGVyVGllciA9ICh0eXBlb2YgUFVCTElTSEVSX1RJRVJTKVtudW1iZXJdO1xuXG4vKiogQSBkaXJlY3RvcnkgbGlzdGluZydzIGxpZmVjeWNsZSBzdGF0ZS4gKi9cbmV4cG9ydCBjb25zdCBMSVNUSU5HX1NUQVRFUyA9IFsnbGlzdGVkJywgJ3VubWFpbnRhaW5lZCcsICdzdXNwZW5kZWQnLCAndHJhbnNmZXJyZWQnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIExpc3RpbmdTdGF0ZSA9ICh0eXBlb2YgTElTVElOR19TVEFURVMpW251bWJlcl07XG5cbi8qKiBXaGF0IGEgcHVibGlzaCByZXF1ZXN0IGFza3MgdGhlIHN5c3RlbSBvcmcgdG8gZG8uICovXG5leHBvcnQgY29uc3QgUFVCTElTSF9SRVFVRVNUX0tJTkRTID0gW1xuICAnbmV3X2xpc3RpbmcnLCAnbmV3X3ZlcnNpb24nLCAnbGlzdGluZ191cGRhdGUnLCAneWFuaycsICd1bnBhdXNlJyxcbiAgJ3RyYW5zZmVyJywgJ2NsYWltJywgJ3Byb2ZpbGVfY2hhbmdlJywgJ2Fkdmlzb3J5JywgJ3ZlcmlmeScsICdtb2RlcmF0aW9uJywgJ3N1Ym1pc3Npb24nLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFB1Ymxpc2hSZXF1ZXN0S2luZCA9ICh0eXBlb2YgUFVCTElTSF9SRVFVRVNUX0tJTkRTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgUFVCTElTSF9SRVFVRVNUX1NUQVRVU0VTID0gWydwZW5kaW5nJywgJ3BlbmRpbmdfc2Vjb25kX2FwcHJvdmFsJywgJ2FwcHJvdmVkJywgJ3JlamVjdGVkJywgJ3dpdGhkcmF3biddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUHVibGlzaFJlcXVlc3RTdGF0dXMgPSAodHlwZW9mIFBVQkxJU0hfUkVRVUVTVF9TVEFUVVNFUylbbnVtYmVyXTtcblxuLyoqIFRoZSBzdGF0dXNlcyBhIHJlcXVlc3QgaXMgc3RpbGwgXCJvcGVuXCIgaW4gKGRyaXZlcyB0aGUgb25lLW9wZW4tcmVxdWVzdCBpbmRleCkuICovXG5leHBvcnQgY29uc3QgT1BFTl9QVUJMSVNIX1JFUVVFU1RfU1RBVFVTRVMgPSBbJ3BlbmRpbmcnLCAncGVuZGluZ19zZWNvbmRfYXBwcm92YWwnXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgUHVibGlzaFJlcXVlc3RTdGF0dXNbXTtcblxuLyoqIGBzZWN1cml0eWAgcmVxdWVzdHMganVtcCB0aGUgbW9kZXJhdGlvbiBxdWV1ZS4gKi9cbmV4cG9ydCBjb25zdCBQVUJMSVNIX1JFUVVFU1RfTEFORVMgPSBbJ3N0YW5kYXJkJywgJ3NlY3VyaXR5J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBQdWJsaXNoUmVxdWVzdExhbmUgPSAodHlwZW9mIFBVQkxJU0hfUkVRVUVTVF9MQU5FUylbbnVtYmVyXTtcblxuLyoqIEluc3RhbGwgdmVyc2lvbiBwb2xpY3k6IGV4YWN0LCBgfmAsIGBeYCwgb3IgYW55dGhpbmcgbm9uLWJyZWFraW5nLiAqL1xuZXhwb3J0IGNvbnN0IElOU1RBTExfVkVSU0lPTl9QT0xJQ0lFUyA9IFsncGlubmVkJywgJ3BhdGNoJywgJ21pbm9yJywgJ2xhdGVzdCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgSW5zdGFsbFZlcnNpb25Qb2xpY3kgPSAodHlwZW9mIElOU1RBTExfVkVSU0lPTl9QT0xJQ0lFUylbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IElOU1RBTExfU1RBVFVTRVMgPSBbJ2FjdGl2ZScsICdwZW5kaW5nX2FwcHJvdmFsJywgJ2RlbmllZCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgSW5zdGFsbFN0YXR1cyA9ICh0eXBlb2YgSU5TVEFMTF9TVEFUVVNFUylbbnVtYmVyXTtcblxuLyoqIFRoZSBhZHZpc29yeSBzZXZlcml0eSBhdCB3aGljaCBhIGNvbnN1bXB0aW9uIHBvbGljeSBibG9ja3MgaW5zdGFsbHMuICovXG5leHBvcnQgY29uc3QgQkxPQ0tfT05fQURWSVNPUllfTEVWRUxTID0gWydjcml0aWNhbCcsICdoaWdoJywgJ25ldmVyJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBCbG9ja09uQWR2aXNvcnkgPSAodHlwZW9mIEJMT0NLX09OX0FEVklTT1JZX0xFVkVMUylbbnVtYmVyXTtcblxuLyoqIFdoZXRoZXIgb2ZmaWNpYWwgcGx1Z2lucyBuZWVkIGFuIGV4cGxpY2l0IGluc3RhbGwgYmVmb3JlIGEgcGlwZWxpbmUgY2FuIHVzZSB0aGVtLiAqL1xuZXhwb3J0IGNvbnN0IE9GRklDSUFMX0lOU1RBTExTX01PREVTID0gWydpbXBsaWNpdCcsICdleHBsaWNpdCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgT2ZmaWNpYWxJbnN0YWxscyA9ICh0eXBlb2YgT0ZGSUNJQUxfSU5TVEFMTFNfTU9ERVMpW251bWJlcl07XG5cbi8qKlxuICogV2hhdCBoYXBwZW5zIHdoZW4gYW4gb3JnIGRlZmluZXMgYSBwbHVnaW4gTkFNRSB0aGF0IG92ZXJyaWRlcyBzb21ldGhpbmcgaXRcbiAqIHdvdWxkIG90aGVyd2lzZSByZXNvbHZlIOKAlCBhIGxpc3RpbmcsIG9yIChmb3IgYSB0ZWFtKSBpdHMgcGFyZW50IG9yZydzIHBsdWdpbi5cbiAqXG4gKiBgYWxsb3dgIGtlZXBzIHRvZGF5J3MgYmVoYXZpb3VyOiB0aGUgb3ZlcnJpZGUgaXMgc2lsZW50IGJleW9uZCB0aGUgZGFzaGJvYXJkXG4gKiBiYW5uZXIuIGB3YXJuYCBpcyB0aGUgc2FtZSByZXNvbHV0aW9uIHdpdGggdGhlIGZhY3QgcmVjb3JkZWQgcHJvbWluZW50bHkuXG4gKiBgZGVueWAgcmVmdXNlcyB0aGUgdXBsb2FkLCB3aGljaCBpcyB0aGUgb25seSBzZXR0aW5nIHRoYXQgYWN0dWFsbHkgc3RvcHMgYVxuICogdGVhbSByZXBsYWNpbmcgdGhlIE9mZmljaWFsIGB0cml2eWAgZm9yIGV2ZXJ5IHBpcGVsaW5lIHRoYXQgbmFtZXMgaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBTSEFET1dJTkdfTU9ERVMgPSBbJ2FsbG93JywgJ3dhcm4nLCAnZGVueSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgU2hhZG93aW5nTW9kZSA9ICh0eXBlb2YgU0hBRE9XSU5HX01PREVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgUkVWSUVXX1NUQVRVU0VTID0gWydwdWJsaXNoZWQnLCAnaGVsZCcsICdyZW1vdmVkJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSZXZpZXdTdGF0dXMgPSAodHlwZW9mIFJFVklFV19TVEFUVVNFUylbbnVtYmVyXTtcblxuLyoqIFdoeSBhIGhlbGQgcmV2aWV3IGlzIGhlbGQuICovXG5leHBvcnQgY29uc3QgUkVWSUVXX0hPTERfUkVBU09OUyA9IFsncmVwb3J0cycsICdidXJzdCcsICdmaWx0ZXInLCAnc2VjdXJpdHknLCAnbW9kZXJhdG9yJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSZXZpZXdIb2xkUmVhc29uID0gKHR5cGVvZiBSRVZJRVdfSE9MRF9SRUFTT05TKVtudW1iZXJdO1xuXG4vKiogQSByZXZpZXcgcmVwb3J0J3MgY2F0ZWdvcnk7IGBzZWN1cml0eWAgcm91dGVzIHByaXZhdGVseSB0byB0aGUgYWR2aXNvcnkgcGF0aC4gKi9cbmV4cG9ydCBjb25zdCBSRVZJRVdfUkVQT1JUX0NBVEVHT1JJRVMgPSBbJ3NwYW0nLCAnYWJ1c2UnLCAnb2ZmX3RvcGljJywgJ3NlY3VyaXR5J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSZXZpZXdSZXBvcnRDYXRlZ29yeSA9ICh0eXBlb2YgUkVWSUVXX1JFUE9SVF9DQVRFR09SSUVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgQURWSVNPUllfU0VWRVJJVElFUyA9IFsnY3JpdGljYWwnLCAnaGlnaCcsICdtZWRpdW0nLCAnbG93J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBBZHZpc29yeVNldmVyaXR5ID0gKHR5cGVvZiBBRFZJU09SWV9TRVZFUklUSUVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgQURWSVNPUllfU1RBVEVTID0gWydkcmFmdCcsICdwdWJsaXNoZWQnLCAnd2l0aGRyYXduJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBBZHZpc29yeVN0YXRlID0gKHR5cGVvZiBBRFZJU09SWV9TVEFURVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBBRFZJU09SWV9TT1VSQ0VTID0gWydwdWJsaXNoZXInLCAnbW9kZXJhdG9yJywgJ2N2ZV9yZXNjYW4nLCAncmV2aWV3J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBBZHZpc29yeVNvdXJjZSA9ICh0eXBlb2YgQURWSVNPUllfU09VUkNFUylbbnVtYmVyXTtcblxuLyoqXG4gKiBBbiBhbm9ueW1vdXMgc3VibWlzc2lvbidzIGxpZmVjeWNsZS4gYHB1Ymxpc2hpbmdgIGlzIHRoZSBzaG9ydCBjbGFpbSBhblxuICogYXBwcm92YWwgdGFrZXMgYmVmb3JlIGl0IGNvcGllcyB0aGUgcXVhcmFudGluZWQgaW1hZ2Ugb3V0LCBzbyBhbiBleHBpcnkgY2FuXG4gKiBuZXZlciBkZWxldGUgdGhlIGFydGlmYWN0cyBvZiBhIHN1Ym1pc3Npb24gdGhhdCBpcyBiZWluZyBwdWJsaXNoZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBTVUJNSVNTSU9OX1NUQVRVU0VTID0gW1xuICAncGVuZGluZ192ZXJpZmljYXRpb24nLCAncGVuZGluZ19yZXZpZXcnLCAncHVibGlzaGluZycsICdnYXRlX2ZhaWxlZCcsICdhcHByb3ZlZCcsICdyZWplY3RlZCcsICdleHBpcmVkJywgJ2NsYWltZWQnLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFN1Ym1pc3Npb25TdGF0dXMgPSAodHlwZW9mIFNVQk1JU1NJT05fU1RBVFVTRVMpW251bWJlcl07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQbHVnaW4gc2VjdXJpdHkgbm90aWZpY2F0aW9ucyAocGVyIG9yZylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKiBXaG8gcmVjZWl2ZXMgYW4gb3JnJ3MgcGx1Z2luIHNlY3VyaXR5IG5vdGljZXM6IGB3cml0ZXJzYCA9IHRoZSB1cGxvYWRlciBwbHVzXG4gKiAgbWVtYmVycyBob2xkaW5nIGBwbHVnaW5zOndyaXRlYDsgYHVzZXJzYCA9IHRoZSBvcmcncyBjaG9zZW4gbWVtYmVycy4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fU0VDVVJJVFlfUkVDSVBJRU5UX01PREVTID0gWyd3cml0ZXJzJywgJ3VzZXJzJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBQbHVnaW5TZWN1cml0eVJlY2lwaWVudE1vZGUgPSAodHlwZW9mIFBMVUdJTl9TRUNVUklUWV9SRUNJUElFTlRfTU9ERVMpW251bWJlcl07XG5cbi8qKiBIb3cgcmVzY2FuIGZpbmRpbmdzIChOMzEpIGFyZSBiYXRjaGVkOyBibG9ja2VkIGJ1aWxkcyAoTjMwKSBhcmUgYWx3YXlzIGltbWVkaWF0ZS4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fU0VDVVJJVFlfRElHRVNUX01PREVTID0gWydpbW1lZGlhdGUnLCAnZGFpbHknLCAnd2Vla2x5J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBQbHVnaW5TZWN1cml0eURpZ2VzdE1vZGUgPSAodHlwZW9mIFBMVUdJTl9TRUNVUklUWV9ESUdFU1RfTU9ERVMpW251bWJlcl07XG5cbi8vIFRoZSBidWlsZCBDTEFTUyBhbmQgU0laRSB2b2NhYnVsYXJpZXMgbGl2ZSBpbiBgYnVpbGQtY2F0YWxvZy50c2AsIHRvZ2V0aGVyXG4vLyB3aXRoIHRoZWlyIGxhYmVscywgY3JlZGl0IG11bHRpcGxpZXJzLCB0aWVyIGZsb29ycyBhbmQgcGVyLWNsYXNzIHNsb3Rcbi8vIGRlZmF1bHRzLiBUaGV5IGFyZSBub3QgaGVyZSBiZWNhdXNlIHRoZSBpZHMgYWxvbmUgd2VyZSBuZXZlciB0aGUgd2hvbGUgZmFjdDpcbi8vIHRoZSBtdWx0aXBsaWVyIHdhcyBpbiB0aGlzIGZpbGUsIHRoZSB0aWVyIGdhdGUgd2FzIGluIGBxdW90YS10aWVycy50c2AsIGFuZFxuLy8gdGhlIGxhYmVscyB3ZXJlIGluIGEgZnJvbnRlbmQgbWlycm9yIG9mIGJvdGguIE9uZSBrZXllZCBjYXRhbG9nIGlzIGltcG9ydGFibGVcbi8vIGJ5IHRoZSBicm93c2VyLCBzbyB0aGUgbWlycm9yIGFuZCB0aGUgdGVzdCB0aGF0IHBhcnNlZCB0aGlzIHBhY2thZ2UncyBzb3VyY2Vcbi8vIHRvIGRldGVjdCBkcmlmdCBhcmUgYm90aCBnb25lLlxuIl19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS12b2NhYnVsYXJ5LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvd2lyZS12b2NhYnVsYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7OztHQVNHO0FBRUgsZ0ZBQWdGO0FBQ2hGLG1CQUFtQjtBQUNuQixnRkFBZ0Y7QUFFaEYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQVUsQ0FBQztBQUd6RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFHNUQsdUZBQXVGO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixJQUFJLEVBQUUsS0FBSztJQUNYLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLE9BQU87SUFDUCxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO0lBQ3hCLElBQUksRUFBRSxPQUFPO0lBQ2IsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVO0lBQ2pDLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFVBQVUsRUFBRSxVQUFVO0NBQ2QsQ0FBQztBQUdYLHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUE0QyxDQUFDO0FBRXZILDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQVUsQ0FBQztBQUc1RCw0RUFBNEU7QUFDNUUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBVSxDQUFDO0FBR3pELGdGQUFnRjtBQUNoRixXQUFXO0FBQ1gsZ0ZBQWdGO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQVUsQ0FBQztBQUd2RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHeEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHaEUsZ0ZBQWdGO0FBQ2hGLFVBQVU7QUFDVixnRkFBZ0Y7QUFFaEYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFVLENBQUM7QUFHM0csTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHaEUsZ0ZBQWdGO0FBQ2hGLFdBQVc7QUFDWCxnRkFBZ0Y7QUFFaEYsdUdBQXVHO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBR3RGLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFVLENBQUM7QUFnQnZELDREQUE0RDtBQUM1RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBR3RFLGdGQUFnRjtBQUNoRixtRUFBbUU7QUFDbkUsZ0ZBQWdGO0FBRWhGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQVUsQ0FBQztBQUc1Riw2Q0FBNkM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFVLENBQUM7QUFHOUYsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFNBQVM7SUFDakUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZO0NBQy9FLENBQUM7QUFHWCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBVSxDQUFDO0FBRzdILHFGQUFxRjtBQUNyRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsQ0FBb0QsQ0FBQztBQUV2SSxxREFBcUQ7QUFDckQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFHdkUseUVBQXlFO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHeEYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHbEYsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUcvRSx3RkFBd0Y7QUFDeEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFHekU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFHekUsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBVSxDQUFDO0FBR3BHLG9GQUFvRjtBQUNwRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBVSxDQUFDO0FBRzVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFVLENBQUM7QUFHbEYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQVUsQ0FBQztBQUc1RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBRzVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVM7Q0FDM0csQ0FBQztBQUdYLGdGQUFnRjtBQUNoRiwwQ0FBMEM7QUFDMUMsZ0ZBQWdGO0FBRWhGOzJFQUMyRTtBQUMzRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQVUsQ0FBQztBQUc3RSx3RkFBd0Y7QUFDeEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBVSxDQUFDO0FBR3RGLDZFQUE2RTtBQUM3RSx3RUFBd0U7QUFDeEUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSxnRkFBZ0Y7QUFDaEYsK0VBQStFO0FBQy9FLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIENsb3NlZCBzdHJpbmcgdm9jYWJ1bGFyaWVzIHRoYXQgY3Jvc3MgdGhlIHdpcmUgYmV0d2VlbiB0aGUgc2VydmljZXMgYW5kIHRoZVxuICogYnJvd3Nlci4gRWFjaCBpcyBhbiBgYXMgY29uc3RgIGFycmF5ICh0aGUgcnVudGltZSBsaXN0IGEgWm9kIGVudW0sIGEgTW9uZ29vc2VcbiAqIGVudW0gb3IgYSBkcml6emxlIGAkdHlwZWAgYnVpbGRzIGZyb20pIHBsdXMgdGhlIHVuaW9uIHR5cGUgZGVyaXZlZCBmcm9tIGl0LlxuICpcbiAqIERlcGVuZGVuY3ktZnJlZSBvbiBwdXJwb3NlOiB0aGUgZnJvbnRlbmQgaW1wb3J0cyB0aGVzZSB0eXBlcywgc28gYSB2YWx1ZSBhZGRlZFxuICogaGVyZSByZWFjaGVzIHRoZSBVSSdzIGV4aGF1c3RpdmUgbGFiZWwgbWFwcyBhcyBhIGNvbXBpbGUgZXJyb3IgaW5zdGVhZCBvZiBhXG4gKiBzaWxlbnRseSB1bmhhbmRsZWQgc3RyaW5nLiBUaGUgUG9zdGdyZXMgQ0hFQ0sgY29uc3RyYWludHMgaW4gZWFjaCBkZXBsb3lcbiAqIHRhcmdldCdzIGBwb3N0Z3Jlcy1pbml0LnNxbGAgbWlycm9yIHRoZSBvbmVzIHN0b3JlZCBpbiBTUUwuXG4gKi9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBsaWFuY2UgcnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjb25zdCBSVUxFX1NFVkVSSVRJRVMgPSBbJ3dhcm5pbmcnLCAnZXJyb3InLCAnY3JpdGljYWwnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJ1bGVTZXZlcml0eSA9ICh0eXBlb2YgUlVMRV9TRVZFUklUSUVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgUlVMRV9UQVJHRVRTID0gWydwbHVnaW4nLCAncGlwZWxpbmUnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJ1bGVUYXJnZXQgPSAodHlwZW9mIFJVTEVfVEFSR0VUUylbbnVtYmVyXTtcblxuLyoqIEZpZWxkLWV2YWx1YXRpb24gb3BlcmF0b3JzOyB0aGUgZW5naW5lJ3MgaW1wbGVtZW50YXRpb25zIGxpdmUgaW4gYXBpL2NvbXBsaWFuY2UuICovXG5leHBvcnQgY29uc3QgUlVMRV9PUEVSQVRPUlMgPSBbXG4gICdlcScsICduZXEnLFxuICAnY29udGFpbnMnLCAnbm90Q29udGFpbnMnLFxuICAncmVnZXgnLFxuICAnZ3QnLCAnZ3RlJywgJ2x0JywgJ2x0ZScsXG4gICdpbicsICdub3RJbicsXG4gICdleGlzdHMnLCAnbm90RXhpc3RzJywgJ25vdEVtcHR5JyxcbiAgJ2NvdW50R3QnLCAnY291bnRMdCcsXG4gICdsZW5ndGhHdCcsICdsZW5ndGhMdCcsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUnVsZU9wZXJhdG9yID0gKHR5cGVvZiBSVUxFX09QRVJBVE9SUylbbnVtYmVyXTtcblxuLyoqIE9wZXJhdG9ycyB0aGF0IHRlc3QgcHJlc2VuY2Ugb25seSBhbmQgdGFrZSBubyBjb21wYXJpc29uIHZhbHVlLiAqL1xuZXhwb3J0IGNvbnN0IFZBTFVFTEVTU19SVUxFX09QRVJBVE9SUyA9IFsnZXhpc3RzJywgJ25vdEV4aXN0cycsICdub3RFbXB0eSddIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBSdWxlT3BlcmF0b3JbXTtcblxuLyoqIEhvdyBhIG11bHRpLWNvbmRpdGlvbiBydWxlIGNvbWJpbmVzIGl0cyBjb25kaXRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IFJVTEVfQ09ORElUSU9OX01PREVTID0gWydhbGwnLCAnYW55J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBSdWxlQ29uZGl0aW9uTW9kZSA9ICh0eXBlb2YgUlVMRV9DT05ESVRJT05fTU9ERVMpW251bWJlcl07XG5cbi8qKiBgcHVibGlzaGVkYCBydWxlcyBiZWxvbmcgdG8gdGhlIHN5c3RlbSBvcmcgYW5kIGFwcGx5IGJ5IHN1YnNjcmlwdGlvbi4gKi9cbmV4cG9ydCBjb25zdCBSVUxFX1NDT1BFUyA9IFsnb3JnJywgJ3B1Ymxpc2hlZCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUnVsZVNjb3BlID0gKHR5cGVvZiBSVUxFX1NDT1BFUylbbnVtYmVyXTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lc3NhZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgTUVTU0FHRV9UWVBFUyA9IFsnYW5ub3VuY2VtZW50JywgJ2NvbnZlcnNhdGlvbiddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTWVzc2FnZVR5cGUgPSAodHlwZW9mIE1FU1NBR0VfVFlQRVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBNRVNTQUdFX1BSSU9SSVRJRVMgPSBbJ25vcm1hbCcsICdoaWdoJywgJ3VyZ2VudCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTWVzc2FnZVByaW9yaXR5ID0gKHR5cGVvZiBNRVNTQUdFX1BSSU9SSVRJRVMpW251bWJlcl07XG5cbi8qKlxuICogV2hvIFNFTlQgYSByb290IG1lc3NhZ2UsIHJlbGF0aXZlIHRvIHRoZSB2aWV3ZXI6IGBtZWAgKHRoZSB2aWV3aW5nIHVzZXJcbiAqIGF1dGhvcmVkIGl0KSwgYG9yZ2AgKHRoZSB2aWV3aW5nIG9yZyBzZW50IGl0IOKAlCBhbnkgbWVtYmVyKSwgYG90aGVyc2AgKGl0XG4gKiBhcnJpdmVkIGZyb20gYW5vdGhlciBvcmcsIGFubm91bmNlbWVudHMgaW5jbHVkZWQpLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9TRU5UX0JZID0gWydtZScsICdvcmcnLCAnb3RoZXJzJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBNZXNzYWdlU2VudEJ5ID0gKHR5cGVvZiBNRVNTQUdFX1NFTlRfQlkpW251bWJlcl07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCaWxsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgU1VCU0NSSVBUSU9OX1NUQVRVU0VTID0gWydhY3RpdmUnLCAnY2FuY2VsZWQnLCAncGFzdF9kdWUnLCAndHJpYWxpbmcnLCAnaW5jb21wbGV0ZSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uU3RhdHVzID0gKHR5cGVvZiBTVUJTQ1JJUFRJT05fU1RBVFVTRVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBCSUxMSU5HX0lOVEVSVkFMUyA9IFsnbW9udGhseScsICdhbm51YWwnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJpbGxpbmdJbnRlcnZhbCA9ICh0eXBlb2YgQklMTElOR19JTlRFUlZBTFMpW251bWJlcl07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJZGVudGl0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqIE9JREMgcHJvdmlkZXJzIGFuIG9yZyBJZFAgY29uZmlnIGNhbiBuYW1lIChHaXRIdWIgaXMgT0F1dGgtb25seSBhbmQgcmVmdXNlZCBieSB0aGUgT0lEQyBlbmdpbmUpLiAqL1xuZXhwb3J0IGNvbnN0IElEUF9QUk9WSURFUlMgPSBbJ2dlbmVyaWMtb2lkYycsICdjb2duaXRvJywgJ2dvb2dsZScsICdnaXRodWInXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIElkcFByb3ZpZGVyID0gKHR5cGVvZiBJRFBfUFJPVklERVJTKVtudW1iZXJdO1xuXG4vKiogVGhlIGZlZGVyYXRpb24gcHJvdG9jb2wgYW4gb3JnIHNpZ25zIGluIG92ZXIg4oCUIG9uZSBwZXIgb3JnLiAqL1xuZXhwb3J0IGNvbnN0IElEUF9QUk9UT0NPTFMgPSBbJ29pZGMnLCAnc2FtbCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgSWRwUHJvdG9jb2wgPSAodHlwZW9mIElEUF9QUk9UT0NPTFMpW251bWJlcl07XG5cbi8qKlxuICogV2hpY2ggU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlIGNhcnJpZXMgd2hpY2ggaWRlbnRpdHkgZmllbGQuIEFuIGVtcHR5IG5hbWVcbiAqIG1lYW5zIFwidXNlIHRoZSBjb21tb24gc3BlbGxpbmdzXCIgKHNob3J0IG5hbWVzIHBsdXMgdGhlIEVudHJhL1NoaWJib2xldGggVVJJcykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbEF0dHJpYnV0ZU1hcHBpbmcge1xuICAvKiogQXR0cmlidXRlIGhvbGRpbmcgdGhlIHVzZXIncyBlbWFpbCBhZGRyZXNzLiAqL1xuICBlbWFpbD86IHN0cmluZztcbiAgLyoqIEF0dHJpYnV0ZSBob2xkaW5nIHRoZSBkaXNwbGF5IG5hbWUuICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBBdHRyaWJ1dGUgaG9sZGluZyBncm91cCBtZW1iZXJzaGlwcyAoZHJpdmVzIEpJVCByb2xlIG1hcHBpbmcpLiAqL1xuICBncm91cHM/OiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgY29hcnNlIGdyYW50IGEgcGVybWlzc2lvbiByb2xlIGdpdmVzIGl0cyBtZW1iZXJzLiAqL1xuZXhwb3J0IGNvbnN0IFJPTEVfR1JBTlRTID0gWydzdXBlcmFkbWluJywgJ2FkbWluJywgJ21lbWJlciddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUm9sZUdyYW50ID0gKHR5cGVvZiBST0xFX0dSQU5UUylbbnVtYmVyXTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBsdWdpbiBlY29zeXN0ZW0gKGVhY2ggbWlycm9yZWQgYnkgYSBDSEVDSyBpbiBwb3N0Z3Jlcy1pbml0LnNxbClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKiBQdWJsaXNoZXIgdHJ1c3QgdGllci4gKi9cbmV4cG9ydCBjb25zdCBQVUJMSVNIRVJfVElFUlMgPSBbJ29mZmljaWFsJywgJ3ZlcmlmaWVkJywgJ2NvbW11bml0eScsICd1bnZlcmlmaWVkJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBQdWJsaXNoZXJUaWVyID0gKHR5cGVvZiBQVUJMSVNIRVJfVElFUlMpW251bWJlcl07XG5cbi8qKiBBIGRpcmVjdG9yeSBsaXN0aW5nJ3MgbGlmZWN5Y2xlIHN0YXRlLiAqL1xuZXhwb3J0IGNvbnN0IExJU1RJTkdfU1RBVEVTID0gWydsaXN0ZWQnLCAndW5tYWludGFpbmVkJywgJ3N1c3BlbmRlZCcsICd0cmFuc2ZlcnJlZCddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTGlzdGluZ1N0YXRlID0gKHR5cGVvZiBMSVNUSU5HX1NUQVRFUylbbnVtYmVyXTtcblxuLyoqIFdoYXQgYSBwdWJsaXNoIHJlcXVlc3QgYXNrcyB0aGUgc3lzdGVtIG9yZyB0byBkby4gKi9cbmV4cG9ydCBjb25zdCBQVUJMSVNIX1JFUVVFU1RfS0lORFMgPSBbXG4gICduZXdfbGlzdGluZycsICduZXdfdmVyc2lvbicsICdsaXN0aW5nX3VwZGF0ZScsICd5YW5rJywgJ3VucGF1c2UnLFxuICAndHJhbnNmZXInLCAnY2xhaW0nLCAncHJvZmlsZV9jaGFuZ2UnLCAnYWR2aXNvcnknLCAndmVyaWZ5JywgJ21vZGVyYXRpb24nLCAnc3VibWlzc2lvbicsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUHVibGlzaFJlcXVlc3RLaW5kID0gKHR5cGVvZiBQVUJMSVNIX1JFUVVFU1RfS0lORFMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBQVUJMSVNIX1JFUVVFU1RfU1RBVFVTRVMgPSBbJ3BlbmRpbmcnLCAncGVuZGluZ19zZWNvbmRfYXBwcm92YWwnLCAnYXBwcm92ZWQnLCAncmVqZWN0ZWQnLCAnd2l0aGRyYXduJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBQdWJsaXNoUmVxdWVzdFN0YXR1cyA9ICh0eXBlb2YgUFVCTElTSF9SRVFVRVNUX1NUQVRVU0VTKVtudW1iZXJdO1xuXG4vKiogVGhlIHN0YXR1c2VzIGEgcmVxdWVzdCBpcyBzdGlsbCBcIm9wZW5cIiBpbiAoZHJpdmVzIHRoZSBvbmUtb3Blbi1yZXF1ZXN0IGluZGV4KS4gKi9cbmV4cG9ydCBjb25zdCBPUEVOX1BVQkxJU0hfUkVRVUVTVF9TVEFUVVNFUyA9IFsncGVuZGluZycsICdwZW5kaW5nX3NlY29uZF9hcHByb3ZhbCddIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBQdWJsaXNoUmVxdWVzdFN0YXR1c1tdO1xuXG4vKiogYHNlY3VyaXR5YCByZXF1ZXN0cyBqdW1wIHRoZSBtb2RlcmF0aW9uIHF1ZXVlLiAqL1xuZXhwb3J0IGNvbnN0IFBVQkxJU0hfUkVRVUVTVF9MQU5FUyA9IFsnc3RhbmRhcmQnLCAnc2VjdXJpdHknXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFB1Ymxpc2hSZXF1ZXN0TGFuZSA9ICh0eXBlb2YgUFVCTElTSF9SRVFVRVNUX0xBTkVTKVtudW1iZXJdO1xuXG4vKiogSW5zdGFsbCB2ZXJzaW9uIHBvbGljeTogZXhhY3QsIGB+YCwgYF5gLCBvciBhbnl0aGluZyBub24tYnJlYWtpbmcuICovXG5leHBvcnQgY29uc3QgSU5TVEFMTF9WRVJTSU9OX1BPTElDSUVTID0gWydwaW5uZWQnLCAncGF0Y2gnLCAnbWlub3InLCAnbGF0ZXN0J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBJbnN0YWxsVmVyc2lvblBvbGljeSA9ICh0eXBlb2YgSU5TVEFMTF9WRVJTSU9OX1BPTElDSUVTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgSU5TVEFMTF9TVEFUVVNFUyA9IFsnYWN0aXZlJywgJ3BlbmRpbmdfYXBwcm92YWwnLCAnZGVuaWVkJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBJbnN0YWxsU3RhdHVzID0gKHR5cGVvZiBJTlNUQUxMX1NUQVRVU0VTKVtudW1iZXJdO1xuXG4vKiogVGhlIGFkdmlzb3J5IHNldmVyaXR5IGF0IHdoaWNoIGEgY29uc3VtcHRpb24gcG9saWN5IGJsb2NrcyBpbnN0YWxscy4gKi9cbmV4cG9ydCBjb25zdCBCTE9DS19PTl9BRFZJU09SWV9MRVZFTFMgPSBbJ2NyaXRpY2FsJywgJ2hpZ2gnLCAnbmV2ZXInXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJsb2NrT25BZHZpc29yeSA9ICh0eXBlb2YgQkxPQ0tfT05fQURWSVNPUllfTEVWRUxTKVtudW1iZXJdO1xuXG4vKiogV2hldGhlciBvZmZpY2lhbCBwbHVnaW5zIG5lZWQgYW4gZXhwbGljaXQgaW5zdGFsbCBiZWZvcmUgYSBwaXBlbGluZSBjYW4gdXNlIHRoZW0uICovXG5leHBvcnQgY29uc3QgT0ZGSUNJQUxfSU5TVEFMTFNfTU9ERVMgPSBbJ2ltcGxpY2l0JywgJ2V4cGxpY2l0J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBPZmZpY2lhbEluc3RhbGxzID0gKHR5cGVvZiBPRkZJQ0lBTF9JTlNUQUxMU19NT0RFUylbbnVtYmVyXTtcblxuLyoqXG4gKiBXaGF0IGhhcHBlbnMgd2hlbiBhbiBvcmcgZGVmaW5lcyBhIHBsdWdpbiBOQU1FIHRoYXQgb3ZlcnJpZGVzIHNvbWV0aGluZyBpdFxuICogd291bGQgb3RoZXJ3aXNlIHJlc29sdmUg4oCUIGEgbGlzdGluZywgb3IgKGZvciBhIHRlYW0pIGl0cyBwYXJlbnQgb3JnJ3MgcGx1Z2luLlxuICpcbiAqIGBhbGxvd2Aga2VlcHMgdG9kYXkncyBiZWhhdmlvdXI6IHRoZSBvdmVycmlkZSBpcyBzaWxlbnQgYmV5b25kIHRoZSBkYXNoYm9hcmRcbiAqIGJhbm5lci4gYHdhcm5gIGlzIHRoZSBzYW1lIHJlc29sdXRpb24gd2l0aCB0aGUgZmFjdCByZWNvcmRlZCBwcm9taW5lbnRseS5cbiAqIGBkZW55YCByZWZ1c2VzIHRoZSB1cGxvYWQsIHdoaWNoIGlzIHRoZSBvbmx5IHNldHRpbmcgdGhhdCBhY3R1YWxseSBzdG9wcyBhXG4gKiB0ZWFtIHJlcGxhY2luZyB0aGUgT2ZmaWNpYWwgYHRyaXZ5YCBmb3IgZXZlcnkgcGlwZWxpbmUgdGhhdCBuYW1lcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNIQURPV0lOR19NT0RFUyA9IFsnYWxsb3cnLCAnd2FybicsICdkZW55J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBTaGFkb3dpbmdNb2RlID0gKHR5cGVvZiBTSEFET1dJTkdfTU9ERVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBSRVZJRVdfU1RBVFVTRVMgPSBbJ3B1Ymxpc2hlZCcsICdoZWxkJywgJ3JlbW92ZWQnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJldmlld1N0YXR1cyA9ICh0eXBlb2YgUkVWSUVXX1NUQVRVU0VTKVtudW1iZXJdO1xuXG4vKiogV2h5IGEgaGVsZCByZXZpZXcgaXMgaGVsZC4gKi9cbmV4cG9ydCBjb25zdCBSRVZJRVdfSE9MRF9SRUFTT05TID0gWydyZXBvcnRzJywgJ2J1cnN0JywgJ2ZpbHRlcicsICdzZWN1cml0eScsICdtb2RlcmF0b3InXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJldmlld0hvbGRSZWFzb24gPSAodHlwZW9mIFJFVklFV19IT0xEX1JFQVNPTlMpW251bWJlcl07XG5cbi8qKiBBIHJldmlldyByZXBvcnQncyBjYXRlZ29yeTsgYHNlY3VyaXR5YCByb3V0ZXMgcHJpdmF0ZWx5IHRvIHRoZSBhZHZpc29yeSBwYXRoLiAqL1xuZXhwb3J0IGNvbnN0IFJFVklFV19SRVBPUlRfQ0FURUdPUklFUyA9IFsnc3BhbScsICdhYnVzZScsICdvZmZfdG9waWMnLCAnc2VjdXJpdHknXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJldmlld1JlcG9ydENhdGVnb3J5ID0gKHR5cGVvZiBSRVZJRVdfUkVQT1JUX0NBVEVHT1JJRVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBBRFZJU09SWV9TRVZFUklUSUVTID0gWydjcml0aWNhbCcsICdoaWdoJywgJ21lZGl1bScsICdsb3cnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEFkdmlzb3J5U2V2ZXJpdHkgPSAodHlwZW9mIEFEVklTT1JZX1NFVkVSSVRJRVMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBBRFZJU09SWV9TVEFURVMgPSBbJ2RyYWZ0JywgJ3B1Ymxpc2hlZCcsICd3aXRoZHJhd24nXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEFkdmlzb3J5U3RhdGUgPSAodHlwZW9mIEFEVklTT1JZX1NUQVRFUylbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IEFEVklTT1JZX1NPVVJDRVMgPSBbJ3B1Ymxpc2hlcicsICdtb2RlcmF0b3InLCAnY3ZlX3Jlc2NhbicsICdyZXZpZXcnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEFkdmlzb3J5U291cmNlID0gKHR5cGVvZiBBRFZJU09SWV9TT1VSQ0VTKVtudW1iZXJdO1xuXG4vKipcbiAqIEFuIGFub255bW91cyBzdWJtaXNzaW9uJ3MgbGlmZWN5Y2xlLiBgcHVibGlzaGluZ2AgaXMgdGhlIHNob3J0IGNsYWltIGFuXG4gKiBhcHByb3ZhbCB0YWtlcyBiZWZvcmUgaXQgY29waWVzIHRoZSBxdWFyYW50aW5lZCBpbWFnZSBvdXQsIHNvIGFuIGV4cGlyeSBjYW5cbiAqIG5ldmVyIGRlbGV0ZSB0aGUgYXJ0aWZhY3RzIG9mIGEgc3VibWlzc2lvbiB0aGF0IGlzIGJlaW5nIHB1Ymxpc2hlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNVQk1JU1NJT05fU1RBVFVTRVMgPSBbXG4gICdwZW5kaW5nX3ZlcmlmaWNhdGlvbicsICdwZW5kaW5nX3JldmlldycsICdwdWJsaXNoaW5nJywgJ2dhdGVfZmFpbGVkJywgJ2FwcHJvdmVkJywgJ3JlamVjdGVkJywgJ2V4cGlyZWQnLCAnY2xhaW1lZCcsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgU3VibWlzc2lvblN0YXR1cyA9ICh0eXBlb2YgU1VCTUlTU0lPTl9TVEFUVVNFUylbbnVtYmVyXTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBsdWdpbiBzZWN1cml0eSBub3RpZmljYXRpb25zIChwZXIgb3JnKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqIFdobyByZWNlaXZlcyBhbiBvcmcncyBwbHVnaW4gc2VjdXJpdHkgbm90aWNlczogYHdyaXRlcnNgID0gdGhlIHVwbG9hZGVyIHBsdXNcbiAqICBtZW1iZXJzIGhvbGRpbmcgYHBsdWdpbnM6d3JpdGVgOyBgdXNlcnNgID0gdGhlIG9yZydzIGNob3NlbiBtZW1iZXJzLiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9TRUNVUklUWV9SRUNJUElFTlRfTU9ERVMgPSBbJ3dyaXRlcnMnLCAndXNlcnMnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFBsdWdpblNlY3VyaXR5UmVjaXBpZW50TW9kZSA9ICh0eXBlb2YgUExVR0lOX1NFQ1VSSVRZX1JFQ0lQSUVOVF9NT0RFUylbbnVtYmVyXTtcblxuLyoqIEhvdyByZXNjYW4gZmluZGluZ3MgKE4zMSkgYXJlIGJhdGNoZWQ7IGJsb2NrZWQgYnVpbGRzIChOMzApIGFyZSBhbHdheXMgaW1tZWRpYXRlLiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9TRUNVUklUWV9ESUdFU1RfTU9ERVMgPSBbJ2ltbWVkaWF0ZScsICdkYWlseScsICd3ZWVrbHknXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFBsdWdpblNlY3VyaXR5RGlnZXN0TW9kZSA9ICh0eXBlb2YgUExVR0lOX1NFQ1VSSVRZX0RJR0VTVF9NT0RFUylbbnVtYmVyXTtcblxuLy8gVGhlIGJ1aWxkIENMQVNTIGFuZCBTSVpFIHZvY2FidWxhcmllcyBsaXZlIGluIGBidWlsZC1jYXRhbG9nLnRzYCwgdG9nZXRoZXJcbi8vIHdpdGggdGhlaXIgbGFiZWxzLCBjcmVkaXQgbXVsdGlwbGllcnMsIHRpZXIgZmxvb3JzIGFuZCBwZXItY2xhc3Mgc2xvdFxuLy8gZGVmYXVsdHMuIFRoZXkgYXJlIG5vdCBoZXJlIGJlY2F1c2UgdGhlIGlkcyBhbG9uZSB3ZXJlIG5ldmVyIHRoZSB3aG9sZSBmYWN0OlxuLy8gdGhlIG11bHRpcGxpZXIgd2FzIGluIHRoaXMgZmlsZSwgdGhlIHRpZXIgZ2F0ZSB3YXMgaW4gYHF1b3RhLXRpZXJzLnRzYCwgYW5kXG4vLyB0aGUgbGFiZWxzIHdlcmUgaW4gYSBmcm9udGVuZCBtaXJyb3Igb2YgYm90aC4gT25lIGtleWVkIGNhdGFsb2cgaXMgaW1wb3J0YWJsZVxuLy8gYnkgdGhlIGJyb3dzZXIsIHNvIHRoZSBtaXJyb3IgYW5kIHRoZSB0ZXN0IHRoYXQgcGFyc2VkIHRoaXMgcGFja2FnZSdzIHNvdXJjZVxuLy8gdG8gZGV0ZWN0IGRyaWZ0IGFyZSBib3RoIGdvbmUuXG4iXX0=
|
|
@@ -65,4 +65,4 @@ export function resolveRecipientAlias(recipientOrgId) {
|
|
|
65
65
|
originalValue: recipientOrgId,
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMtcmVzb2x2ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hbGlhcy1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCx5RkFBeUY7QUFDekYsSUFBSSxlQUF3QyxDQUFDO0FBRTdDLFNBQVMsaUJBQWlCO0lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7UUFDOUMsZUFBZSxHQUFHLElBQUksR0FBRyxDQUN2QixHQUFHO2FBQ0EsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QjtJQUN0QyxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQzlCLENBQUM7QUFFRCxtRkFBbUY7QUFDbkYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLEtBQUssTUFBTSxLQUFLLElBQUksaUJBQWlCLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN0RCxPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFZRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxjQUFzQjtJQUMxRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztJQUVwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPO1lBQ0wsYUFBYSxFQUFFLGFBQWE7WUFDNUIsUUFBUSxFQUFFLElBQUk7WUFDZCxhQUFhLEVBQUUsY0FBYztTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhLEVBQUUsVUFBVTtRQUN6QixRQUFRLEVBQUUsS0FBSztRQUNmLGFBQWEsRUFBRSxjQUFjO0tBQzlCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IFNZU1RFTV9PUkdfSUQgfSBmcm9tICcuLi9taWRkbGV3YXJlL3N5c3RlbS1vcmcuanMnO1xuXG4vKiogTGF6aWx5LWNhY2hlZCBzZXQgb2Ygc3VwcG9ydCBhbGlhc2VzLCBwYXJzZWQgZnJvbSBTVVBQT1JUX0FMSUFTRVMgb24gZmlyc3QgYWNjZXNzLiAqL1xubGV0IF9zdXBwb3J0QWxpYXNlczogU2V0PHN0cmluZz4gfCB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGdldFN1cHBvcnRBbGlhc2VzKCk6IFNldDxzdHJpbmc+IHtcbiAgaWYgKCFfc3VwcG9ydEFsaWFzZXMpIHtcbiAgICBjb25zdCByYXcgPSBwcm9jZXNzLmVudi5TVVBQT1JUX0FMSUFTRVMgfHwgJyc7XG4gICAgX3N1cHBvcnRBbGlhc2VzID0gbmV3IFNldChcbiAgICAgIHJhd1xuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAubWFwKGFsaWFzID0+IGFsaWFzLnRyaW0oKS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAuZmlsdGVyKGFsaWFzID0+IGFsaWFzLmxlbmd0aCA+IDApLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIF9zdXBwb3J0QWxpYXNlcztcbn1cblxuLyoqXG4gKiBDbGVhciB0aGUgbWVtb2l6ZWQgYWxpYXMgc2V0IHNvIHRoZSBuZXh0IGFjY2VzcyByZS1yZWFkcyBgU1VQUE9SVF9BTElBU0VTYC5cbiAqIFRoZSBjYWNoZSBpcyBwcm9jZXNzLWxpZmV0aW1lIGJ5IGRlc2lnbiAoZW52IGlzIGZpeGVkIHBlciBwcm9jZXNzKTsgdGhpcyBob29rXG4gKiBleGlzdHMgc28gdGVzdHMgY2FuIHZhcnkgdGhlIGVudiBiZXR3ZWVuIGNhc2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRTdXBwb3J0QWxpYXNlc0NhY2hlKCk6IHZvaWQge1xuICBfc3VwcG9ydEFsaWFzZXMgPSB1bmRlZmluZWQ7XG59XG5cbi8qKiBXZWxsLWtub3duIGZhbGxiYWNrIHN1cHBvcnQgYWxpYXMgdXNlZCB3aGVuIFNVUFBPUlRfQUxJQVNFUyBpcyB1bmNvbmZpZ3VyZWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVVBQT1JUX0FMSUFTID0gJ3N1cHBvcnRAcGlwZWxpbmUtYnVpbGRlcic7XG5cbi8qKlxuICogVGhlIFBSSU1BUlkgKGZpcnN0LWNvbmZpZ3VyZWQpIHN1cHBvcnQgYWxpYXMg4oCUIGZvciBkaXNwbGF5IC8gcHJlZmlsbCBpbiBVSXNcbiAqIChlLmcuIHRoZSBjb21wb3NlIFwiVG9cIiBmaWVsZCksIHNvIHRoZSBzaG93biB2YWx1ZSBpcyBkcml2ZW4gYnkgU1VQUE9SVF9BTElBU0VTXG4gKiByYXRoZXIgdGhhbiBoYXJkY29kZWQuIEZhbGxzIGJhY2sgdG8ge0BsaW5rIERFRkFVTFRfU1VQUE9SVF9BTElBU30gd2hlbiB0aGUgZW52XG4gKiBpcyB1bnNldC4gKEFsbCBjb25maWd1cmVkIGFsaWFzZXMgc3RpbGwgcmVzb2x2ZSB2aWEge0BsaW5rIHJlc29sdmVSZWNpcGllbnRBbGlhc30uKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpbWFyeVN1cHBvcnRBbGlhcygpOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGFsaWFzIG9mIGdldFN1cHBvcnRBbGlhc2VzKCkpIHJldHVybiBhbGlhcztcbiAgcmV0dXJuIERFRkFVTFRfU1VQUE9SVF9BTElBUztcbn1cblxuLyoqXG4gKiBBTEwgY29uZmlndXJlZCBzdXBwb3J0IGFsaWFzZXMgKG9yZGVyIHByZXNlcnZlZCksIGZvciBVSXMgdGhhdCBzdXJmYWNlIGV2ZXJ5XG4gKiBzdXBwb3J0IGluYm94IGFzIGEgZGlzdGluY3QgcmVjaXBpZW50IHN1Z2dlc3Rpb24uIEZhbGxzIGJhY2sgdG8gYSBzaW5nbGVcbiAqIHtAbGluayBERUZBVUxUX1NVUFBPUlRfQUxJQVN9IHdoZW4gU1VQUE9SVF9BTElBU0VTIGlzIHVuc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3VwcG9ydEFsaWFzZXMoKTogc3RyaW5nW10ge1xuICBjb25zdCBhbGwgPSBbLi4uZ2V0U3VwcG9ydEFsaWFzZXMoKV07XG4gIHJldHVybiBhbGwubGVuZ3RoID4gMCA/IGFsbCA6IFtERUZBVUxUX1NVUFBPUlRfQUxJQVNdO1xufVxuXG4vKiogUmVzdWx0IG9mIGFsaWFzIHJlc29sdXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEFsaWFzUmVzb2x1dGlvbiB7XG4gIC8qKiBUaGUgcmVzb2x2ZWQgb3JnYW5pemF0aW9uIElEIChlLmcuLCAnc3lzdGVtJykuICovXG4gIHJlc29sdmVkT3JnSWQ6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIGlucHV0IHdhcyBhbiBhbGlhcyB0aGF0IGdvdCByZXNvbHZlZC4gKi9cbiAgd2FzQWxpYXM6IGJvb2xlYW47XG4gIC8qKiBUaGUgb3JpZ2luYWwgaW5wdXQgdmFsdWUsIHVzZWZ1bCBmb3IgYXVkaXQgbG9nZ2luZy4gKi9cbiAgb3JpZ2luYWxWYWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYW4gZW1haWwtbGlrZSBhbGlhcyB0byBhbiBhY3R1YWwgb3JnYW5pemF0aW9uIElELlxuICpcbiAqIElmIHRoZSBpbnB1dCBtYXRjaGVzIGEgY29uZmlndXJlZCBzdXBwb3J0IGFsaWFzLCBpdCByZXNvbHZlcyB0byB0aGUgc3lzdGVtXG4gKiBvcmcgSUQuIE90aGVyd2lzZSB0aGUgaW5wdXQgaXMgcmV0dXJuZWQgYXMtaXMgKGxvd2VyY2FzZWQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlY2lwaWVudEFsaWFzKHJlY2lwaWVudE9yZ0lkOiBzdHJpbmcpOiBBbGlhc1Jlc29sdXRpb24ge1xuICBjb25zdCBub3JtYWxpemVkID0gcmVjaXBpZW50T3JnSWQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGFsaWFzZXMgPSBnZXRTdXBwb3J0QWxpYXNlcygpO1xuXG4gIGlmIChhbGlhc2VzLmhhcyhub3JtYWxpemVkKSkge1xuICAgIHJldHVybiB7XG4gICAgICByZXNvbHZlZE9yZ0lkOiBTWVNURU1fT1JHX0lELFxuICAgICAgd2FzQWxpYXM6IHRydWUsXG4gICAgICBvcmlnaW5hbFZhbHVlOiByZWNpcGllbnRPcmdJZCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZXNvbHZlZE9yZ0lkOiBub3JtYWxpemVkLFxuICAgIHdhc0FsaWFzOiBmYWxzZSxcbiAgICBvcmlnaW5hbFZhbHVlOiByZWNpcGllbnRPcmdJZCxcbiAgfTtcbn1cblxuIl19
|
package/lib/utils/api-key.js
CHANGED
|
@@ -61,4 +61,4 @@ export function hashApiKey(key) {
|
|
|
61
61
|
export function generateApiKey(prefix) {
|
|
62
62
|
return `${prefix}_${randomBytes(API_KEY_SECRET_BYTES).toString('base64url')}`;
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FwaS1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakQsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBVSxDQUFDO0FBSzdELDhFQUE4RTtBQUM5RSxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUVoQzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBRTdDOzs7R0FHRztBQUNILE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBRTNGOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBOEI7SUFDM0QsT0FBTyxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN4RSxDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBOEI7SUFDM0QsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDckQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCwrRUFBK0U7QUFDL0UsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFvQjtJQUNqRCxPQUFPLEdBQUcsTUFBTSxJQUFJLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBPcGFxdWUgYWNjZXNzLWtleSBmb3JtYXQsIHNoYXJlZCBieSBldmVyeXRoaW5nIHRoYXQgbWludHMsIHByZXNlbnRzIG9yXG4gKiByZWNvZ25pemVzIG9uZS5cbiAqXG4gKiBBIGtleSBpcyBhIGhpZ2gtZW50cm9weSByYW5kb20gc3RyaW5nIHdpdGggYSBodW1hbi1yZWFkYWJsZSBwcmVmaXg6XG4gKlxuICogICAgIHBiX3BhdF88NDMgYmFzZTY0dXJsIGNoYXJzPiAgICAgcGVyc29uYWwgYWNjZXNzIGtleSAoYSBwZXJzb24ncyBjcmVkZW50aWFsKVxuICogICAgIHBiX3NhXzw0MyBiYXNlNjR1cmwgY2hhcnM+ICAgICAgc2VydmljZS1hY2NvdW50IGtleSAocmVzZXJ2ZWQ7IG5vdCBtaW50ZWQgeWV0KVxuICpcbiAqIFRoZSBrZXkgaXRzZWxmIGlzIE5FVkVSIHN0b3JlZCDigJQgcGxhdGZvcm0ga2VlcHMgb25seSBgc2hhMjU2KGtleSlgIHBsdXMgdGhlXG4gKiBwcmVmaXggYW5kIGxhc3QgZm91ciBjaGFyYWN0ZXJzLCB3aGljaCBpcyBhbGwgdGhlIFVJIG5lZWRzIHRvIG5hbWUgb25lLiBJdCBpc1xuICogdGhlcmVmb3JlIHNob3duIGV4YWN0bHkgb25jZSwgYXQgY3JlYXRpb24uXG4gKlxuICogS2V5cyBhcmUgb3BhcXVlOiB0aGV5IGNhcnJ5IG5vIGNsYWltcyBhbmQgbm8gc2lnbmF0dXJlLCBzbyBhIHNlcnZpY2UgY2Fubm90XG4gKiB2ZXJpZnkgb25lIGxvY2FsbHkuIEEgY2FsbGVyIHRyYWRlcyB0aGUga2V5IGF0IHBsYXRmb3JtJ3NcbiAqIGBQT1NUIC9hdXRoL3Rva2VuL2V4Y2hhbmdlYCBmb3IgYSBzaG9ydC1saXZlZCBKV1QgKHNlZSBgYXBpLWtleS1leGNoYW5nZS50c2ApLFxuICogd2hpY2ggZXZlcnkgc2VydmljZSB2ZXJpZmllcyB0aGUgdXN1YWwgd2F5LiBUaGF0IGlzIHdoYXQgbWFrZXMgcmV2b2NhdGlvblxuICogZWZmZWN0aXZlIGZsZWV0LXdpZGUgd2l0aGluIG9uZSB0b2tlbiBsaWZldGltZS5cbiAqL1xuXG5pbXBvcnQgeyBjcmVhdGVIYXNoLCByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5cbi8qKiBQcmVmaXhlcyB0aGF0IG5hbWUgd2hhdCBraW5kIG9mIHByaW5jaXBhbCBhIGtleSBzcGVha3MgZm9yLiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9LRVlfUFJFRklYRVMgPSBbJ3BiX3BhdCcsICdwYl9zYSddIGFzIGNvbnN0O1xuXG4vKiogT25lIG9mIHtAbGluayBBUElfS0VZX1BSRUZJWEVTfS4gYHBiX3NhYCBpcyByZXNlcnZlZCBmb3Igc2VydmljZSBhY2NvdW50cy4gKi9cbmV4cG9ydCB0eXBlIEFwaUtleVByZWZpeCA9ICh0eXBlb2YgQVBJX0tFWV9QUkVGSVhFUylbbnVtYmVyXTtcblxuLyoqIFJhbmRvbSBieXRlcyBiZWhpbmQgZWFjaCBrZXkg4oCUIDI1NiBiaXRzLCBiYXNlNjR1cmwtZW5jb2RlZCB0byA0MyBjaGFycy4gKi9cbmNvbnN0IEFQSV9LRVlfU0VDUkVUX0JZVEVTID0gMzI7XG5cbi8qKlxuICogTGlmZXRpbWUgb2YgdGhlIEpXVCBhbiBleGNoYW5nZSByZXR1cm5zLiBTaG9ydCBieSBkZXNpZ246IGl0IGlzIHRoZSB3aW5kb3cgaW5cbiAqIHdoaWNoIGEgcmV2b2tlZCBrZXkgc3RpbGwgd29ya3MsIGFuZCB0aGUgcmVhc29uIHNlcnZpY2VzIG5ldmVyIG5lZWQgdG8gcmVhZCBhXG4gKiBrZXkgaGFzaC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9LRVlfVE9LRU5fVFRMX1NFQ09ORFMgPSAzMDA7XG5cbi8qKlxuICogQSB3ZWxsLWZvcm1lZCBrZXkuIEFuY2hvcmVkIGFuZCBsZW5ndGgtYm91bmRlZCBzbyBhIGhvc3RpbGUgQXV0aG9yaXphdGlvblxuICogaGVhZGVyIGNhbid0IGJlIHJvdXRlZCBkb3duIHRoZSBleGNoYW5nZSBwYXRoIG9uIGEgbG9vc2UgcHJlZml4IG1hdGNoLlxuICovXG5jb25zdCBLRVlfUEFUVEVSTiA9IG5ldyBSZWdFeHAoYF4oJHtBUElfS0VZX1BSRUZJWEVTLmpvaW4oJ3wnKX0pXyhbQS1aYS16MC05Xy1dezMyLDY0fSkkYCk7XG5cbi8qKlxuICogV2hldGhlciBgY3JlZGVudGlhbGAgaXMgYW4gb3BhcXVlIGFjY2VzcyBrZXkgKHJhdGhlciB0aGFuIGEgSldUKS4gVXNlZCBhdCB0aGVcbiAqIG9uZSBwbGFjZSBlYWNoIHNlcnZpY2UgZGVjaWRlcyBob3cgdG8gcmVzb2x2ZSBhbiBBdXRob3JpemF0aW9uIGNyZWRlbnRpYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09wYXF1ZUFwaUtleShjcmVkZW50aWFsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiBjcmVkZW50aWFsID09PSAnc3RyaW5nJyAmJiBLRVlfUEFUVEVSTi50ZXN0KGNyZWRlbnRpYWwpO1xufVxuXG4vKiogVGhlIHByZWZpeCBvZiBhIHdlbGwtZm9ybWVkIGtleSwgZWxzZSBgdW5kZWZpbmVkYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcGlLZXlQcmVmaXhPZihjcmVkZW50aWFsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBBcGlLZXlQcmVmaXggfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIGNyZWRlbnRpYWwgIT09ICdzdHJpbmcnKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBtYXRjaCA9IEtFWV9QQVRURVJOLmV4ZWMoY3JlZGVudGlhbCk7XG4gIHJldHVybiBtYXRjaCA/IChtYXRjaFsxXSBhcyBBcGlLZXlQcmVmaXgpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRoZSBzdG9yZWQgZm9ybSBvZiBhIGtleTogU0hBLTI1NiwgaGV4LiBBIHBsYWluIGhhc2ggKG5vdCBhIHBhc3N3b3JkIEtERikgaXNcbiAqIGNvcnJlY3QgaGVyZSDigJQgdGhlIGtleSBpcyAyNTYgYml0cyBvZiBDU1BSTkcgb3V0cHV0LCBzbyB0aGVyZSBpcyBub3RoaW5nIHRvXG4gKiBicnV0ZS1mb3JjZSBhbmQgdGhlIGxvb2t1cCBoYXBwZW5zIG9uIGV2ZXJ5IGV4Y2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzaEFwaUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoa2V5LCAndXRmOCcpLmRpZ2VzdCgnaGV4Jyk7XG59XG5cbi8qKiBNaW50IGEgbmV3IGtleS4gVGhlIGNhbGxlciBzdG9yZXMgb25seSB7QGxpbmsgaGFzaEFwaUtleX0gb2YgdGhlIHJlc3VsdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFwaUtleShwcmVmaXg6IEFwaUtleVByZWZpeCk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtwcmVmaXh9XyR7cmFuZG9tQnl0ZXMoQVBJX0tFWV9TRUNSRVRfQllURVMpLnRvU3RyaW5nKCdiYXNlNjR1cmwnKX1gO1xufVxuXG4iXX0=
|
package/lib/utils/audit.js
CHANGED
|
@@ -40,4 +40,4 @@ export function logAuditEvent(logger, audit) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdWRpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBR3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0M7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUMzQixNQUFzQixFQUN0QixLQUFpQjtJQUVqQixJQUFJLENBQUM7UUFDSCwrRUFBK0U7UUFDL0UsMkVBQTJFO1FBQzNFLDhFQUE4RTtRQUM5RSxrREFBa0Q7UUFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUVBQW1FO1FBQ25FLHFFQUFxRTtRQUNyRSwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtnQkFDeEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixLQUFLLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQzthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AscURBQXFEO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB3aW5zdG9uIGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgc2NydWJBd3NJZGVudGlmaWVycyB9IGZyb20gJy4vYXdzLXNjcnViLmpzJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJy4vcmVzcG9uc2UuanMnO1xuaW1wb3J0IHR5cGUgeyBBdWRpdEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMvYXVkaXQtZXZlbnRzLmpzJztcblxuLyoqXG4gKiBMb2cgYSBjcm9zcy1zZXJ2aWNlIGF1ZGl0IGV2ZW50IGFzIGEgc3RydWN0dXJlZCAod2luc3RvbiDihpIgTG9raSkgbG9nIGxpbmUuXG4gKlxuICogVGhpcyBpcyB0aGUgc2hvcnQtcmV0ZW50aW9uIE9QRVJBVE9SIHNpbmsuIFRoZSBkdXJhYmxlLCBoYXNoLWNoYWluZWQgY2VudHJhbFxuICogYXVkaXQgdHJhaWwgaXMgYSBkaWZmZXJlbnQgc2luazogYHJlY29yZEF1ZGl0KGV2ZW50KWAuXG4gKlxuICogQmVzdC1lZmZvcnQ6IGlmIHRoZSB1bmRlcmx5aW5nIGxvZ2dlciB0cmFuc3BvcnQgZmFpbHMsIHRoZSBjYWxsZXInc1xuICogbXV0YXRpb24gc3RpbGwgc3VjY2VlZHMg4oCUIHdlIG5ldmVyIGxldCBhdWRpdC13cml0ZSBmYWlsdXJlIHJvbGwgYmFja1xuICogdGhlIHVzZXItdmlzaWJsZSBvcGVyYXRpb24uIFRoZSBsaW5lIGlzIHRhZ2dlZCBgZXZlbnRDYXRlZ29yeTogJ2F1ZGl0J2BcbiAqIHNvIGRvd25zdHJlYW0gbG9nIGFnZ3JlZ2F0b3JzIChMb2tpLCBDbG91ZFdhdGNoKSBjYW4gcm91dGUgYXVkaXRcbiAqIGV2ZW50cyBpbnRvIGEgc2VwYXJhdGUgaW5kZXguXG4gKlxuICogRm9yIHBsYXRmb3JtJ3Mgb3duIGF1ZGl0IGV2ZW50cyAodXNlci5sb2dpbiwgb3JnLmNyZWF0ZSwg4oCmKSwgdXNlXG4gKiBwbGF0Zm9ybSdzIGBoZWxwZXJzL2F1ZGl0LnRzYCBpbnN0ZWFkIOKAlCB0aG9zZSBwZXJzaXN0IHRvIE1vbmdvREIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2dBdWRpdEV2ZW50KFxuICBsb2dnZXI6IHdpbnN0b24uTG9nZ2VyLFxuICBhdWRpdDogQXVkaXRFdmVudCxcbik6IHZvaWQge1xuICB0cnkge1xuICAgIC8vIFNjcnViIGFueSBBV1MgYWNjb3VudC1pZC1zaGFwZWQgdmFsdWVzIChlLmcuIGFuIEFSTiBpbiBgZGV0YWlsc2ApIGJlZm9yZSB0aGVcbiAgICAvLyBldmVudCBsYW5kcyBpbiB0aGUgZHVyYWJsZSBsb2cgc3RvcmUg4oCUIHRoZSBsb2dnZXIncyBzZWNyZXQta2V5IHJlZGFjdGlvblxuICAgIC8vIGRvZXNuJ3QgY292ZXIgYWNjb3VudCBpZHMsIGFuZCB0aGlzIGlzIGV4YWN0bHkgdGhlIHBlcnNpc3RlbmNlIGJvdW5kYXJ5IHRoZVxuICAgIC8vIFwibmV2ZXIgcGVyc2lzdCBhbiBBV1MgYWNjb3VudCBpZFwiIHJ1bGUgdGFyZ2V0cy5cbiAgICBsb2dnZXIuaW5mbygnYXVkaXQnLCBzY3J1YkF3c0lkZW50aWZpZXJzKHsgZXZlbnRDYXRlZ29yeTogJ2F1ZGl0JywgLi4uYXVkaXQgfSkpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBUaGUgd2luc3RvbiBsb2dnZXIgbm9ybWFsbHkgbmV2ZXIgdGhyb3dzIHN5bmNocm9ub3VzbHksIGJ1dCBpZiBhXG4gICAgLy8gdHJhbnNwb3J0IGV4cGxvZGVzIGR1cmluZyBhIHJvdXRlIGNhbGwsIHdlIGRvbid0IHdhbnQgdGhlIG11dGF0aW9uXG4gICAgLy8gdG8gZmFpbCBiZWNhdXNlIHRoZSBhdWRpdCB3cml0ZSBkaWRuJ3QgbGFuZC5cbiAgICB0cnkge1xuICAgICAgbG9nZ2VyLndhcm4oJ0ZhaWxlZCB0byBlbWl0IGF1ZGl0IGV2ZW50Jywge1xuICAgICAgICBldmVudDogYXVkaXQuZXZlbnQsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UoZXJyKSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gTG9nZ2VyIGl0c2VsZiBpcyB1bnJlY292ZXJhYmxlIOKAlCBnaXZlIHVwIHNpbGVudGx5LlxuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/utils/aws-scrub.js
CHANGED
|
@@ -64,4 +64,4 @@ export function scrubAwsIdentifiers(value) {
|
|
|
64
64
|
}
|
|
65
65
|
return value;
|
|
66
66
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXNjcnViLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYXdzLXNjcnViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFFakQsb0ZBQW9GO0FBQ3BGLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUVsQyxtR0FBbUc7QUFDbkcsTUFBTSxVQUFVLDZCQUE2QixDQUFDLEtBQWE7SUFDekQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFJLEtBQVE7SUFDN0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLDZCQUE2QixDQUFDLEtBQUssQ0FBaUIsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBaUIsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkMsMkVBQTJFO1FBQzNFLDBFQUEwRTtRQUMxRSw2RUFBNkU7UUFDN0UsK0VBQStFO1FBQy9FLDhFQUE4RTtRQUM5RSwwRUFBMEU7UUFDMUUsb0VBQW9FO1FBQ3BFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELE1BQU0sR0FBRyxHQUE0QixFQUFFLENBQUM7UUFDeEMsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBZ0MsQ0FBQyxFQUFFLENBQUM7WUFDdEUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQy9FLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBSZWRhY3QgQVdTIGFjY291bnQgaWRlbnRpZmllcnMgZnJvbSB2YWx1ZXMgaGVhZGVkIGZvciBhIERVUkFCTEUgc3RvcmUgb3IgYW5cbiAqIG91dGJvdW5kIHBheWxvYWQgKGF1ZGl0IGBkZXRhaWxzYCwgaW5nZXN0ZWQgZXZlbnQgYGRldGFpbGAsIGVycm9yIG1lc3NhZ2VzKS5cbiAqXG4gKiBIQVJEIENPTlNUUkFJTlQ6IGFuIEFXUyBhY2NvdW50IGlkIG11c3QgTkVWRVIgYmUgcGVyc2lzdGVkIGFueXdoZXJlIGluIHRoaXNcbiAqIHN5c3RlbSDigJQgYG9yZ0lkYCBpcyB0aGUgcGxhdGZvcm0gb3JnIGlkIChhIE1hcmtldHBsYWNlIGN1c3RvbWVyIGlzIGtleWVkIG9uIGl0c1xuICogbGljZW5zZSBBUk4sIGluIHN1YnNjcmlwdGlvbiBtZXRhZGF0YSksIG5ldmVyIGFuIEFXUyBhY2NvdW50IGlkLiBBV1Mgc3VyZmFjZXMgKENvZGVQaXBlbGluZS9Db2RlQnVpbGQgZmFpbHVyZSBtZXNzYWdlcywgS01TL3JvbGUgQVJOcykgbGVha1xuICogdGhlIGFjY291bnQgaWQgYXMgdGhlIDV0aCBBUk4gc2VnbWVudCBvciBhcyBhIGJhcmUgMTItZGlnaXQgdG9rZW4sIHNvIHNjcnViIGF0XG4gKiBldmVyeSBib3VuZGFyeSB0aGF0IHdyaXRlcyB1bnRydXN0ZWQgQVdTLWRlcml2ZWQgdGV4dC4gRGVmZW5zZS1pbi1kZXB0aDogYXBwbHlcbiAqIHRoaXMgZXZlbiB3aGVuIGFuIHVwc3RyZWFtIChlLmcuIHRoZSBldmVudHMgTGFtYmRhKSBpcyBleHBlY3RlZCB0byBoYXZlXG4gKiBzdHJpcHBlZCBpdCDigJQgdGhlIHBlcnNpc3RlbmNlIGJvdW5kYXJ5IG11c3Qgbm90IHRydXN0IHVwc3RyZWFtLlxuICovXG5cbmNvbnN0IFJFREFDVEVEID0gJ1tSRURBQ1RFRF0nO1xuXG4vKipcbiAqIEEgMTItZGlnaXQgcnVuIGlzIHRoZSBBV1MgYWNjb3VudC1pZCBzaGFwZSAoYW5kIHRoZSBhY2NvdW50IHNlZ21lbnQgb2YgZXZlcnlcbiAqIEFSTikuIEJvdW5kZWQgYnkgbm9uLWRpZ2l0cyBzbyB3ZSBuZXZlciBjbGlwIGluc2lkZSBhIGxvbmdlciBudW1iZXIgKGUuZy4gYVxuICogMTMtZGlnaXQgbWlsbGlzZWNvbmQgdGltZXN0YW1wIGlzIGxlZnQgaW50YWN0KS5cbiAqL1xuY29uc3QgQVdTX0FDQ09VTlRfSURfUkUgPSAvKD88IVxcZClcXGR7MTJ9KD8hXFxkKS9nO1xuXG4vKiogS2V5cyB0aGF0IG5hbWUgYW4gQVdTIGFjY291bnQgaWQgb3V0cmlnaHQg4oCUIHRoZWlyIHZhbHVlIGlzIGRyb3BwZWQgd2hvbGVzYWxlLiAqL1xuY29uc3QgQUNDT1VOVF9LRVlfUkUgPSAvYWNjb3VudC9pO1xuXG4vKiogUmVkYWN0IGV2ZXJ5IEFXUy1hY2NvdW50LWlkLXNoYXBlZCB0b2tlbiAoaW5jbC4gdGhlIGFjY291bnQgZmllbGQgb2YgYW55IEFSTikgZnJvbSBhIHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY3J1YkF3c0lkZW50aWZpZXJzRnJvbVN0cmluZyhpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlucHV0LnJlcGxhY2UoQVdTX0FDQ09VTlRfSURfUkUsIFJFREFDVEVEKTtcbn1cblxuLyoqXG4gKiBEZWVwLXNjcnViIGEgdmFsdWUgKHN0cmluZyAvIGFycmF5IC8gcGxhaW4gb2JqZWN0KSBvZiBBV1MgYWNjb3VudCBpZGVudGlmaWVycyxcbiAqIHJldHVybmluZyBhIHNjcnViYmVkIGNvcHkg4oCUIHRoZSBpbnB1dCBpcyBuZXZlciBtdXRhdGVkLiBTdHJpbmcgdmFsdWVzIGhhdmVcbiAqIGFjY291bnQtaWQgdG9rZW5zIHJlZGFjdGVkOyBhbnkga2V5IG1hdGNoaW5nIHtAbGluayBBQ0NPVU5UX0tFWV9SRX0gd2l0aCBhXG4gKiBzdHJpbmcvbnVtYmVyIHZhbHVlIGlzIHJlZGFjdGVkIHdob2xlc2FsZS4gTm9uLXN0cmluZyBwcmltaXRpdmVzIHBhc3MgdGhyb3VnaFxuICogdW5jaGFuZ2VkIChhIGJhcmUgbnVtYmVyIGlzIG9ubHkgcmVkYWN0ZWQgd2hlbiBpdCBzaXRzIHVuZGVyIGFuIGFjY291bnQtbmFtZWRcbiAqIGtleSwgdG8gYXZvaWQgY2xvYmJlcmluZyBsZWdpdGltYXRlIG51bWVyaWMgZmllbGRzKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjcnViQXdzSWRlbnRpZmllcnM8VD4odmFsdWU6IFQpOiBUIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gc2NydWJBd3NJZGVudGlmaWVyc0Zyb21TdHJpbmcodmFsdWUpIGFzIHVua25vd24gYXMgVDtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKCh2KSA9PiBzY3J1YkF3c0lkZW50aWZpZXJzKHYpKSBhcyB1bmtub3duIGFzIFQ7XG4gIH1cbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBSZWN1cnNlIHBsYWluIEFORCBudWxsLXByb3RvdHlwZSBvYmplY3RzIChkYXRhIGJhZ3MpLiBBIERhdGUvQnVmZmVyL01hcC9cbiAgICAvLyBjbGFzcyBpbnN0YW5jZSBpcyBOT1QgYSBwbGFpbiBvYmplY3QsIGFuZCB3YWxraW5nIGl0IHZpYSBPYmplY3QuZW50cmllc1xuICAgIC8vIHdvdWxkIGNsb2JiZXIgaXQgdG8gYHt9YCAob3IgYSBieXRlIG1hcCkg4oCUIHNpbGVudGx5IGRlc3Ryb3lpbmcgZS5nLiBhIERhdGVcbiAgICAvLyBoZWxkIGluIGF1ZGl0IGBkZXRhaWxzYC4gQnV0IGEgbnVsbC1wcm90b3R5cGUgb2JqZWN0IChgT2JqZWN0LmNyZWF0ZShudWxsKWAsXG4gICAgLy8gc29tZSBKU09OLnBhcnNlIHJldml2ZXJzLCBCU09OIGRvY3MpIGlzIGEgcGxhaW4gZGF0YSBiYWcgdGhhdCBtdXN0IHN0aWxsIGJlXG4gICAgLy8gc2NydWJiZWQg4oCUIHNraXBwaW5nIGl0IHdhcyBhIGhvbGUgYXQgdGhlIHZlcnkgcGVyc2lzdGVuY2UgYm91bmRhcnkgdGhpc1xuICAgIC8vIG1vZHVsZSBndWFyZHMuIExlYXZlIG9ubHkgcHJvdG90eXBlZCBub24tcGxhaW4gb2JqZWN0cyB1bnRvdWNoZWQuXG4gICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgIGlmIChwcm90byAhPT0gT2JqZWN0LnByb3RvdHlwZSAmJiBwcm90byAhPT0gbnVsbCkgcmV0dXJuIHZhbHVlO1xuICAgIGNvbnN0IG91dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikpIHtcbiAgICAgIGlmIChBQ0NPVU5UX0tFWV9SRS50ZXN0KGspICYmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHYgPT09ICdudW1iZXInKSkge1xuICAgICAgICBvdXRba10gPSBSRURBQ1RFRDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dFtrXSA9IHNjcnViQXdzSWRlbnRpZmllcnModik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXQgYXMgVDtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG4iXX0=
|