@pipeline-builder/pipeline-data 4.3.5 → 4.3.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/api/access-control-builder.js +1 -1
- package/lib/api/alert-destinations.js +1 -1
- package/lib/api/crud-service.js +1 -1
- package/lib/api/ecosystem-privacy.js +1 -1
- package/lib/api/keyset-cursor.js +1 -1
- package/lib/api/pipeline-step-resolution.js +1 -1
- package/lib/api/plugin-advisories.js +1 -1
- package/lib/api/plugin-consumption-policy.js +1 -1
- package/lib/api/plugin-resolution.js +6 -1
- package/lib/api/public-directory.d.ts +71 -3
- package/lib/api/public-directory.js +68 -22
- package/lib/api/query-builders.js +47 -2
- package/lib/api/reporting/analytics-queries.js +1 -1
- package/lib/api/reporting/caches.js +1 -1
- package/lib/api/reporting/daily-rollup.js +1 -1
- package/lib/api/reporting/deploy-rollup.js +1 -1
- package/lib/api/reporting/dora-scoring.js +1 -1
- package/lib/api/reporting/dora.js +1 -1
- package/lib/api/reporting/failure-classifier.js +1 -1
- package/lib/api/reporting/ingest.js +1 -1
- package/lib/api/reporting/last-deploy.js +1 -1
- package/lib/api/reporting/needs-attention.js +1 -1
- package/lib/api/reporting/plugin-exposure.js +1 -1
- package/lib/api/reporting/plugin-runtime.js +1 -1
- package/lib/api/reporting/query-scope.js +1 -1
- package/lib/api/reporting/retention-sweep.js +1 -1
- package/lib/api/reporting/retention.js +1 -1
- package/lib/api/reporting/sql-helpers.js +1 -1
- package/lib/api/reporting/stakeholder/compose.js +1 -1
- package/lib/api/reporting/stakeholder/index.js +1 -1
- package/lib/api/reporting/stakeholder/period.js +1 -1
- package/lib/api/reporting/stakeholder/report-html.js +1 -1
- package/lib/api/reporting/stakeholder/sections.js +1 -1
- package/lib/api/reporting/stakeholder/store.js +1 -1
- package/lib/api/reporting/stakeholder/templates.js +1 -1
- package/lib/api/reporting/types.js +1 -1
- package/lib/api/reporting-service.js +1 -1
- package/lib/api/semver-range.js +1 -1
- package/lib/api/soft-delete-sweep.js +1 -1
- package/lib/api/support-cases.js +1 -1
- package/lib/api/version-references.js +1 -1
- package/lib/api/viewer-context.js +1 -1
- package/lib/core/query-filters.d.ts +25 -0
- package/lib/core/query-filters.js +1 -1
- package/lib/database/drizzle-schema.d.ts +19 -0
- package/lib/database/drizzle-schema.js +1 -1
- package/lib/database/index.js +1 -1
- package/lib/database/pg-result.js +1 -1
- package/lib/database/postgres-connection.js +1 -1
- package/lib/database/public-reader.js +1 -1
- package/lib/database/read-connection.js +1 -1
- package/lib/database/read-lag.js +1 -1
- package/lib/database/retry-strategy.js +1 -1
- package/lib/database/schema/alert.js +1 -1
- package/lib/database/schema/compliance.js +1 -1
- package/lib/database/schema/dashboard.js +1 -1
- package/lib/database/schema/ecosystem.d.ts +17 -0
- package/lib/database/schema/ecosystem.js +3 -1
- package/lib/database/schema/message-attachment.js +1 -1
- package/lib/database/schema/message.d.ts +19 -0
- package/lib/database/schema/message.js +18 -1
- package/lib/database/schema/pipeline-template.js +1 -1
- package/lib/database/schema/pipeline.js +1 -1
- package/lib/database/schema/plugin.js +1 -1
- package/lib/database/schema/reporting-analytics.js +1 -1
- package/lib/database/schema/reporting-stakeholder.js +1 -1
- package/lib/database/schema/support.js +1 -1
- package/lib/database/tenancy.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +8 -8
|
@@ -55,4 +55,4 @@ export async function anonymizeReviewsByAuthor(userId) {
|
|
|
55
55
|
.returning({ id: schema.pluginReview.id }));
|
|
56
56
|
return rows.length;
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLXByaXZhY3kuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvZWNvc3lzdGVtLXByaXZhY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFFSCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxNQUFjO0lBQzNELElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7U0FDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDM0IsR0FBRyxDQUFDO1FBQ0gsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixNQUFNLEVBQUUsSUFBSTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztTQUNELEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkQsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogR0RQUiBlcmFzdXJlIGZvciBlY29zeXN0ZW0gY29udGVudCBhIGRlbGV0ZWQgcGVyc29uIGxlZnQgYmVoaW5kLlxuICpcbiAqIEl0cyBvd24gbW9kdWxlIHJhdGhlciB0aGFuIGEgZnVuY3Rpb24gb24gdGhlIHJldmlld3Mgc3RvcmUsIGJlY2F1c2UgdGhlXG4gKiBDQUxMRVIgaXMgcGxhdGZvcm0ncyB1c2VyLWRlbGV0aW9uIGNhc2NhZGUgYW5kIG5vdCB0aGUgcGx1Z2luIHNlcnZpY2UuIFRoZVxuICogcmV2aWV3cyBzdG9yZSAoYGFwaS9wbHVnaW4vc3JjL3NlcnZpY2VzL2Vjb3N5c3RlbS9yZXZpZXdzLXN0b3JlLnRzYCkgYmVsb25nc1xuICogdG8gdGhlIHBsdWdpbiBzZXJ2aWNlLCB3aGljaCBwbGF0Zm9ybSBjYW5ub3QgaW1wb3J0OyB0aGUgZXJhc3VyZSBoYXMgdG8gbGl2ZVxuICogd2hlcmUgYm90aCB0aGUgc2NoZW1hIGFuZCBwbGF0Zm9ybSBjYW4gcmVhY2ggaXQuXG4gKlxuICogTm90IGBwdWJsaWMtZGlyZWN0b3J5LnRzYCBlaXRoZXI6IHRoYXQgbW9kdWxlIHJlYWRzIHRocm91Z2hcbiAqIGBnZXRQdWJsaWNSZWFkZXJEYigpYCwgYSBkZWxpYmVyYXRlbHkgcmVhZC1vbmx5IGNvbm5lY3Rpb24gZm9yIHRoZVxuICogdW5hdXRoZW50aWNhdGVkIGRpcmVjdG9yeSwgYW5kIGEgd3JpdGUgaGFzIG5vIGJ1c2luZXNzIHRoZXJlLlxuICovXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nO1xuaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnLi4vZGF0YWJhc2UvZHJpenpsZS1zY2hlbWEuanMnO1xuaW1wb3J0IHsgd2l0aFRlbmFudFR4IH0gZnJvbSAnLi4vZGF0YWJhc2UvdGVuYW5jeS5qcyc7XG5cbi8qKlxuICogU2NydWIgYSBkZWxldGVkIHVzZXIncyBhdXRob3JzaGlwIGZyb20gdGhlaXIgbGlzdGluZyByZXZpZXdzLlxuICpcbiAqIFRIRSBSQVRJTkcgU1VSVklWRVM7IHRoZSBwZXJzb24gZG9lcyBub3QuIEEgcmF0aW5nIGlzIHBhcnQgb2YgYSBsaXN0aW5nJ3NcbiAqIGFnZ3JlZ2F0ZSBzY29yZSB0aGF0IG90aGVyIGN1c3RvbWVycyByZWx5IG9uLCBzbyBkZWxldGluZyB0aGUgcm93IHdvdWxkXG4gKiBzaWxlbnRseSByZXdyaXRlIGEgcHVibGljIG51bWJlciBmb3IgZXZlcnkgcmVhZGVyIG9mIHRoYXQgbGlzdGluZy4gV2hhdCBoYXMgdG9cbiAqIGdvIGlzIHRoZSBwZXJzb25hbCBkYXRhOiB3aG8gd3JvdGUgaXQsIHRoZSBkaXNwbGF5IG5hbWUgc2hvd24gYmVzaWRlIGl0LCBhbmRcbiAqIHRoZSBwcm9zZSDigJQgZnJlZSB0ZXh0LCBhbmQgdGhlcmVmb3JlIHRoZSBwYXJ0IHRoYXQgY2FuIGNvbnRhaW4gYW55dGhpbmcgYWJvdXRcbiAqIHRoZW0uXG4gKlxuICogYGF1dGhvck9yZ0lkYCBpcyBERUxJQkVSQVRFTFkgS0VQVC4gSXQgaXMgbmV2ZXIgZXhwb3NlZCAoaXQgZmVlZHMgdGhlXG4gKiBpbnRlZ3JpdHkgcnVsZXMg4oCUIG5vIHNlbGYtcmV2aWV3LCB0aGUgcGVyLW9yZyByYXRlIGxpbWl0LCB2ZXJpZmllZC11c2UpLCBpdFxuICogaWRlbnRpZmllcyB0aGUgT1JHQU5JU0FUSU9OIHJhdGhlciB0aGFuIHRoZSBwZXJzb24sIGFuZCBkcm9wcGluZyBpdCB3b3VsZFxuICogZGlzYXJtIHRob3NlIGFudGktZ2FtaW5nIHJ1bGVzIGZvciBldmVyeSByZXZpZXcgdGhlIGFjY291bnQgZXZlciBsZWZ0LlxuICpcbiAqIElERU1QT1RFTlQgYnkgY29uc3RydWN0aW9uOiB0aGUgcHJlZGljYXRlIGlzIGBhdXRob3JfdXNlcl9pZCA9ICQxYCwgc28gYVxuICogc2Vjb25kIHJ1biBtYXRjaGVzIG5vdGhpbmcuIFRoYXQgaXMgd2hhdCBtYWtlcyBpdCBzYWZlIHRvIGNhbGwgUE9TVC1DT01NSVRcbiAqIGFuZCBhdC1sZWFzdC1vbmNlIOKAlCB3aGljaCBpcyB3aGVyZSB0aGUgY2FsbGVyIG11c3QgcHV0IGl0LCBiZWNhdXNlXG4gKiBgd2l0aE1vbmdvVHJhbnNhY3Rpb25gIFJFVFJJRVMgaXRzIGJvZHkgb24gYSB0cmFuc2llbnQgZXJyb3IgYW5kIGFueXRoaW5nXG4gKiBpbnNpZGUgaXQgcnVucyBvbmNlIHBlciBhdHRlbXB0LlxuICpcbiAqIFJldHVybnMgaG93IG1hbnkgcmV2aWV3cyB3ZXJlIHNjcnViYmVkLCBzbyB0aGUgY2FsbGVyIGNhbiBhdWRpdCB0aGUgZmlndXJlIGFuZFxuICogc2tpcCB0aGUgYXVkaXQgcm93IGVudGlyZWx5IHdoZW4gdGhlcmUgd2VyZSBub25lLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYW5vbnltaXplUmV2aWV3c0J5QXV0aG9yKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgaWYgKCF1c2VySWQpIHJldHVybiAwO1xuICBjb25zdCByb3dzID0gYXdhaXQgd2l0aFRlbmFudFR4KCh0eCkgPT4gdHhcbiAgICAudXBkYXRlKHNjaGVtYS5wbHVnaW5SZXZpZXcpXG4gICAgLnNldCh7XG4gICAgICBhdXRob3JVc2VySWQ6IG51bGwsXG4gICAgICBhdXRob3JEaXNwbGF5TmFtZTogbnVsbCxcbiAgICAgIGJvZHlNZDogbnVsbCxcbiAgICAgIGJvZHlIdG1sOiBudWxsLFxuICAgIH0pXG4gICAgLndoZXJlKGVxKHNjaGVtYS5wbHVnaW5SZXZpZXcuYXV0aG9yVXNlcklkLCB1c2VySWQpKVxuICAgIC5yZXR1cm5pbmcoeyBpZDogc2NoZW1hLnBsdWdpblJldmlldy5pZCB9KSk7XG4gIHJldHVybiByb3dzLmxlbmd0aDtcbn1cbiJdfQ==
|
package/lib/api/keyset-cursor.js
CHANGED
|
@@ -79,4 +79,4 @@ export function keysetAfter(sortColumn, idColumn, sortOrder, sortText, id) {
|
|
|
79
79
|
? sql `(${sortColumn} IS NOT NULL OR (${sortColumn} IS NULL AND ${idColumn} < ${id}))`
|
|
80
80
|
: sql `(${sortColumn} < ${sortText} OR (${sortColumn} = ${sortText} AND ${idColumn} < ${id}))`;
|
|
81
81
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5c2V0LWN1cnNvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9rZXlzZXQtY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxHQUFHLEVBQVksTUFBTSxhQUFhLENBQUM7QUFHNUMscUZBQXFGO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztBQUVqRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBdUIsRUFBRSxFQUFVO0lBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFFRCwrRUFBK0U7QUFDL0UsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjO0lBQ3pDLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFZLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFDRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztlQUN6QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDO2VBQ3JELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDeEQsQ0FBQztZQUNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLGVBQWU7SUFDakIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sU0FBUyxHQUFHLGlFQUFpRSxDQUFDO0FBQ3BGLDZFQUE2RTtBQUM3RSxNQUFNLGNBQWMsR0FBRyw4RkFBOEYsQ0FBQztBQUN0SCxNQUFNLFlBQVksR0FBRyxvQ0FBb0MsQ0FBQztBQUUxRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBaUIsRUFBRSxJQUFZO0lBQzFELE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ3hDLE1BQU0sVUFBVSxHQUFJLE1BQTZDLENBQUMsVUFBVSxDQUFDO0lBQzdFLElBQUksVUFBVSxLQUFLLFFBQVE7UUFBRSxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjLElBQUksVUFBVSxLQUFLLG9CQUFvQixDQUFDLElBQUksVUFBVSxFQUFFLE1BQU07UUFBRSxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkksSUFBSSxRQUFRLEtBQUssTUFBTSxJQUFJLFVBQVUsS0FBSyxtQkFBbUIsSUFBSSxVQUFVLEtBQUssY0FBYztRQUFFLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqSSxJQUFJLFFBQVEsS0FBSyxTQUFTO1FBQUUsT0FBTyxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLENBQUM7SUFDdkUsSUFBSSxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxRQUFRO1FBQUUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25GLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsVUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsU0FBeUIsRUFDekIsUUFBdUIsRUFDdkIsRUFBVTtJQUVWLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE9BQU8sU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBLEdBQUcsUUFBUSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUEsR0FBRyxRQUFRLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEYsQ0FBQztJQUNELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3hCLE9BQU8sUUFBUSxLQUFLLElBQUk7WUFDdEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxJQUFJLFVBQVUsZ0JBQWdCLFFBQVEsTUFBTSxFQUFFLEdBQUc7WUFDdEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxJQUFJLFVBQVUsTUFBTSxRQUFRLFFBQVEsVUFBVSxNQUFNLFFBQVEsUUFBUSxRQUFRLE1BQU0sRUFBRSxRQUFRLFVBQVUsV0FBVyxDQUFDO0lBQzNILENBQUM7SUFDRCxPQUFPLFFBQVEsS0FBSyxJQUFJO1FBQ3RCLENBQUMsQ0FBQyxHQUFHLENBQUEsSUFBSSxVQUFVLG9CQUFvQixVQUFVLGdCQUFnQixRQUFRLE1BQU0sRUFBRSxJQUFJO1FBQ3JGLENBQUMsQ0FBQyxHQUFHLENBQUEsSUFBSSxVQUFVLE1BQU0sUUFBUSxRQUFRLFVBQVUsTUFBTSxRQUFRLFFBQVEsUUFBUSxNQUFNLEVBQUUsSUFBSSxDQUFDO0FBQ2xHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBLZXlzZXQgKGN1cnNvcikgcGFnaW5hdGlvbiBwcmltaXRpdmVzIGZvciBgQ3J1ZFNlcnZpY2UuZmluZFBhZ2luYXRlZGAuXG4gKlxuICogUHVyZSBmdW5jdGlvbnMgb3ZlciBhIERyaXp6bGUgY29sdW1uIOKAlCBubyB0YWJsZSwgbm8gdGVuYW50IGNvbnRleHQsIG5vIEkvTyDigJRcbiAqIHdoaWNoIGlzIHdoeSB0aGV5IGxpdmUgb3V0c2lkZSB0aGUgQ1JVRCBiYXNlIGNsYXNzOiB0aGUgY3Vyc29yIGVuY29kaW5nIGFuZFxuICogaXRzIFwiaXMgdGhpcyBjYXN0YWJsZSAvIHN0cmljdGx5IGFmdGVyXCIgcnVsZXMgYXJlIHRoZSBmaWRkbHksIHRlc3Qtd29ydGh5XG4gKiBwYXJ0IG9mIHBhZ2luZyBhbmQgYXJlIGVhc2llciB0byByZWFzb24gYWJvdXQgb24gdGhlaXIgb3duLlxuICovXG5cbmltcG9ydCB7IHNxbCwgdHlwZSBTUUwgfSBmcm9tICdkcml6emxlLW9ybSc7XG5pbXBvcnQgdHlwZSB7IEFueUNvbHVtbiB9IGZyb20gJ2RyaXp6bGUtb3JtL2NvbHVtbic7XG5cbi8qKiBQcm9qZWN0aW9uIGFsaWFzIGNhcnJ5aW5nIHRoZSBzb3J0IGNvbHVtbidzIGV4YWN0IERCIHRleHQgZm9yIHRoZSBuZXh0IGN1cnNvci4gKi9cbmV4cG9ydCBjb25zdCBDVVJTT1JfU09SVF9LRVkgPSAnX19jdXJzb3JTb3J0S2V5JztcblxuLyoqXG4gKiBPcGFxdWUga2V5c2V0IGN1cnNvcjogdGhlIGxhc3Qgcm93J3Mgc29ydCB2YWx1ZSBhcyBQb3N0Z3JlcyBURVhUIChmdWxsXG4gKiBwcmVjaXNpb24g4oCUIGEgSlMgYERhdGVgIHdvdWxkIHRydW5jYXRlIGB0aW1lc3RhbXB0emAgbWljcm9zZWNvbmRzIHRvIG1zLCBzb1xuICogYGNyZWF0ZWRfYXQgPiAnPG1zPidgIHJlLXJldHVybnMgb3Igc2tpcHMgcm93cyBpbiB0aGUgc2FtZSBtaWxsaXNlY29uZCkgcGx1c1xuICogaXRzIGBpZGAgYXMgdGhlIHRpZS1icmVha2VyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlQ3Vyc29yKHNvcnRUZXh0OiBzdHJpbmcgfCBudWxsLCBpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KFtzb3J0VGV4dCwgaWRdKSwgJ3V0ZjgnKS50b1N0cmluZygnYmFzZTY0dXJsJyk7XG59XG5cbi8qKiBEZWNvZGUgYSBjdXJzb3IgcHJvZHVjZWQgYnkge0BsaW5rIGVuY29kZUN1cnNvcn07IGBudWxsYCB3aGVuIG1hbGZvcm1lZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVDdXJzb3IoY3Vyc29yOiBzdHJpbmcpOiB7IHNvcnRUZXh0OiBzdHJpbmcgfCBudWxsOyBpZDogc3RyaW5nIH0gfCBudWxsIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQ6IHVua25vd24gPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGN1cnNvciwgJ2Jhc2U2NHVybCcpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgIGlmIChcbiAgICAgIEFycmF5LmlzQXJyYXkocGFyc2VkKSAmJiBwYXJzZWQubGVuZ3RoID09PSAyXG4gICAgICAmJiAocGFyc2VkWzBdID09PSBudWxsIHx8IHR5cGVvZiBwYXJzZWRbMF0gPT09ICdzdHJpbmcnKVxuICAgICAgJiYgdHlwZW9mIHBhcnNlZFsxXSA9PT0gJ3N0cmluZycgJiYgcGFyc2VkWzFdLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHNvcnRUZXh0OiBwYXJzZWRbMF0sIGlkOiBwYXJzZWRbMV0gfTtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIC8vIGZhbGwgdGhyb3VnaFxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5jb25zdCBVVUlEX1RFWFQgPSAvXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezEyfSQvaTtcbi8qKiBQb3N0Z3JlcyBgdGltZXN0YW1wW3R6XTo6dGV4dGAgLyBgZGF0ZTo6dGV4dGAgKGFsc28gYWNjZXB0cyBJU08tODYwMSkuICovXG5jb25zdCBUSU1FU1RBTVBfVEVYVCA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0oPzpbIFRdXFxkezJ9OlxcZHsyfSg/OjpcXGR7Mn0oPzpcXC5cXGR7MSw2fSk/KT8oPzpafFsrLV1cXGR7Mn0oPzo6P1xcZHsyfSk/KT8pPyQvO1xuY29uc3QgTlVNRVJJQ19URVhUID0gL14tP1xcZCsoPzpcXC5cXGQrKT8oPzpbZUVdWy0rXT9cXGQrKT8kLztcblxuLyoqXG4gKiBXaGV0aGVyIGB0ZXh0YCBjYW4gYmUgY2FzdCB0byBgY29sdW1uYCdzIHR5cGUuIEEgZGVjb2RlZCBjdXJzb3IgaXMgc3RpbGxcbiAqIGNsaWVudCBpbnB1dDogYSB2YWx1ZSBQb3N0Z3JlcyBjYW4ndCBjYXN0IChhIG5vbi1VVUlEIGlkLCBhIGdhcmJhZ2VcbiAqIHRpbWVzdGFtcCkgZmFpbHMgdGhlIHdob2xlIHF1ZXJ5IHdpdGggYSA1MDAuIENvbHVtbiB0eXBlcyB0aGlzIGRvZXNuJ3Qga25vd1xuICogKHRleHQsIHZhcmNoYXIsIOKApikgYWNjZXB0IGFueSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nhc3RhYmxlVG8oY29sdW1uOiBBbnlDb2x1bW4sIHRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB7IGNvbHVtblR5cGUsIGRhdGFUeXBlIH0gPSBjb2x1bW47XG4gIGNvbnN0IGVudW1WYWx1ZXMgPSAoY29sdW1uIGFzIHsgZW51bVZhbHVlcz86IHJlYWRvbmx5IHN0cmluZ1tdIH0pLmVudW1WYWx1ZXM7XG4gIGlmIChjb2x1bW5UeXBlID09PSAnUGdVVUlEJykgcmV0dXJuIFVVSURfVEVYVC50ZXN0KHRleHQpO1xuICBpZiAoKGNvbHVtblR5cGUgPT09ICdQZ0VudW1Db2x1bW4nIHx8IGNvbHVtblR5cGUgPT09ICdQZ0VudW1PYmplY3RDb2x1bW4nKSAmJiBlbnVtVmFsdWVzPy5sZW5ndGgpIHJldHVybiBlbnVtVmFsdWVzLmluY2x1ZGVzKHRleHQpO1xuICBpZiAoZGF0YVR5cGUgPT09ICdkYXRlJyB8fCBjb2x1bW5UeXBlID09PSAnUGdUaW1lc3RhbXBTdHJpbmcnIHx8IGNvbHVtblR5cGUgPT09ICdQZ0RhdGVTdHJpbmcnKSByZXR1cm4gVElNRVNUQU1QX1RFWFQudGVzdCh0ZXh0KTtcbiAgaWYgKGRhdGFUeXBlID09PSAnYm9vbGVhbicpIHJldHVybiB0ZXh0ID09PSAndHJ1ZScgfHwgdGV4dCA9PT0gJ2ZhbHNlJztcbiAgaWYgKGRhdGFUeXBlID09PSAnbnVtYmVyJyB8fCBkYXRhVHlwZSA9PT0gJ2JpZ2ludCcpIHJldHVybiBOVU1FUklDX1RFWFQudGVzdCh0ZXh0KTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogS2V5c2V0IHByZWRpY2F0ZSBcInN0cmljdGx5IGFmdGVyIChzb3J0VGV4dCwgaWQpXCIgZm9yIGBPUkRFUiBCWSBzb3J0IDxkaXI+LCBpZCA8ZGlyPmBcbiAqIHVuZGVyIFBvc3RncmVzJyBkZWZhdWx0IG51bGwgcGxhY2VtZW50IChBU0Mg4oaSIE5VTExTIExBU1QsIERFU0Mg4oaSIE5VTExTIEZJUlNUKS5cbiAqIFRoZSB0ZXh0IHZhbHVlIGlzIGJvdW5kIGFzIGEgcGFyYW1ldGVyIGNvbXBhcmVkIGFnYWluc3QgdGhlIGNvbHVtbiwgc28gUG9zdGdyZXNcbiAqIGNhc3RzIGl0IGJhY2sgdG8gdGhlIGNvbHVtbidzIHR5cGUgYXQgZnVsbCBwcmVjaXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBrZXlzZXRBZnRlcihcbiAgc29ydENvbHVtbjogQW55Q29sdW1uLFxuICBpZENvbHVtbjogQW55Q29sdW1uLFxuICBzb3J0T3JkZXI6ICdhc2MnIHwgJ2Rlc2MnLFxuICBzb3J0VGV4dDogc3RyaW5nIHwgbnVsbCxcbiAgaWQ6IHN0cmluZyxcbik6IFNRTCB7XG4gIGlmIChzb3J0Q29sdW1uID09PSBpZENvbHVtbikge1xuICAgIHJldHVybiBzb3J0T3JkZXIgPT09ICdkZXNjJyA/IHNxbGAke2lkQ29sdW1ufSA8ICR7aWR9YCA6IHNxbGAke2lkQ29sdW1ufSA+ICR7aWR9YDtcbiAgfVxuICBpZiAoc29ydE9yZGVyID09PSAnYXNjJykge1xuICAgIHJldHVybiBzb3J0VGV4dCA9PT0gbnVsbFxuICAgICAgPyBzcWxgKCR7c29ydENvbHVtbn0gSVMgTlVMTCBBTkQgJHtpZENvbHVtbn0gPiAke2lkfSlgXG4gICAgICA6IHNxbGAoJHtzb3J0Q29sdW1ufSA+ICR7c29ydFRleHR9IE9SICgke3NvcnRDb2x1bW59ID0gJHtzb3J0VGV4dH0gQU5EICR7aWRDb2x1bW59ID4gJHtpZH0pIE9SICR7c29ydENvbHVtbn0gSVMgTlVMTClgO1xuICB9XG4gIHJldHVybiBzb3J0VGV4dCA9PT0gbnVsbFxuICAgID8gc3FsYCgke3NvcnRDb2x1bW59IElTIE5PVCBOVUxMIE9SICgke3NvcnRDb2x1bW59IElTIE5VTEwgQU5EICR7aWRDb2x1bW59IDwgJHtpZH0pKWBcbiAgICA6IHNxbGAoJHtzb3J0Q29sdW1ufSA8ICR7c29ydFRleHR9IE9SICgke3NvcnRDb2x1bW59ID0gJHtzb3J0VGV4dH0gQU5EICR7aWRDb2x1bW59IDwgJHtpZH0pKWA7XG59XG4iXX0=
|
|
@@ -160,4 +160,4 @@ export async function pipelineStepLookups(orgId, pipelineId) {
|
|
|
160
160
|
.where(and(eq(L().orgId, orgId), eq(L().pipelineId, pipelineId)))
|
|
161
161
|
.orderBy(L().stepKey));
|
|
162
162
|
}
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RlcC1yZXNvbHV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9waXBlbGluZS1zdGVwLXJlc29sdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQTRCdEQsMEVBQTBFO0FBQzFFLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCx3RkFBd0Y7QUFDeEYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFpQixFQUFFLFFBQWdCO0lBQzdELE9BQU8sU0FBUyxLQUFLLFFBQVEsSUFBSSxTQUFTLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0FBQ2hHLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUs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dXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogUGVyLVNURVAgcGx1Z2luIHJlc29sdXRpb24gc3RhdGUgb2YgYSBwaXBlbGluZSwgYmV5b25kIHRoZSB2ZXJzaW9uLWxldmVsXG4gKiByZXBvcnRpbmcgdGFibGVzOlxuICpcbiAqICAtIHtAbGluayBkZWNsYXJlZFJlc29sdXRpb259IOKAlCB0aGUgcm93cyBgcGlwZWxpbmVfcGx1Z2luX3Jlc29sdXRpb25gIGFuZCB0aGVcbiAqICAgIGRlY2xhcmVkIGV4cG9zdXJlcyBhcmUgd3JpdHRlbiBmcm9tLCBnaXZlbiB0aGUgcGlwZWxpbmUncyBwbHVnaW4gc3RlcHMgYW5kXG4gKiAgICBhIHJlc29sdmVyLiBPTkUgYXNzZW1ibHkgZm9yIGJvdGggd3JpdGVyczogdGhlIHBpcGVsaW5lIHNlcnZpY2Ugb24gYSBzYXZlXG4gKiAgICAocmVzb2x2aW5nIHRoZSB3YXkgaXRzIGNvbnRyYWN0IGNoZWNrIGRvZXMpIGFuZCB0aGUgcGx1Z2luIHNlcnZpY2Ugd2hlbiBhXG4gKiAgICBwdWJsaXNoLCBhIGZsYWcgLyB1bmZsYWcgb3IgYSB5YW5rIGNoYW5nZXMgd2hhdCBhIGRlY2xhcmVkIHJhbmdlIHJlc29sdmVzIHRvXG4gKiAgICAocmVzb2x2aW5nIHRoZSB3YXkgYC9wbHVnaW5zL2xvb2t1cGAgZG9lcykuIFRoZSBzdGVwIGxpc3QgY29tZXMgZnJvbSB0aGVcbiAqICAgIGNhbGxlciAocGlwZWxpbmUtY29yZSdzIGBjb2xsZWN0UGx1Z2luU3RlcHNgLCB3aGljaCB0aGlzIHBhY2thZ2UgY2Fubm90XG4gKiAgICBpbXBvcnQpLCBhbmQgdGhlIHdyaXRlcyBzdGF5IHdpdGggdGhlIGNhbGxlciwgc28gZWFjaCBjYW4gdGVzdCBpdHMgb3duLlxuICogIC0gYHBpcGVsaW5lX3N0ZXBfbG9va3Vwc2Ag4oCUIHdoYXQgc3ludGggd2FzIFRPTEQgcGVyIHN0ZXAgYXQgaXRzIGxhc3QgbG9va3VwXG4gKiAgICAoe0BsaW5rIHJlY29yZFN0ZXBMb29rdXB9KSwgd2hlbiBzeW50aCBzZW5kcyB0aGUgc3RlcCdzIGNvbnRleHQuXG4gKi9cblxuaW1wb3J0IHsgYW5kLCBlcSwgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nO1xuaW1wb3J0IHR5cGUgeyBFeHBvc3VyZVN0ZXAsIFJlc29sdmVkU3RlcCwgU2NhblN0YXRlIH0gZnJvbSAnLi9yZXBvcnRpbmcvcGx1Z2luLWV4cG9zdXJlLmpzJztcbmltcG9ydCB7IHNjaGVtYSB9IGZyb20gJy4uL2RhdGFiYXNlL2RyaXp6bGUtc2NoZW1hLmpzJztcbmltcG9ydCB7IGV4ZWN1dGVSb3dzIH0gZnJvbSAnLi4vZGF0YWJhc2UvcGctcmVzdWx0LmpzJztcbmltcG9ydCB7IHdpdGhUZW5hbnRUeCB9IGZyb20gJy4uL2RhdGFiYXNlL3RlbmFuY3kuanMnO1xuXG4vKiogT25lIHBsdWdpbiBzdGVwIG9mIGEgcGlwZWxpbmUsIGFzIHBpcGVsaW5lLWNvcmUncyBgY29sbGVjdFBsdWdpblN0ZXBzYCArIGBwbHVnaW5Mb29rdXBGaWx0ZXJgIGRlc2NyaWJlIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWNsYXJlZFN0ZXBJbnB1dCB7XG4gIC8qKiBgc3ludGhgIG9yIGA8c3RhZ2VOYW1lPi88YWxpYXMgPz8gbmFtZT5gLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHB1Ymxpc2hlcj86IHN0cmluZztcbiAgLyoqIFRoZSByZWZlcmVuY2UncyBvd24gYGZpbHRlcmAgKGl0cyBgdmVyc2lvbmAgaXMgdGhlIGRlY2xhcmVkIHNwZWMpLiAqL1xuICBmaWx0ZXI/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqIFRoZSBsb29rdXAgZmlsdGVyIHN5bnRoIHdvdWxkIHNlbmQgZm9yIGl0LiAqL1xuICBsb29rdXBGaWx0ZXI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKiogV2hhdCBhIHN0ZXAncyByZWZlcmVuY2UgcmVzb2x2ZWQgdG8uICovXG5leHBvcnQgaW50ZXJmYWNlIERlY2xhcmVkU3RlcFBsdWdpbiB7XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUaGUgbGlzdGluZydzIHB1Ymxpc2hlcjsgbnVsbCBmb3IgYW4gb3JnIHJvdy4gKi9cbiAgcHVibGlzaGVyOiBzdHJpbmcgfCBudWxsO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgaW1hZ2VEaWdlc3Q/OiBzdHJpbmcgfCBudWxsO1xuICBzY2FuPzogU2NhblN0YXRlO1xufVxuXG4vKiogQSByZXNvbHZlcidzIGFuc3dlcjogYSBwbHVnaW4sIGEgcmVmdXNhbCAodGhlIHJlZmVyZW5jZSBjYW4ndCByZXNvbHZlKSwgb3Igbm90aGluZyBhdCBhbGwuICovXG5leHBvcnQgdHlwZSBEZWNsYXJlZFN0ZXBSZXNvbHV0aW9uID0geyBwbHVnaW46IERlY2xhcmVkU3RlcFBsdWdpbiB9IHwgeyByZWZ1c2FsOiB1bmtub3duIH0gfCBudWxsO1xuXG4vKiogYEJ1aWxkL3NjYW5gIOKGkiBgWydCdWlsZCcsICdzY2FuJ11gOyBgc3ludGhgIOKGkiBgWydzeW50aCcsICdzeW50aCddYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGFnZUFuZFN0ZXAobGFiZWw6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICBjb25zdCBhdCA9IGxhYmVsLmluZGV4T2YoJy8nKTtcbiAgcmV0dXJuIGF0ID09PSAtMSA/IFtsYWJlbCwgbGFiZWxdIDogW2xhYmVsLnNsaWNlKDAsIGF0KSwgbGFiZWwuc2xpY2UoYXQgKyAxKV07XG59XG5cbi8qKiBUaGUgc3RlcCBsYWJlbCBhIHJlc29sdXRpb24gcm93IHN0YW5kcyBmb3IgKHRoZSBpbnZlcnNlIG9mIHtAbGluayBzdGFnZUFuZFN0ZXB9KS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGVwTGFiZWxPZihzdGFnZU5hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdGFnZU5hbWUgPT09IHN0ZXBOYW1lICYmIHN0YWdlTmFtZSA9PT0gJ3N5bnRoJyA/ICdzeW50aCcgOiBgJHtzdGFnZU5hbWV9LyR7c3RlcE5hbWV9YDtcbn1cblxuLyoqXG4gKiBUaGUgZGVjbGFyZWQgcmVzb2x1dGlvbiByb3dzIG9mIGEgcGlwZWxpbmUgYW5kIHRoZSBzdGVwcyBpdHMgREVDTEFSRURcbiAqIGV4cG9zdXJlcyByZWNvbmNpbGUgYWdhaW5zdC4gRWFjaCBzdGVwIHJlc29sdmVzIGFzIHN5bnRoIHdvdWxkLCBwbHVzIHdoYXQgYW5cbiAqIFVOVkVSU0lPTkVEIHJlZmVyZW5jZSByZXNvbHZlcyB0byBub3cgKHRoZSBcImxhdGVzdFwiIHRoZSB2ZXJzaW9uIGdhcCBpcyBtZWFzdXJlZFxuICogYWdhaW5zdCkuIEEgcmVmdXNlZCByZWZlcmVuY2UgaXMgcmVjb3JkZWQgd2l0aCBubyByZXNvbHZlZCB2ZXJzaW9uIGFuZFxuICogYHdpdGhpblBvbGljeTogZmFsc2VgIHJhdGhlciB0aGFuIGRyb3BwZWQ6IFwidGhpcyBzdGVwIGNhbiBubyBsb25nZXIgcmVzb2x2ZVwiXG4gKiBpcyBwcmVjaXNlbHkgd2hhdCB0aGUgb3V0ZGF0ZWQgc2VjdGlvbiBzaG91bGQgc2hvdy4gRWFjaCBkaXN0aW5jdCBmaWx0ZXIgaXNcbiAqIHJlc29sdmVkIG9uY2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNsYXJlZFJlc29sdXRpb24oaW5wdXQ6IHtcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICByb290T3JnSWQ/OiBzdHJpbmcgfCBudWxsO1xuICBzdGVwczogcmVhZG9ubHkgRGVjbGFyZWRTdGVwSW5wdXRbXTtcbiAgcmVzb2x2ZTogKGZpbHRlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8RGVjbGFyZWRTdGVwUmVzb2x1dGlvbj47XG59KTogUHJvbWlzZTx7IHJvd3M6IFJlc29sdmVkU3RlcFtdOyBleHBvc3VyZVN0ZXBzOiBFeHBvc3VyZVN0ZXBbXSB9PiB7XG4gIGNvbnN0IG1lbW8gPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxEZWNsYXJlZFN0ZXBSZXNvbHV0aW9uPj4oKTtcbiAgY29uc3QgcmVzb2x2ZSA9IChmaWx0ZXI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmVudHJpZXMoZmlsdGVyKS5zb3J0KChbYV0sIFtiXSkgPT4gYS5sb2NhbGVDb21wYXJlKGIpKSk7XG4gICAgbGV0IGhpdCA9IG1lbW8uZ2V0KGtleSk7XG4gICAgaWYgKCFoaXQpIHtcbiAgICAgIGhpdCA9IGlucHV0LnJlc29sdmUoZmlsdGVyKTtcbiAgICAgIG1lbW8uc2V0KGtleSwgaGl0KTtcbiAgICB9XG4gICAgcmV0dXJuIGhpdDtcbiAgfTtcbiAgY29uc3Qgcm93cyA9IG5ldyBNYXA8c3RyaW5nLCBSZXNvbHZlZFN0ZXA+KCk7XG4gIGNvbnN0IGV4cG9zdXJlU3RlcHM6IEV4cG9zdXJlU3RlcFtdID0gW107XG4gIGZvciAoY29uc3Qgc3RlcCBvZiBpbnB1dC5zdGVwcykge1xuICAgIGNvbnN0IHJlc29sdXRpb24gPSBhd2FpdCByZXNvbHZlKHN0ZXAubG9va3VwRmlsdGVyKTtcbiAgICBjb25zdCBwbHVnaW4gPSByZXNvbHV0aW9uICYmICdwbHVnaW4nIGluIHJlc29sdXRpb24gPyByZXNvbHV0aW9uLnBsdWdpbiA6IG51bGw7XG4gICAgY29uc3QgbGF0ZXN0ID0gYXdhaXQgcmVzb2x2ZSh7IG5hbWU6IHN0ZXAubmFtZSwgLi4uKHN0ZXAucHVibGlzaGVyID8geyBwdWJsaXNoZXI6IHN0ZXAucHVibGlzaGVyIH0gOiB7fSksIGlzQWN0aXZlOiB0cnVlIH0pO1xuICAgIGNvbnN0IGxhdGVzdFBsdWdpbiA9IGxhdGVzdCAmJiAncGx1Z2luJyBpbiBsYXRlc3QgPyBsYXRlc3QucGx1Z2luIDogbnVsbDtcbiAgICBjb25zdCBbc3RhZ2VOYW1lLCBzdGVwTmFtZV0gPSBzdGFnZUFuZFN0ZXAoc3RlcC5sYWJlbCk7XG4gICAgcm93cy5zZXQoYCR7c3RhZ2VOYW1lfVxcdTAwMDAke3N0ZXBOYW1lfWAsIHtcbiAgICAgIG9yZ0lkOiBpbnB1dC5vcmdJZCxcbiAgICAgIHBpcGVsaW5lSWQ6IGlucHV0LnBpcGVsaW5lSWQsXG4gICAgICBzdGFnZU5hbWUsXG4gICAgICBzdGVwTmFtZSxcbiAgICAgIHBsdWdpblB1Ymxpc2hlcjogcGx1Z2luPy5wdWJsaXNoZXIgPz8gc3RlcC5wdWJsaXNoZXIgPz8gbnVsbCxcbiAgICAgIHBsdWdpbk5hbWU6IHBsdWdpbj8ubmFtZSA/PyBzdGVwLm5hbWUsXG4gICAgICBkZWNsYXJlZFZlcnNpb246IHR5cGVvZiBzdGVwLmZpbHRlcj8udmVyc2lvbiA9PT0gJ3N0cmluZycgPyBzdGVwLmZpbHRlci52ZXJzaW9uIDogbnVsbCxcbiAgICAgIHJlc29sdmVkVmVyc2lvbjogcGx1Z2luPy52ZXJzaW9uID8/IG51bGwsXG4gICAgICByZXNvbHZlZFBsdWdpbklkOiBwbHVnaW4/LmlkID8/IG51bGwsXG4gICAgICByZXNvbHZlZERpZ2VzdDogcGx1Z2luPy5pbWFnZURpZ2VzdCA/PyBudWxsLFxuICAgICAgbGF0ZXN0VmVyc2lvbjogbGF0ZXN0UGx1Z2luPy52ZXJzaW9uID8/IG51bGwsXG4gICAgICB3aXRoaW5Qb2xpY3k6ICEocmVzb2x1dGlvbiAmJiAncmVmdXNhbCcgaW4gcmVzb2x1dGlvbiksXG4gICAgICByb290T3JnSWQ6IGlucHV0LnJvb3RPcmdJZCA/PyBudWxsLFxuICAgIH0pO1xuICAgIGlmIChwbHVnaW4pIHtcbiAgICAgIGV4cG9zdXJlU3RlcHMucHVzaCh7XG4gICAgICAgIHBsdWdpblB1Ymxpc2hlcjogcGx1Z2luLnB1Ymxpc2hlcixcbiAgICAgICAgcGx1Z2luTmFtZTogcGx1Z2luLm5hbWUsXG4gICAgICAgIHBsdWdpblZlcnNpb246IHBsdWdpbi52ZXJzaW9uLFxuICAgICAgICBpbWFnZURpZ2VzdDogcGx1Z2luLmltYWdlRGlnZXN0ID8/IG51bGwsXG4gICAgICAgIHNjYW46IHBsdWdpbi5zY2FuID8/IHt9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IHJvd3M6IFsuLi5yb3dzLnZhbHVlcygpXSwgZXhwb3N1cmVTdGVwcyB9O1xufVxuXG4vKiogQSBwaXBlbGluZSB3aG9zZSBkZWNsYXJlZCBzdGVwcyByZWZlcmVuY2UgYSBwbHVnaW4sIHdpdGggd2hhdCByZS1yZXNvbHZpbmcgaXQgbmVlZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIERlY2xhcmVkUGlwZWxpbmVSZWYge1xuICBwaXBlbGluZUlkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIHJvb3RPcmdJZDogc3RyaW5nIHwgbnVsbDtcbiAgcHJvcHM6IHVua25vd247XG4gIC8qKiBUaGUgc3RlcCByb3dzIGFzIGxhc3QgcmVjb3JkZWQ6IGBzdGFnZVxcMHN0ZXBgIOKGkiByZXNvbHZlZCB2ZXJzaW9uICsgZGlnZXN0LiAqL1xuICBjdXJyZW50OiBNYXA8c3RyaW5nLCB7IHJlc29sdmVkVmVyc2lvbjogc3RyaW5nIHwgbnVsbDsgcmVzb2x2ZWREaWdlc3Q6IHN0cmluZyB8IG51bGwgfT47XG59XG5cbi8qKlxuICogVGhlIExJVkUgcGlwZWxpbmVzIHdob3NlIGRlY2xhcmVkIHN0ZXBzIHJlZmVyZW5jZSBhIHBsdWdpbiDigJQgYSBsaXN0aW5nIChldmVyeVxuICogb3JnJ3MgcGlwZWxpbmVzIG5hbWluZyB0aGF0IHB1Ymxpc2hlcikgb3IgYW4gb3JnJ3Mgb3duIHBsdWdpbiAodGhhdCBvcmcncyBhbmRcbiAqIGl0cyB0ZWFtcycgdW5xdWFsaWZpZWQgcmVmZXJlbmNlcykg4oCUIG9sZGVzdCBjb21wdXRhdGlvbiBmaXJzdCwgYXQgbW9zdCBgbGltaXRgLlxuICogTXVzdCBydW4gd2l0aCBhIHNjb3BlIHRoYXQgY2FuIHJlYWQgZXZlcnkgb3JnJ3Mgcm93cyAoZWxldmF0ZWQpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjbGFyZWRQaXBlbGluZXNGb3JQbHVnaW4oXG4gIHRhcmdldDogeyBwbHVnaW5OYW1lOiBzdHJpbmc7IHB1Ymxpc2hlcjogc3RyaW5nIH0gfCB7IHBsdWdpbk5hbWU6IHN0cmluZzsgb3JnSWQ6IHN0cmluZyB9LFxuICBsaW1pdDogbnVtYmVyLFxuKTogUHJvbWlzZTx7IHBpcGVsaW5lczogRGVjbGFyZWRQaXBlbGluZVJlZltdOyB0cnVuY2F0ZWQ6IGJvb2xlYW4gfT4ge1xuICBjb25zdCBvd25lciA9ICdwdWJsaXNoZXInIGluIHRhcmdldFxuICAgID8gc3FsYHIucGx1Z2luX3B1Ymxpc2hlciA9ICR7dGFyZ2V0LnB1Ymxpc2hlcn1gXG4gICAgOiBzcWxgci5wbHVnaW5fcHVibGlzaGVyIElTIE5VTEwgQU5EIChsb3dlcihyLm9yZ19pZCkgPSAke3RhcmdldC5vcmdJZC50b0xvd2VyQ2FzZSgpfSBPUiBsb3dlcihyLnJvb3Rfb3JnX2lkKSA9ICR7dGFyZ2V0Lm9yZ0lkLnRvTG93ZXJDYXNlKCl9KWA7XG4gIHJldHVybiB3aXRoVGVuYW50VHgoYXN5bmMgKHR4KSA9PiB7XG4gICAgY29uc3QgaWRzID0gYXdhaXQgZXhlY3V0ZVJvd3M8eyBwaXBlbGluZV9pZDogc3RyaW5nIH0+KHR4LCBzcWxgXG4gICAgICBTRUxFQ1Qgci5waXBlbGluZV9pZCwgTUlOKHIuY29tcHV0ZWRfYXQpIEFTIG9sZGVzdFxuICAgICAgICBGUk9NIHBpcGVsaW5lX3BsdWdpbl9yZXNvbHV0aW9uIHJcbiAgICAgICAgSk9JTiBwaXBlbGluZXMgcCBPTiBwLmlkOjp0ZXh0ID0gci5waXBlbGluZV9pZCBBTkQgcC5kZWxldGVkX2F0IElTIE5VTExcbiAgICAgICBXSEVSRSByLnBsdWdpbl9uYW1lID0gJHt0YXJnZXQucGx1Z2luTmFtZX0gQU5EICR7b3duZXJ9XG4gICAgICAgR1JPVVAgQlkgci5waXBlbGluZV9pZFxuICAgICAgIE9SREVSIEJZIG9sZGVzdFxuICAgICAgIExJTUlUICR7bGltaXQgKyAxfVxuICAgIGApO1xuICAgIGNvbnN0IHRydW5jYXRlZCA9IGlkcy5sZW5ndGggPiBsaW1pdDtcbiAgICBjb25zdCB3YW50ZWQgPSBpZHMuc2xpY2UoMCwgbGltaXQpLm1hcCgocikgPT4gci5waXBlbGluZV9pZCk7XG4gICAgaWYgKHdhbnRlZC5sZW5ndGggPT09IDApIHJldHVybiB7IHBpcGVsaW5lczogW10sIHRydW5jYXRlZDogZmFsc2UgfTtcbiAgICBjb25zdCBwaXBlbGluZXMgPSBhd2FpdCBleGVjdXRlUm93czx7IGlkOiBzdHJpbmc7IG9yZ19pZDogc3RyaW5nOyBwcm9wczogdW5rbm93biB9Pih0eCwgc3FsYFxuICAgICAgU0VMRUNUIHAuaWQ6OnRleHQgQVMgaWQsIHAub3JnX2lkLCBwLnByb3BzIEZST00gcGlwZWxpbmVzIHAgV0hFUkUgcC5pZDo6dGV4dCA9IEFOWSgke3dhbnRlZH0pIEFORCBwLmRlbGV0ZWRfYXQgSVMgTlVMTFxuICAgIGApO1xuICAgIGNvbnN0IHN0ZXBzID0gYXdhaXQgZXhlY3V0ZVJvd3M8eyBwaXBlbGluZV9pZDogc3RyaW5nOyBzdGFnZV9uYW1lOiBzdHJpbmc7IHN0ZXBfbmFtZTogc3RyaW5nOyByZXNvbHZlZF92ZXJzaW9uOiBzdHJpbmcgfCBudWxsOyByZXNvbHZlZF9kaWdlc3Q6IHN0cmluZyB8IG51bGw7IHJvb3Rfb3JnX2lkOiBzdHJpbmcgfCBudWxsIH0+KHR4LCBzcWxgXG4gICAgICBTRUxFQ1QgcGlwZWxpbmVfaWQsIHN0YWdlX25hbWUsIHN0ZXBfbmFtZSwgcmVzb2x2ZWRfdmVyc2lvbiwgcmVzb2x2ZWRfZGlnZXN0LCByb290X29yZ19pZFxuICAgICAgICBGUk9NIHBpcGVsaW5lX3BsdWdpbl9yZXNvbHV0aW9uIFdIRVJFIHBpcGVsaW5lX2lkID0gQU5ZKCR7d2FudGVkfSlcbiAgICBgKTtcbiAgICByZXR1cm4ge1xuICAgICAgdHJ1bmNhdGVkLFxuICAgICAgcGlwZWxpbmVzOiBwaXBlbGluZXMubWFwKChwKSA9PiB7XG4gICAgICAgIGNvbnN0IG93biA9IHN0ZXBzLmZpbHRlcigocykgPT4gcy5waXBlbGluZV9pZCA9PT0gcC5pZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGlwZWxpbmVJZDogcC5pZCxcbiAgICAgICAgICBvcmdJZDogcC5vcmdfaWQsXG4gICAgICAgICAgcm9vdE9yZ0lkOiBvd24uZmluZCgocykgPT4gcy5yb290X29yZ19pZCk/LnJvb3Rfb3JnX2lkID8/IG51bGwsXG4gICAgICAgICAgcHJvcHM6IHAucHJvcHMsXG4gICAgICAgICAgY3VycmVudDogbmV3IE1hcChvd24ubWFwKChzKSA9PiBbYCR7cy5zdGFnZV9uYW1lfVxcdTAwMDAke3Muc3RlcF9uYW1lfWAsIHsgcmVzb2x2ZWRWZXJzaW9uOiBzLnJlc29sdmVkX3ZlcnNpb24sIHJlc29sdmVkRGlnZXN0OiBzLnJlc29sdmVkX2RpZ2VzdCB9XSkpLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgfTtcbiAgfSk7XG59XG5cbi8qKiBPbmUgc3RlcCdzIGxvb2t1cCBvdXRjb21lLCBhcyBgL3BsdWdpbnMvbG9va3VwYCByZWNvcmRzIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGVwTG9va3VwUmVjb3JkIHtcbiAgb3JnSWQ6IHN0cmluZztcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBzdGVwS2V5OiBzdHJpbmc7XG4gIHBsdWdpblB1Ymxpc2hlcj86IHN0cmluZyB8IG51bGw7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcmVxdWVzdGVkVmVyc2lvbj86IHN0cmluZyB8IG51bGw7XG4gIHJlc29sdmVkVmVyc2lvbj86IHN0cmluZyB8IG51bGw7XG4gIHJlc29sdmVkUGx1Z2luSWQ/OiBzdHJpbmcgfCBudWxsO1xuICBpbWFnZURpZ2VzdD86IHN0cmluZyB8IG51bGw7XG4gIHdhcm5pbmdzOiBBcnJheTx7IGNvZGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nOyBzZXZlcml0eT86IHN0cmluZyB9PjtcbiAgcmVmdXNhbD86IHsgY29kZTogc3RyaW5nOyByZWFzb246IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0gfCBudWxsO1xuICBsb29rZWRVcEF0PzogRGF0ZTtcbn1cblxuY29uc3QgTCA9ICgpID0+IHNjaGVtYS5waXBlbGluZVN0ZXBMb29rdXA7XG5cbi8qKlxuICogUmVjb3JkIChyZXBsYWNlKSBvbmUgc3RlcCdzIGxhc3QgbG9va3VwIG91dGNvbWUuIFJ1bnMgdW5kZXIgdGhlIENBTExFUidzXG4gKiBzY29wZSwgd2hpY2ggUkxTIHBpbnMgdG8gaXRzIG93biBvcmc6IGEgY29udGV4dCBuYW1pbmcgYW5vdGhlciBvcmcncyBwaXBlbGluZVxuICogaXMgcmVmdXNlZCBieSB0aGUgY2FsbGVyIGJlZm9yZSBpdCBnZXRzIGhlcmUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWNvcmRTdGVwTG9va3VwKHI6IFN0ZXBMb29rdXBSZWNvcmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdmFsdWVzID0ge1xuICAgIG9yZ0lkOiByLm9yZ0lkLFxuICAgIHBpcGVsaW5lSWQ6IHIucGlwZWxpbmVJZCxcbiAgICBzdGVwS2V5OiByLnN0ZXBLZXksXG4gICAgcGx1Z2luUHVibGlzaGVyOiByLnBsdWdpblB1Ymxpc2hlciA/PyBudWxsLFxuICAgIHBsdWdpbk5hbWU6IHIucGx1Z2luTmFtZSxcbiAgICByZXF1ZXN0ZWRWZXJzaW9uOiByLnJlcXVlc3RlZFZlcnNpb24gPz8gbnVsbCxcbiAgICByZXNvbHZlZFZlcnNpb246IHIucmVzb2x2ZWRWZXJzaW9uID8/IG51bGwsXG4gICAgcmVzb2x2ZWRQbHVnaW5JZDogci5yZXNvbHZlZFBsdWdpbklkID8/IG51bGwsXG4gICAgaW1hZ2VEaWdlc3Q6IHIuaW1hZ2VEaWdlc3QgPz8gbnVsbCxcbiAgICB3YXJuaW5nczogci53YXJuaW5ncy5zbGljZSgwLCA1MCkubWFwKCh3KSA9PiAoeyBjb2RlOiB3LmNvZGUsIG1lc3NhZ2U6IHcubWVzc2FnZS5zbGljZSgwLCAyMDAwKSwgLi4uKHcuc2V2ZXJpdHkgPyB7IHNldmVyaXR5OiB3LnNldmVyaXR5IH0gOiB7fSkgfSkpLFxuICAgIHJlZnVzYWw6IHIucmVmdXNhbCA/PyBudWxsLFxuICAgIGxvb2tlZFVwQXQ6IHIubG9va2VkVXBBdCA/PyBuZXcgRGF0ZSgpLFxuICB9O1xuICBjb25zdCB7IHBpcGVsaW5lSWQ6IF9wLCBzdGVwS2V5OiBfcywgLi4udXBkYXRlIH0gPSB2YWx1ZXM7XG4gIGF3YWl0IHdpdGhUZW5hbnRUeCgodHgpID0+IHR4Lmluc2VydChMKCkpLnZhbHVlcyh2YWx1ZXMpXG4gICAgLm9uQ29uZmxpY3REb1VwZGF0ZSh7IHRhcmdldDogW0woKS5waXBlbGluZUlkLCBMKCkuc3RlcEtleV0sIHNldDogdXBkYXRlIH0pKTtcbn1cblxuLyoqIEEgcGlwZWxpbmUncyByZWNvcmRlZCBzdGVwIGxvb2t1cHMgKGl0cyBvcmcgb25seSkuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGlwZWxpbmVTdGVwTG9va3VwcyhvcmdJZDogc3RyaW5nLCBwaXBlbGluZUlkOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PHR5cGVvZiBzY2hlbWEucGlwZWxpbmVTdGVwTG9va3VwLiRpbmZlclNlbGVjdD4+IHtcbiAgcmV0dXJuIHdpdGhUZW5hbnRUeCgodHgpID0+IHR4LnNlbGVjdCgpLmZyb20oTCgpKVxuICAgIC53aGVyZShhbmQoZXEoTCgpLm9yZ0lkLCBvcmdJZCksIGVxKEwoKS5waXBlbGluZUlkLCBwaXBlbGluZUlkKSkpXG4gICAgLm9yZGVyQnkoTCgpLnN0ZXBLZXkpKSBhcyBQcm9taXNlPEFycmF5PHR5cGVvZiBzY2hlbWEucGlwZWxpbmVTdGVwTG9va3VwLiRpbmZlclNlbGVjdD4+O1xufVxuIl19
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RlcC1yZXNvbHV0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3BpcGVsaW5lLXN0ZXAtcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBNEJ0RCwwRUFBMEU7QUFDMUUsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3hDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELHdGQUF3RjtBQUN4RixNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCLEVBQUUsUUFBZ0I7SUFDN0QsT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7QUFDaEcsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxLQU14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QUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEosT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSTtRQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksRUFBRTtLQUN2QyxDQUFDO0lBQ0YsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUMxRCxNQUFNLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDckQsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsS0FBYSxFQUFFLFVBQWtCO0lBQ3pFLE9BQU8sWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzlDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDaEUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFrRSxDQUFDO0FBQzVGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBQZXItU1RFUCBwbHVnaW4gcmVzb2x1dGlvbiBzdGF0ZSBvZiBhIHBpcGVsaW5lLCBiZXlvbmQgdGhlIHZlcnNpb24tbGV2ZWxcbiAqIHJlcG9ydGluZyB0YWJsZXM6XG4gKlxuICogIC0ge0BsaW5rIGRlY2xhcmVkUmVzb2x1dGlvbn0g4oCUIHRoZSByb3dzIGBwaXBlbGluZV9wbHVnaW5fcmVzb2x1dGlvbmAgYW5kIHRoZVxuICogICAgZGVjbGFyZWQgZXhwb3N1cmVzIGFyZSB3cml0dGVuIGZyb20sIGdpdmVuIHRoZSBwaXBlbGluZSdzIHBsdWdpbiBzdGVwcyBhbmRcbiAqICAgIGEgcmVzb2x2ZXIuIE9ORSBhc3NlbWJseSBmb3IgYm90aCB3cml0ZXJzOiB0aGUgcGlwZWxpbmUgc2VydmljZSBvbiBhIHNhdmVcbiAqICAgIChyZXNvbHZpbmcgdGhlIHdheSBpdHMgY29udHJhY3QgY2hlY2sgZG9lcykgYW5kIHRoZSBwbHVnaW4gc2VydmljZSB3aGVuIGFcbiAqICAgIHB1Ymxpc2gsIGEgZmxhZyAvIHVuZmxhZyBvciBhIHlhbmsgY2hhbmdlcyB3aGF0IGEgZGVjbGFyZWQgcmFuZ2UgcmVzb2x2ZXMgdG9cbiAqICAgIChyZXNvbHZpbmcgdGhlIHdheSBgL3BsdWdpbnMvbG9va3VwYCBkb2VzKS4gVGhlIHN0ZXAgbGlzdCBjb21lcyBmcm9tIHRoZVxuICogICAgY2FsbGVyIChwaXBlbGluZS1jb3JlJ3MgYGNvbGxlY3RQbHVnaW5TdGVwc2AsIHdoaWNoIHRoaXMgcGFja2FnZSBjYW5ub3RcbiAqICAgIGltcG9ydCksIGFuZCB0aGUgd3JpdGVzIHN0YXkgd2l0aCB0aGUgY2FsbGVyLCBzbyBlYWNoIGNhbiB0ZXN0IGl0cyBvd24uXG4gKiAgLSBgcGlwZWxpbmVfc3RlcF9sb29rdXBzYCDigJQgd2hhdCBzeW50aCB3YXMgVE9MRCBwZXIgc3RlcCBhdCBpdHMgbGFzdCBsb29rdXBcbiAqICAgICh7QGxpbmsgcmVjb3JkU3RlcExvb2t1cH0pLCB3aGVuIHN5bnRoIHNlbmRzIHRoZSBzdGVwJ3MgY29udGV4dC5cbiAqL1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSc7XG5pbXBvcnQgdHlwZSB7IEV4cG9zdXJlU3RlcCwgUmVzb2x2ZWRTdGVwLCBTY2FuU3RhdGUgfSBmcm9tICcuL3JlcG9ydGluZy9wbHVnaW4tZXhwb3N1cmUuanMnO1xuaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnLi4vZGF0YWJhc2UvZHJpenpsZS1zY2hlbWEuanMnO1xuaW1wb3J0IHsgZXhlY3V0ZVJvd3MgfSBmcm9tICcuLi9kYXRhYmFzZS9wZy1yZXN1bHQuanMnO1xuaW1wb3J0IHsgd2l0aFRlbmFudFR4IH0gZnJvbSAnLi4vZGF0YWJhc2UvdGVuYW5jeS5qcyc7XG5cbi8qKiBPbmUgcGx1Z2luIHN0ZXAgb2YgYSBwaXBlbGluZSwgYXMgcGlwZWxpbmUtY29yZSdzIGBjb2xsZWN0UGx1Z2luU3RlcHNgICsgYHBsdWdpbkxvb2t1cEZpbHRlcmAgZGVzY3JpYmUgaXQuICovXG5leHBvcnQgaW50ZXJmYWNlIERlY2xhcmVkU3RlcElucHV0IHtcbiAgLyoqIGBzeW50aGAgb3IgYDxzdGFnZU5hbWU+LzxhbGlhcyA/PyBuYW1lPmAuICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcHVibGlzaGVyPzogc3RyaW5nO1xuICAvKiogVGhlIHJlZmVyZW5jZSdzIG93biBgZmlsdGVyYCAoaXRzIGB2ZXJzaW9uYCBpcyB0aGUgZGVjbGFyZWQgc3BlYykuICovXG4gIGZpbHRlcj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvKiogVGhlIGxvb2t1cCBmaWx0ZXIgc3ludGggd291bGQgc2VuZCBmb3IgaXQuICovXG4gIGxvb2t1cEZpbHRlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKiBXaGF0IGEgc3RlcCdzIHJlZmVyZW5jZSByZXNvbHZlZCB0by4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjbGFyZWRTdGVwUGx1Z2luIHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqIFRoZSBsaXN0aW5nJ3MgcHVibGlzaGVyOyBudWxsIGZvciBhbiBvcmcgcm93LiAqL1xuICBwdWJsaXNoZXI6IHN0cmluZyB8IG51bGw7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBpbWFnZURpZ2VzdD86IHN0cmluZyB8IG51bGw7XG4gIHNjYW4/OiBTY2FuU3RhdGU7XG59XG5cbi8qKiBBIHJlc29sdmVyJ3MgYW5zd2VyOiBhIHBsdWdpbiwgYSByZWZ1c2FsICh0aGUgcmVmZXJlbmNlIGNhbid0IHJlc29sdmUpLCBvciBub3RoaW5nIGF0IGFsbC4gKi9cbmV4cG9ydCB0eXBlIERlY2xhcmVkU3RlcFJlc29sdXRpb24gPSB7IHBsdWdpbjogRGVjbGFyZWRTdGVwUGx1Z2luIH0gfCB7IHJlZnVzYWw6IHVua25vd24gfSB8IG51bGw7XG5cbi8qKiBgQnVpbGQvc2NhbmAg4oaSIGBbJ0J1aWxkJywgJ3NjYW4nXWA7IGBzeW50aGAg4oaSIGBbJ3N5bnRoJywgJ3N5bnRoJ11gLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YWdlQW5kU3RlcChsYWJlbDogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gIGNvbnN0IGF0ID0gbGFiZWwuaW5kZXhPZignLycpO1xuICByZXR1cm4gYXQgPT09IC0xID8gW2xhYmVsLCBsYWJlbF0gOiBbbGFiZWwuc2xpY2UoMCwgYXQpLCBsYWJlbC5zbGljZShhdCArIDEpXTtcbn1cblxuLyoqIFRoZSBzdGVwIGxhYmVsIGEgcmVzb2x1dGlvbiByb3cgc3RhbmRzIGZvciAodGhlIGludmVyc2Ugb2Yge0BsaW5rIHN0YWdlQW5kU3RlcH0pLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0ZXBMYWJlbE9mKHN0YWdlTmFtZTogc3RyaW5nLCBzdGVwTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWdlTmFtZSA9PT0gc3RlcE5hbWUgJiYgc3RhZ2VOYW1lID09PSAnc3ludGgnID8gJ3N5bnRoJyA6IGAke3N0YWdlTmFtZX0vJHtzdGVwTmFtZX1gO1xufVxuXG4vKipcbiAqIFRoZSBkZWNsYXJlZCByZXNvbHV0aW9uIHJvd3Mgb2YgYSBwaXBlbGluZSBhbmQgdGhlIHN0ZXBzIGl0cyBERUNMQVJFRFxuICogZXhwb3N1cmVzIHJlY29uY2lsZSBhZ2FpbnN0LiBFYWNoIHN0ZXAgcmVzb2x2ZXMgYXMgc3ludGggd291bGQsIHBsdXMgd2hhdCBhblxuICogVU5WRVJTSU9ORUQgcmVmZXJlbmNlIHJlc29sdmVzIHRvIG5vdyAodGhlIFwibGF0ZXN0XCIgdGhlIHZlcnNpb24gZ2FwIGlzIG1lYXN1cmVkXG4gKiBhZ2FpbnN0KS4gQSByZWZ1c2VkIHJlZmVyZW5jZSBpcyByZWNvcmRlZCB3aXRoIG5vIHJlc29sdmVkIHZlcnNpb24gYW5kXG4gKiBgd2l0aGluUG9saWN5OiBmYWxzZWAgcmF0aGVyIHRoYW4gZHJvcHBlZDogXCJ0aGlzIHN0ZXAgY2FuIG5vIGxvbmdlciByZXNvbHZlXCJcbiAqIGlzIHByZWNpc2VseSB3aGF0IHRoZSBvdXRkYXRlZCBzZWN0aW9uIHNob3VsZCBzaG93LiBFYWNoIGRpc3RpbmN0IGZpbHRlciBpc1xuICogcmVzb2x2ZWQgb25jZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY2xhcmVkUmVzb2x1dGlvbihpbnB1dDoge1xuICBwaXBlbGluZUlkOiBzdHJpbmc7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIHJvb3RPcmdJZD86IHN0cmluZyB8IG51bGw7XG4gIHN0ZXBzOiByZWFkb25seSBEZWNsYXJlZFN0ZXBJbnB1dFtdO1xuICByZXNvbHZlOiAoZmlsdGVyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTxEZWNsYXJlZFN0ZXBSZXNvbHV0aW9uPjtcbn0pOiBQcm9taXNlPHsgcm93czogUmVzb2x2ZWRTdGVwW107IGV4cG9zdXJlU3RlcHM6IEV4cG9zdXJlU3RlcFtdIH0+IHtcbiAgY29uc3QgbWVtbyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPERlY2xhcmVkU3RlcFJlc29sdXRpb24+PigpO1xuICBjb25zdCByZXNvbHZlID0gKGZpbHRlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShPYmplY3QuZW50cmllcyhmaWx0ZXIpLnNvcnQoKFthXSwgW2JdKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpKTtcbiAgICBsZXQgaGl0ID0gbWVtby5nZXQoa2V5KTtcbiAgICBpZiAoIWhpdCkge1xuICAgICAgaGl0ID0gaW5wdXQucmVzb2x2ZShmaWx0ZXIpO1xuICAgICAgbWVtby5zZXQoa2V5LCBoaXQpO1xuICAgIH1cbiAgICByZXR1cm4gaGl0O1xuICB9O1xuICBjb25zdCByb3dzID0gbmV3IE1hcDxzdHJpbmcsIFJlc29sdmVkU3RlcD4oKTtcbiAgY29uc3QgZXhwb3N1cmVTdGVwczogRXhwb3N1cmVTdGVwW10gPSBbXTtcbiAgZm9yIChjb25zdCBzdGVwIG9mIGlucHV0LnN0ZXBzKSB7XG4gICAgY29uc3QgcmVzb2x1dGlvbiA9IGF3YWl0IHJlc29sdmUoc3RlcC5sb29rdXBGaWx0ZXIpO1xuICAgIGNvbnN0IHBsdWdpbiA9IHJlc29sdXRpb24gJiYgJ3BsdWdpbicgaW4gcmVzb2x1dGlvbiA/IHJlc29sdXRpb24ucGx1Z2luIDogbnVsbDtcbiAgICBjb25zdCBsYXRlc3QgPSBhd2FpdCByZXNvbHZlKHsgbmFtZTogc3RlcC5uYW1lLCAuLi4oc3RlcC5wdWJsaXNoZXIgPyB7IHB1Ymxpc2hlcjogc3RlcC5wdWJsaXNoZXIgfSA6IHt9KSwgaXNBY3RpdmU6IHRydWUgfSk7XG4gICAgY29uc3QgbGF0ZXN0UGx1Z2luID0gbGF0ZXN0ICYmICdwbHVnaW4nIGluIGxhdGVzdCA/IGxhdGVzdC5wbHVnaW4gOiBudWxsO1xuICAgIGNvbnN0IFtzdGFnZU5hbWUsIHN0ZXBOYW1lXSA9IHN0YWdlQW5kU3RlcChzdGVwLmxhYmVsKTtcbiAgICByb3dzLnNldChgJHtzdGFnZU5hbWV9XFx1MDAwMCR7c3RlcE5hbWV9YCwge1xuICAgICAgb3JnSWQ6IGlucHV0Lm9yZ0lkLFxuICAgICAgcGlwZWxpbmVJZDogaW5wdXQucGlwZWxpbmVJZCxcbiAgICAgIHN0YWdlTmFtZSxcbiAgICAgIHN0ZXBOYW1lLFxuICAgICAgcGx1Z2luUHVibGlzaGVyOiBwbHVnaW4/LnB1Ymxpc2hlciA/PyBzdGVwLnB1Ymxpc2hlciA/PyBudWxsLFxuICAgICAgcGx1Z2luTmFtZTogcGx1Z2luPy5uYW1lID8/IHN0ZXAubmFtZSxcbiAgICAgIGRlY2xhcmVkVmVyc2lvbjogdHlwZW9mIHN0ZXAuZmlsdGVyPy52ZXJzaW9uID09PSAnc3RyaW5nJyA/IHN0ZXAuZmlsdGVyLnZlcnNpb24gOiBudWxsLFxuICAgICAgcmVzb2x2ZWRWZXJzaW9uOiBwbHVnaW4/LnZlcnNpb24gPz8gbnVsbCxcbiAgICAgIHJlc29sdmVkUGx1Z2luSWQ6IHBsdWdpbj8uaWQgPz8gbnVsbCxcbiAgICAgIHJlc29sdmVkRGlnZXN0OiBwbHVnaW4/LmltYWdlRGlnZXN0ID8/IG51bGwsXG4gICAgICBsYXRlc3RWZXJzaW9uOiBsYXRlc3RQbHVnaW4/LnZlcnNpb24gPz8gbnVsbCxcbiAgICAgIHdpdGhpblBvbGljeTogIShyZXNvbHV0aW9uICYmICdyZWZ1c2FsJyBpbiByZXNvbHV0aW9uKSxcbiAgICAgIHJvb3RPcmdJZDogaW5wdXQucm9vdE9yZ0lkID8/IG51bGwsXG4gICAgfSk7XG4gICAgaWYgKHBsdWdpbikge1xuICAgICAgZXhwb3N1cmVTdGVwcy5wdXNoKHtcbiAgICAgICAgcGx1Z2luUHVibGlzaGVyOiBwbHVnaW4ucHVibGlzaGVyLFxuICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgcGx1Z2luVmVyc2lvbjogcGx1Z2luLnZlcnNpb24sXG4gICAgICAgIGltYWdlRGlnZXN0OiBwbHVnaW4uaW1hZ2VEaWdlc3QgPz8gbnVsbCxcbiAgICAgICAgc2NhbjogcGx1Z2luLnNjYW4gPz8ge30sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcm93czogWy4uLnJvd3MudmFsdWVzKCldLCBleHBvc3VyZVN0ZXBzIH07XG59XG5cbi8qKiBBIHBpcGVsaW5lIHdob3NlIGRlY2xhcmVkIHN0ZXBzIHJlZmVyZW5jZSBhIHBsdWdpbiwgd2l0aCB3aGF0IHJlLXJlc29sdmluZyBpdCBuZWVkcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjbGFyZWRQaXBlbGluZVJlZiB7XG4gIHBpcGVsaW5lSWQ6IHN0cmluZztcbiAgb3JnSWQ6IHN0cmluZztcbiAgcm9vdE9yZ0lkOiBzdHJpbmcgfCBudWxsO1xuICBwcm9wczogdW5rbm93bjtcbiAgLyoqIFRoZSBzdGVwIHJvd3MgYXMgbGFzdCByZWNvcmRlZDogYHN0YWdlXFwwc3RlcGAg4oaSIHJlc29sdmVkIHZlcnNpb24gKyBkaWdlc3QuICovXG4gIGN1cnJlbnQ6IE1hcDxzdHJpbmcsIHsgcmVzb2x2ZWRWZXJzaW9uOiBzdHJpbmcgfCBudWxsOyByZXNvbHZlZERpZ2VzdDogc3RyaW5nIHwgbnVsbCB9Pjtcbn1cblxuLyoqXG4gKiBUaGUgTElWRSBwaXBlbGluZXMgd2hvc2UgZGVjbGFyZWQgc3RlcHMgcmVmZXJlbmNlIGEgcGx1Z2luIOKAlCBhIGxpc3RpbmcgKGV2ZXJ5XG4gKiBvcmcncyBwaXBlbGluZXMgbmFtaW5nIHRoYXQgcHVibGlzaGVyKSBvciBhbiBvcmcncyBvd24gcGx1Z2luICh0aGF0IG9yZydzIGFuZFxuICogaXRzIHRlYW1zJyB1bnF1YWxpZmllZCByZWZlcmVuY2VzKSDigJQgb2xkZXN0IGNvbXB1dGF0aW9uIGZpcnN0LCBhdCBtb3N0IGBsaW1pdGAuXG4gKiBNdXN0IHJ1biB3aXRoIGEgc2NvcGUgdGhhdCBjYW4gcmVhZCBldmVyeSBvcmcncyByb3dzIChlbGV2YXRlZCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNsYXJlZFBpcGVsaW5lc0ZvclBsdWdpbihcbiAgdGFyZ2V0OiB7IHBsdWdpbk5hbWU6IHN0cmluZzsgcHVibGlzaGVyOiBzdHJpbmcgfSB8IHsgcGx1Z2luTmFtZTogc3RyaW5nOyBvcmdJZDogc3RyaW5nIH0sXG4gIGxpbWl0OiBudW1iZXIsXG4pOiBQcm9taXNlPHsgcGlwZWxpbmVzOiBEZWNsYXJlZFBpcGVsaW5lUmVmW107IHRydW5jYXRlZDogYm9vbGVhbiB9PiB7XG4gIGNvbnN0IG93bmVyID0gJ3B1Ymxpc2hlcicgaW4gdGFyZ2V0XG4gICAgPyBzcWxgci5wbHVnaW5fcHVibGlzaGVyID0gJHt0YXJnZXQucHVibGlzaGVyfWBcbiAgICA6IHNxbGByLnBsdWdpbl9wdWJsaXNoZXIgSVMgTlVMTCBBTkQgKGxvd2VyKHIub3JnX2lkKSA9ICR7dGFyZ2V0Lm9yZ0lkLnRvTG93ZXJDYXNlKCl9IE9SIGxvd2VyKHIucm9vdF9vcmdfaWQpID0gJHt0YXJnZXQub3JnSWQudG9Mb3dlckNhc2UoKX0pYDtcbiAgcmV0dXJuIHdpdGhUZW5hbnRUeChhc3luYyAodHgpID0+IHtcbiAgICBjb25zdCBpZHMgPSBhd2FpdCBleGVjdXRlUm93czx7IHBpcGVsaW5lX2lkOiBzdHJpbmcgfT4odHgsIHNxbGBcbiAgICAgIFNFTEVDVCByLnBpcGVsaW5lX2lkLCBNSU4oci5jb21wdXRlZF9hdCkgQVMgb2xkZXN0XG4gICAgICAgIEZST00gcGlwZWxpbmVfcGx1Z2luX3Jlc29sdXRpb24gclxuICAgICAgICBKT0lOIHBpcGVsaW5lcyBwIE9OIHAuaWQ6OnRleHQgPSByLnBpcGVsaW5lX2lkIEFORCBwLmRlbGV0ZWRfYXQgSVMgTlVMTFxuICAgICAgIFdIRVJFIHIucGx1Z2luX25hbWUgPSAke3RhcmdldC5wbHVnaW5OYW1lfSBBTkQgJHtvd25lcn1cbiAgICAgICBHUk9VUCBCWSByLnBpcGVsaW5lX2lkXG4gICAgICAgT1JERVIgQlkgb2xkZXN0XG4gICAgICAgTElNSVQgJHtsaW1pdCArIDF9XG4gICAgYCk7XG4gICAgY29uc3QgdHJ1bmNhdGVkID0gaWRzLmxlbmd0aCA+IGxpbWl0O1xuICAgIGNvbnN0IHdhbnRlZCA9IGlkcy5zbGljZSgwLCBsaW1pdCkubWFwKChyKSA9PiByLnBpcGVsaW5lX2lkKTtcbiAgICBpZiAod2FudGVkLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHsgcGlwZWxpbmVzOiBbXSwgdHJ1bmNhdGVkOiBmYWxzZSB9O1xuICAgIGNvbnN0IHBpcGVsaW5lcyA9IGF3YWl0IGV4ZWN1dGVSb3dzPHsgaWQ6IHN0cmluZzsgb3JnX2lkOiBzdHJpbmc7IHByb3BzOiB1bmtub3duIH0+KHR4LCBzcWxgXG4gICAgICBTRUxFQ1QgcC5pZDo6dGV4dCBBUyBpZCwgcC5vcmdfaWQsIHAucHJvcHMgRlJPTSBwaXBlbGluZXMgcCBXSEVSRSBwLmlkOjp0ZXh0ID0gQU5ZKCR7d2FudGVkfSkgQU5EIHAuZGVsZXRlZF9hdCBJUyBOVUxMXG4gICAgYCk7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCBleGVjdXRlUm93czx7IHBpcGVsaW5lX2lkOiBzdHJpbmc7IHN0YWdlX25hbWU6IHN0cmluZzsgc3RlcF9uYW1lOiBzdHJpbmc7IHJlc29sdmVkX3ZlcnNpb246IHN0cmluZyB8IG51bGw7IHJlc29sdmVkX2RpZ2VzdDogc3RyaW5nIHwgbnVsbDsgcm9vdF9vcmdfaWQ6IHN0cmluZyB8IG51bGwgfT4odHgsIHNxbGBcbiAgICAgIFNFTEVDVCBwaXBlbGluZV9pZCwgc3RhZ2VfbmFtZSwgc3RlcF9uYW1lLCByZXNvbHZlZF92ZXJzaW9uLCByZXNvbHZlZF9kaWdlc3QsIHJvb3Rfb3JnX2lkXG4gICAgICAgIEZST00gcGlwZWxpbmVfcGx1Z2luX3Jlc29sdXRpb24gV0hFUkUgcGlwZWxpbmVfaWQgPSBBTlkoJHt3YW50ZWR9KVxuICAgIGApO1xuICAgIHJldHVybiB7XG4gICAgICB0cnVuY2F0ZWQsXG4gICAgICBwaXBlbGluZXM6IHBpcGVsaW5lcy5tYXAoKHApID0+IHtcbiAgICAgICAgY29uc3Qgb3duID0gc3RlcHMuZmlsdGVyKChzKSA9PiBzLnBpcGVsaW5lX2lkID09PSBwLmlkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwaXBlbGluZUlkOiBwLmlkLFxuICAgICAgICAgIG9yZ0lkOiBwLm9yZ19pZCxcbiAgICAgICAgICByb290T3JnSWQ6IG93bi5maW5kKChzKSA9PiBzLnJvb3Rfb3JnX2lkKT8ucm9vdF9vcmdfaWQgPz8gbnVsbCxcbiAgICAgICAgICBwcm9wczogcC5wcm9wcyxcbiAgICAgICAgICBjdXJyZW50OiBuZXcgTWFwKG93bi5tYXAoKHMpID0+IFtgJHtzLnN0YWdlX25hbWV9XFx1MDAwMCR7cy5zdGVwX25hbWV9YCwgeyByZXNvbHZlZFZlcnNpb246IHMucmVzb2x2ZWRfdmVyc2lvbiwgcmVzb2x2ZWREaWdlc3Q6IHMucmVzb2x2ZWRfZGlnZXN0IH1dKSksXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqIE9uZSBzdGVwJ3MgbG9va3VwIG91dGNvbWUsIGFzIGAvcGx1Z2lucy9sb29rdXBgIHJlY29yZHMgaXQuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBMb29rdXBSZWNvcmQge1xuICBvcmdJZDogc3RyaW5nO1xuICBwaXBlbGluZUlkOiBzdHJpbmc7XG4gIHN0ZXBLZXk6IHN0cmluZztcbiAgcGx1Z2luUHVibGlzaGVyPzogc3RyaW5nIHwgbnVsbDtcbiAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZXF1ZXN0ZWRWZXJzaW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgcmVzb2x2ZWRWZXJzaW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgcmVzb2x2ZWRQbHVnaW5JZD86IHN0cmluZyB8IG51bGw7XG4gIGltYWdlRGlnZXN0Pzogc3RyaW5nIHwgbnVsbDtcbiAgd2FybmluZ3M6IEFycmF5PHsgY29kZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmc7IHNldmVyaXR5Pzogc3RyaW5nIH0+O1xuICByZWZ1c2FsPzogeyBjb2RlOiBzdHJpbmc7IHJlYXNvbjogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfSB8IG51bGw7XG4gIGxvb2tlZFVwQXQ/OiBEYXRlO1xufVxuXG5jb25zdCBMID0gKCkgPT4gc2NoZW1hLnBpcGVsaW5lU3RlcExvb2t1cDtcblxuLyoqXG4gKiBSZWNvcmQgKHJlcGxhY2UpIG9uZSBzdGVwJ3MgbGFzdCBsb29rdXAgb3V0Y29tZS4gUnVucyB1bmRlciB0aGUgQ0FMTEVSJ3NcbiAqIHNjb3BlLCB3aGljaCBSTFMgcGlucyB0byBpdHMgb3duIG9yZzogYSBjb250ZXh0IG5hbWluZyBhbm90aGVyIG9yZydzIHBpcGVsaW5lXG4gKiBpcyByZWZ1c2VkIGJ5IHRoZSBjYWxsZXIgYmVmb3JlIGl0IGdldHMgaGVyZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlY29yZFN0ZXBMb29rdXAocjogU3RlcExvb2t1cFJlY29yZCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB2YWx1ZXMgPSB7XG4gICAgb3JnSWQ6IHIub3JnSWQsXG4gICAgcGlwZWxpbmVJZDogci5waXBlbGluZUlkLFxuICAgIHN0ZXBLZXk6IHIuc3RlcEtleSxcbiAgICBwbHVnaW5QdWJsaXNoZXI6IHIucGx1Z2luUHVibGlzaGVyID8/IG51bGwsXG4gICAgcGx1Z2luTmFtZTogci5wbHVnaW5OYW1lLFxuICAgIHJlcXVlc3RlZFZlcnNpb246IHIucmVxdWVzdGVkVmVyc2lvbiA/PyBudWxsLFxuICAgIHJlc29sdmVkVmVyc2lvbjogci5yZXNvbHZlZFZlcnNpb24gPz8gbnVsbCxcbiAgICByZXNvbHZlZFBsdWdpbklkOiByLnJlc29sdmVkUGx1Z2luSWQgPz8gbnVsbCxcbiAgICBpbWFnZURpZ2VzdDogci5pbWFnZURpZ2VzdCA/PyBudWxsLFxuICAgIHdhcm5pbmdzOiByLndhcm5pbmdzLnNsaWNlKDAsIDUwKS5tYXAoKHcpID0+ICh7IGNvZGU6IHcuY29kZSwgbWVzc2FnZTogdy5tZXNzYWdlLnNsaWNlKDAsIDIwMDApLCAuLi4ody5zZXZlcml0eSA/IHsgc2V2ZXJpdHk6IHcuc2V2ZXJpdHkgfSA6IHt9KSB9KSksXG4gICAgcmVmdXNhbDogci5yZWZ1c2FsID8/IG51bGwsXG4gICAgbG9va2VkVXBBdDogci5sb29rZWRVcEF0ID8/IG5ldyBEYXRlKCksXG4gIH07XG4gIGNvbnN0IHsgcGlwZWxpbmVJZDogX3AsIHN0ZXBLZXk6IF9zLCAuLi51cGRhdGUgfSA9IHZhbHVlcztcbiAgYXdhaXQgd2l0aFRlbmFudFR4KCh0eCkgPT4gdHguaW5zZXJ0KEwoKSkudmFsdWVzKHZhbHVlcylcbiAgICAub25Db25mbGljdERvVXBkYXRlKHsgdGFyZ2V0OiBbTCgpLnBpcGVsaW5lSWQsIEwoKS5zdGVwS2V5XSwgc2V0OiB1cGRhdGUgfSkpO1xufVxuXG4vKiogQSBwaXBlbGluZSdzIHJlY29yZGVkIHN0ZXAgbG9va3VwcyAoaXRzIG9yZyBvbmx5KS4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwaXBlbGluZVN0ZXBMb29rdXBzKG9yZ0lkOiBzdHJpbmcsIHBpcGVsaW5lSWQ6IHN0cmluZyk6IFByb21pc2U8QXJyYXk8dHlwZW9mIHNjaGVtYS5waXBlbGluZVN0ZXBMb29rdXAuJGluZmVyU2VsZWN0Pj4ge1xuICByZXR1cm4gd2l0aFRlbmFudFR4KCh0eCkgPT4gdHguc2VsZWN0KCkuZnJvbShMKCkpXG4gICAgLndoZXJlKGFuZChlcShMKCkub3JnSWQsIG9yZ0lkKSwgZXEoTCgpLnBpcGVsaW5lSWQsIHBpcGVsaW5lSWQpKSlcbiAgICAub3JkZXJCeShMKCkuc3RlcEtleSkpIGFzIFByb21pc2U8QXJyYXk8dHlwZW9mIHNjaGVtYS5waXBlbGluZVN0ZXBMb29rdXAuJGluZmVyU2VsZWN0Pj47XG59XG4iXX0=
|
|
@@ -86,4 +86,4 @@ export function blockingAdvisories(advisories, version, policy) {
|
|
|
86
86
|
return [];
|
|
87
87
|
return advisories.filter((a) => a.state === 'published' && severities.includes(a.severity) && advisoryRangeCovers(a.affectedRange, version));
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFkdmlzb3JpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3BsdWdpbi1hZHZpc29yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFhdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVF2Ryx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW1FO0lBQ3ZHLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN0QixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQzFCLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLCtFQUErRSxDQUFDO0FBRW5HLCtGQUErRjtBQUMvRixTQUFTLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxPQUFlO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFJLE1BQU07UUFBRSxPQUFPLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RHLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDO1FBQUUsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUM7SUFDdkcsT0FB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LENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9JLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBBZHZpc29yeSBtYXRjaGluZzogZG9lcyBhIHB1Ymxpc2hlZCBhZHZpc29yeSdzIGBhZmZlY3RlZFJhbmdlYCBjb3ZlciBhIGdpdmVuXG4gKiB2ZXJzaW9uLCBhbmQgd2hpY2ggYWR2aXNvcmllcyBibG9jayBhIHJlc29sdXRpb24gdW5kZXIgdGhlIG9yZydzIHBvbGljeS5cbiAqXG4gKiBUaGUgcmFuZ2UgZ3JhbW1hciBpcyBucG0tc3R5bGUgYW5kIGRlbGliZXJhdGVseSByZS1pbXBsZW1lbnRlZCBoZXJlIHJhdGhlclxuICogdGhhbiBwdWxsZWQgZnJvbSBgc2VtdmVyYDogYWR2aXNvcnkgcmFuZ2VzIGFyZSBPUEVSQVRPUiBTRVRTXG4gKiAoYD49MS4wLjAgPDEuMi4zYCwgYDEuMC4wIC0gMS4yLjBgLCBgXjEuMmAsIGAxLnhgLCBgfHxgKSwgYSBkaWZmZXJlbnQgc2hhcGVcbiAqIGZyb20gdGhlIGluc3RhbGwvcmVmZXJlbmNlIHZlcnNpb24gU1BFQ1MgaW4gLi9zZW12ZXItcmFuZ2UudHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDb25zdW1wdGlvblBvbGljeSB9IGZyb20gJy4vcGx1Z2luLWNvbnN1bXB0aW9uLXBvbGljeS5qcyc7XG5pbXBvcnQgeyBjb21wYXJlU2VtdmVyLCBwYXJzZVNlbXZlciwgcGFyc2VWZXJzaW9uU3BlYywgc2F0aXNmaWVzVmVyc2lvblNwZWMgfSBmcm9tICcuL3NlbXZlci1yYW5nZS5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFkdmlzb3J5U2V2ZXJpdHksXG4gIEJsb2NrT25BZHZpc29yeSxcbiAgUGx1Z2luQWR2aXNvcnksXG59IGZyb20gJy4uL2RhdGFiYXNlL2RyaXp6bGUtc2NoZW1hLmpzJztcblxuXG4vKiogU2V2ZXJpdGllcyBlYWNoIGBibG9ja09uQWR2aXNvcnlgIHNldHRpbmcgYmxvY2tzLiAqL1xuZXhwb3J0IGNvbnN0IEFEVklTT1JZX0JMT0NLX1NFVkVSSVRJRVM6IFJlYWRvbmx5PFJlY29yZDxCbG9ja09uQWR2aXNvcnksIHJlYWRvbmx5IEFkdmlzb3J5U2V2ZXJpdHlbXT4+ID0ge1xuICBjcml0aWNhbDogWydjcml0aWNhbCddLFxuICBoaWdoOiBbJ2NyaXRpY2FsJywgJ2hpZ2gnXSxcbiAgbmV2ZXI6IFtdLFxufTtcblxuY29uc3QgQ09NUEFSQVRPUiA9IC9eKD49fDw9fD58PHw9KT9cXHMqdj8oXFxkK1xcLlxcZCtcXC5cXGQrKD86LVswLTlBLVphLXouLV0rKT8oPzpcXCtbMC05QS1aYS16Li1dKyk/KSQvO1xuXG4vKiogT25lIGNvbXBhcmF0b3Igc2V0IChgPj0xLjAuMCA8MS4yLjNgLCBgXjEuMmAsIGAxLnhgLCBgMS4wLjAgLSAxLjIuMGApIGFnYWluc3QgYHZlcnNpb25gLiAqL1xuZnVuY3Rpb24gY29tcGFyYXRvclNldENvdmVycyhzZXQ6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGh5cGhlbiA9IC9eKFxcUyspXFxzKy1cXHMrKFxcUyspJC8uZXhlYyhzZXQpO1xuICBpZiAoaHlwaGVuKSByZXR1cm4gY29tcGFyZVNlbXZlcih2ZXJzaW9uLCBoeXBoZW5bMV0hKSA+PSAwICYmIGNvbXBhcmVTZW12ZXIodmVyc2lvbiwgaHlwaGVuWzJdISkgPD0gMDtcbiAgY29uc3QgcGFydHMgPSBzZXQuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbik7XG4gIGlmIChwYXJ0cy5sZW5ndGggPT09IDEgJiYgcGFyc2VWZXJzaW9uU3BlYyhwYXJ0c1swXSEpKSByZXR1cm4gc2F0aXNmaWVzVmVyc2lvblNwZWModmVyc2lvbiwgcGFydHNbMF0hKTtcbiAgcmV0dXJuIHBhcnRzLmV2ZXJ5KChwKSA9PiB7XG4gICAgY29uc3QgbSA9IENPTVBBUkFUT1IuZXhlYyhwKTtcbiAgICBpZiAoIW0pIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBjID0gY29tcGFyZVNlbXZlcih2ZXJzaW9uLCBtWzJdISk7XG4gICAgc3dpdGNoIChtWzFdID8/ICc9Jykge1xuICAgICAgY2FzZSAnPj0nOiByZXR1cm4gYyA+PSAwO1xuICAgICAgY2FzZSAnPD0nOiByZXR1cm4gYyA8PSAwO1xuICAgICAgY2FzZSAnPic6IHJldHVybiBjID4gMDtcbiAgICAgIGNhc2UgJzwnOiByZXR1cm4gYyA8IDA7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gYyA9PT0gMDtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYW4gYWR2aXNvcnkncyBgYWZmZWN0ZWRSYW5nZWAgY292ZXJzIGB2ZXJzaW9uYDogYHx8YC1zZXBhcmF0ZWRcbiAqIGNvbXBhcmF0b3Igc2V0cywgZWFjaCBlaXRoZXIgdGhlIGxvb2t1cCBzcGVjIGZvcm1zIChgXmAsIGB+YCwgcGFydGlhbCxcbiAqIGV4YWN0KSBvciBzcGFjZS1zZXBhcmF0ZWQgY29tcGFyYXRvcnMgKGA+PTEuMC4wIDwxLjIuM2ApIG9yIGEgaHlwaGVuIHJhbmdlLlxuICogYCpgIGNvdmVycyBldmVyeXRoaW5nOyBhbiB1bnBhcnNlYWJsZSByYW5nZSBjb3ZlcnMgbm90aGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkdmlzb3J5UmFuZ2VDb3ZlcnMocmFuZ2U6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghcGFyc2VTZW12ZXIodmVyc2lvbikpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHJhbmdlLnNwbGl0KCd8fCcpLm1hcCgocykgPT4gcy50cmltKCkpLnNvbWUoKHNldCkgPT4gc2V0ID09PSAnKicgfHwgKHNldCAhPT0gJycgJiYgY29tcGFyYXRvclNldENvdmVycyhzZXQsIHZlcnNpb24pKSk7XG59XG5cbi8qKlxuICogV2h5IGByYW5nZWAgaXNuJ3QgYSB1c2FibGUgYWR2aXNvcnkgcmFuZ2UgKHRoZSBmb3JtcyB7QGxpbmsgYWR2aXNvcnlSYW5nZUNvdmVyc31cbiAqIHVuZGVyc3RhbmRzKSwgb3IgbnVsbCB3aGVuIGl0IGlzLiBBbiBhZHZpc29yeSB3aG9zZSByYW5nZSBwYXJzZXMgYXMgbm90aGluZ1xuICogd291bGQgc2lsZW50bHkgY292ZXIgbm90aGluZywgc28gZHJhZnRzIGFyZSByZWZ1c2VkIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZHZpc29yeVJhbmdlUHJvYmxlbShyYW5nZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHRyaW1tZWQgPSByYW5nZS50cmltKCk7XG4gIGlmICh0cmltbWVkID09PSAnJykgcmV0dXJuICd0aGUgYWZmZWN0ZWQgcmFuZ2UgaXMgZW1wdHknO1xuICBpZiAodHJpbW1lZC5sZW5ndGggPiAyNTUpIHJldHVybiAndGhlIGFmZmVjdGVkIHJhbmdlIGlzIGxvbmdlciB0aGFuIDI1NSBjaGFyYWN0ZXJzJztcbiAgZm9yIChjb25zdCBzZXQgb2YgdHJpbW1lZC5zcGxpdCgnfHwnKS5tYXAoKHgpID0+IHgudHJpbSgpKSkge1xuICAgIGlmIChzZXQgPT09ICcqJykgY29udGludWU7XG4gICAgaWYgKHNldCA9PT0gJycpIHJldHVybiAndGhlIGFmZmVjdGVkIHJhbmdlIGhhcyBhbiBlbXB0eSBcInx8XCIgYWx0ZXJuYXRpdmUnO1xuICAgIGNvbnN0IGh5cGhlbiA9IC9eKFxcUyspXFxzKy1cXHMrKFxcUyspJC8uZXhlYyhzZXQpO1xuICAgIGlmIChoeXBoZW4pIHtcbiAgICAgIGlmICghcGFyc2VTZW12ZXIoaHlwaGVuWzFdISkgfHwgIXBhcnNlU2VtdmVyKGh5cGhlblsyXSEpKSByZXR1cm4gYFwiJHtzZXR9XCIgaXMgbm90IGEgdmFsaWQgaHlwaGVuIHJhbmdlYDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBwYXJ0cyA9IHNldC5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAxICYmIHBhcnRzWzBdICE9PSAnbGF0ZXN0JyAmJiBwYXJzZVZlcnNpb25TcGVjKHBhcnRzWzBdISkpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGJhZCA9IHBhcnRzLmZpbmQoKHgpID0+ICFDT01QQVJBVE9SLnRlc3QoeCkpO1xuICAgIGlmIChiYWQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGBcIiR7YmFkfVwiIGlzIG5vdCBhIHZlcnNpb24sIGEgXi9+IHJhbmdlIG9yIGEgY29tcGFyYXRvciAoPj0sIDw9LCA+LCA8LCA9KWA7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiBUaGUgUFVCTElTSEVEIGFkdmlzb3JpZXMgd2hvc2UgcmFuZ2UgY292ZXJzIGB2ZXJzaW9uYCAoYW55IHNldmVyaXR5KSwgbW9zdCBzZXZlcmUgZmlyc3QuICovXG5leHBvcnQgZnVuY3Rpb24gYWR2aXNvcmllc0NvdmVyaW5nPEEgZXh0ZW5kcyBQaWNrPFBsdWdpbkFkdmlzb3J5LCAnc2V2ZXJpdHknIHwgJ3N0YXRlJyB8ICdhZmZlY3RlZFJhbmdlJz4+KFxuICBhZHZpc29yaWVzOiByZWFkb25seSBBW10sXG4gIHZlcnNpb246IHN0cmluZyxcbik6IEFbXSB7XG4gIGNvbnN0IHJhbms6IFJlY29yZDxBZHZpc29yeVNldmVyaXR5LCBudW1iZXI+ID0geyBjcml0aWNhbDogMCwgaGlnaDogMSwgbWVkaXVtOiAyLCBsb3c6IDMgfTtcbiAgcmV0dXJuIGFkdmlzb3JpZXNcbiAgICAuZmlsdGVyKChhKSA9PiBhLnN0YXRlID09PSAncHVibGlzaGVkJyAmJiBhZHZpc29yeVJhbmdlQ292ZXJzKGEuYWZmZWN0ZWRSYW5nZSwgdmVyc2lvbikpXG4gICAgLnNvcnQoKGEsIGIpID0+IHJhbmtbYS5zZXZlcml0eV0gLSByYW5rW2Iuc2V2ZXJpdHldKTtcbn1cblxuLyoqIFRoZSBQVUJMSVNIRUQgYWR2aXNvcmllcyB0aGUgcG9saWN5IGJsb2NrcyBgdmVyc2lvbmAgZm9yLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJsb2NraW5nQWR2aXNvcmllcyhcbiAgYWR2aXNvcmllczogcmVhZG9ubHkgUGljazxQbHVnaW5BZHZpc29yeSwgJ2lkJyB8ICdzZXZlcml0eScgfCAnc3RhdGUnIHwgJ2FmZmVjdGVkUmFuZ2UnIHwgJ2ZpeGVkVmVyc2lvbicgfCAnc3VtbWFyeSc+W10sXG4gIHZlcnNpb246IHN0cmluZyxcbiAgcG9saWN5OiBQaWNrPENvbnN1bXB0aW9uUG9saWN5LCAnYmxvY2tPbkFkdmlzb3J5Jz4sXG4pOiBBcnJheTxQaWNrPFBsdWdpbkFkdmlzb3J5LCAnaWQnIHwgJ3NldmVyaXR5JyB8ICdzdGF0ZScgfCAnYWZmZWN0ZWRSYW5nZScgfCAnZml4ZWRWZXJzaW9uJyB8ICdzdW1tYXJ5Jz4+IHtcbiAgY29uc3Qgc2V2ZXJpdGllcyA9IEFEVklTT1JZX0JMT0NLX1NFVkVSSVRJRVNbcG9saWN5LmJsb2NrT25BZHZpc29yeV07XG4gIGlmIChzZXZlcml0aWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuICByZXR1cm4gYWR2aXNvcmllcy5maWx0ZXIoKGEpID0+IGEuc3RhdGUgPT09ICdwdWJsaXNoZWQnICYmIHNldmVyaXRpZXMuaW5jbHVkZXMoYS5zZXZlcml0eSkgJiYgYWR2aXNvcnlSYW5nZUNvdmVycyhhLmFmZmVjdGVkUmFuZ2UsIHZlcnNpb24pKTtcbn1cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFkdmlzb3JpZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcGx1Z2luLWFkdmlzb3JpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQWF0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUXZHLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBbUU7SUFDdkcsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3RCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDMUIsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsK0VBQStFLENBQUM7QUFFbkcsK0ZBQStGO0FBQy9GLFNBQVMsbUJBQW1CLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDdkQsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLElBQUksTUFBTTtRQUFFLE9BQU8sYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEcsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFFLENBQUM7UUFBRSxPQUFPLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztJQUN2RyxPQUFPLEtBQUssQ0FBQyxLQUFL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YUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDL0ksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEFkdmlzb3J5IG1hdGNoaW5nOiBkb2VzIGEgcHVibGlzaGVkIGFkdmlzb3J5J3MgYGFmZmVjdGVkUmFuZ2VgIGNvdmVyIGEgZ2l2ZW5cbiAqIHZlcnNpb24sIGFuZCB3aGljaCBhZHZpc29yaWVzIGJsb2NrIGEgcmVzb2x1dGlvbiB1bmRlciB0aGUgb3JnJ3MgcG9saWN5LlxuICpcbiAqIFRoZSByYW5nZSBncmFtbWFyIGlzIG5wbS1zdHlsZSBhbmQgZGVsaWJlcmF0ZWx5IHJlLWltcGxlbWVudGVkIGhlcmUgcmF0aGVyXG4gKiB0aGFuIHB1bGxlZCBmcm9tIGBzZW12ZXJgOiBhZHZpc29yeSByYW5nZXMgYXJlIE9QRVJBVE9SIFNFVFNcbiAqIChgPj0xLjAuMCA8MS4yLjNgLCBgMS4wLjAgLSAxLjIuMGAsIGBeMS4yYCwgYDEueGAsIGB8fGApLCBhIGRpZmZlcmVudCBzaGFwZVxuICogZnJvbSB0aGUgaW5zdGFsbC9yZWZlcmVuY2UgdmVyc2lvbiBTUEVDUyBpbiAuL3NlbXZlci1yYW5nZS50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbnN1bXB0aW9uUG9saWN5IH0gZnJvbSAnLi9wbHVnaW4tY29uc3VtcHRpb24tcG9saWN5LmpzJztcbmltcG9ydCB7IGNvbXBhcmVTZW12ZXIsIHBhcnNlU2VtdmVyLCBwYXJzZVZlcnNpb25TcGVjLCBzYXRpc2ZpZXNWZXJzaW9uU3BlYyB9IGZyb20gJy4vc2VtdmVyLXJhbmdlLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQWR2aXNvcnlTZXZlcml0eSxcbiAgQmxvY2tPbkFkdmlzb3J5LFxuICBQbHVnaW5BZHZpc29yeSxcbn0gZnJvbSAnLi4vZGF0YWJhc2UvZHJpenpsZS1zY2hlbWEuanMnO1xuXG5cbi8qKiBTZXZlcml0aWVzIGVhY2ggYGJsb2NrT25BZHZpc29yeWAgc2V0dGluZyBibG9ja3MuICovXG5leHBvcnQgY29uc3QgQURWSVNPUllfQkxPQ0tfU0VWRVJJVElFUzogUmVhZG9ubHk8UmVjb3JkPEJsb2NrT25BZHZpc29yeSwgcmVhZG9ubHkgQWR2aXNvcnlTZXZlcml0eVtdPj4gPSB7XG4gIGNyaXRpY2FsOiBbJ2NyaXRpY2FsJ10sXG4gIGhpZ2g6IFsnY3JpdGljYWwnLCAnaGlnaCddLFxuICBuZXZlcjogW10sXG59O1xuXG5jb25zdCBDT01QQVJBVE9SID0gL14oPj18PD18Pnw8fD0pP1xccyp2PyhcXGQrXFwuXFxkK1xcLlxcZCsoPzotWzAtOUEtWmEtei4tXSspPyg/OlxcK1swLTlBLVphLXouLV0rKT8pJC87XG5cbi8qKiBPbmUgY29tcGFyYXRvciBzZXQgKGA+PTEuMC4wIDwxLjIuM2AsIGBeMS4yYCwgYDEueGAsIGAxLjAuMCAtIDEuMi4wYCkgYWdhaW5zdCBgdmVyc2lvbmAuICovXG5mdW5jdGlvbiBjb21wYXJhdG9yU2V0Q292ZXJzKHNldDogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgaHlwaGVuID0gL14oXFxTKylcXHMrLVxccysoXFxTKykkLy5leGVjKHNldCk7XG4gIGlmIChoeXBoZW4pIHJldHVybiBjb21wYXJlU2VtdmVyKHZlcnNpb24sIGh5cGhlblsxXSEpID49IDAgJiYgY29tcGFyZVNlbXZlcih2ZXJzaW9uLCBoeXBoZW5bMl0hKSA8PSAwO1xuICBjb25zdCBwYXJ0cyA9IHNldC5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMSAmJiBwYXJzZVZlcnNpb25TcGVjKHBhcnRzWzBdISkpIHJldHVybiBzYXRpc2ZpZXNWZXJzaW9uU3BlYyh2ZXJzaW9uLCBwYXJ0c1swXSEpO1xuICByZXR1cm4gcGFydHMuZXZlcnkoKHApID0+IHtcbiAgICBjb25zdCBtID0gQ09NUEFSQVRPUi5leGVjKHApO1xuICAgIGlmICghbSkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGMgPSBjb21wYXJlU2VtdmVyKHZlcnNpb24sIG1bMl0hKTtcbiAgICBzd2l0Y2ggKG1bMV0gPz8gJz0nKSB7XG4gICAgICBjYXNlICc+PSc6IHJldHVybiBjID49IDA7XG4gICAgICBjYXNlICc8PSc6IHJldHVybiBjIDw9IDA7XG4gICAgICBjYXNlICc+JzogcmV0dXJuIGMgPiAwO1xuICAgICAgY2FzZSAnPCc6IHJldHVybiBjIDwgMDtcbiAgICAgIGRlZmF1bHQ6IHJldHVybiBjID09PSAwO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogV2hldGhlciBhbiBhZHZpc29yeSdzIGBhZmZlY3RlZFJhbmdlYCBjb3ZlcnMgYHZlcnNpb25gOiBgfHxgLXNlcGFyYXRlZFxuICogY29tcGFyYXRvciBzZXRzLCBlYWNoIGVpdGhlciB0aGUgbG9va3VwIHNwZWMgZm9ybXMgKGBeYCwgYH5gLCBwYXJ0aWFsLFxuICogZXhhY3QpIG9yIHNwYWNlLXNlcGFyYXRlZCBjb21wYXJhdG9ycyAoYD49MS4wLjAgPDEuMi4zYCkgb3IgYSBoeXBoZW4gcmFuZ2UuXG4gKiBgKmAgY292ZXJzIGV2ZXJ5dGhpbmc7IGFuIHVucGFyc2VhYmxlIHJhbmdlIGNvdmVycyBub3RoaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWR2aXNvcnlSYW5nZUNvdmVycyhyYW5nZTogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKCFwYXJzZVNlbXZlcih2ZXJzaW9uKSkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmFuZ2Uuc3BsaXQoJ3x8JykubWFwKChzKSA9PiBzLnRyaW0oKSkuc29tZSgoc2V0KSA9PiBzZXQgPT09ICcqJyB8fCAoc2V0ICE9PSAnJyAmJiBjb21wYXJhdG9yU2V0Q292ZXJzKHNldCwgdmVyc2lvbikpKTtcbn1cblxuLyoqXG4gKiBXaHkgYHJhbmdlYCBpc24ndCBhIHVzYWJsZSBhZHZpc29yeSByYW5nZSAodGhlIGZvcm1zIHtAbGluayBhZHZpc29yeVJhbmdlQ292ZXJzfVxuICogdW5kZXJzdGFuZHMpLCBvciBudWxsIHdoZW4gaXQgaXMuIEFuIGFkdmlzb3J5IHdob3NlIHJhbmdlIHBhcnNlcyBhcyBub3RoaW5nXG4gKiB3b3VsZCBzaWxlbnRseSBjb3ZlciBub3RoaW5nLCBzbyBkcmFmdHMgYXJlIHJlZnVzZWQgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkdmlzb3J5UmFuZ2VQcm9ibGVtKHJhbmdlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgdHJpbW1lZCA9IHJhbmdlLnRyaW0oKTtcbiAgaWYgKHRyaW1tZWQgPT09ICcnKSByZXR1cm4gJ3RoZSBhZmZlY3RlZCByYW5nZSBpcyBlbXB0eSc7XG4gIGlmICh0cmltbWVkLmxlbmd0aCA+IDI1NSkgcmV0dXJuICd0aGUgYWZmZWN0ZWQgcmFuZ2UgaXMgbG9uZ2VyIHRoYW4gMjU1IGNoYXJhY3RlcnMnO1xuICBmb3IgKGNvbnN0IHNldCBvZiB0cmltbWVkLnNwbGl0KCd8fCcpLm1hcCgoeCkgPT4geC50cmltKCkpKSB7XG4gICAgaWYgKHNldCA9PT0gJyonKSBjb250aW51ZTtcbiAgICBpZiAoc2V0ID09PSAnJykgcmV0dXJuICd0aGUgYWZmZWN0ZWQgcmFuZ2UgaGFzIGFuIGVtcHR5IFwifHxcIiBhbHRlcm5hdGl2ZSc7XG4gICAgY29uc3QgaHlwaGVuID0gL14oXFxTKylcXHMrLVxccysoXFxTKykkLy5leGVjKHNldCk7XG4gICAgaWYgKGh5cGhlbikge1xuICAgICAgaWYgKCFwYXJzZVNlbXZlcihoeXBoZW5bMV0hKSB8fCAhcGFyc2VTZW12ZXIoaHlwaGVuWzJdISkpIHJldHVybiBgXCIke3NldH1cIiBpcyBub3QgYSB2YWxpZCBoeXBoZW4gcmFuZ2VgO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHBhcnRzID0gc2V0LnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDEgJiYgcGFydHNbMF0gIT09ICdsYXRlc3QnICYmIHBhcnNlVmVyc2lvblNwZWMocGFydHNbMF0hKSkgY29udGludWU7XG4gICAgY29uc3QgYmFkID0gcGFydHMuZmluZCgoeCkgPT4gIUNPTVBBUkFUT1IudGVzdCh4KSk7XG4gICAgaWYgKGJhZCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gYFwiJHtiYWR9XCIgaXMgbm90IGEgdmVyc2lvbiwgYSBeL34gcmFuZ2Ugb3IgYSBjb21wYXJhdG9yICg+PSwgPD0sID4sIDwsID0pYDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqIFRoZSBQVUJMSVNIRUQgYWR2aXNvcmllcyB3aG9zZSByYW5nZSBjb3ZlcnMgYHZlcnNpb25gIChhbnkgc2V2ZXJpdHkpLCBtb3N0IHNldmVyZSBmaXJzdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZHZpc29yaWVzQ292ZXJpbmc8QSBleHRlbmRzIFBpY2s8UGx1Z2luQWR2aXNvcnksICdzZXZlcml0eScgfCAnc3RhdGUnIHwgJ2FmZmVjdGVkUmFuZ2UnPj4oXG4gIGFkdmlzb3JpZXM6IHJlYWRvbmx5IEFbXSxcbiAgdmVyc2lvbjogc3RyaW5nLFxuKTogQVtdIHtcbiAgY29uc3QgcmFuazogUmVjb3JkPEFkdmlzb3J5U2V2ZXJpdHksIG51bWJlcj4gPSB7IGNyaXRpY2FsOiAwLCBoaWdoOiAxLCBtZWRpdW06IDIsIGxvdzogMyB9O1xuICByZXR1cm4gYWR2aXNvcmllc1xuICAgIC5maWx0ZXIoKGEpID0+IGEuc3RhdGUgPT09ICdwdWJsaXNoZWQnICYmIGFkdmlzb3J5UmFuZ2VDb3ZlcnMoYS5hZmZlY3RlZFJhbmdlLCB2ZXJzaW9uKSlcbiAgICAuc29ydCgoYSwgYikgPT4gcmFua1thLnNldmVyaXR5XSAtIHJhbmtbYi5zZXZlcml0eV0pO1xufVxuXG4vKiogVGhlIFBVQkxJU0hFRCBhZHZpc29yaWVzIHRoZSBwb2xpY3kgYmxvY2tzIGB2ZXJzaW9uYCBmb3IuICovXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tpbmdBZHZpc29yaWVzKFxuICBhZHZpc29yaWVzOiByZWFkb25seSBQaWNrPFBsdWdpbkFkdmlzb3J5LCAnaWQnIHwgJ3NldmVyaXR5JyB8ICdzdGF0ZScgfCAnYWZmZWN0ZWRSYW5nZScgfCAnZml4ZWRWZXJzaW9uJyB8ICdzdW1tYXJ5Jz5bXSxcbiAgdmVyc2lvbjogc3RyaW5nLFxuICBwb2xpY3k6IFBpY2s8Q29uc3VtcHRpb25Qb2xpY3ksICdibG9ja09uQWR2aXNvcnknPixcbik6IEFycmF5PFBpY2s8UGx1Z2luQWR2aXNvcnksICdpZCcgfCAnc2V2ZXJpdHknIHwgJ3N0YXRlJyB8ICdhZmZlY3RlZFJhbmdlJyB8ICdmaXhlZFZlcnNpb24nIHwgJ3N1bW1hcnknPj4ge1xuICBjb25zdCBzZXZlcml0aWVzID0gQURWSVNPUllfQkxPQ0tfU0VWRVJJVElFU1twb2xpY3kuYmxvY2tPbkFkdmlzb3J5XTtcbiAgaWYgKHNldmVyaXRpZXMubGVuZ3RoID09PSAwKSByZXR1cm4gW107XG4gIHJldHVybiBhZHZpc29yaWVzLmZpbHRlcigoYSkgPT4gYS5zdGF0ZSA9PT0gJ3B1Ymxpc2hlZCcgJiYgc2V2ZXJpdGllcy5pbmNsdWRlcyhhLnNldmVyaXR5KSAmJiBhZHZpc29yeVJhbmdlQ292ZXJzKGEuYWZmZWN0ZWRSYW5nZSwgdmVyc2lvbikpO1xufVxuIl19
|
|
@@ -158,4 +158,4 @@ export function applyPolicyUpdate(base, input) {
|
|
|
158
158
|
}
|
|
159
159
|
return next;
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWNvbnN1bXB0aW9uLXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcGx1Z2luLWNvbnN1bXB0aW9uLXBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQU9MLGVBQWUsR0FDaEIsTUFBTSwrQkFBK0IsQ0FBQztBQXFCdkMsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFnQyxNQUFNLENBQUMsTUFBTSxDQUFvQjtJQUN0RyxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3RDLG9CQUFvQixFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztJQUNqRCxtQkFBbUIsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDN0MsZUFBZSxFQUFFLFVBQVU7SUFDM0IsZ0JBQWdCLEVBQUUsVUFBVTtJQUM1Qiw2RUFBNkU7SUFDN0UseUVBQXlFO0lBQ3pFLDhEQUE4RDtJQUM5RCxTQUFTLEVBQUUsTUFBTTtJQUNqQixlQUFlLEVBQUUsRUFBRTtJQUNuQixlQUFlLEVBQUUsQ0FBQztDQUNuQixDQUFDLENBQUM7QUFFSCxxREFBcUQ7QUFDckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBRXhDLE1BQU0sV0FBVyxHQUErQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUUsdUVBQXVFO0FBQ3ZFLE1BQU0sWUFBWSxHQUE2QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFekUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFtQixFQUFFLENBQ3BFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FB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QUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRyxHQUF5QixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUcsR0FBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZJLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUTttQkFDeEUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELE9BQU8sd0VBQXdFLENBQUM7WUFDbEYsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBBbiBvcmcncyBwbHVnaW4gQ09OU1VNUFRJT04gUE9MSUNZOiB3aGljaCBwdWJsaXNoZXIgdGllcnMgaXQgdHJ1c3RzLCB3aGljaFxuICogbGlzdGluZ3MgaXQgYmxvY2tzLCB3aGljaCBhZHZpc29yeSBzZXZlcml0aWVzIGJsb2NrIGEgcmVzb2x1dGlvbiwgd2hpY2hcbiAqIHRpZXJzIG1heSByZWNlaXZlIHNlY3JldHMsIGFuZCBob3cgbG91ZCBhIHZlcnNpb24ncyBmaXhhYmxlIEhpZ2ggZmluZGluZ3MgYXJlLiBBcHBsaWVkIGF0IGV2ZXJ5IHJlc29sdXRpb24gKHNlZVxuICogLi9wbHVnaW4tcmVzb2x1dGlvbi50cykgYW5kIGVkaXRlZCB0aHJvdWdoIHRoZSBvcmcncyBwb2xpY3kgcm93LlxuICpcbiAqIFB1cmUgZnVuY3Rpb25zIG92ZXIgdGhlIHN0b3JlZCByb3cg4oCUIG5vIEkvTyDigJQgc28gdGhlIHNhbWUgcnVsZXMgcnVuIGluIHRoZVxuICogcmVzb2x2ZXIsIGluIHRoZSBwb2xpY3ktdXBkYXRlIHJvdXRlLCBhbmQgaW4gdGVzdHMuXG4gKi9cblxuaW1wb3J0IHtcbiAgdHlwZSBCbG9ja2VkTGlzdGluZ1JlZixcbiAgdHlwZSBCbG9ja09uQWR2aXNvcnksXG4gIHR5cGUgT2ZmaWNpYWxJbnN0YWxscyxcbiAgdHlwZSBTaGFkb3dpbmdNb2RlLFxuICB0eXBlIFBsdWdpbkluc3RhbGxQb2xpY3ksXG4gIHR5cGUgUHVibGlzaGVyVGllcixcbiAgUFVCTElTSEVSX1RJRVJTLFxufSBmcm9tICcuLi9kYXRhYmFzZS9kcml6emxlLXNjaGVtYS5qcyc7XG5cblxuLyoqIEFuIG9yZydzIGNvbnN1bXB0aW9uIHBvbGljeSwgYXMgdGhlIHJlc29sdmVyIGFwcGxpZXMgaXQuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bXB0aW9uUG9saWN5IHtcbiAgYWxsb3dlZFRpZXJzOiBQdWJsaXNoZXJUaWVyW107XG4gIHJlcXVpcmVBcHByb3ZhbFRpZXJzOiBQdWJsaXNoZXJUaWVyW107XG4gIHNlY3JldHNBbGxvd2VkVGllcnM6IFB1Ymxpc2hlclRpZXJbXTtcbiAgYmxvY2tPbkFkdmlzb3J5OiBCbG9ja09uQWR2aXNvcnk7XG4gIG9mZmljaWFsSW5zdGFsbHM6IE9mZmljaWFsSW5zdGFsbHM7XG4gIC8qKiBXaGF0IHRvIGRvIHdoZW4gYSBuYW1lIG92ZXJyaWRlcyBhIGxpc3Rpbmcgb3IgdGhlIHBhcmVudCBvcmcncyBwbHVnaW4uICovXG4gIHNoYWRvd2luZzogU2hhZG93aW5nTW9kZTtcbiAgYmxvY2tlZExpc3RpbmdzOiBCbG9ja2VkTGlzdGluZ1JlZltdO1xuICAvKipcbiAgICogRml4YWJsZSBIaWdoIGZpbmRpbmdzIGFib3ZlIHRoaXMgbWFueSBtYWtlIGEgdmVyc2lvbidzIHdhcm5pbmcgYSBgd2FybmluZ2BcbiAgICogcmF0aGVyIHRoYW4gYGluZm9gIChsb29rdXAsIHNhdmUsIHJ1bnRpbWUgY2hlY2spLiBWdWxuZXJhYmlsaXR5IHN0YXRlIG5ldmVyXG4gICAqIHJlZnVzZXMgYSBwaXBlbGluZTsgdGhpcyBvbmx5IHNldHMgaG93IGxvdWQgaXQgaXMuIG51bGwgPSBuZXZlciBsb3VkZXIgdGhhbiBpbmZvLlxuICAgKi9cbiAgd2FybkZpeGFibGVIaWdoOiBudW1iZXIgfCBudWxsO1xufVxuXG4vKiogVGhlIGRlZmF1bHRzIChhbmQgdGhlIGNvbHVtbiBkZWZhdWx0cyBvZiBgcGx1Z2luX2luc3RhbGxfcG9saWNpZXNgKS4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTlNVTVBUSU9OX1BPTElDWTogUmVhZG9ubHk8Q29uc3VtcHRpb25Qb2xpY3k+ID0gT2JqZWN0LmZyZWV6ZTxDb25zdW1wdGlvblBvbGljeT4oe1xuICBhbGxvd2VkVGllcnM6IFsnb2ZmaWNpYWwnLCAndmVyaWZpZWQnXSxcbiAgcmVxdWlyZUFwcHJvdmFsVGllcnM6IFsnY29tbXVuaXR5JywgJ3VudmVyaWZpZWQnXSxcbiAgc2VjcmV0c0FsbG93ZWRUaWVyczogWydvZmZpY2lhbCcsICd2ZXJpZmllZCddLFxuICBibG9ja09uQWR2aXNvcnk6ICdjcml0aWNhbCcsXG4gIG9mZmljaWFsSW5zdGFsbHM6ICdpbXBsaWNpdCcsXG4gIC8vIGB3YXJuYCwgbm90IGBkZW55YDogc2hhZG93aW5nIGlzIGxlZ2l0aW1hdGUgKGFuIG9yZyBvdmVycmlkaW5nIGFuIE9mZmljaWFsXG4gIC8vIHBsdWdpbiBvbiBwdXJwb3NlKSwgc28gdGhlIGRlZmF1bHQgbWFrZXMgaXQgdmlzaWJsZSB3aXRob3V0IGJyZWFraW5nIGFcbiAgLy8gZGVwbG95bWVudCB0aGF0IGFscmVhZHkgcmVsaWVzIG9uIGl0LiBgZGVueWAgaXMgdGhlIG9wdC1pbi5cbiAgc2hhZG93aW5nOiAnd2FybicsXG4gIGJsb2NrZWRMaXN0aW5nczogW10sXG4gIHdhcm5GaXhhYmxlSGlnaDogMCxcbn0pO1xuXG4vKiogQXQgbW9zdCB0aGlzIG1hbnkgYmxvY2tlZCBsaXN0aW5ncyBwZXIgcG9saWN5LiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9CTE9DS0VEX0xJU1RJTkdTID0gNTAwO1xuXG5jb25zdCBCTE9DS19PUkRFUjogcmVhZG9ubHkgQmxvY2tPbkFkdmlzb3J5W10gPSBbJ25ldmVyJywgJ2NyaXRpY2FsJywgJ2hpZ2gnXTtcbi8qKiBJbmNyZWFzaW5nIHN0cmljdG5lc3MsIHNvIHRoZSBtZXJnZSBjYW4gdGFrZSB0aGUgZ3JlYXRlciBvZiB0d28uICovXG5jb25zdCBTSEFET1dfT1JERVI6IHJlYWRvbmx5IFNoYWRvd2luZ01vZGVbXSA9IFsnYWxsb3cnLCAnd2FybicsICdkZW55J107XG5cbmNvbnN0IHNvcnRUaWVycyA9ICh0aWVyczogSXRlcmFibGU8UHVibGlzaGVyVGllcj4pOiBQdWJsaXNoZXJUaWVyW10gPT5cbiAgUFVCTElTSEVSX1RJRVJTLmZpbHRlcigodCkgPT4gbmV3IFNldCh0aWVycykuaGFzKHQpKTtcblxuY29uc3QgbGlzdGluZ0tleSA9IChyOiBCbG9ja2VkTGlzdGluZ1JlZik6IHN0cmluZyA9PiBgJHtyLnB1Ymxpc2hlcn0vJHtyLm5hbWV9YDtcblxuZnVuY3Rpb24gdW5pcXVlTGlzdGluZ3MocmVmczogcmVhZG9ubHkgQmxvY2tlZExpc3RpbmdSZWZbXSk6IEJsb2NrZWRMaXN0aW5nUmVmW10ge1xuICBjb25zdCBzZWVuID0gbmV3IE1hcDxzdHJpbmcsIEJsb2NrZWRMaXN0aW5nUmVmPigpO1xuICBmb3IgKGNvbnN0IHIgb2YgcmVmcykgc2Vlbi5zZXQobGlzdGluZ0tleShyKSwgeyBwdWJsaXNoZXI6IHIucHVibGlzaGVyLCBuYW1lOiByLm5hbWUgfSk7XG4gIHJldHVybiBbLi4uc2Vlbi52YWx1ZXMoKV0uc29ydCgoYSwgYikgPT4gbGlzdGluZ0tleShhKS5sb2NhbGVDb21wYXJlKGxpc3RpbmdLZXkoYikpKTtcbn1cblxuLyoqIEEgc3RvcmVkIHBvbGljeSByb3cgKG9yIG5vbmUpIGFzIGEge0BsaW5rIENvbnN1bXB0aW9uUG9saWN5fS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb2xpY3lPZihyb3c6IFBhcnRpYWw8UGx1Z2luSW5zdGFsbFBvbGljeT4gfCBudWxsIHwgdW5kZWZpbmVkKTogQ29uc3VtcHRpb25Qb2xpY3kge1xuICBjb25zdCBkID0gREVGQVVMVF9DT05TVU1QVElPTl9QT0xJQ1k7XG4gIHJldHVybiB7XG4gICAgYWxsb3dlZFRpZXJzOiBzb3J0VGllcnMocm93Py5hbGxvd2VkVGllcnMgPz8gZC5hbGxvd2VkVGllcnMpLFxuICAgIHJlcXVpcmVBcHByb3ZhbFRpZXJzOiBzb3J0VGllcnMocm93Py5yZXF1aXJlQXBwcm92YWxUaWVycyA/PyBkLnJlcXVpcmVBcHByb3ZhbFRpZXJzKSxcbiAgICBzZWNyZXRzQWxsb3dlZFRpZXJzOiBzb3J0VGllcnMocm93Py5zZWNyZXRzQWxsb3dlZFRpZXJzID8/IGQuc2VjcmV0c0FsbG93ZWRUaWVycyksXG4gICAgYmxvY2tPbkFkdmlzb3J5OiByb3c/LmJsb2NrT25BZHZpc29yeSA/PyBkLmJsb2NrT25BZHZpc29yeSxcbiAgICBzaGFkb3dpbmc6IHJvdz8uc2hhZG93aW5nID8/IGQuc2hhZG93aW5nLFxuICAgIG9mZmljaWFsSW5zdGFsbHM6IHJvdz8ub2ZmaWNpYWxJbnN0YWxscyA/PyBkLm9mZmljaWFsSW5zdGFsbHMsXG4gICAgYmxvY2tlZExpc3RpbmdzOiB1bmlxdWVMaXN0aW5ncyhyb3c/LmJsb2NrZWRMaXN0aW5ncyA/PyBkLmJsb2NrZWRMaXN0aW5ncyksXG4gICAgd2FybkZpeGFibGVIaWdoOiByb3cgPT09IG51bGwgfHwgcm93ID09PSB1bmRlZmluZWQgfHwgcm93Lndhcm5GaXhhYmxlSGlnaCA9PT0gdW5kZWZpbmVkID8gZC53YXJuRml4YWJsZUhpZ2ggOiByb3cud2FybkZpeGFibGVIaWdoLFxuICB9O1xufVxuXG4vKiogVGhlIHN0cmljdGVyIG9mIHR3byBvcHRpb25hbCB0aHJlc2hvbGRzOiB0aGUgbG93ZXIgbnVtYmVyLCBvciB3aGljaGV2ZXIgaXMgc2V0LiAqL1xuZnVuY3Rpb24gc3RyaWN0ZXJGbG9vcihhOiBudW1iZXIgfCBudWxsLCBiOiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmIChhID09PSBudWxsKSByZXR1cm4gYjtcbiAgaWYgKGIgPT09IG51bGwpIHJldHVybiBhO1xuICByZXR1cm4gTWF0aC5taW4oYSwgYik7XG59XG5cbi8qKlxuICogQSB0ZWFtJ3MgcG9saWN5IHVuZGVyIGl0cyByb290IG9yZydzOiBlYWNoIGZpZWxkIHRha2VzIHRoZSBTVFJJQ1RFUiBvZlxuICogdGhlIHR3bywgc28gYSB0ZWFtIGNhbiBuYXJyb3cgd2hhdCBpdHMgcm9vdCBhbGxvd3MgYnV0IG5ldmVyIHdpZGVuIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb25zdW1wdGlvblBvbGljaWVzKHJvb3Q6IENvbnN1bXB0aW9uUG9saWN5LCB0ZWFtOiBDb25zdW1wdGlvblBvbGljeSk6IENvbnN1bXB0aW9uUG9saWN5IHtcbiAgY29uc3QgaW50ZXJzZWN0ID0gKGE6IFB1Ymxpc2hlclRpZXJbXSwgYjogUHVibGlzaGVyVGllcltdKSA9PiBzb3J0VGllcnMoYS5maWx0ZXIoKHQpID0+IGIuaW5jbHVkZXModCkpKTtcbiAgY29uc3QgdW5pb24gPSAoYTogUHVibGlzaGVyVGllcltdLCBiOiBQdWJsaXNoZXJUaWVyW10pID0+IHNvcnRUaWVycyhbLi4uYSwgLi4uYl0pO1xuICBjb25zdCBzdHJpY3RlckJsb2NrID0gQkxPQ0tfT1JERVIuaW5kZXhPZihyb290LmJsb2NrT25BZHZpc29yeSkgPj0gQkxPQ0tfT1JERVIuaW5kZXhPZih0ZWFtLmJsb2NrT25BZHZpc29yeSlcbiAgICA/IHJvb3QuYmxvY2tPbkFkdmlzb3J5IDogdGVhbS5ibG9ja09uQWR2aXNvcnk7XG4gIHJldHVybiB7XG4gICAgYWxsb3dlZFRpZXJzOiBpbnRlcnNlY3Qocm9vdC5hbGxvd2VkVGllcnMsIHRlYW0uYWxsb3dlZFRpZXJzKSxcbiAgICByZXF1aXJlQXBwcm92YWxUaWVyczogdW5pb24ocm9vdC5yZXF1aXJlQXBwcm92YWxUaWVycywgdGVhbS5yZXF1aXJlQXBwcm92YWxUaWVycyksXG4gICAgc2VjcmV0c0FsbG93ZWRUaWVyczogaW50ZXJzZWN0KHJvb3Quc2VjcmV0c0FsbG93ZWRUaWVycywgdGVhbS5zZWNyZXRzQWxsb3dlZFRpZXJzKSxcbiAgICBibG9ja09uQWR2aXNvcnk6IHN0cmljdGVyQmxvY2ssXG4gICAgb2ZmaWNpYWxJbnN0YWxsczogcm9vdC5vZmZpY2lhbEluc3RhbGxzID09PSAnZXhwbGljaXQnIHx8IHRlYW0ub2ZmaWNpYWxJbnN0YWxscyA9PT0gJ2V4cGxpY2l0JyA/ICdleHBsaWNpdCcgOiAnaW1wbGljaXQnLFxuICAgIC8vIFN0cmljdGVyIG9mIHRoZSB0d28gd2lucywgbGlrZSBldmVyeSBvdGhlciBmaWVsZCBoZXJlOiBhIHRlYW0gbXVzdCBub3QgYmVcbiAgICAvLyBhYmxlIHRvIGxvb3NlbiBhIHJvb3QgdGhhdCBjaG9zZSBgZGVueWAsIHdoaWNoIGlzIHRoZSB3aG9sZSBwb2ludCBvZiB0aGVcbiAgICAvLyBzZXR0aW5nIOKAlCB0aGUgdGVhbSBpcyB0aGUgcGFydHkgZG9pbmcgdGhlIHNoYWRvd2luZy5cbiAgICBzaGFkb3dpbmc6IFNIQURPV19PUkRFUi5pbmRleE9mKHJvb3Quc2hhZG93aW5nKSA+PSBTSEFET1dfT1JERVIuaW5kZXhPZih0ZWFtLnNoYWRvd2luZykgPyByb290LnNoYWRvd2luZyA6IHRlYW0uc2hhZG93aW5nLFxuICAgIGJsb2NrZWRMaXN0aW5nczogdW5pcXVlTGlzdGluZ3MoWy4uLnJvb3QuYmxvY2tlZExpc3RpbmdzLCAuLi50ZWFtLmJsb2NrZWRMaXN0aW5nc10pLFxuICAgIHdhcm5GaXhhYmxlSGlnaDogc3RyaWN0ZXJGbG9vcihyb290Lndhcm5GaXhhYmxlSGlnaCwgdGVhbS53YXJuRml4YWJsZUhpZ2gpLFxuICB9O1xufVxuXG4vKipcbiAqIFRoZSBwb2xpY3kgYW4gb3JnJ3MgcmVzb2x1dGlvbiBydW5zIHVuZGVyLiBBIHJvb3Qgb3JnOiBpdHMgb3duIHJvdyAob3IgdGhlXG4gKiBkZWZhdWx0cykuIEEgdGVhbSAoYHJvb3RPcmdJZGAgc2V0KTogaXRzIHJvb3QncyBwb2xpY3ksIG1lcmdlZCB3aXRoIHRoZVxuICogdGVhbSdzIG93biByb3cgd2hlbiBpdCBoYXMgb25lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWZmZWN0aXZlQ29uc3VtcHRpb25Qb2xpY3koXG4gIHJvd3M6IFJlYWRvbmx5QXJyYXk8UGFydGlhbDxQbHVnaW5JbnN0YWxsUG9saWN5PiAmIHsgb3JnSWQ/OiBzdHJpbmcgfT4sXG4gIG9yZ0lkOiBzdHJpbmcsXG4gIHJvb3RPcmdJZD86IHN0cmluZyxcbik6IENvbnN1bXB0aW9uUG9saWN5IHtcbiAgY29uc3Qgb3duID0gcm93cy5maW5kKChyKSA9PiByLm9yZ0lkID09PSBvcmdJZCkgPz8gbnVsbDtcbiAgaWYgKCFyb290T3JnSWQgfHwgcm9vdE9yZ0lkID09PSBvcmdJZCkgcmV0dXJuIHBvbGljeU9mKG93bik7XG4gIGNvbnN0IHJvb3QgPSBwb2xpY3lPZihyb3dzLmZpbmQoKHIpID0+IHIub3JnSWQgPT09IHJvb3RPcmdJZCkgPz8gbnVsbCk7XG4gIHJldHVybiBvd24gPyBtZXJnZUNvbnN1bXB0aW9uUG9saWNpZXMocm9vdCwgcG9saWN5T2Yob3duKSkgOiByb290O1xufVxuXG5jb25zdCBIQU5ETEVfUkUgPSAvXlthLXowLTldKyg/Oi1bYS16MC05XSspKiQvO1xuY29uc3QgTkFNRV9SRSA9IC9eW2EtejAtOV1bYS16MC05Ll8tXSokLztcblxuZnVuY3Rpb24gdGllckxpc3QodjogdW5rbm93biwgZmllbGQ6IHN0cmluZyk6IFB1Ymxpc2hlclRpZXJbXSB8IHN0cmluZyB7XG4gIGlmICghQXJyYXkuaXNBcnJheSh2KSkgcmV0dXJuIGAke2ZpZWxkfSBtdXN0IGJlIGFuIGFycmF5IG9mIHRpZXJzYDtcbiAgY29uc3QgYmFkID0gdi5maWx0ZXIoKHQpID0+ICEoUFVCTElTSEVSX1RJRVJTIGFzIHJlYWRvbmx5IHVua25vd25bXSkuaW5jbHVkZXModCkpO1xuICBpZiAoYmFkLmxlbmd0aCkgcmV0dXJuIGAke2ZpZWxkfSBoYXMgdW5rbm93biB0aWVyczogJHtiYWQubWFwKFN0cmluZykuam9pbignLCAnKX1gO1xuICByZXR1cm4gc29ydFRpZXJzKHYgYXMgUHVibGlzaGVyVGllcltdKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhIChwYXJ0aWFsKSBwb2xpY3kgdXBkYXRlIG92ZXIgYGJhc2VgLiBSZXR1cm5zIHRoZSBmdWxsIG5ldyBwb2xpY3ksXG4gKiBvciBhbiBlcnJvciBtZXNzYWdlLiBgYmxvY2tlZExpc3RpbmdzYCBlbnRyaWVzIGFyZSBgeyBwdWJsaXNoZXIsIG5hbWUgfWAgb3JcbiAqIGBcInB1Ymxpc2hlci9uYW1lXCJgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlQb2xpY3lVcGRhdGUoYmFzZTogQ29uc3VtcHRpb25Qb2xpY3ksIGlucHV0OiB1bmtub3duKTogQ29uc3VtcHRpb25Qb2xpY3kgfCBzdHJpbmcge1xuICBpZiAoIWlucHV0IHx8IHR5cGVvZiBpbnB1dCAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShpbnB1dCkpIHJldHVybiAnYm9keSBtdXN0IGJlIGFuIG9iamVjdCc7XG4gIGNvbnN0IGIgPSBpbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgbmV4dDogQ29uc3VtcHRpb25Qb2xpY3kgPSB7IC4uLmJhc2UgfTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBbJ2FsbG93ZWRUaWVycycsICdyZXF1aXJlQXBwcm92YWxUaWVycycsICdzZWNyZXRzQWxsb3dlZFRpZXJzJ10gYXMgY29uc3QpIHtcbiAgICBpZiAoYltmaWVsZF0gPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgY29uc3QgdGllcnMgPSB0aWVyTGlzdChiW2ZpZWxkXSwgZmllbGQpO1xuICAgIGlmICh0eXBlb2YgdGllcnMgPT09ICdzdHJpbmcnKSByZXR1cm4gdGllcnM7XG4gICAgbmV4dFtmaWVsZF0gPSB0aWVycztcbiAgfVxuICBpZiAoYi5ibG9ja09uQWR2aXNvcnkgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQkxPQ0tfT1JERVIuaW5jbHVkZXMoYi5ibG9ja09uQWR2aXNvcnkgYXMgQmxvY2tPbkFkdmlzb3J5KSkgcmV0dXJuICdibG9ja09uQWR2aXNvcnkgbXVzdCBiZSBjcml0aWNhbCwgaGlnaCBvciBuZXZlcic7XG4gICAgbmV4dC5ibG9ja09uQWR2aXNvcnkgPSBiLmJsb2NrT25BZHZpc29yeSBhcyBCbG9ja09uQWR2aXNvcnk7XG4gIH1cbiAgaWYgKGIub2ZmaWNpYWxJbnN0YWxscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKGIub2ZmaWNpYWxJbnN0YWxscyAhPT0gJ2ltcGxpY2l0JyAmJiBiLm9mZmljaWFsSW5zdGFsbHMgIT09ICdleHBsaWNpdCcpIHJldHVybiAnb2ZmaWNpYWxJbnN0YWxscyBtdXN0IGJlIGltcGxpY2l0IG9yIGV4cGxpY2l0JztcbiAgICBuZXh0Lm9mZmljaWFsSW5zdGFsbHMgPSBiLm9mZmljaWFsSW5zdGFsbHM7XG4gIH1cbiAgaWYgKGIud2FybkZpeGFibGVIaWdoICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoYi53YXJuRml4YWJsZUhpZ2ggIT09IG51bGwgJiYgIShOdW1iZXIuaXNJbnRlZ2VyKGIud2FybkZpeGFibGVIaWdoKSAmJiAoYi53YXJuRml4YWJsZUhpZ2ggYXMgbnVtYmVyKSA+PSAwKSkge1xuICAgICAgcmV0dXJuICd3YXJuRml4YWJsZUhpZ2ggbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIG9yIG51bGwnO1xuICAgIH1cbiAgICBuZXh0Lndhcm5GaXhhYmxlSGlnaCA9IGIud2FybkZpeGFibGVIaWdoIGFzIG51bWJlciB8IG51bGw7XG4gIH1cbiAgaWYgKGIuYmxvY2tlZExpc3RpbmdzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYi5ibG9ja2VkTGlzdGluZ3MpKSByZXR1cm4gJ2Jsb2NrZWRMaXN0aW5ncyBtdXN0IGJlIGFuIGFycmF5JztcbiAgICBpZiAoYi5ibG9ja2VkTGlzdGluZ3MubGVuZ3RoID4gTUFYX0JMT0NLRURfTElTVElOR1MpIHJldHVybiBgYXQgbW9zdCAke01BWF9CTE9DS0VEX0xJU1RJTkdTfSBibG9ja2VkIGxpc3RpbmdzYDtcbiAgICBjb25zdCByZWZzOiBCbG9ja2VkTGlzdGluZ1JlZltdID0gW107XG4gICAgZm9yIChjb25zdCByYXcgb2YgYi5ibG9ja2VkTGlzdGluZ3MpIHtcbiAgICAgIGNvbnN0IHJlZiA9IHR5cGVvZiByYXcgPT09ICdzdHJpbmcnXG4gICAgICAgID8gKCgpID0+IHsgY29uc3QgW3B1Ymxpc2hlciwgbmFtZSwgZXh0cmFdID0gcmF3LnNwbGl0KCcvJyk7IHJldHVybiBleHRyYSA9PT0gdW5kZWZpbmVkID8geyBwdWJsaXNoZXIsIG5hbWUgfSA6IG51bGw7IH0pKClcbiAgICAgICAgOiByYXcgJiYgdHlwZW9mIHJhdyA9PT0gJ29iamVjdCcgPyB7IHB1Ymxpc2hlcjogKHJhdyBhcyBCbG9ja2VkTGlzdGluZ1JlZikucHVibGlzaGVyLCBuYW1lOiAocmF3IGFzIEJsb2NrZWRMaXN0aW5nUmVmKS5uYW1lIH0gOiBudWxsO1xuICAgICAgaWYgKCFyZWYgfHwgdHlwZW9mIHJlZi5wdWJsaXNoZXIgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiByZWYubmFtZSAhPT0gJ3N0cmluZydcbiAgICAgICAgfHwgIUhBTkRMRV9SRS50ZXN0KHJlZi5wdWJsaXNoZXIpIHx8ICFOQU1FX1JFLnRlc3QocmVmLm5hbWUpKSB7XG4gICAgICAgIHJldHVybiAnZWFjaCBibG9ja2VkIGxpc3RpbmcgbXVzdCBiZSB7IHB1Ymxpc2hlciwgbmFtZSB9IChvciBcInB1Ymxpc2hlci9uYW1lXCIpJztcbiAgICAgIH1cbiAgICAgIHJlZnMucHVzaCh7IHB1Ymxpc2hlcjogcmVmLnB1Ymxpc2hlciwgbmFtZTogcmVmLm5hbWUgfSk7XG4gICAgfVxuICAgIG5leHQuYmxvY2tlZExpc3RpbmdzID0gdW5pcXVlTGlzdGluZ3MocmVmcyk7XG4gIH1cbiAgcmV0dXJuIG5leHQ7XG59XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWNvbnN1bXB0aW9uLXBvbGljeS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9wbHVnaW4tY29uc3VtcHRpb24tcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBT0wsZUFBZSxHQUNoQixNQUFNLCtCQUErQixDQUFDO0FBcUJ2QywyRUFBMkU7QUFDM0UsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdDLE1BQU0sQ0FBQyxNQUFNLENBQW9CO0lBQ3RHLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdEMsb0JBQW9CLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO0lBQ2pELG1CQUFtQixFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUM3QyxlQUFlLEVBQUUsVUFBVTtJQUMzQixnQkFBZ0IsRUFBRSxVQUFVO0lBQzVCLDZFQUE2RTtJQUM3RSx5RUFBeUU7SUFDekUsOERBQThEO0lBQzlELFNBQVMsRUFBRSxNQUFNO0lBQ2pCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGVBQWUsRUFBRSxDQUFDO0NBQ25CLENBQUMsQ0FBQztBQUVILHFEQUFxRDtBQUNyRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFeEMsTUFBTSxXQUFXLEdBQStCLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM5RSx1RUFBdUU7QUFDdkUsTUFBTSxZQUFZLEdBQTZCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQThCLEVBQW1CLEVBQUUsQ0FDcEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFD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QyxDQUFDLEVBQUUsU0FBUyxFQUFHLEdBQXlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRyxHQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkksSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRO21CQUN4RSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsT0FBTyx3RUFBd0UsQ0FBQztZQUNsRixDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEFuIG9yZydzIHBsdWdpbiBDT05TVU1QVElPTiBQT0xJQ1k6IHdoaWNoIHB1Ymxpc2hlciB0aWVycyBpdCB0cnVzdHMsIHdoaWNoXG4gKiBsaXN0aW5ncyBpdCBibG9ja3MsIHdoaWNoIGFkdmlzb3J5IHNldmVyaXRpZXMgYmxvY2sgYSByZXNvbHV0aW9uLCB3aGljaFxuICogdGllcnMgbWF5IHJlY2VpdmUgc2VjcmV0cywgYW5kIGhvdyBsb3VkIGEgdmVyc2lvbidzIGZpeGFibGUgSGlnaCBmaW5kaW5ncyBhcmUuIEFwcGxpZWQgYXQgZXZlcnkgcmVzb2x1dGlvbiAoc2VlXG4gKiAuL3BsdWdpbi1yZXNvbHV0aW9uLnRzKSBhbmQgZWRpdGVkIHRocm91Z2ggdGhlIG9yZydzIHBvbGljeSByb3cuXG4gKlxuICogUHVyZSBmdW5jdGlvbnMgb3ZlciB0aGUgc3RvcmVkIHJvdyDigJQgbm8gSS9PIOKAlCBzbyB0aGUgc2FtZSBydWxlcyBydW4gaW4gdGhlXG4gKiByZXNvbHZlciwgaW4gdGhlIHBvbGljeS11cGRhdGUgcm91dGUsIGFuZCBpbiB0ZXN0cy5cbiAqL1xuXG5pbXBvcnQge1xuICB0eXBlIEJsb2NrZWRMaXN0aW5nUmVmLFxuICB0eXBlIEJsb2NrT25BZHZpc29yeSxcbiAgdHlwZSBPZmZpY2lhbEluc3RhbGxzLFxuICB0eXBlIFNoYWRvd2luZ01vZGUsXG4gIHR5cGUgUGx1Z2luSW5zdGFsbFBvbGljeSxcbiAgdHlwZSBQdWJsaXNoZXJUaWVyLFxuICBQVUJMSVNIRVJfVElFUlMsXG59IGZyb20gJy4uL2RhdGFiYXNlL2RyaXp6bGUtc2NoZW1hLmpzJztcblxuXG4vKiogQW4gb3JnJ3MgY29uc3VtcHRpb24gcG9saWN5LCBhcyB0aGUgcmVzb2x2ZXIgYXBwbGllcyBpdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3VtcHRpb25Qb2xpY3kge1xuICBhbGxvd2VkVGllcnM6IFB1Ymxpc2hlclRpZXJbXTtcbiAgcmVxdWlyZUFwcHJvdmFsVGllcnM6IFB1Ymxpc2hlclRpZXJbXTtcbiAgc2VjcmV0c0FsbG93ZWRUaWVyczogUHVibGlzaGVyVGllcltdO1xuICBibG9ja09uQWR2aXNvcnk6IEJsb2NrT25BZHZpc29yeTtcbiAgb2ZmaWNpYWxJbnN0YWxsczogT2ZmaWNpYWxJbnN0YWxscztcbiAgLyoqIFdoYXQgdG8gZG8gd2hlbiBhIG5hbWUgb3ZlcnJpZGVzIGEgbGlzdGluZyBvciB0aGUgcGFyZW50IG9yZydzIHBsdWdpbi4gKi9cbiAgc2hhZG93aW5nOiBTaGFkb3dpbmdNb2RlO1xuICBibG9ja2VkTGlzdGluZ3M6IEJsb2NrZWRMaXN0aW5nUmVmW107XG4gIC8qKlxuICAgKiBGaXhhYmxlIEhpZ2ggZmluZGluZ3MgYWJvdmUgdGhpcyBtYW55IG1ha2UgYSB2ZXJzaW9uJ3Mgd2FybmluZyBhIGB3YXJuaW5nYFxuICAgKiByYXRoZXIgdGhhbiBgaW5mb2AgKGxvb2t1cCwgc2F2ZSwgcnVudGltZSBjaGVjaykuIFZ1bG5lcmFiaWxpdHkgc3RhdGUgbmV2ZXJcbiAgICogcmVmdXNlcyBhIHBpcGVsaW5lOyB0aGlzIG9ubHkgc2V0cyBob3cgbG91ZCBpdCBpcy4gbnVsbCA9IG5ldmVyIGxvdWRlciB0aGFuIGluZm8uXG4gICAqL1xuICB3YXJuRml4YWJsZUhpZ2g6IG51bWJlciB8IG51bGw7XG59XG5cbi8qKiBUaGUgZGVmYXVsdHMgKGFuZCB0aGUgY29sdW1uIGRlZmF1bHRzIG9mIGBwbHVnaW5faW5zdGFsbF9wb2xpY2llc2ApLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09OU1VNUFRJT05fUE9MSUNZOiBSZWFkb25seTxDb25zdW1wdGlvblBvbGljeT4gPSBPYmplY3QuZnJlZXplPENvbnN1bXB0aW9uUG9saWN5Pih7XG4gIGFsbG93ZWRUaWVyczogWydvZmZpY2lhbCcsICd2ZXJpZmllZCddLFxuICByZXF1aXJlQXBwcm92YWxUaWVyczogWydjb21tdW5pdHknLCAndW52ZXJpZmllZCddLFxuICBzZWNyZXRzQWxsb3dlZFRpZXJzOiBbJ29mZmljaWFsJywgJ3ZlcmlmaWVkJ10sXG4gIGJsb2NrT25BZHZpc29yeTogJ2NyaXRpY2FsJyxcbiAgb2ZmaWNpYWxJbnN0YWxsczogJ2ltcGxpY2l0JyxcbiAgLy8gYHdhcm5gLCBub3QgYGRlbnlgOiBzaGFkb3dpbmcgaXMgbGVnaXRpbWF0ZSAoYW4gb3JnIG92ZXJyaWRpbmcgYW4gT2ZmaWNpYWxcbiAgLy8gcGx1Z2luIG9uIHB1cnBvc2UpLCBzbyB0aGUgZGVmYXVsdCBtYWtlcyBpdCB2aXNpYmxlIHdpdGhvdXQgYnJlYWtpbmcgYVxuICAvLyBkZXBsb3ltZW50IHRoYXQgYWxyZWFkeSByZWxpZXMgb24gaXQuIGBkZW55YCBpcyB0aGUgb3B0LWluLlxuICBzaGFkb3dpbmc6ICd3YXJuJyxcbiAgYmxvY2tlZExpc3RpbmdzOiBbXSxcbiAgd2FybkZpeGFibGVIaWdoOiAwLFxufSk7XG5cbi8qKiBBdCBtb3N0IHRoaXMgbWFueSBibG9ja2VkIGxpc3RpbmdzIHBlciBwb2xpY3kuICovXG5leHBvcnQgY29uc3QgTUFYX0JMT0NLRURfTElTVElOR1MgPSA1MDA7XG5cbmNvbnN0IEJMT0NLX09SREVSOiByZWFkb25seSBCbG9ja09uQWR2aXNvcnlbXSA9IFsnbmV2ZXInLCAnY3JpdGljYWwnLCAnaGlnaCddO1xuLyoqIEluY3JlYXNpbmcgc3RyaWN0bmVzcywgc28gdGhlIG1lcmdlIGNhbiB0YWtlIHRoZSBncmVhdGVyIG9mIHR3by4gKi9cbmNvbnN0IFNIQURPV19PUkRFUjogcmVhZG9ubHkgU2hhZG93aW5nTW9kZVtdID0gWydhbGxvdycsICd3YXJuJywgJ2RlbnknXTtcblxuY29uc3Qgc29ydFRpZXJzID0gKHRpZXJzOiBJdGVyYWJsZTxQdWJsaXNoZXJUaWVyPik6IFB1Ymxpc2hlclRpZXJbXSA9PlxuICBQVUJMSVNIRVJfVElFUlMuZmlsdGVyKCh0KSA9PiBuZXcgU2V0KHRpZXJzKS5oYXModCkpO1xuXG5jb25zdCBsaXN0aW5nS2V5ID0gKHI6IEJsb2NrZWRMaXN0aW5nUmVmKTogc3RyaW5nID0+IGAke3IucHVibGlzaGVyfS8ke3IubmFtZX1gO1xuXG5mdW5jdGlvbiB1bmlxdWVMaXN0aW5ncyhyZWZzOiByZWFkb25seSBCbG9ja2VkTGlzdGluZ1JlZltdKTogQmxvY2tlZExpc3RpbmdSZWZbXSB7XG4gIGNvbnN0IHNlZW4gPSBuZXcgTWFwPHN0cmluZywgQmxvY2tlZExpc3RpbmdSZWY+KCk7XG4gIGZvciAoY29uc3QgciBvZiByZWZzKSBzZWVuLnNldChsaXN0aW5nS2V5KHIpLCB7IHB1Ymxpc2hlcjogci5wdWJsaXNoZXIsIG5hbWU6IHIubmFtZSB9KTtcbiAgcmV0dXJuIFsuLi5zZWVuLnZhbHVlcygpXS5zb3J0KChhLCBiKSA9PiBsaXN0aW5nS2V5KGEpLmxvY2FsZUNvbXBhcmUobGlzdGluZ0tleShiKSkpO1xufVxuXG4vKiogQSBzdG9yZWQgcG9saWN5IHJvdyAob3Igbm9uZSkgYXMgYSB7QGxpbmsgQ29uc3VtcHRpb25Qb2xpY3l9LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvbGljeU9mKHJvdzogUGFydGlhbDxQbHVnaW5JbnN0YWxsUG9saWN5PiB8IG51bGwgfCB1bmRlZmluZWQpOiBDb25zdW1wdGlvblBvbGljeSB7XG4gIGNvbnN0IGQgPSBERUZBVUxUX0NPTlNVTVBUSU9OX1BPTElDWTtcbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkVGllcnM6IHNvcnRUaWVycyhyb3c/LmFsbG93ZWRUaWVycyA/PyBkLmFsbG93ZWRUaWVycyksXG4gICAgcmVxdWlyZUFwcHJvdmFsVGllcnM6IHNvcnRUaWVycyhyb3c/LnJlcXVpcmVBcHByb3ZhbFRpZXJzID8/IGQucmVxdWlyZUFwcHJvdmFsVGllcnMpLFxuICAgIHNlY3JldHNBbGxvd2VkVGllcnM6IHNvcnRUaWVycyhyb3c/LnNlY3JldHNBbGxvd2VkVGllcnMgPz8gZC5zZWNyZXRzQWxsb3dlZFRpZXJzKSxcbiAgICBibG9ja09uQWR2aXNvcnk6IHJvdz8uYmxvY2tPbkFkdmlzb3J5ID8/IGQuYmxvY2tPbkFkdmlzb3J5LFxuICAgIHNoYWRvd2luZzogcm93Py5zaGFkb3dpbmcgPz8gZC5zaGFkb3dpbmcsXG4gICAgb2ZmaWNpYWxJbnN0YWxsczogcm93Py5vZmZpY2lhbEluc3RhbGxzID8/IGQub2ZmaWNpYWxJbnN0YWxscyxcbiAgICBibG9ja2VkTGlzdGluZ3M6IHVuaXF1ZUxpc3RpbmdzKHJvdz8uYmxvY2tlZExpc3RpbmdzID8/IGQuYmxvY2tlZExpc3RpbmdzKSxcbiAgICB3YXJuRml4YWJsZUhpZ2g6IHJvdyA9PT0gbnVsbCB8fCByb3cgPT09IHVuZGVmaW5lZCB8fCByb3cud2FybkZpeGFibGVIaWdoID09PSB1bmRlZmluZWQgPyBkLndhcm5GaXhhYmxlSGlnaCA6IHJvdy53YXJuRml4YWJsZUhpZ2gsXG4gIH07XG59XG5cbi8qKiBUaGUgc3RyaWN0ZXIgb2YgdHdvIG9wdGlvbmFsIHRocmVzaG9sZHM6IHRoZSBsb3dlciBudW1iZXIsIG9yIHdoaWNoZXZlciBpcyBzZXQuICovXG5mdW5jdGlvbiBzdHJpY3RlckZsb29yKGE6IG51bWJlciB8IG51bGwsIGI6IG51bWJlciB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcbiAgaWYgKGEgPT09IG51bGwpIHJldHVybiBiO1xuICBpZiAoYiA9PT0gbnVsbCkgcmV0dXJuIGE7XG4gIHJldHVybiBNYXRoLm1pbihhLCBiKTtcbn1cblxuLyoqXG4gKiBBIHRlYW0ncyBwb2xpY3kgdW5kZXIgaXRzIHJvb3Qgb3JnJ3M6IGVhY2ggZmllbGQgdGFrZXMgdGhlIFNUUklDVEVSIG9mXG4gKiB0aGUgdHdvLCBzbyBhIHRlYW0gY2FuIG5hcnJvdyB3aGF0IGl0cyByb290IGFsbG93cyBidXQgbmV2ZXIgd2lkZW4gaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbnN1bXB0aW9uUG9saWNpZXMocm9vdDogQ29uc3VtcHRpb25Qb2xpY3ksIHRlYW06IENvbnN1bXB0aW9uUG9saWN5KTogQ29uc3VtcHRpb25Qb2xpY3kge1xuICBjb25zdCBpbnRlcnNlY3QgPSAoYTogUHVibGlzaGVyVGllcltdLCBiOiBQdWJsaXNoZXJUaWVyW10pID0+IHNvcnRUaWVycyhhLmZpbHRlcigodCkgPT4gYi5pbmNsdWRlcyh0KSkpO1xuICBjb25zdCB1bmlvbiA9IChhOiBQdWJsaXNoZXJUaWVyW10sIGI6IFB1Ymxpc2hlclRpZXJbXSkgPT4gc29ydFRpZXJzKFsuLi5hLCAuLi5iXSk7XG4gIGNvbnN0IHN0cmljdGVyQmxvY2sgPSBCTE9DS19PUkRFUi5pbmRleE9mKHJvb3QuYmxvY2tPbkFkdmlzb3J5KSA+PSBCTE9DS19PUkRFUi5pbmRleE9mKHRlYW0uYmxvY2tPbkFkdmlzb3J5KVxuICAgID8gcm9vdC5ibG9ja09uQWR2aXNvcnkgOiB0ZWFtLmJsb2NrT25BZHZpc29yeTtcbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkVGllcnM6IGludGVyc2VjdChyb290LmFsbG93ZWRUaWVycywgdGVhbS5hbGxvd2VkVGllcnMpLFxuICAgIHJlcXVpcmVBcHByb3ZhbFRpZXJzOiB1bmlvbihyb290LnJlcXVpcmVBcHByb3ZhbFRpZXJzLCB0ZWFtLnJlcXVpcmVBcHByb3ZhbFRpZXJzKSxcbiAgICBzZWNyZXRzQWxsb3dlZFRpZXJzOiBpbnRlcnNlY3Qocm9vdC5zZWNyZXRzQWxsb3dlZFRpZXJzLCB0ZWFtLnNlY3JldHNBbGxvd2VkVGllcnMpLFxuICAgIGJsb2NrT25BZHZpc29yeTogc3RyaWN0ZXJCbG9jayxcbiAgICBvZmZpY2lhbEluc3RhbGxzOiByb290Lm9mZmljaWFsSW5zdGFsbHMgPT09ICdleHBsaWNpdCcgfHwgdGVhbS5vZmZpY2lhbEluc3RhbGxzID09PSAnZXhwbGljaXQnID8gJ2V4cGxpY2l0JyA6ICdpbXBsaWNpdCcsXG4gICAgLy8gU3RyaWN0ZXIgb2YgdGhlIHR3byB3aW5zLCBsaWtlIGV2ZXJ5IG90aGVyIGZpZWxkIGhlcmU6IGEgdGVhbSBtdXN0IG5vdCBiZVxuICAgIC8vIGFibGUgdG8gbG9vc2VuIGEgcm9vdCB0aGF0IGNob3NlIGBkZW55YCwgd2hpY2ggaXMgdGhlIHdob2xlIHBvaW50IG9mIHRoZVxuICAgIC8vIHNldHRpbmcg4oCUIHRoZSB0ZWFtIGlzIHRoZSBwYXJ0eSBkb2luZyB0aGUgc2hhZG93aW5nLlxuICAgIHNoYWRvd2luZzogU0hBRE9XX09SREVSLmluZGV4T2Yocm9vdC5zaGFkb3dpbmcpID49IFNIQURPV19PUkRFUi5pbmRleE9mKHRlYW0uc2hhZG93aW5nKSA/IHJvb3Quc2hhZG93aW5nIDogdGVhbS5zaGFkb3dpbmcsXG4gICAgYmxvY2tlZExpc3RpbmdzOiB1bmlxdWVMaXN0aW5ncyhbLi4ucm9vdC5ibG9ja2VkTGlzdGluZ3MsIC4uLnRlYW0uYmxvY2tlZExpc3RpbmdzXSksXG4gICAgd2FybkZpeGFibGVIaWdoOiBzdHJpY3RlckZsb29yKHJvb3Qud2FybkZpeGFibGVIaWdoLCB0ZWFtLndhcm5GaXhhYmxlSGlnaCksXG4gIH07XG59XG5cbi8qKlxuICogVGhlIHBvbGljeSBhbiBvcmcncyByZXNvbHV0aW9uIHJ1bnMgdW5kZXIuIEEgcm9vdCBvcmc6IGl0cyBvd24gcm93IChvciB0aGVcbiAqIGRlZmF1bHRzKS4gQSB0ZWFtIChgcm9vdE9yZ0lkYCBzZXQpOiBpdHMgcm9vdCdzIHBvbGljeSwgbWVyZ2VkIHdpdGggdGhlXG4gKiB0ZWFtJ3Mgb3duIHJvdyB3aGVuIGl0IGhhcyBvbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlZmZlY3RpdmVDb25zdW1wdGlvblBvbGljeShcbiAgcm93czogUmVhZG9ubHlBcnJheTxQYXJ0aWFsPFBsdWdpbkluc3RhbGxQb2xpY3k+ICYgeyBvcmdJZD86IHN0cmluZyB9PixcbiAgb3JnSWQ6IHN0cmluZyxcbiAgcm9vdE9yZ0lkPzogc3RyaW5nLFxuKTogQ29uc3VtcHRpb25Qb2xpY3kge1xuICBjb25zdCBvd24gPSByb3dzLmZpbmQoKHIpID0+IHIub3JnSWQgPT09IG9yZ0lkKSA/PyBudWxsO1xuICBpZiAoIXJvb3RPcmdJZCB8fCByb290T3JnSWQgPT09IG9yZ0lkKSByZXR1cm4gcG9saWN5T2Yob3duKTtcbiAgY29uc3Qgcm9vdCA9IHBvbGljeU9mKHJvd3MuZmluZCgocikgPT4gci5vcmdJZCA9PT0gcm9vdE9yZ0lkKSA/PyBudWxsKTtcbiAgcmV0dXJuIG93biA/IG1lcmdlQ29uc3VtcHRpb25Qb2xpY2llcyhyb290LCBwb2xpY3lPZihvd24pKSA6IHJvb3Q7XG59XG5cbmNvbnN0IEhBTkRMRV9SRSA9IC9eW2EtejAtOV0rKD86LVthLXowLTldKykqJC87XG5jb25zdCBOQU1FX1JFID0gL15bYS16MC05XVthLXowLTkuXy1dKiQvO1xuXG5mdW5jdGlvbiB0aWVyTGlzdCh2OiB1bmtub3duLCBmaWVsZDogc3RyaW5nKTogUHVibGlzaGVyVGllcltdIHwgc3RyaW5nIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHYpKSByZXR1cm4gYCR7ZmllbGR9IG11c3QgYmUgYW4gYXJyYXkgb2YgdGllcnNgO1xuICBjb25zdCBiYWQgPSB2LmZpbHRlcigodCkgPT4gIShQVUJMSVNIRVJfVElFUlMgYXMgcmVhZG9ubHkgdW5rbm93bltdKS5pbmNsdWRlcyh0KSk7XG4gIGlmIChiYWQubGVuZ3RoKSByZXR1cm4gYCR7ZmllbGR9IGhhcyB1bmtub3duIHRpZXJzOiAke2JhZC5tYXAoU3RyaW5nKS5qb2luKCcsICcpfWA7XG4gIHJldHVybiBzb3J0VGllcnModiBhcyBQdWJsaXNoZXJUaWVyW10pO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIGEgKHBhcnRpYWwpIHBvbGljeSB1cGRhdGUgb3ZlciBgYmFzZWAuIFJldHVybnMgdGhlIGZ1bGwgbmV3IHBvbGljeSxcbiAqIG9yIGFuIGVycm9yIG1lc3NhZ2UuIGBibG9ja2VkTGlzdGluZ3NgIGVudHJpZXMgYXJlIGB7IHB1Ymxpc2hlciwgbmFtZSB9YCBvclxuICogYFwicHVibGlzaGVyL25hbWVcImAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBvbGljeVVwZGF0ZShiYXNlOiBDb25zdW1wdGlvblBvbGljeSwgaW5wdXQ6IHVua25vd24pOiBDb25zdW1wdGlvblBvbGljeSB8IHN0cmluZyB7XG4gIGlmICghaW5wdXQgfHwgdHlwZW9mIGlucHV0ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGlucHV0KSkgcmV0dXJuICdib2R5IG11c3QgYmUgYW4gb2JqZWN0JztcbiAgY29uc3QgYiA9IGlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBuZXh0OiBDb25zdW1wdGlvblBvbGljeSA9IHsgLi4uYmFzZSB9O1xuICBmb3IgKGNvbnN0IGZpZWxkIG9mIFsnYWxsb3dlZFRpZXJzJywgJ3JlcXVpcmVBcHByb3ZhbFRpZXJzJywgJ3NlY3JldHNBbGxvd2VkVGllcnMnXSBhcyBjb25zdCkge1xuICAgIGlmIChiW2ZpZWxkXSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZTtcbiAgICBjb25zdCB0aWVycyA9IHRpZXJMaXN0KGJbZmllbGRdLCBmaWVsZCk7XG4gICAgaWYgKHR5cGVvZiB0aWVycyA9PT0gJ3N0cmluZycpIHJldHVybiB0aWVycztcbiAgICBuZXh0W2ZpZWxkXSA9IHRpZXJzO1xuICB9XG4gIGlmIChiLmJsb2NrT25BZHZpc29yeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFCTE9DS19PUkRFUi5pbmNsdWRlcyhiLmJsb2NrT25BZHZpc29yeSBhcyBCbG9ja09uQWR2aXNvcnkpKSByZXR1cm4gJ2Jsb2NrT25BZHZpc29yeSBtdXN0IGJlIGNyaXRpY2FsLCBoaWdoIG9yIG5ldmVyJztcbiAgICBuZXh0LmJsb2NrT25BZHZpc29yeSA9IGIuYmxvY2tPbkFkdmlzb3J5IGFzIEJsb2NrT25BZHZpc29yeTtcbiAgfVxuICBpZiAoYi5vZmZpY2lhbEluc3RhbGxzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoYi5vZmZpY2lhbEluc3RhbGxzICE9PSAnaW1wbGljaXQnICYmIGIub2ZmaWNpYWxJbnN0YWxscyAhPT0gJ2V4cGxpY2l0JykgcmV0dXJuICdvZmZpY2lhbEluc3RhbGxzIG11c3QgYmUgaW1wbGljaXQgb3IgZXhwbGljaXQnO1xuICAgIG5leHQub2ZmaWNpYWxJbnN0YWxscyA9IGIub2ZmaWNpYWxJbnN0YWxscztcbiAgfVxuICBpZiAoYi53YXJuRml4YWJsZUhpZ2ggIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChiLndhcm5GaXhhYmxlSGlnaCAhPT0gbnVsbCAmJiAhKE51bWJlci5pc0ludGVnZXIoYi53YXJuRml4YWJsZUhpZ2gpICYmIChiLndhcm5GaXhhYmxlSGlnaCBhcyBudW1iZXIpID49IDApKSB7XG4gICAgICByZXR1cm4gJ3dhcm5GaXhhYmxlSGlnaCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgb3IgbnVsbCc7XG4gICAgfVxuICAgIG5leHQud2FybkZpeGFibGVIaWdoID0gYi53YXJuRml4YWJsZUhpZ2ggYXMgbnVtYmVyIHwgbnVsbDtcbiAgfVxuICBpZiAoYi5ibG9ja2VkTGlzdGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShiLmJsb2NrZWRMaXN0aW5ncykpIHJldHVybiAnYmxvY2tlZExpc3RpbmdzIG11c3QgYmUgYW4gYXJyYXknO1xuICAgIGlmIChiLmJsb2NrZWRMaXN0aW5ncy5sZW5ndGggPiBNQVhfQkxPQ0tFRF9MSVNUSU5HUykgcmV0dXJuIGBhdCBtb3N0ICR7TUFYX0JMT0NLRURfTElTVElOR1N9IGJsb2NrZWQgbGlzdGluZ3NgO1xuICAgIGNvbnN0IHJlZnM6IEJsb2NrZWRMaXN0aW5nUmVmW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHJhdyBvZiBiLmJsb2NrZWRMaXN0aW5ncykge1xuICAgICAgY29uc3QgcmVmID0gdHlwZW9mIHJhdyA9PT0gJ3N0cmluZydcbiAgICAgICAgPyAoKCkgPT4geyBjb25zdCBbcHVibGlzaGVyLCBuYW1lLCBleHRyYV0gPSByYXcuc3BsaXQoJy8nKTsgcmV0dXJuIGV4dHJhID09PSB1bmRlZmluZWQgPyB7IHB1Ymxpc2hlciwgbmFtZSB9IDogbnVsbDsgfSkoKVxuICAgICAgICA6IHJhdyAmJiB0eXBlb2YgcmF3ID09PSAnb2JqZWN0JyA/IHsgcHVibGlzaGVyOiAocmF3IGFzIEJsb2NrZWRMaXN0aW5nUmVmKS5wdWJsaXNoZXIsIG5hbWU6IChyYXcgYXMgQmxvY2tlZExpc3RpbmdSZWYpLm5hbWUgfSA6IG51bGw7XG4gICAgICBpZiAoIXJlZiB8fCB0eXBlb2YgcmVmLnB1Ymxpc2hlciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIHJlZi5uYW1lICE9PSAnc3RyaW5nJ1xuICAgICAgICB8fCAhSEFORExFX1JFLnRlc3QocmVmLnB1Ymxpc2hlcikgfHwgIU5BTUVfUkUudGVzdChyZWYubmFtZSkpIHtcbiAgICAgICAgcmV0dXJuICdlYWNoIGJsb2NrZWQgbGlzdGluZyBtdXN0IGJlIHsgcHVibGlzaGVyLCBuYW1lIH0gKG9yIFwicHVibGlzaGVyL25hbWVcIiknO1xuICAgICAgfVxuICAgICAgcmVmcy5wdXNoKHsgcHVibGlzaGVyOiByZWYucHVibGlzaGVyLCBuYW1lOiByZWYubmFtZSB9KTtcbiAgICB9XG4gICAgbmV4dC5ibG9ja2VkTGlzdGluZ3MgPSB1bmlxdWVMaXN0aW5ncyhyZWZzKTtcbiAgfVxuICByZXR1cm4gbmV4dDtcbn1cbiJdfQ==
|