cdklabs-projen-project-types 0.6.13 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +857 -578
- package/.yarn/install-state.gz +0 -0
- package/API.md +582 -38
- package/lib/cdk-construct-library-options.d.ts +28 -1
- package/lib/cdk-construct-library-options.js +1 -1
- package/lib/cdk-jsii-options.d.ts +28 -1
- package/lib/cdk-jsii-options.js +1 -1
- package/lib/cdk.js +2 -2
- package/lib/cdklabs.js +3 -3
- package/lib/check-gha-expressions.js +1 -1
- package/lib/jsii.js +1 -1
- package/lib/rosetta.js +1 -1
- package/lib/yarn/constraints.js +1 -1
- package/lib/yarn/jsii-build.js +1 -1
- package/lib/yarn/monorepo-options.d.ts +28 -1
- package/lib/yarn/monorepo-options.js +1 -1
- package/lib/yarn/monorepo-release-options.d.ts +9 -0
- package/lib/yarn/monorepo-release-options.js +1 -1
- package/lib/yarn/monorepo-release.js +1 -1
- package/lib/yarn/monorepo.js +2 -2
- package/lib/yarn/typescript-workspace-options.d.ts +28 -1
- package/lib/yarn/typescript-workspace-options.js +1 -1
- package/lib/yarn/typescript-workspace-release.js +1 -1
- package/lib/yarn/typescript-workspace.js +1 -1
- package/package.json +6 -6
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8tb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy95YXJuL21vbm9yZXBvLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInlhcm4gcHJvamVuXCIuXG5pbXBvcnQgeyBqYXZhc2NyaXB0LCBnaXRodWIsIElnbm9yZUZpbGVPcHRpb25zLCBHaXRPcHRpb25zLCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZW5yY0pzb25PcHRpb25zLCB0eXBlc2NyaXB0LCBTYW1wbGVSZWFkbWVQcm9wcywgUmVsZWFzYWJsZUNvbW1pdHMsIHJlbGVhc2UsIFJlbm92YXRlYm90T3B0aW9ucywgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IHlhcm4gfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIE1vbm9yZXBvT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbm9yZXBvT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgcmVzb2x2ZWQgYHBhY2thZ2VNYW5hZ2VyYCB0byBgZGV2RW5naW5lcy5wYWNrYWdlTWFuYWdlcmAgaW4gYHBhY2thZ2UuanNvbmAsIHNldHRpbmcgYG9uRmFpbGAgdG8gYGlnbm9yZWAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFkZFBhY2thZ2VNYW5hZ2VyVG9EZXZFbmdpbmVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93IHRoZSBwcm9qZWN0IHRvIGluY2x1ZGUgYHBlZXJEZXBlbmRlbmNpZXNgIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2AuXG4gICAqIFRoaXMgaXMgbm9ybWFsbHkgb25seSBhbGxvd2VkIGZvciBsaWJyYXJpZXMuIEZvciBhcHBzLCB0aGVyZSdzIG5vIG1lYW5pbmdcbiAgICogZm9yIHNwZWNpZnlpbmcgdGhlc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGlicmFyeURlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY3kgKHBhY2thZ2UpIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gcnVuIGxpZmVjeWNsZSBpbnN0YWxsIHNjcmlwdHMgKGBwcmVpbnN0YWxsYCwgYGluc3RhbGxgLCBgcG9zdGluc3RhbGxgLCBgcHJlcGFyZWApIGR1cmluZyBkZXBlbmRlbmN5IGluc3RhbGxhdGlvbi5cbiAgICogVGhlc2Ugc2NyaXB0cyBjYW4gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSwgbWFraW5nIHRoZW0gYSBjb21tb25cbiAgICogc3VwcGx5LWNoYWluIGF0dGFjayB2ZWN0b3IuIFBhY2thZ2UgbWFuYWdlcnMgYXJlIG1vdmluZyB0b3dhcmRcbiAgICogYmxvY2tpbmcgdGhlbSBieSBkZWZhdWx0IGFuZCByZXF1aXJpbmcgYW4gZXhwbGljaXQgYWxsb3dsaXN0LlxuICAgKiBDb25maWd1cmluZyBgYWxsb3dTY3JpcHRzYCBzZXRzIHVwIHRoYXQgYWxsb3dsaXN0IHNvIHNjcmlwdHMgb25seSBydW5cbiAgICogZm9yIHRoZSBwYWNrYWdlcyB5b3UgaGF2ZSBleHBsaWNpdGx5IHJldmlld2VkIGFuZCB0cnVzdC5cbiAgICpcbiAgICogU3VwcG9ydCBmb3IgdGhpcyBzZXR0aW5nIGRlcGVuZHMgb24gdGhlIGNvbmZpZ3VyZWQgYHBhY2thZ2VNYW5hZ2VyYDpcbiAgICpcbiAgICogLSBgTlBNYDogd3JpdHRlbiB0byB0aGUgbmF0aXZlIGBhbGxvd1NjcmlwdHNgIGZpZWxkIGluIGBwYWNrYWdlLmpzb25gXG4gICAqICAgKHJlcXVpcmVzIG5wbSA+PSAxMS4xNjsgc2VlIGh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY2xpL3YxMS9jb21tYW5kcy9ucG0tYXBwcm92ZS1zY3JpcHRzKS5cbiAgICogLSBgQlVOYDogd3JpdHRlbiB0byB0aGUgbmF0aXZlIGB0cnVzdGVkRGVwZW5kZW5jaWVzYCBmaWVsZCBpblxuICAgKiAgIGBwYWNrYWdlLmpzb25gIChzZWUgaHR0cHM6Ly9idW4uY29tL2RvY3MvcG0vbGlmZWN5Y2xlKS5cbiAgICogLSBgUE5QTWA6IHdyaXR0ZW4gdG8gdGhlIGBvbmx5QnVpbHREZXBlbmRlbmNpZXNgIHNldHRpbmcgaW5cbiAgICogICBgcG5wbS13b3Jrc3BhY2UueWFtbGAgKHNlZSBodHRwczovL3BucG0uaW8vc2V0dGluZ3Mjb25seWJ1aWx0ZGVwZW5kZW5jaWVzKS5cbiAgICogLSBgWUFSTjJgLCBgWUFSTl9CRVJSWWA6IHdyaXR0ZW4gdG8gdGhlIG5hdGl2ZVxuICAgKiAgIGBkZXBlbmRlbmNpZXNNZXRhLjxwa2c+LmJ1aWx0YCBhbGxvd2xpc3QgaW4gYHBhY2thZ2UuanNvbmAsIGNvbWJpbmVkXG4gICAqICAgd2l0aCBgZW5hYmxlU2NyaXB0czogZmFsc2VgIGluIGAueWFybnJjLnltbGAgKHNlZVxuICAgKiAgIGh0dHBzOi8veWFybnBrZy5jb20vZmVhdHVyZXMvc2VjdXJpdHkjcG9zdGluc3RhbGxzKS4gSWYgeW91IHNldFxuICAgKiAgIGB5YXJuQmVycnlPcHRpb25zLnlhcm5SY09wdGlvbnMuZW5hYmxlU2NyaXB0c2AgZXhwbGljaXRseSwgdGhhdCB2YWx1ZVxuICAgKiAgIGlzIHJlc3BlY3RlZCBpbnN0ZWFkIG9mIGJlaW5nIG92ZXJyaWRkZW4uXG4gICAqIC0gYFlBUk5gLCBgWUFSTl9DTEFTU0lDYDogbm90IHN1cHBvcnRlZC4gWWFybiBDbGFzc2ljIGhhcyBubyBuYXRpdmVcbiAgICogICBtZWNoYW5pc20gdG8gYWxsb3dsaXN0IGluc3RhbGwgc2NyaXB0cyBmb3Igc3BlY2lmaWMgZGVwZW5kZW5jaWVzLlxuICAgKiAgIFNldHRpbmcgdGhpcyBvcHRpb24gd2l0aCBvbmUgb2YgdGhlc2UgcGFja2FnZSBtYW5hZ2VycyB0aHJvd3MgYW5cbiAgICogICBlcnJvciBhdCBzeW50aGVzaXMgdGltZS5cbiAgICogQGRlZmF1bHQgLSBhbGwgaW5zdGFsbCBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIHJ1biAocGFja2FnZSBtYW5hZ2VyIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSBhbGxvd1NjcmlwdHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogQSBkaXJlY3Rvcnkgd2hpY2ggd2lsbCBjb250YWluIGJ1aWxkIGFydGlmYWN0cy5cbiAgICogQGRlZmF1bHQgXCJkaXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJ1biBzZWN1cml0eSBhdWRpdCBvbiBkZXBlbmRlbmNpZXMuXG4gICAqIFdoZW4gZW5hYmxlZCwgY3JlYXRlcyBhbiBcImF1ZGl0XCIgdGFzayB0aGF0IGNoZWNrcyBmb3Iga25vd24gc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzXG4gICAqIGluIGRlcGVuZGVuY2llcy4gQnkgZGVmYXVsdCwgcnVucyBkdXJpbmcgZXZlcnkgYnVpbGQgYW5kIGNoZWNrcyBmb3IgXCJoaWdoXCIgc2V2ZXJpdHlcbiAgICogdnVsbmVyYWJpbGl0aWVzIG9yIGFib3ZlIGluIGFsbCBkZXBlbmRlbmNpZXMgKGluY2x1ZGluZyBkZXYgZGVwZW5kZW5jaWVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1ZGl0RGVwcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZWN1cml0eSBhdWRpdCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYXVkaXREZXBzT3B0aW9ucz86IGphdmFzY3JpcHQuQXVkaXRPcHRpb25zO1xuICAvKipcbiAgICogQXV0aG9yJ3MgZS1tYWlsLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRob3IncyBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIElzIHRoZSBhdXRob3IgYW4gb3JnYW5pemF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yT3JnYW5pemF0aW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dGhvcidzIFVSTCAvIFdlYnNpdGUuXG4gICAqL1xuICByZWFkb25seSBhdXRob3JVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgJ2F1dG8gYXBwcm92ZScgd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBnaXRodWIuQXV0b0FwcHJvdmVPcHRpb25zO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhcHByb3ZlIGRlcHMgdXBncmFkZSBQUnMsIGFsbG93aW5nIHRoZW0gdG8gYmUgbWVyZ2VkIGJ5IG1lcmdpZnkgKGlmIGNvbmZpZ3VyZWQpLlxuICAgKiBUaHJvdyBpZiBzZXQgdG8gdHJ1ZSBidXQgYGF1dG9BcHByb3ZlT3B0aW9uc2AgYXJlIG5vdCBkZWZpbmVkLlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BcHByb3ZlVXBncmFkZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYWxsIGV4ZWN1dGFibGVzIHVuZGVyIHRoZSBgYmluYCBkaXJlY3RvcnkgdG8geW91ciBgcGFja2FnZS5qc29uYCBmaWxlIHVuZGVyIHRoZSBgYmluYCBzZWN0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGV0ZWN0QmluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEJpbmFyeSBwcm9ncmFtcyB2ZW5kZWQgd2l0aCB5b3VyIG1vZHVsZS5cbiAgICogWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gYWRkL2N1c3RvbWl6ZSBob3cgYmluYXJpZXMgYXJlIHJlcHJlc2VudGVkIGluXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAsIGJ1dCB1bmxlc3MgYGF1dG9EZXRlY3RCaW5gIGlzIGBmYWxzZWAsIGV2ZXJ5XG4gICAqIGV4ZWN1dGFibGUgZmlsZSB1bmRlciBgYmluYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgYWRkZWQgdG8gdGhpcyBzZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYmluPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFNldHVwIEJpb21lLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWU/OiBib29sZWFuO1xuICAvKipcbiAgICogQmlvbWUgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGJpb21lT3B0aW9ucz86IGphdmFzY3JpcHQuQmlvbWVPcHRpb25zO1xuICAvKipcbiAgICogVGhlIGVtYWlsIGFkZHJlc3MgdG8gd2hpY2ggaXNzdWVzIHNob3VsZCBiZSByZXBvcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Z3NFbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB1cmwgdG8geW91ciBwcm9qZWN0J3MgaXNzdWUgdHJhY2tlci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Z3NVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyB0aGF0IHNob3VsZCBoYXZlIHRoZWlyIGJ1aWxkIHNjcmlwdHMgZW5hYmxlZCBkdXJpbmcgaW5zdGFsbC5cbiAgICogWWFybiBCZXJyeSBkaXNhYmxlcyBidWlsZCBzY3JpcHRzIGJ5IGRlZmF1bHQgKGBlbmFibGVTY3JpcHRzOiBmYWxzZWApLlxuICAgKiBUaGlzIG9wdGlvbiBzZXRzIGBkZXBlbmRlbmNpZXNNZXRhLjxwa2c+LmJ1aWx0OiB0cnVlYCBpbiB0aGUgcm9vdCBgcGFja2FnZS5qc29uYFxuICAgKiBmb3IgZWFjaCBsaXN0ZWQgcGFja2FnZSwgYWxsb3dpbmcgdGhlbSB0byBydW4gdGhlaXIgaW5zdGFsbCBzY3JpcHRzLlxuICAgKiBPbmx5IGhhcyBhbiBlZmZlY3Qgd2hlbiB0aGUgbW9ub3JlcG8gdXNlcyBZYXJuIEJlcnJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRhYmxlUGFja2FnZXM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogV2hlbiBOeCBpcyBlbmFibGVkLCBhbHdheXMgYnVpbGQgdGhlIG1vbm9yZXBvIHVzaW5nIE54XG4gICAqIFdpbGwgYnVpbGQgcHJvamVjdHMgaW4gcGFyYWxsZWwgYW5kIGNhbiBpbXByb3ZlIGJ1aWxkIHBlcmZvcm1hbmNlXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBidWlsZFdpdGhOeD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgZm9yIGJ1aWxkaW5nIFBScy5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3c/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgUFIgYnVpbGQgd29ya2Zsb3cuXG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93T3B0aW9ucz86IGphdmFzY3JpcHQuQnVpbGRXb3JrZmxvd09wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY2llcyB0byBidW5kbGUgaW50byB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgbW9kdWxlcyB3aWxsIGJlXG4gICAqIGFkZGVkIGJvdGggdG8gdGhlIGBkZXBlbmRlbmNpZXNgIHNlY3Rpb24gYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYCBzZWN0aW9uIG9mXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYHBucG0gYWRkYCBvciBgbnBtIGlgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdXIgYHBhY2thZ2UuanNvbmAgd2lsbCBldmVudHVhbGx5IGluY2x1ZGUuXG4gICAqL1xuICByZWFkb25seSBidW5kbGVkRGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgQnVuZGxlcmAuXG4gICAqL1xuICByZWFkb25seSBidW5kbGVyT3B0aW9ucz86IGphdmFzY3JpcHQuQnVuZGxlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBCdW4gdG8gdXNlIGlmIHVzaW5nIEJ1biBhcyBhIHBhY2thZ2UgbWFuYWdlci5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVuVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEVuYWJsZSBHaXRIdWIgQWN0aW9ucyBleHByZXNzaW9ucyB2YWxpZGF0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjaGVja0doYUV4cHJlc3Npb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB3aGljaCBsaWNlbnNlcyBzaG91bGQgYmUgZGVlbWVkIGFjY2VwdGFibGUgZm9yIHVzZSBieSBkZXBlbmRlbmNpZXMuXG4gICAqIFRoaXMgc2V0dGluZyB3aWxsIGNhdXNlIHRoZSBidWlsZCB0byBmYWlsLCBpZiBhbnkgcHJvaGliaXRlZCBvciBub3QgYWxsb3dlZCBsaWNlbnNlcyBhcmVzIGVuY291bnRlcmVkLlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpY2Vuc2UgY2hlY2tzIGFyZSBydW4gZHVyaW5nIHRoZSBidWlsZCBhbmQgYWxsIGxpY2Vuc2VzIHdpbGwgYmUgYWNjZXB0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrTGljZW5zZXM/OiBqYXZhc2NyaXB0LkxpY2Vuc2VDaGVja2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIEFkZCBhIGBjbG9iYmVyYCB0YXNrIHdoaWNoIHJlc2V0cyB0aGUgcmVwbyB0byBvcmlnaW4uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSwgYnV0IGZhbHNlIGZvciBzdWJwcm9qZWN0c1xuICAgKi9cbiAgcmVhZG9ubHkgY2xvYmJlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBucG0gcGFja2FnZXMgdXNpbmcgQVdTIENvZGVBcnRpZmFjdC5cbiAgICogVGhpcyBpcyByZXF1aXJlZCBpZiBwdWJsaXNoaW5nIHBhY2thZ2VzIHRvLCBvciBpbnN0YWxsaW5nIHNjb3BlZCBwYWNrYWdlcyBmcm9tIEFXUyBDb2RlQXJ0aWZhY3RcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBqYXZhc2NyaXB0LkNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgc3RlcCBmb3Igc2VuZGluZyBjb2RlIGNvdmVyYWdlIG1ldHJpY3MgdG8gaHR0cHM6Ly9jb2RlY292LmlvLyBVc2VzIGNvZGVjb3YvY29kZWNvdi1hY3Rpb25AdjUgQnkgZGVmYXVsdCwgT0lEQyBhdXRoIGlzIHVzZWQuIEFsdGVybmF0aXZlbHkgYSB0b2tlbiBjYW4gYmUgcHJvdmlkZWQgdmlhIGBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUNvdj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuLlxuICAgKiBAZGVmYXVsdCAtIE9JREMgYXV0aCBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292VG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbW1pdCB0aGUgbWFuYWdlZCBmaWxlcyBieSBkZWZhdWx0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjb21taXRHZW5lcmF0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogUGFja2FnZSBuYW1lcyB0aGF0IG11c3QgdXNlIGEgY29uc2lzdGVudCB2ZXJzaW9uIGFjcm9zcyBhbGwgd29ya3NwYWNlcy5cbiAgICogVXNlcyBZYXJuIEJlcnJ5IGNvbnN0cmFpbnRzIHRvIGVuZm9yY2UgdGhhdCBhbGwgd29ya3NwYWNlcyB1c2UgdGhlIHNhbWUgdmVyc2lvblxuICAgKiBvZiB0aGUgbGlzdGVkIHBhY2thZ2VzLiBUaGUgdmVyc2lvbiBpcyByZWFkIGZyb20gdGhlIHJvb3QgYGRldkRlcGVuZGVuY2llc2AuXG4gICAqIE9ubHkgaGFzIGFuIGVmZmVjdCB3aGVuIHRoZSBtb25vcmVwbyB1c2VzIFlhcm4gQmVycnkuXG4gICAqL1xuICByZWFkb25seSBjb25zaXN0ZW50VmVyc2lvbnM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIFRoaXMgdmFsdWUgaXMgb25seSB1c2VkIGlmIHRoZSBzZWxlY3RlZCBsaWNlbnNlIHRleHQgY29udGFpbnMgdGhlXG4gICAqIGAkY29weXJpZ2h0X293bmVyYCBwbGFjZWhvbGRlci4gRm9yIGV4YW1wbGUsIGl0IGhhcyBubyBlZmZlY3Qgb24gdGhlXG4gICAqIE1QTC0yLjAgbGljZW5zZSB0ZXh0LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBhdXRob3JOYW1lIG9yIFwiXCIgaWYgYGF1dGhvck5hbWVgIGlzIHVuZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodE93bmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvcHlyaWdodCB5ZWFycyB0byBwdXQgaW4gdGhlIExJQ0VOU0UgZmlsZS5cbiAgICogVGhpcyB2YWx1ZSBpcyBvbmx5IHVzZWQgaWYgdGhlIHNlbGVjdGVkIGxpY2Vuc2UgdGV4dCBjb250YWlucyB0aGVcbiAgICogYCRjb3B5cmlnaHRfcGVyaW9kYCBwbGFjZWhvbGRlci4gRm9yIGV4YW1wbGUsIGl0IGhhcyBubyBlZmZlY3Qgb24gdGhlXG4gICAqIE1QTC0yLjAgbGljZW5zZSB0ZXh0LlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgYGRlZHVwZWAgdGFzayB0aGF0IGRlZHVwbGljYXRlcyBwcm9qZWN0IGRlcGVuZGVuY2llcy5cbiAgICogRGVkdXBsaWNhdGlvbiBwcmV2ZW50cyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBwYWNrYWdlIGZyb20gYmVpbmdcbiAgICogaW5zdGFsbGVkLCBpZiBhIHNpbmdsZSB2ZXJzaW9uIGNhbiBzYXRpc2Z5IGFsbCByZXF1ZXN0ZWQgdmVyc2lvbiByYW5nZXMuXG4gICAqIFRoaXMgcHJldmVudHMgdmVyc2lvbiBwcm9saWZlcmF0aW9uIGFuZCByZWR1Y2VzIHRoZSBzaXplIG9mIHRoZSBkZXBlbmRlbmN5XG4gICAqIHRyZWUuXG4gICAqXG4gICAqIFRoZSBiZWhhdmlvciBkZXBlbmRzIG9uIHRoZSBwYWNrYWdlIG1hbmFnZXI6XG4gICAqIC0gbnBtOiBydW5zIGBucG0gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLlxuICAgKiAtIHBucG06IHJ1bnMgYHBucG0gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLlxuICAgKiAtIFlhcm4gQmVycnk6IHJ1bnMgYHlhcm4gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLiBJZlxuICAgKiAgIGB5YXJuQmVycnlPcHRpb25zLmRlZHVwZVBhY2thZ2VzYCBpcyBzZXQsIG9ubHkgdGhlIGxpc3RlZCBwYWNrYWdlcyBhcmVcbiAgICogICBkZWR1cGxpY2F0ZWQuXG4gICAqIC0gWWFybiBDbGFzc2ljOiBgeWFybiBpbnN0YWxsYCBhbHJlYWR5IGRlZHVwbGljYXRlcywgc28gdGhlIHRhc2sgb25seVxuICAgKiAgIHByaW50cyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UuXG4gICAqIC0gQnVuOiBub3Qgc3VwcG9ydGVkLCBlbmFibGluZyB0aGlzIG9wdGlvbiB0aHJvd3MgYW4gZXJyb3IuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2UsIHVubGVzcyBgeWFybkJlcnJ5T3B0aW9ucy5kZWR1cGVQYWNrYWdlc2AgaXMgc2V0XG4gICAqL1xuICByZWFkb25seSBkZWR1cGVEZXBzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtYWluIHJlbGVhc2UgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcIm1haW5cIlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlbGVhc2VCcmFuY2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGRlbGV0ZSBsb2NrZmlsZXMgZnJvbSBwYWNrYWdlIG1hbmFnZXJzIHRoYXQgYXJlIG5vdCB0aGUgYWN0aXZlIG9uZS5cbiAgICogT25seSB0cmlnZ2VyZWQgd2hlbiB0aGUgbG9ja2ZpbGUgZm9yIHRoZSBjb25maWd1cmVkIHBhY2thZ2VcbiAgICogbWFuYWdlciBhbHJlYWR5IGV4aXN0cy5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiBtaWdyYXRpbmcgYmV0d2VlbiBwYWNrYWdlIG1hbmFnZXJzIHRvIGF2b2lkIGNvbmZsaWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlT3JwaGFuZWRMb2NrRmlsZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIGRlcGVuZGFib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIENhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRlcHNVcGdyYWRlYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZGVwZW5kYWJvdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3RPcHRpb25zPzogZ2l0aHViLkRlcGVuZGFib3RPcHRpb25zO1xuICAvKipcbiAgICogUnVudGltZSBkZXBlbmRlbmNpZXMgb2YgdGhpcyBtb2R1bGUuXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYHBucG0gYWRkYCBvciBgbnBtIGlgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdXIgYHBhY2thZ2UuanNvbmAgd2lsbCBldmVudHVhbGx5IGluY2x1ZGUuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBkZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFVzZSB0YXNrcyBhbmQgZ2l0aHViIHdvcmtmbG93cyB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQ2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGVwZW5kYWJvdGAuXG4gICAqIEBkZWZhdWx0IC0gYHRydWVgIGZvciByb290IHByb2plY3RzLCBgZmFsc2VgIGZvciBzdWJwcm9qZWN0c1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYFVwZ3JhZGVEZXBlbmRlbmNpZXNgLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGVPcHRpb25zPzogamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBpcyBqdXN0IGEgc3RyaW5nIHRoYXQgaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQgdGhlIHB1cnBvc2Ugb2YgdGhlIHBhY2thZ2UuXG4gICAqIEl0IGNhbiBiZSB1c2VkIHdoZW4gc2VhcmNoaW5nIGZvciBwYWNrYWdlcyBpbiBhIHBhY2thZ2UgbWFuYWdlciBhcyB3ZWxsLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgVlNDb2RlIGRldmVsb3BtZW50IGVudmlyb25tZW50ICh1c2VkIGZvciBHaXRIdWIgQ29kZXNwYWNlcykuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXZDb250YWluZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogQnVpbGQgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgZGVwZW5kZW5jaWVzIHdpbGwgb25seSBiZVxuICAgKiBhdmFpbGFibGUgaW4geW91ciBidWlsZCBlbnZpcm9ubWVudCBidXQgd2lsbCBub3QgYmUgZmV0Y2hlZCB3aGVuIHRoaXNcbiAgICogbW9kdWxlIGlzIGNvbnN1bWVkLlxuICAgKlxuICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAqIGBleHByZXNzYCkuIFRoaXMgd2lsbCBiZWhhdmUgc2ltaWxhciB0byBgcG5wbSBhZGRgIG9yIGBucG0gaW5zdGFsbGAgaW4gdGhlXG4gICAqIHNlbnNlIHRoYXQgaXQgd2lsbCBhZGQgdGhlIG1vZHVsZSBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBgcGFja2FnZS5qc29uYFxuICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgKiB0aGUgc2FtZSBzeW50YXggcGFzc2VkIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpYCAoZS5nLiBgZXhwcmVzc0BeMmApIGFuZFxuICAgKiB0aGlzIHdpbGwgYmUgd2hhdCB5b3VyIGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2RGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIGBkZXZFbmdpbmVzYCBmaWVsZCBpbiBgcGFja2FnZS5qc29uYC5cbiAgICogVGhlIGBkZXZFbmdpbmVzLnBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IHBvcHVsYXRlZCBiYXNlZCBvblxuICAgKiB0aGUgcmVzb2x2ZWQgYHBhY2thZ2VNYW5hZ2VyYCB2YWx1ZS4gQW55IGZpZWxkcyBwcm92aWRlZCBoZXJlIGFyZSBtZXJnZWRcbiAgICogd2l0aCB0aGUgYXV0by1wb3B1bGF0ZWQgYHBhY2thZ2VNYW5hZ2VyYCBlbnRyeS5cbiAgICovXG4gIHJlYWRvbmx5IGRldkVuZ2luZXM/OiBqYXZhc2NyaXB0LkRldkVuZ2luZXM7XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBgdHNjb25maWcuanNvbmAgZmlsZSAodXNlZCBieSBqc2lpIHByb2plY3RzIHNpbmNlIHRzY29uZmlnLmpzb24gaXMgZ2VuZXJhdGVkIGJ5IHRoZSBqc2lpIGNvbXBpbGVyKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBkZXZlbG9wbWVudCB0c2NvbmZpZyBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnRGV2PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvY2dlbiBieSBUeXBlZG9jLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvY3MgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImRvY3NcIlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIE1vZHVsZSBlbnRyeXBvaW50IChgbWFpbmAgaW4gYHBhY2thZ2UuanNvbmApLlxuICAgKiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIG5vdCBpbmNsdWRlIGBtYWluYCBpbiB5b3VyIHBhY2thZ2UuanNvblxuICAgKiBAZGVmYXVsdCBcImxpYi9pbmRleC5qc1wiXG4gICAqL1xuICByZWFkb25seSBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIC5kLnRzIGZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBAZGVmYXVsdCAtIC5kLnRzIGZpbGUgZGVyaXZlZCBmcm9tIHRoZSBwcm9qZWN0J3MgZW50cnlwb2ludCAodXN1YWxseSBsaWIvaW5kZXguZC50cylcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnRUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIEVzbGludCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIG9waW5pb25hdGVkIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50T3B0aW9ucz86IGphdmFzY3JpcHQuRXNsaW50T3B0aW9ucztcbiAgLyoqXG4gICAqIEVuYWJsZSBHaXRIdWIgaW50ZWdyYXRpb24uXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBnaXRodWI/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBHaXRIdWJPcHRpb25zXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPcHRpb25zPzogZ2l0aHViLkdpdEh1Yk9wdGlvbnM7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudHJpZXMgdG8gLmdpdGlnbm9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGdpdGlnbm9yZT86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIC5naXRpZ25vcmUgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGdpdElnbm9yZU9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgZ2l0LlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0T3B0aW9ucz86IEdpdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBBZGQgYSBHaXRwb2QgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBnaXRwb2Q/OiBib29sZWFuO1xuICAvKipcbiAgICogUGFja2FnZSdzIEhvbWVwYWdlIC8gV2Vic2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGhvbWVwYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlSZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEtleXdvcmRzIHRvIGluY2x1ZGUgaW4gYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBrZXl3b3Jkcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0ICBhcnRpZmFjdHMgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgXCJsaWJcIlxuICAgKi9cbiAgcmVhZG9ubHkgbGliZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSdzIFNQRFggaWRlbnRpZmllci5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3RyZWUvbWFpbi9saWNlbnNlLXRleHQgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGljZW5zZXMuXG4gICAqIFVzZSB0aGUgYGxpY2Vuc2VkYCBvcHRpb24gaWYgeW91IHdhbnQgdG8gbm8gbGljZW5zZSB0byBiZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IFwiQXBhY2hlLTIuMFwiXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgbGljZW5zZSBzaG91bGQgYmUgYWRkZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBsb2dnaW5nIG9wdGlvbnMgc3VjaCBhcyB2ZXJib3NpdHkuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nPzogTG9nZ2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZSBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogSWYgdGhpcyBpcyBzcGVjaWZpZWQsIHdlIGJ1bXAgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbWFqb3IgdmVyc2lvbiBsaW5lLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBnbG9iYWwgbGF0ZXN0IHZlcnNpb24uXG4gICAqIEBkZWZhdWx0IC0gTWFqb3IgdmVyc2lvbiBpcyBub3QgZW5mb3JjZWQuXG4gICAqL1xuICByZWFkb25seSBtYWpvclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBub2RlIHZlcnNpb24gc3VwcG9ydGVkIGJ5IHRoaXMgcGFja2FnZS4gTW9zdCBwcm9qZWN0cyBzaG91bGQgbm90IHVzZSB0aGlzIG9wdGlvbi5cbiAgICogVGhlIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwYWNrYWdlIGlzIGluY29tcGF0aWJsZSB3aXRoIGFueSBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBUaGlzIHJlcXVpcmVtZW50IGlzIGVuZm9yY2VkIHZpYSB0aGUgZW5naW5lcyBmaWVsZC5cbiAgICpcbiAgICogWW91IHdpbGwgbm9ybWFsbHkgbm90IG5lZWQgdG8gc2V0IHRoaXMgb3B0aW9uLlxuICAgKiBDb25zaWRlciB0aGlzIG9wdGlvbiBvbmx5IGlmIHlvdXIgcGFja2FnZSBpcyBrbm93biB0byBub3QgZnVuY3Rpb24gd2l0aCBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBAZGVmYXVsdCAtIG5vIG1heGltdW0gdmVyc2lvbiBpcyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNaW5pbWFsIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHNldCB0byAxLCBhcyBicmVha2luZyBjaGFuZ2VzIGJlZm9yZSB0aGUgMS54IG1ham9yXG4gICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogTWluaW11bSBOb2RlLmpzIHZlcnNpb24gdG8gcmVxdWlyZSB2aWEgcGFja2FnZS5qc29uIGBlbmdpbmVzYCAoaW5jbHVzaXZlKS5cbiAgICpcbiAgICogT25seSBzZXQgdGhpcyBpZiB5b3VyIHBhY2thZ2Ugd2lsbCBub3Qgd29yayBwcm9wZXJseSBvbiBzcGVjaWZpYyAob2xkZXI/KVxuICAgKiBOb2RlIHZlcnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIFwiZW5naW5lc1wiIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdC5cbiAgICogQGRlZmF1bHQgJEJBU0VESVJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBjb250cm9sIHRoZSBuZXh0IHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogSWYgcHJlc2VudCwgdGhpcyBzaGVsbCBjb21tYW5kIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgYnVtcCBpcyBleGVjdXRlZCwgYW5kXG4gICAqIGl0IGRldGVybWluZXMgd2hhdCB2ZXJzaW9uIHRvIHJlbGVhc2UuIEl0IHdpbGwgYmUgZXhlY3V0ZWQgaW4gdGhlIGZvbGxvd2luZ1xuICAgKiBlbnZpcm9ubWVudDpcbiAgICpcbiAgICogLSBXb3JraW5nIGRpcmVjdG9yeTogdGhlIHByb2plY3QgZGlyZWN0b3J5LlxuICAgKiAtIGAkVkVSU0lPTmA6IHRoZSBjdXJyZW50IHZlcnNpb24uIExvb2tzIGxpa2UgYDEuMi4zYC5cbiAgICogLSBgJExBVEVTVF9UQUdgOiB0aGUgbW9zdCByZWNlbnQgdGFnLiBMb29rcyBsaWtlIGBwcmVmaXgtdjEuMi4zYCwgb3IgbWF5IGJlIHVuc2V0LlxuICAgKiAtIGAkU1VHR0VTVEVEX0JVTVBgOiB0aGUgc3VnZ2VzdGVkIGJ1bXAgYWN0aW9uIGJhc2VkIG9uIGNvbW1pdHMuIE9uZSBvZiBgbWFqb3J8bWlub3J8cGF0Y2h8bm9uZWAuXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICpcbiAgICogLSBOb3RoaW5nOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gY29tbWl0IGhpc3RvcnkuXG4gICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgKiAtIGBtYWpvcnxtaW5vcnxwYXRjaGA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBudW1iZXJcbiAgICogICB3aXRoIHRoZSBpbmRpY2F0ZWQgY29tcG9uZW50IGJ1bXBlZC5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYDsgdGhlIGludm9rZWRcbiAgICogc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIGVmZmVjdHMgb2YgYG1pbk1ham9yVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogQWNjZXNzIGxldmVsIG9mIHRoZSBucG0gcGFja2FnZS5cbiAgICogQGRlZmF1bHQgLSBmb3Igc2NvcGVkIHBhY2thZ2VzIChlLmcuIGBmb29AYmFyYCksIHRoZSBkZWZhdWx0IGlzXG5gTnBtQWNjZXNzLlJFU1RSSUNURURgLCBmb3Igbm9uLXNjb3BlZCBwYWNrYWdlcywgdGhlIGRlZmF1bHQgaXNcbmBOcG1BY2Nlc3MuUFVCTElDYC5cbiAgICovXG4gIHJlYWRvbmx5IG5wbUFjY2Vzcz86IGphdmFzY3JpcHQuTnBtQWNjZXNzO1xuICAvKipcbiAgICogVGhlIG5wbURpc3RUYWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogVG8gc2V0IHRoZSBucG0gZGlzdC10YWcgZm9yIHJlbGVhc2UgYnJhbmNoZXMsIHNldCB0aGUgYG5wbURpc3RUYWdgIHByb3BlcnR5XG4gICAqIGZvciBlYWNoIGJyYW5jaC5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtRGlzdFRhZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgYW4gLm5wbWlnbm9yZSBmaWxlLiBOb3JtYWxseSB0aGlzIGlzIG9ubHkgbmVlZGVkIGZvciBsaWJyYXJpZXMgdGhhdCBhcmUgcGFja2FnZWQgYXMgdGFyYmFsbHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG5wbWlnbm9yZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAubnBtaWdub3JlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBucG1JZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBTaG91bGQgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGJlIGdlbmVyYXRlZCB3aGVuIHRoZSBwYWNrYWdlIGlzIHB1Ymxpc2hlZC5cbiAgICogQSBzdXBwb3J0ZWQgcGFja2FnZSBtYW5hZ2VyIGlzIHJlcXVpcmVkIHRvIHB1Ymxpc2ggYSBwYWNrYWdlIHdpdGggbnBtIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBhbmRcbiAgICogeW91IHdpbGwgbmVlZCB0byB1c2UgYSBzdXBwb3J0ZWQgQ0kvQ0QgcHJvdmlkZXIuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcHJvamVuIGBSZWxlYXNlYCBhbmQgYFB1Ymxpc2hlcmAgY29tcG9uZW50cyBhcmUgdXNpbmcgYHB1YmxpYmAgdG8gcHVibGlzaCBwYWNrYWdlcyxcbiAgICogd2hpY2ggaXMgdXNpbmcgbnBtIGludGVybmFsbHkgYW5kIHN1cHBvcnRzIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBpbmRlcGVuZGVudGx5IG9mIHRoZSBwYWNrYWdlIG1hbmFnZXIgdXNlZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGZvciBwdWJsaWMgcGFja2FnZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtUHJvdmVuYW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBVUkwgb2YgdGhlIG5wbSBwYWNrYWdlIHJlZ2lzdHJ5LlxuICAgKiBNdXN0IGJlIGEgVVJMIChlLmcuIHN0YXJ0IHdpdGggXCJodHRwczovL1wiIG9yIFwiaHR0cDovL1wiKVxuICAgKiBAZGVmYXVsdCBcImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnXCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbVJlZ2lzdHJ5VXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogR2l0SHViIHNlY3JldCB3aGljaCBjb250YWlucyB0aGUgTlBNIHRva2VuIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IFwiTlBNX1RPS0VOXCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRva2VuU2VjcmV0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlIHRydXN0ZWQgcHVibGlzaGluZyBmb3IgcHVibGlzaGluZyB0byBucG1qcy5jb20gTmVlZHMgdG8gYmUgcHJlLWNvbmZpZ3VyZWQgb24gbnBtLmpzIHRvIHdvcmsuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSB0aGUgaW50ZWdyYXRpb24gd2l0aCBOeCBpbiB0aGUgbW9ub3JlcG9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG54PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC5cbiAgICogUmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnksIGFsbCBmaWxlcyBhcmUgc3ludGhlc2l6ZWQuXG4gICAqXG4gICAqIElmIHRoaXMgcHJvamVjdCBoYXMgYSBwYXJlbnQsIHRoaXMgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgICogZGlyZWN0b3J5IGFuZCBpdCBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHBhcmVudCBvciBhbnkgb2YgaXQncyBvdGhlclxuICAgKiBzdWJwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgXCIuXCJcbiAgICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgYSBgcGFja2FnZWAgdGFzayB0aGF0IHdpbGwgcHJvZHVjZSBhbiBucG0gdGFyYmFsbCB1bmRlciB0aGUgYXJ0aWZhY3RzIGRpcmVjdG9yeSAoZS5nLiBgZGlzdGApLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBcIm5hbWVcIiBpbiBwYWNrYWdlLmpzb24uXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gcHJvamVjdCBuYW1lXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwYXJlbnQgcHJvamVjdCwgaWYgdGhpcyBwcm9qZWN0IGlzIHBhcnQgb2YgYSBiaWdnZXIgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudD86IFByb2plY3Q7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgcGVlckRlcHNgLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogamF2YXNjcmlwdC5QZWVyRGVwZW5kZW5jeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBQZWVyIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBtb2R1bGUuXG4gICAqIERlcGVuZGVuY2llcyBsaXN0ZWQgaGVyZSBhcmUgcmVxdWlyZWQgdG9cbiAgICogYmUgaW5zdGFsbGVkIChhbmQgc2F0aXNmaWVkKSBieSB0aGUgX2NvbnN1bWVyXyBvZiB0aGlzIGxpYnJhcnkuIFVzaW5nIHBlZXJcbiAgICogZGVwZW5kZW5jaWVzIGFsbG93cyB5b3UgdG8gZW5zdXJlIHRoYXQgb25seSBhIHNpbmdsZSBtb2R1bGUgb2YgYSBjZXJ0YWluXG4gICAqIGxpYnJhcnkgZXhpc3RzIGluIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlIG9mIHlvdXIgY29uc3VtZXJzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgcHJpb3IgdG8gbnBtQDcsIHBlZXIgZGVwZW5kZW5jaWVzIGFyZSBfbm90XyBhdXRvbWF0aWNhbGx5XG4gICAqIGluc3RhbGxlZCwgd2hpY2ggbWVhbnMgdGhhdCBhZGRpbmcgcGVlciBkZXBlbmRlbmNpZXMgdG8gYSBsaWJyYXJ5IHdpbGwgYmUgYVxuICAgKiBicmVha2luZyBjaGFuZ2UgZm9yIHlvdXIgY3VzdG9tZXJzLlxuICAgKlxuICAgKiBVbmxlc3MgYHBlZXJEZXBlbmRlbmN5T3B0aW9ucy5waW5uZWREZXZEZXBlbmRlbmN5YCBpcyBkaXNhYmxlZCAoaXQgaXNcbiAgICogZW5hYmxlZCBieSBkZWZhdWx0KSwgcHJvamVuIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSBkZXYgZGVwZW5kZW5jeSB3aXRoIGFcbiAgICogcGlubmVkIHZlcnNpb24gZm9yIGVhY2ggcGVlciBkZXBlbmRlbmN5LiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgeW91IGJ1aWxkICZcbiAgICogdGVzdCB5b3VyIG1vZHVsZSBhZ2FpbnN0IHRoZSBsb3dlc3QgcGVlciB2ZXJzaW9uIHJlcXVpcmVkLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgcGVlckRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcG5wbS5cbiAgICogQGRlZmF1bHQgLSBhbGwgZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwbnBtT3B0aW9ucz86IGphdmFzY3JpcHQuUG5wbU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBQTlBNIHRvIHVzZSBpZiB1c2luZyBQTlBNIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcIjEwLjMzLjBcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG5wbVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdGVwcyB0byBleGVjdXRlIGFmdGVyIGJ1aWxkIGFzIHBhcnQgb2YgdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBCdW1wIHZlcnNpb25zIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoIGFzIHByZS1yZWxlYXNlcyAoZS5nLiBcImJldGFcIiwgXCJhbHBoYVwiLCBcInByZVwiKS5cbiAgICogQGRlZmF1bHQgLSBub3JtYWwgc2VtYW50aWMgdmVyc2lvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXR1cCBwcmV0dGllci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByZXR0aWVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByZXR0aWVyIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcmV0dGllck9wdGlvbnM/OiBqYXZhc2NyaXB0LlByZXR0aWVyT3B0aW9ucztcbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcHJvamVjdCB0cmVlIGZpbGUgKGAucHJvamVuL3RyZWUuanNvbmApIHRoYXQgc2hvd3MgYWxsIGNvbXBvbmVudHMgYW5kIHRoZWlyIHJlbGF0aW9uc2hpcHMuIFVzZWZ1bCBmb3IgdW5kZXJzdGFuZGluZyB5b3VyIHByb2plY3Qgc3RydWN0dXJlIGFuZCBkZWJ1Z2dpbmcuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0VHJlZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2hlbGwgY29tbWFuZCB0byB1c2UgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gQ0xJLlxuICAgKiBDYW4gYmUgdXNlZCB0byBjdXN0b21pemUgaW4gc3BlY2lhbCBlbnZpcm9ubWVudHMuXG4gICAqIEBkZWZhdWx0IFwibnB4IHByb2plblwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSB1c2UgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gbmFtZWQgUFJPSkVOX0dJVEhVQl9UT0tFTlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuQ3JlZGVudGlhbHM/OiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHM7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkRldkRlcGVuZGVuY3k/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qcyAoaW4gSmF2YVNjcmlwdCkuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzIGdlbmVyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBwcm9qZW5yY0pzb24gaXMgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnM/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qc29uIChpbiBKU09OKS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanNvbiBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uT3B0aW9ucz86IFByb2plbnJjSnNvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzT3B0aW9ucz86IGphdmFzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVXNlIFR5cGVTY3JpcHQgZm9yIHlvdXIgcHJvamVucmMgZmlsZSAoYC5wcm9qZW5yYy50c2ApLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMudHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IHR5cGVzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVmVyc2lvbiBvZiBwcm9qZW4gdG8gaW5zdGFsbC5cbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5zdGVhZCBvZiBhY3R1YWxseSBwdWJsaXNoaW5nIHRvIHBhY2thZ2UgbWFuYWdlcnMsIGp1c3QgcHJpbnQgdGhlIHB1Ymxpc2hpbmcgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hEcnlSdW4/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lIHB1Ymxpc2hpbmcgdGFza3MgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgbWFudWFsbHkgYXMgd2VsbCBhcyB3b3JrZmxvd3MuXG4gICAqIE5vcm1hbGx5LCBwdWJsaXNoaW5nIG9ubHkgaGFwcGVucyB3aXRoaW4gYXV0b21hdGVkIHdvcmtmbG93cy4gRW5hYmxlIHRoaXNcbiAgICogaW4gb3JkZXIgdG8gY3JlYXRlIGEgcHVibGlzaGluZyB0YXNrIGZvciBlYWNoIHB1Ymxpc2hpbmcgYWN0aXZpdHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVGFza3M/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5jbHVkZSBhIEdpdEh1YiBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBjb250ZW50XG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIFJFQURNRSBzZXR1cC5cbiAgICogQGRlZmF1bHQgLSB7IGZpbGVuYW1lOiAnUkVBRE1FLm1kJywgY29udGVudHM6ICcjIHJlcGxhY2UgdGhpcycgfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG4gIC8qKlxuICAgKiBGaW5kIGNvbW1pdHMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCByZWxlYXNhYmxlIFVzZWQgdG8gZGVjaWRlIGlmIGEgcmVsZWFzZSBpcyByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFkZCByZWxlYXNlIHdvcmtmbG93cyBmb3IgdGhpcyByZXBvc2l0b3J5XG4gICAqIEBkZWZhdWx0IC0gTm8gcmVsZWFzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgcmVsZWFzZSBicmFuY2hlcy5cbiAgICogQSB3b3JrZmxvdyB3aWxsIGJlIGNyZWF0ZWQgZm9yIGVhY2hcbiAgICogcmVsZWFzZSBicmFuY2ggd2hpY2ggd2lsbCBwdWJsaXNoIHJlbGVhc2VzIGZyb20gY29tbWl0cyBpbiB0aGlzIGJyYW5jaC5cbiAgICogRWFjaCByZWxlYXNlIGJyYW5jaCBfbXVzdF8gYmUgYXNzaWduZWQgYSBtYWpvciB2ZXJzaW9uIG51bWJlciB3aGljaCBpcyB1c2VkXG4gICAqIHRvIGVuZm9yY2UgdGhhdCB2ZXJzaW9ucyBwdWJsaXNoZWQgZnJvbSB0aGF0IGJyYW5jaCBhbHdheXMgdXNlIHRoYXQgbWFqb3JcbiAgICogdmVyc2lvbi4gSWYgbXVsdGlwbGUgYnJhbmNoZXMgYXJlIHVzZWQsIHRoZSBgbWFqb3JWZXJzaW9uYCBmaWVsZCBtdXN0IGFsc29cbiAgICogYmUgcHJvdmlkZWQgZm9yIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGJyYW5jaGVzIGFyZSB1c2VkIGZvciByZWxlYXNlLiB5b3UgY2FuIHVzZVxuYGFkZEJyYW5jaCgpYCB0byBhZGQgYWRkaXRpb25hbCBicmFuY2hlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIHJlbGVhc2UuQnJhbmNoT3B0aW9ucz47XG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGFuIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXAgdG8gdGhlIHJlbGVhc2VcbiAgICogb3IgbGltaXQgd2hvIGNhbiBpbml0aWF0ZSBhIHJlbGVhc2UgdGhyb3VnaCBlbnZpcm9ubWVudCBwcm90ZWN0aW9uIHJ1bGVzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIGFydGlmYWN0cyBhcmUgcmVsZWFzZWQsIHRoZSBlbnZpcm9ubWVudCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAgICogb24gYSBwZXIgYXJ0aWZhY3QgYmFzaXMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZCwgdW5sZXNzIHNldCBhdCB0aGUgYXJ0aWZhY3QgbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VFbnZpcm9ubWVudD86IHN0cmluZztcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gYXBwbHkgdG8gaXNzdWVzIGluZGljYXRpbmcgcHVibGlzaCBmYWlsdXJlcy5cbiAgICogT25seSBhcHBsaWVzIGlmIGByZWxlYXNlRmFpbHVyZUlzc3VlYCBpcyB0cnVlLlxuICAgKiBAZGVmYXVsdCBcImZhaWxlZC1yZWxlYXNlXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWVMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSByZWxlYXNlIHdvcmtmbG93c1xuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZU9wdGlvbnM/OiB5YXJuLk1vbm9yZXBvUmVsZWFzZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy4gVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmcgdmVyc2lvbiBudW1iZXJzLlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSByZWxlYXNlIHRvIG5wbSB3aGVuIG5ldyB2ZXJzaW9ucyBhcmUgaW50cm9kdWNlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUb05wbT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSB0cmlnZ2VyIHRvIHVzZS5cbiAgICogQGRlZmF1bHQgLSBDb250aW51b3VzIHJlbGVhc2VzIChgUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUcmlnZ2VyPzogcmVsZWFzZS5SZWxlYXNlVHJpZ2dlcjtcbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgcmVsZWFzZSB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgXCJyZWxlYXNlXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvd05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNldCBvZiB3b3JrZmxvdyBzdGVwcyB0byBleGVjdXRlIGluIG9yZGVyIHRvIHNldHVwIHRoZSB3b3JrZmxvdyBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dTZXR1cFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIFVzZSByZW5vdmF0ZWJvdCB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbm92YXRlYm90PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHJlbm92YXRlYm90LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVub3ZhdGVib3RPcHRpb25zPzogUmVub3ZhdGVib3RPcHRpb25zO1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgaXMgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBhY3R1YWwgY29kZSBmb3IgeW91ciBwYWNrYWdlIGxpdmVzLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtcmVwb3NpdG9yeVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHRoZSBwYWNrYWdlLmpzb24gZm9yIHlvdXIgcGFja2FnZSBpcyBub3QgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IChmb3IgZXhhbXBsZSBpZiBpdCBpcyBwYXJ0IG9mIGEgbW9ub3JlcG8pLCB5b3UgY2FuIHNwZWNpZnkgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBpdCBsaXZlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgVHlwZVNjcmlwdCBydW5uZXIgdG8gdXNlIGZvciBleGVjdXRpbmcgVHlwZVNjcmlwdCBmaWxlcy5cbiAgICogVGhpcyBpcyBhIHByb2plY3QtbGV2ZWwgc2V0dGluZyB0aGF0IGNvbXBvbmVudHMgKGUuZy4gcHJvamVucmMpIHdpbGxcbiAgICogdXNlIGFzIHRoZWlyIGRlZmF1bHQgcnVubmVyLlxuICAgKiBAZGVmYXVsdCBUeXBlU2NyaXB0UnVubmVyLnRzTm9kZSgpXG4gICAqL1xuICByZWFkb25seSBydW5uZXI/OiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRSdW5uZXI7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBwcml2YXRlbHkgaG9zdGVkIHNjb3BlZCBwYWNrYWdlcy5cbiAgICogQGRlZmF1bHQgLSBmZXRjaCBhbGwgc2NvcGVkIHBhY2thZ2VzIGZyb20gdGhlIHB1YmxpYyBucG0gcmVnaXN0cnlcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlZFBhY2thZ2VzT3B0aW9ucz86IEFycmF5PGphdmFzY3JpcHQuU2NvcGVkUGFja2FnZXNPcHRpb25zPjtcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgc291cmNlcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwic3JjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhY2thZ2UncyBTdGFiaWxpdHkuXG4gICAqL1xuICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIG9mIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0LlxuICAgKiBTZWUgYHN0YWxlT3B0aW9uc2AgZm9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cy5cbiAgICogVG8gZGlzYWJsZSBzZXQgYHN0YWxlYCB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIEplc3QgdGVzdHMgZGlyZWN0b3J5LiBUZXN0cyBmaWxlcyBzaG91bGQgYmUgbmFtZWQgYHh4eC50ZXN0LnRzYC5cbiAgICogSWYgdGhpcyBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyY2RpcmAgKGUuZy4gYHNyYy90ZXN0YCwgYHNyYy9fX3Rlc3RzX19gKSxcbiAgICogdGhlbiB0ZXN0cyBhcmUgZ29pbmcgdG8gYmUgY29tcGlsZWQgaW50byBgbGliL2AgYW5kIGV4ZWN1dGVkIGFzIGphdmFzY3JpcHQuXG4gICAqIElmIHRoZSB0ZXN0IGRpcmVjdG9yeSBpcyBvdXRzaWRlIG9mIGBzcmNgLCB0aGVuIHdlIGNvbmZpZ3VyZSBqZXN0IHRvXG4gICAqIGNvbXBpbGUgdGhlIGNvZGUgaW4tbWVtb3J5LlxuICAgKiBAZGVmYXVsdCBcInRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBUU0NvbmZpZy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgLyoqXG4gICAqIEN1c3RvbSB0c2NvbmZpZyBvcHRpb25zIGZvciB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcuanNvbiBmaWxlICh1c2VkIGZvciB0ZXN0aW5nKS5cbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHByb2R1Y3Rpb24gdHNjb25maWcgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdEZXY/OiBqYXZhc2NyaXB0LlR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG5hbWUgKGFuZCBwYXRoKSBvZiB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcgZmlsZS5cbiAgICogQnkgZGVmYXVsdCB0aGlzIGxpdmVzIGluc2lkZSB0aGUgdGVzdCBkaXJlY3RvcnkgKGUuZy4gYHRlc3QvdHNjb25maWcuanNvbmApXG4gICAqIHNvIHRoYXQgdGhlIFR5cGVTY3JpcHQgbGFuZ3VhZ2Ugc2VydmljZSByZXNvbHZlcyBpdCBhcyB0aGUgbmVhcmVzdCBjb25maWdcbiAgICogZm9yIHRlc3QgZmlsZXMuXG4gICAqIEBkZWZhdWx0IC0gXCJ7dGVzdGRpcn0vdHNjb25maWcuanNvblwiXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0RldkZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciB0cy1qZXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdHNKZXN0T3B0aW9ucz86IHR5cGVzY3JpcHQuVHNKZXN0T3B0aW9ucztcbiAgLyoqXG4gICAqIFR5cGVTY3JpcHQgdmVyc2lvbiB0byB1c2UuXG4gICAqIE5PVEU6IFR5cGVzY3JpcHQgaXMgbm90IHNlbWFudGljYWxseSB2ZXJzaW9uZWQgYW5kIHNob3VsZCByZW1haW4gb24gdGhlXG4gICAqIHNhbWUgbWlub3IsIHNvIHdlIHJlY29tbWVuZCB1c2luZyBhIGB+YCBkZXBlbmRlbmN5IChlLmcuIGB+MS4yLjNgKS5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZXNjcmlwdFZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgY2hhbmdlbG9nIHdpdGggY29tbWl0LWFuZC10YWctdmVyc2lvbiBwYWNrYWdlLlxuICAgKiBHaXZlbiB2YWx1ZXMgZWl0aGVyIGFwcGVuZCB0byBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3Igb3ZlcndyaXRlIHZhbHVlcyBpbiBpdC5cbiAgICogQGRlZmF1bHQgLSBzdGFuZGFyZCBjb25maWd1cmF0aW9uIGFwcGxpY2FibGUgZm9yIEdpdEh1YiByZXBvc2l0b3JpZXNcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogRW5hYmxlIFZTQ29kZSBpbnRlZ3JhdGlvbi5cbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBWU0NvZGUgbXVsdGktcm9vdCB3b3Jrc3BhY2UgZmlsZSBmb3IgYWxsIG1vbm9yZXBvIHdvcmtzcGFjZXNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZVdvcmtzcGFjZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBWU0NvZGUgbXVsdGktcm9vdCB3b3Jrc3BhY2UgZmlsZVxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgdnNjb2RlV29ya3NwYWNlT3B0aW9ucz86IHlhcm4uVnNDb2RlV29ya3NwYWNlT3B0aW9ucztcbiAgLyoqXG4gICAqIFdvcmtmbG93IHN0ZXBzIHRvIHVzZSBpbiBvcmRlciB0byBib290c3RyYXAgdGhpcyByZXBvLlxuICAgKiBAZGVmYXVsdCBcInlhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSAmJiB5YXJuIHByb2plblwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byB1c2UgZm9yIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dDb250YWluZXJJbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBnaXQgaWRlbnRpdHkgdG8gdXNlIGluIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93R2l0SWRlbnRpdHk/OiBnaXRodWIuR2l0SWRlbnRpdHk7XG4gIC8qKlxuICAgKiBUaGUgbm9kZSB2ZXJzaW9uIHRvIHVzZSBpbiBHaXRIdWIgd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAnbHRzLyonXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogRW5hYmxlIE5vZGUuanMgcGFja2FnZSBjYWNoZSBpbiBHaXRIdWIgd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dQYWNrYWdlQ2FjaGU/OiBib29sZWFuO1xuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzLlxuICAgKiBAZGVmYXVsdCBbXCJ1YnVudHUtbGF0ZXN0XCJdXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1J1bnNPbj86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcbiAgLyoqXG4gICAqIFVzZSBZYXJuIEJlcnJ5IGFzIHRoZSBwYWNrYWdlIG1hbmFnZXIuXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIG1vbm9yZXBvIHdpbGwgdXNlIGBZQVJOX0JFUlJZYCBpbnN0ZWFkIG9mIGBZQVJOX0NMQVNTSUNgLlxuICAgKiBgeWFybkJlcnJ5T3B0aW9uc2AgY2FuIGJlIHVzZWQgdG8gZnVydGhlciBjb25maWd1cmUgWWFybiBCZXJyeS5cbiAgICogVGhlIGBub2RlTGlua2VyYCBkZWZhdWx0cyB0byBgbm9kZS1tb2R1bGVzYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHlhcm5CZXJyeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBZYXJuIEJlcnJ5LlxuICAgKiBAZGVmYXVsdCAtIFlhcm4gQmVycnkgdjQgd2l0aCBhbGwgZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSB5YXJuQmVycnlPcHRpb25zPzogamF2YXNjcmlwdC5ZYXJuQmVycnlPcHRpb25zO1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8tb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy95YXJuL21vbm9yZXBvLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInlhcm4gcHJvamVuXCIuXG5pbXBvcnQgeyBqYXZhc2NyaXB0LCBnaXRodWIsIElnbm9yZUZpbGVPcHRpb25zLCBHaXRPcHRpb25zLCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZW5yY0pzb25PcHRpb25zLCB0eXBlc2NyaXB0LCBTYW1wbGVSZWFkbWVQcm9wcywgUmVsZWFzYWJsZUNvbW1pdHMsIHJlbGVhc2UsIFJlbm92YXRlYm90T3B0aW9ucywgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IHlhcm4gfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIE1vbm9yZXBvT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbm9yZXBvT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgcmVzb2x2ZWQgYHBhY2thZ2VNYW5hZ2VyYCB0byBgZGV2RW5naW5lcy5wYWNrYWdlTWFuYWdlcmAgaW4gYHBhY2thZ2UuanNvbmAsIHNldHRpbmcgYG9uRmFpbGAgdG8gYGlnbm9yZWAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFkZFBhY2thZ2VNYW5hZ2VyVG9EZXZFbmdpbmVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93IHRoZSBwcm9qZWN0IHRvIGluY2x1ZGUgYHBlZXJEZXBlbmRlbmNpZXNgIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2AuXG4gICAqIFRoaXMgaXMgbm9ybWFsbHkgb25seSBhbGxvd2VkIGZvciBsaWJyYXJpZXMuIEZvciBhcHBzLCB0aGVyZSdzIG5vIG1lYW5pbmdcbiAgICogZm9yIHNwZWNpZnlpbmcgdGhlc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGlicmFyeURlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY3kgKHBhY2thZ2UpIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gcnVuIGxpZmVjeWNsZSBpbnN0YWxsIHNjcmlwdHMgKGBwcmVpbnN0YWxsYCwgYGluc3RhbGxgLCBgcG9zdGluc3RhbGxgLCBgcHJlcGFyZWApIGR1cmluZyBkZXBlbmRlbmN5IGluc3RhbGxhdGlvbi5cbiAgICogVGhlc2Ugc2NyaXB0cyBjYW4gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSwgbWFraW5nIHRoZW0gYSBjb21tb25cbiAgICogc3VwcGx5LWNoYWluIGF0dGFjayB2ZWN0b3IuIFBhY2thZ2UgbWFuYWdlcnMgYXJlIG1vdmluZyB0b3dhcmRcbiAgICogYmxvY2tpbmcgdGhlbSBieSBkZWZhdWx0IGFuZCByZXF1aXJpbmcgYW4gZXhwbGljaXQgYWxsb3dsaXN0LlxuICAgKiBDb25maWd1cmluZyBgYWxsb3dTY3JpcHRzYCBzZXRzIHVwIHRoYXQgYWxsb3dsaXN0IHNvIHNjcmlwdHMgb25seSBydW5cbiAgICogZm9yIHRoZSBwYWNrYWdlcyB5b3UgaGF2ZSBleHBsaWNpdGx5IHJldmlld2VkIGFuZCB0cnVzdC5cbiAgICpcbiAgICogU3VwcG9ydCBmb3IgdGhpcyBzZXR0aW5nIGRlcGVuZHMgb24gdGhlIGNvbmZpZ3VyZWQgYHBhY2thZ2VNYW5hZ2VyYDpcbiAgICpcbiAgICogLSBgTlBNYDogd3JpdHRlbiB0byB0aGUgbmF0aXZlIGBhbGxvd1NjcmlwdHNgIGZpZWxkIGluIGBwYWNrYWdlLmpzb25gXG4gICAqICAgKHJlcXVpcmVzIG5wbSA+PSAxMS4xNjsgc2VlIGh0dHBzOi8vZG9jcy5ucG1qcy5jb20vY2xpL3YxMS9jb21tYW5kcy9ucG0tYXBwcm92ZS1zY3JpcHRzKS5cbiAgICogLSBgQlVOYDogd3JpdHRlbiB0byB0aGUgbmF0aXZlIGB0cnVzdGVkRGVwZW5kZW5jaWVzYCBmaWVsZCBpblxuICAgKiAgIGBwYWNrYWdlLmpzb25gIChzZWUgaHR0cHM6Ly9idW4uY29tL2RvY3MvcG0vbGlmZWN5Y2xlKS5cbiAgICogLSBgUE5QTWA6IHdyaXR0ZW4gdG8gdGhlIGBvbmx5QnVpbHREZXBlbmRlbmNpZXNgIHNldHRpbmcgaW5cbiAgICogICBgcG5wbS13b3Jrc3BhY2UueWFtbGAgKHNlZSBodHRwczovL3BucG0uaW8vc2V0dGluZ3Mjb25seWJ1aWx0ZGVwZW5kZW5jaWVzKS5cbiAgICogLSBgWUFSTjJgLCBgWUFSTl9CRVJSWWA6IHdyaXR0ZW4gdG8gdGhlIG5hdGl2ZVxuICAgKiAgIGBkZXBlbmRlbmNpZXNNZXRhLjxwa2c+LmJ1aWx0YCBhbGxvd2xpc3QgaW4gYHBhY2thZ2UuanNvbmAsIGNvbWJpbmVkXG4gICAqICAgd2l0aCBgZW5hYmxlU2NyaXB0czogZmFsc2VgIGluIGAueWFybnJjLnltbGAgKHNlZVxuICAgKiAgIGh0dHBzOi8veWFybnBrZy5jb20vZmVhdHVyZXMvc2VjdXJpdHkjcG9zdGluc3RhbGxzKS4gSWYgeW91IHNldFxuICAgKiAgIGB5YXJuQmVycnlPcHRpb25zLnlhcm5SY09wdGlvbnMuZW5hYmxlU2NyaXB0c2AgZXhwbGljaXRseSwgdGhhdCB2YWx1ZVxuICAgKiAgIGlzIHJlc3BlY3RlZCBpbnN0ZWFkIG9mIGJlaW5nIG92ZXJyaWRkZW4uXG4gICAqIC0gYFlBUk5gLCBgWUFSTl9DTEFTU0lDYDogbm90IHN1cHBvcnRlZC4gWWFybiBDbGFzc2ljIGhhcyBubyBuYXRpdmVcbiAgICogICBtZWNoYW5pc20gdG8gYWxsb3dsaXN0IGluc3RhbGwgc2NyaXB0cyBmb3Igc3BlY2lmaWMgZGVwZW5kZW5jaWVzLlxuICAgKiAgIFNldHRpbmcgdGhpcyBvcHRpb24gd2l0aCBvbmUgb2YgdGhlc2UgcGFja2FnZSBtYW5hZ2VycyB0aHJvd3MgYW5cbiAgICogICBlcnJvciBhdCBzeW50aGVzaXMgdGltZS5cbiAgICogQGRlZmF1bHQgLSBhbGwgaW5zdGFsbCBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIHJ1biAocGFja2FnZSBtYW5hZ2VyIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSBhbGxvd1NjcmlwdHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogQSBkaXJlY3Rvcnkgd2hpY2ggd2lsbCBjb250YWluIGJ1aWxkIGFydGlmYWN0cy5cbiAgICogQGRlZmF1bHQgXCJkaXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJ1biBzZWN1cml0eSBhdWRpdCBvbiBkZXBlbmRlbmNpZXMuXG4gICAqIFdoZW4gZW5hYmxlZCwgY3JlYXRlcyBhbiBcImF1ZGl0XCIgdGFzayB0aGF0IGNoZWNrcyBmb3Iga25vd24gc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzXG4gICAqIGluIGRlcGVuZGVuY2llcy4gQnkgZGVmYXVsdCwgcnVucyBkdXJpbmcgZXZlcnkgYnVpbGQgYW5kIGNoZWNrcyBmb3IgXCJoaWdoXCIgc2V2ZXJpdHlcbiAgICogdnVsbmVyYWJpbGl0aWVzIG9yIGFib3ZlIGluIGFsbCBkZXBlbmRlbmNpZXMgKGluY2x1ZGluZyBkZXYgZGVwZW5kZW5jaWVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1ZGl0RGVwcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZWN1cml0eSBhdWRpdCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYXVkaXREZXBzT3B0aW9ucz86IGphdmFzY3JpcHQuQXVkaXRPcHRpb25zO1xuICAvKipcbiAgICogQXV0aG9yJ3MgZS1tYWlsLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRob3IncyBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIElzIHRoZSBhdXRob3IgYW4gb3JnYW5pemF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yT3JnYW5pemF0aW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dGhvcidzIFVSTCAvIFdlYnNpdGUuXG4gICAqL1xuICByZWFkb25seSBhdXRob3JVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgJ2F1dG8gYXBwcm92ZScgd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBnaXRodWIuQXV0b0FwcHJvdmVPcHRpb25zO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhcHByb3ZlIGRlcHMgdXBncmFkZSBQUnMsIGFsbG93aW5nIHRoZW0gdG8gYmUgbWVyZ2VkIGJ5IG1lcmdpZnkgKGlmIGNvbmZpZ3VyZWQpLlxuICAgKiBUaHJvdyBpZiBzZXQgdG8gdHJ1ZSBidXQgYGF1dG9BcHByb3ZlT3B0aW9uc2AgYXJlIG5vdCBkZWZpbmVkLlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BcHByb3ZlVXBncmFkZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYWxsIGV4ZWN1dGFibGVzIHVuZGVyIHRoZSBgYmluYCBkaXJlY3RvcnkgdG8geW91ciBgcGFja2FnZS5qc29uYCBmaWxlIHVuZGVyIHRoZSBgYmluYCBzZWN0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdXRvRGV0ZWN0QmluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEJpbmFyeSBwcm9ncmFtcyB2ZW5kZWQgd2l0aCB5b3VyIG1vZHVsZS5cbiAgICogWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gYWRkL2N1c3RvbWl6ZSBob3cgYmluYXJpZXMgYXJlIHJlcHJlc2VudGVkIGluXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAsIGJ1dCB1bmxlc3MgYGF1dG9EZXRlY3RCaW5gIGlzIGBmYWxzZWAsIGV2ZXJ5XG4gICAqIGV4ZWN1dGFibGUgZmlsZSB1bmRlciBgYmluYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgYWRkZWQgdG8gdGhpcyBzZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYmluPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFNldHVwIEJpb21lLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWU/OiBib29sZWFuO1xuICAvKipcbiAgICogQmlvbWUgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGJpb21lT3B0aW9ucz86IGphdmFzY3JpcHQuQmlvbWVPcHRpb25zO1xuICAvKipcbiAgICogVGhlIGVtYWlsIGFkZHJlc3MgdG8gd2hpY2ggaXNzdWVzIHNob3VsZCBiZSByZXBvcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Z3NFbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB1cmwgdG8geW91ciBwcm9qZWN0J3MgaXNzdWUgdHJhY2tlci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Z3NVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyB0aGF0IHNob3VsZCBoYXZlIHRoZWlyIGJ1aWxkIHNjcmlwdHMgZW5hYmxlZCBkdXJpbmcgaW5zdGFsbC5cbiAgICogWWFybiBCZXJyeSBkaXNhYmxlcyBidWlsZCBzY3JpcHRzIGJ5IGRlZmF1bHQgKGBlbmFibGVTY3JpcHRzOiBmYWxzZWApLlxuICAgKiBUaGlzIG9wdGlvbiBzZXRzIGBkZXBlbmRlbmNpZXNNZXRhLjxwa2c+LmJ1aWx0OiB0cnVlYCBpbiB0aGUgcm9vdCBgcGFja2FnZS5qc29uYFxuICAgKiBmb3IgZWFjaCBsaXN0ZWQgcGFja2FnZSwgYWxsb3dpbmcgdGhlbSB0byBydW4gdGhlaXIgaW5zdGFsbCBzY3JpcHRzLlxuICAgKiBPbmx5IGhhcyBhbiBlZmZlY3Qgd2hlbiB0aGUgbW9ub3JlcG8gdXNlcyBZYXJuIEJlcnJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRhYmxlUGFja2FnZXM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogV2hlbiBOeCBpcyBlbmFibGVkLCBhbHdheXMgYnVpbGQgdGhlIG1vbm9yZXBvIHVzaW5nIE54XG4gICAqIFdpbGwgYnVpbGQgcHJvamVjdHMgaW4gcGFyYWxsZWwgYW5kIGNhbiBpbXByb3ZlIGJ1aWxkIHBlcmZvcm1hbmNlXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBidWlsZFdpdGhOeD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgZm9yIGJ1aWxkaW5nIFBScy5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3c/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgUFIgYnVpbGQgd29ya2Zsb3cuXG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93T3B0aW9ucz86IGphdmFzY3JpcHQuQnVpbGRXb3JrZmxvd09wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGRlcGVuZGVuY2llcyB0byBidW5kbGUgaW50byB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgbW9kdWxlcyB3aWxsIGJlXG4gICAqIGFkZGVkIGJvdGggdG8gdGhlIGBkZXBlbmRlbmNpZXNgIHNlY3Rpb24gYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYCBzZWN0aW9uIG9mXG4gICAqIHlvdXIgYHBhY2thZ2UuanNvbmAuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYHBucG0gYWRkYCBvciBgbnBtIGlgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdXIgYHBhY2thZ2UuanNvbmAgd2lsbCBldmVudHVhbGx5IGluY2x1ZGUuXG4gICAqL1xuICByZWFkb25seSBidW5kbGVkRGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgQnVuZGxlcmAuXG4gICAqL1xuICByZWFkb25seSBidW5kbGVyT3B0aW9ucz86IGphdmFzY3JpcHQuQnVuZGxlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBCdW4gdG8gdXNlIGlmIHVzaW5nIEJ1biBhcyBhIHBhY2thZ2UgbWFuYWdlci5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVuVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEVuYWJsZSBHaXRIdWIgQWN0aW9ucyBleHByZXNzaW9ucyB2YWxpZGF0aW9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjaGVja0doYUV4cHJlc3Npb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB3aGljaCBsaWNlbnNlcyBzaG91bGQgYmUgZGVlbWVkIGFjY2VwdGFibGUgZm9yIHVzZSBieSBkZXBlbmRlbmNpZXMuXG4gICAqIFRoaXMgc2V0dGluZyB3aWxsIGNhdXNlIHRoZSBidWlsZCB0byBmYWlsLCBpZiBhbnkgcHJvaGliaXRlZCBvciBub3QgYWxsb3dlZCBsaWNlbnNlcyBhcmVzIGVuY291bnRlcmVkLlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpY2Vuc2UgY2hlY2tzIGFyZSBydW4gZHVyaW5nIHRoZSBidWlsZCBhbmQgYWxsIGxpY2Vuc2VzIHdpbGwgYmUgYWNjZXB0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrTGljZW5zZXM/OiBqYXZhc2NyaXB0LkxpY2Vuc2VDaGVja2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIEFkZCBhIGBjbG9iYmVyYCB0YXNrIHdoaWNoIHJlc2V0cyB0aGUgcmVwbyB0byBvcmlnaW4uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSwgYnV0IGZhbHNlIGZvciBzdWJwcm9qZWN0c1xuICAgKi9cbiAgcmVhZG9ubHkgY2xvYmJlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBucG0gcGFja2FnZXMgdXNpbmcgQVdTIENvZGVBcnRpZmFjdC5cbiAgICogVGhpcyBpcyByZXF1aXJlZCBpZiBwdWJsaXNoaW5nIHBhY2thZ2VzIHRvLCBvciBpbnN0YWxsaW5nIHNjb3BlZCBwYWNrYWdlcyBmcm9tIEFXUyBDb2RlQXJ0aWZhY3RcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBqYXZhc2NyaXB0LkNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgc3RlcCBmb3Igc2VuZGluZyBjb2RlIGNvdmVyYWdlIG1ldHJpY3MgdG8gaHR0cHM6Ly9jb2RlY292LmlvLy5cbiAgICogVXNlcyBjb2RlY292L2NvZGVjb3YtYWN0aW9uLiBCeSBkZWZhdWx0LCBPSURDIGF1dGggaXMgdXNlZC5cbiAgICogQWx0ZXJuYXRpdmVseSBhIHRva2VuIGNhbiBiZSBwcm92aWRlZCB2aWEgYGNvZGVDb3ZUb2tlblNlY3JldGAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgc2VjcmV0IG5hbWUgZm9yIGEgc3BlY2lmaWVkIGh0dHBzOi8vY29kZWNvdi5pby8gdG9rZW4uXG4gICAqIEBkZWZhdWx0IC0gT0lEQyBhdXRoIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVDb3ZUb2tlblNlY3JldD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29tbWl0IHRoZSBtYW5hZ2VkIGZpbGVzIGJ5IGRlZmF1bHQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1pdEdlbmVyYXRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIHZhbHVlcyBhdmFpbGFibGUgdG8gcGFja2FnZSBzY3JpcHRzIGF0IHJ1bnRpbWUuXG4gICAqIFZhbHVlcyBzaG91bGQgYmUgSlNPTi1zZXJpYWxpemFibGUuXG4gICAqIEBkZWZhdWx0IC0gbm8gcGFja2FnZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogUGFja2FnZSBuYW1lcyB0aGF0IG11c3QgdXNlIGEgY29uc2lzdGVudCB2ZXJzaW9uIGFjcm9zcyBhbGwgd29ya3NwYWNlcy5cbiAgICogVXNlcyBZYXJuIEJlcnJ5IGNvbnN0cmFpbnRzIHRvIGVuZm9yY2UgdGhhdCBhbGwgd29ya3NwYWNlcyB1c2UgdGhlIHNhbWUgdmVyc2lvblxuICAgKiBvZiB0aGUgbGlzdGVkIHBhY2thZ2VzLiBUaGUgdmVyc2lvbiBpcyByZWFkIGZyb20gdGhlIHJvb3QgYGRldkRlcGVuZGVuY2llc2AuXG4gICAqIE9ubHkgaGFzIGFuIGVmZmVjdCB3aGVuIHRoZSBtb25vcmVwbyB1c2VzIFlhcm4gQmVycnkuXG4gICAqL1xuICByZWFkb25seSBjb25zaXN0ZW50VmVyc2lvbnM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIFRoaXMgdmFsdWUgaXMgb25seSB1c2VkIGlmIHRoZSBzZWxlY3RlZCBsaWNlbnNlIHRleHQgY29udGFpbnMgdGhlXG4gICAqIGAkY29weXJpZ2h0X293bmVyYCBwbGFjZWhvbGRlci4gRm9yIGV4YW1wbGUsIGl0IGhhcyBubyBlZmZlY3Qgb24gdGhlXG4gICAqIE1QTC0yLjAgbGljZW5zZSB0ZXh0LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBhdXRob3JOYW1lIG9yIFwiXCIgaWYgYGF1dGhvck5hbWVgIGlzIHVuZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodE93bmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvcHlyaWdodCB5ZWFycyB0byBwdXQgaW4gdGhlIExJQ0VOU0UgZmlsZS5cbiAgICogVGhpcyB2YWx1ZSBpcyBvbmx5IHVzZWQgaWYgdGhlIHNlbGVjdGVkIGxpY2Vuc2UgdGV4dCBjb250YWlucyB0aGVcbiAgICogYCRjb3B5cmlnaHRfcGVyaW9kYCBwbGFjZWhvbGRlci4gRm9yIGV4YW1wbGUsIGl0IGhhcyBubyBlZmZlY3Qgb24gdGhlXG4gICAqIE1QTC0yLjAgbGljZW5zZSB0ZXh0LlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgYGRlZHVwZWAgdGFzayB0aGF0IGRlZHVwbGljYXRlcyBwcm9qZWN0IGRlcGVuZGVuY2llcy5cbiAgICogRGVkdXBsaWNhdGlvbiBwcmV2ZW50cyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBwYWNrYWdlIGZyb20gYmVpbmdcbiAgICogaW5zdGFsbGVkLCBpZiBhIHNpbmdsZSB2ZXJzaW9uIGNhbiBzYXRpc2Z5IGFsbCByZXF1ZXN0ZWQgdmVyc2lvbiByYW5nZXMuXG4gICAqIFRoaXMgcHJldmVudHMgdmVyc2lvbiBwcm9saWZlcmF0aW9uIGFuZCByZWR1Y2VzIHRoZSBzaXplIG9mIHRoZSBkZXBlbmRlbmN5XG4gICAqIHRyZWUuXG4gICAqXG4gICAqIFRoZSBiZWhhdmlvciBkZXBlbmRzIG9uIHRoZSBwYWNrYWdlIG1hbmFnZXI6XG4gICAqIC0gbnBtOiBydW5zIGBucG0gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLlxuICAgKiAtIHBucG06IHJ1bnMgYHBucG0gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLlxuICAgKiAtIFlhcm4gQmVycnk6IHJ1bnMgYHlhcm4gZGVkdXBlYCBhZnRlciBldmVyeSBtdXRhdGluZyBpbnN0YWxsLiBJZlxuICAgKiAgIGB5YXJuQmVycnlPcHRpb25zLmRlZHVwZVBhY2thZ2VzYCBpcyBzZXQsIG9ubHkgdGhlIGxpc3RlZCBwYWNrYWdlcyBhcmVcbiAgICogICBkZWR1cGxpY2F0ZWQuXG4gICAqIC0gWWFybiBDbGFzc2ljOiBgeWFybiBpbnN0YWxsYCBhbHJlYWR5IGRlZHVwbGljYXRlcywgc28gdGhlIHRhc2sgb25seVxuICAgKiAgIHByaW50cyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UuXG4gICAqIC0gQnVuOiBub3Qgc3VwcG9ydGVkLCBlbmFibGluZyB0aGlzIG9wdGlvbiB0aHJvd3MgYW4gZXJyb3IuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2UsIHVubGVzcyBgeWFybkJlcnJ5T3B0aW9ucy5kZWR1cGVQYWNrYWdlc2AgaXMgc2V0XG4gICAqL1xuICByZWFkb25seSBkZWR1cGVEZXBzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtYWluIHJlbGVhc2UgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcIm1haW5cIlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlbGVhc2VCcmFuY2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGRlbGV0ZSBsb2NrZmlsZXMgZnJvbSBwYWNrYWdlIG1hbmFnZXJzIHRoYXQgYXJlIG5vdCB0aGUgYWN0aXZlIG9uZS5cbiAgICogT25seSB0cmlnZ2VyZWQgd2hlbiB0aGUgbG9ja2ZpbGUgZm9yIHRoZSBjb25maWd1cmVkIHBhY2thZ2VcbiAgICogbWFuYWdlciBhbHJlYWR5IGV4aXN0cy5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiBtaWdyYXRpbmcgYmV0d2VlbiBwYWNrYWdlIG1hbmFnZXJzIHRvIGF2b2lkIGNvbmZsaWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlT3JwaGFuZWRMb2NrRmlsZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIGRlcGVuZGFib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIENhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRlcHNVcGdyYWRlYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZGVwZW5kYWJvdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGFib3RPcHRpb25zPzogZ2l0aHViLkRlcGVuZGFib3RPcHRpb25zO1xuICAvKipcbiAgICogUnVudGltZSBkZXBlbmRlbmNpZXMgb2YgdGhpcyBtb2R1bGUuXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYHBucG0gYWRkYCBvciBgbnBtIGlgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdXIgYHBhY2thZ2UuanNvbmAgd2lsbCBldmVudHVhbGx5IGluY2x1ZGUuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBkZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFVzZSB0YXNrcyBhbmQgZ2l0aHViIHdvcmtmbG93cyB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQ2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGVwZW5kYWJvdGAuXG4gICAqIEBkZWZhdWx0IC0gYHRydWVgIGZvciByb290IHByb2plY3RzLCBgZmFsc2VgIGZvciBzdWJwcm9qZWN0c1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYFVwZ3JhZGVEZXBlbmRlbmNpZXNgLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGVPcHRpb25zPzogamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBpcyBqdXN0IGEgc3RyaW5nIHRoYXQgaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQgdGhlIHB1cnBvc2Ugb2YgdGhlIHBhY2thZ2UuXG4gICAqIEl0IGNhbiBiZSB1c2VkIHdoZW4gc2VhcmNoaW5nIGZvciBwYWNrYWdlcyBpbiBhIHBhY2thZ2UgbWFuYWdlciBhcyB3ZWxsLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgVlNDb2RlIGRldmVsb3BtZW50IGVudmlyb25tZW50ICh1c2VkIGZvciBHaXRIdWIgQ29kZXNwYWNlcykuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXZDb250YWluZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogQnVpbGQgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogVGhlc2UgZGVwZW5kZW5jaWVzIHdpbGwgb25seSBiZVxuICAgKiBhdmFpbGFibGUgaW4geW91ciBidWlsZCBlbnZpcm9ubWVudCBidXQgd2lsbCBub3QgYmUgZmV0Y2hlZCB3aGVuIHRoaXNcbiAgICogbW9kdWxlIGlzIGNvbnN1bWVkLlxuICAgKlxuICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAqIGBleHByZXNzYCkuIFRoaXMgd2lsbCBiZWhhdmUgc2ltaWxhciB0byBgcG5wbSBhZGRgIG9yIGBucG0gaW5zdGFsbGAgaW4gdGhlXG4gICAqIHNlbnNlIHRoYXQgaXQgd2lsbCBhZGQgdGhlIG1vZHVsZSBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBgcGFja2FnZS5qc29uYFxuICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgKiB0aGUgc2FtZSBzeW50YXggcGFzc2VkIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpYCAoZS5nLiBgZXhwcmVzc0BeMmApIGFuZFxuICAgKiB0aGlzIHdpbGwgYmUgd2hhdCB5b3VyIGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2RGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIGBkZXZFbmdpbmVzYCBmaWVsZCBpbiBgcGFja2FnZS5qc29uYC5cbiAgICogVGhlIGBkZXZFbmdpbmVzLnBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IHBvcHVsYXRlZCBiYXNlZCBvblxuICAgKiB0aGUgcmVzb2x2ZWQgYHBhY2thZ2VNYW5hZ2VyYCB2YWx1ZS4gQW55IGZpZWxkcyBwcm92aWRlZCBoZXJlIGFyZSBtZXJnZWRcbiAgICogd2l0aCB0aGUgYXV0by1wb3B1bGF0ZWQgYHBhY2thZ2VNYW5hZ2VyYCBlbnRyeS5cbiAgICovXG4gIHJlYWRvbmx5IGRldkVuZ2luZXM/OiBqYXZhc2NyaXB0LkRldkVuZ2luZXM7XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBgdHNjb25maWcuanNvbmAgZmlsZSAodXNlZCBieSBqc2lpIHByb2plY3RzIHNpbmNlIHRzY29uZmlnLmpzb24gaXMgZ2VuZXJhdGVkIGJ5IHRoZSBqc2lpIGNvbXBpbGVyKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBkZXZlbG9wbWVudCB0c2NvbmZpZyBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnRGV2PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvY2dlbiBieSBUeXBlZG9jLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvY3MgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImRvY3NcIlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIE1vZHVsZSBlbnRyeXBvaW50IChgbWFpbmAgaW4gYHBhY2thZ2UuanNvbmApLlxuICAgKiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIG5vdCBpbmNsdWRlIGBtYWluYCBpbiB5b3VyIHBhY2thZ2UuanNvblxuICAgKiBAZGVmYXVsdCBcImxpYi9pbmRleC5qc1wiXG4gICAqL1xuICByZWFkb25seSBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIC5kLnRzIGZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBAZGVmYXVsdCAtIC5kLnRzIGZpbGUgZGVyaXZlZCBmcm9tIHRoZSBwcm9qZWN0J3MgZW50cnlwb2ludCAodXN1YWxseSBsaWIvaW5kZXguZC50cylcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnRUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIEVzbGludCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIG9waW5pb25hdGVkIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50T3B0aW9ucz86IGphdmFzY3JpcHQuRXNsaW50T3B0aW9ucztcbiAgLyoqXG4gICAqIEVuYWJsZSBHaXRIdWIgaW50ZWdyYXRpb24uXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBnaXRodWI/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBHaXRIdWJPcHRpb25zXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPcHRpb25zPzogZ2l0aHViLkdpdEh1Yk9wdGlvbnM7XG4gIC8qKlxuICAgKiBXaGV0aGVyIEdpdEh1YiBzaG91bGQgZXhwbGljaXRseSBtYXJrIHRoZSByZWxlYXNlIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoIGFzIHRoZSBsYXRlc3QgcmVsZWFzZS5cbiAgICogU2V0IHRvIGB0cnVlYCB0byBtYXJrIHRoZSByZWxlYXNlIGFzIGxhdGVzdCwgb3IgYGZhbHNlYCB0byBleHBsaWNpdGx5IG5vdFxuICAgKiBtYXJrIGl0IGFzIGxhdGVzdC5cbiAgICogQGRlZmF1bHQgLSBHaXRIdWIgZGV0ZXJtaW5lcyB0aGUgbGF0ZXN0IHJlbGVhc2UgYmFzZWQgb24gZGF0ZSBhbmQgc2VtYW50aWMgdmVyc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1YlJlbGVhc2VMYXRlc3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnRyaWVzIHRvIC5naXRpZ25vcmUuXG4gICAqL1xuICByZWFkb25seSBnaXRpZ25vcmU/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAuZ2l0aWdub3JlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBnaXRJZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGdpdC5cbiAgICovXG4gIHJlYWRvbmx5IGdpdE9wdGlvbnM/OiBHaXRPcHRpb25zO1xuICAvKipcbiAgICogQWRkIGEgR2l0cG9kIGRldmVsb3BtZW50IGVudmlyb25tZW50LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0cG9kPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBhY2thZ2UncyBIb21lcGFnZSAvIFdlYnNpdGUuXG4gICAqL1xuICByZWFkb25seSBob21lcGFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gcmVxdWlyZW1lbnQgb2YgYHB1YmxpYmAgd2hpY2ggaXMgdXNlZCB0byBwdWJsaXNoIG1vZHVsZXMgdG8gbnBtLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpUmVsZWFzZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXl3b3JkcyB0byBpbmNsdWRlIGluIGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVHlwZXNjcmlwdCAgYXJ0aWZhY3RzIG91dHB1dCBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwibGliXCJcbiAgICovXG4gIHJlYWRvbmx5IGxpYmRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIExpY2Vuc2UncyBTUERYIGlkZW50aWZpZXIuXG4gICAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi90cmVlL21haW4vbGljZW5zZS10ZXh0IGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGxpY2Vuc2VzLlxuICAgKiBVc2UgdGhlIGBsaWNlbnNlZGAgb3B0aW9uIGlmIHlvdSB3YW50IHRvIG5vIGxpY2Vuc2UgdG8gYmUgc3BlY2lmaWVkLlxuICAgKiBAZGVmYXVsdCBcIkFwYWNoZS0yLjBcIlxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIGxpY2Vuc2Ugc2hvdWxkIGJlIGFkZGVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgbG9nZ2luZyBvcHRpb25zIHN1Y2ggYXMgdmVyYm9zaXR5LlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZz86IExvZ2dlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIElmIHRoaXMgaXMgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1ham9yIHZlcnNpb24gbGluZS5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgZ2xvYmFsIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCAtIE1ham9yIHZlcnNpb24gaXMgbm90IGVuZm9yY2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbm9kZSB2ZXJzaW9uIHN1cHBvcnRlZCBieSB0aGlzIHBhY2thZ2UuIE1vc3QgcHJvamVjdHMgc2hvdWxkIG5vdCB1c2UgdGhpcyBvcHRpb24uXG4gICAqIFRoZSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcGFja2FnZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbnkgbmV3ZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICogVGhpcyByZXF1aXJlbWVudCBpcyBlbmZvcmNlZCB2aWEgdGhlIGVuZ2luZXMgZmllbGQuXG4gICAqXG4gICAqIFlvdSB3aWxsIG5vcm1hbGx5IG5vdCBuZWVkIHRvIHNldCB0aGlzIG9wdGlvbi5cbiAgICogQ29uc2lkZXIgdGhpcyBvcHRpb24gb25seSBpZiB5b3VyIHBhY2thZ2UgaXMga25vd24gdG8gbm90IGZ1bmN0aW9uIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICogQGRlZmF1bHQgLSBubyBtYXhpbXVtIHZlcnNpb24gaXMgZW5mb3JjZWRcbiAgICovXG4gIHJlYWRvbmx5IG1heE5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTWluaW1hbCBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXQgdG8gMSwgYXMgYnJlYWtpbmcgY2hhbmdlcyBiZWZvcmUgdGhlIDEueCBtYWpvclxuICAgKiByZWxlYXNlIGFyZSBub3QgaW5jcmVtZW50aW5nIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWFqb3JWZXJzaW9uYC5cbiAgICogQGRlZmF1bHQgLSBObyBtaW5pbXVtIHZlcnNpb24gaXMgYmVpbmcgZW5mb3JjZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIE1pbmltdW0gTm9kZS5qcyB2ZXJzaW9uIHRvIHJlcXVpcmUgdmlhIHBhY2thZ2UuanNvbiBgZW5naW5lc2AgKGluY2x1c2l2ZSkuXG4gICAqXG4gICAqIE9ubHkgc2V0IHRoaXMgaWYgeW91ciBwYWNrYWdlIHdpbGwgbm90IHdvcmsgcHJvcGVybHkgb24gc3BlY2lmaWMgKG9sZGVyPylcbiAgICogTm9kZSB2ZXJzaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBcImVuZ2luZXNcIiBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0ICRCQVNFRElSXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICogLSBgJFNVR0dFU1RFRF9CVU1QYDogdGhlIHN1Z2dlc3RlZCBidW1wIGFjdGlvbiBiYXNlZCBvbiBjb21taXRzLiBPbmUgb2YgYG1ham9yfG1pbm9yfHBhdGNofG5vbmVgLlxuICAgKlxuICAgKiBUaGUgY29tbWFuZCBzaG91bGQgcHJpbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgdG8gYHN0ZG91dGA6XG4gICAqXG4gICAqIC0gTm90aGluZzogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGNvbW1pdCBoaXN0b3J5LlxuICAgKiAtIGB4LnkuemA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgYHgueS56YC5cbiAgICogLSBgbWFqb3J8bWlub3J8cGF0Y2hgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyXG4gICAqICAgd2l0aCB0aGUgaW5kaWNhdGVkIGNvbXBvbmVudCBidW1wZWQuXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBjYW5ub3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYG1pbk1ham9yVmVyc2lvbmA7IHRoZSBpbnZva2VkXG4gICAqIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBlZmZlY3RzIG9mIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBjb21taXQgaGlzdG9yeSBhbmQgcHJvamVjdCBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IG5leHRWZXJzaW9uQ29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFjY2VzcyBsZXZlbCBvZiB0aGUgbnBtIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IC0gZm9yIHNjb3BlZCBwYWNrYWdlcyAoZS5nLiBgZm9vQGJhcmApLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5SRVNUUklDVEVEYCwgZm9yIG5vbi1zY29wZWQgcGFja2FnZXMsIHRoZSBkZWZhdWx0IGlzXG5gTnBtQWNjZXNzLlBVQkxJQ2AuXG4gICAqL1xuICByZWFkb25seSBucG1BY2Nlc3M/OiBqYXZhc2NyaXB0Lk5wbUFjY2VzcztcbiAgLyoqXG4gICAqIFRoZSBucG1EaXN0VGFnIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIFRvIHNldCB0aGUgbnBtIGRpc3QtdGFnIGZvciByZWxlYXNlIGJyYW5jaGVzLCBzZXQgdGhlIGBucG1EaXN0VGFnYCBwcm9wZXJ0eVxuICAgKiBmb3IgZWFjaCBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IG5wbURpc3RUYWc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFuIC5ucG1pZ25vcmUgZmlsZS4gTm9ybWFsbHkgdGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgbGlicmFyaWVzIHRoYXQgYXJlIHBhY2thZ2VkIGFzIHRhcmJhbGxzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBucG1pZ25vcmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgLm5wbWlnbm9yZSBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtSWdub3JlT3B0aW9ucz86IElnbm9yZUZpbGVPcHRpb25zO1xuICAvKipcbiAgICogU2hvdWxkIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBiZSBnZW5lcmF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuXG4gICAqIEEgc3VwcG9ydGVkIHBhY2thZ2UgbWFuYWdlciBpcyByZXF1aXJlZCB0byBwdWJsaXNoIGEgcGFja2FnZSB3aXRoIG5wbSBwcm92ZW5hbmNlIHN0YXRlbWVudHMgYW5kXG4gICAqIHlvdSB3aWxsIG5lZWQgdG8gdXNlIGEgc3VwcG9ydGVkIENJL0NEIHByb3ZpZGVyLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIHByb2plbiBgUmVsZWFzZWAgYW5kIGBQdWJsaXNoZXJgIGNvbXBvbmVudHMgYXJlIHVzaW5nIGBwdWJsaWJgIHRvIHB1Ymxpc2ggcGFja2FnZXMsXG4gICAqIHdoaWNoIGlzIHVzaW5nIG5wbSBpbnRlcm5hbGx5IGFuZCBzdXBwb3J0cyBwcm92ZW5hbmNlIHN0YXRlbWVudHMgaW5kZXBlbmRlbnRseSBvZiB0aGUgcGFja2FnZSBtYW5hZ2VyIHVzZWQuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBmb3IgcHVibGljIHBhY2thZ2VzLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVByb3ZlbmFuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGJhc2UgVVJMIG9mIHRoZSBucG0gcGFja2FnZSByZWdpc3RyeS5cbiAgICogTXVzdCBiZSBhIFVSTCAoZS5nLiBzdGFydCB3aXRoIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIilcbiAgICogQGRlZmF1bHQgXCJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZ1wiXG4gICAqL1xuICByZWFkb25seSBucG1SZWdpc3RyeVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIEdpdEh1YiBzZWNyZXQgd2hpY2ggY29udGFpbnMgdGhlIE5QTSB0b2tlbiB0byB1c2Ugd2hlbiBwdWJsaXNoaW5nIHBhY2thZ2VzLlxuICAgKiBAZGVmYXVsdCBcIk5QTV9UT0tFTlwiXG4gICAqL1xuICByZWFkb25seSBucG1Ub2tlblNlY3JldD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZSB0cnVzdGVkIHB1Ymxpc2hpbmcgZm9yIHB1Ymxpc2hpbmcgdG8gbnBtanMuY29tIE5lZWRzIHRvIGJlIHByZS1jb25maWd1cmVkIG9uIG5wbS5qcyB0byB3b3JrLlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBucG1UcnVzdGVkUHVibGlzaGluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIGludGVncmF0aW9uIHdpdGggTnggaW4gdGhlIG1vbm9yZXBvXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBueD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHByb2plY3QuXG4gICAqIFJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LCBhbGwgZmlsZXMgYXJlIHN5bnRoZXNpemVkLlxuICAgKlxuICAgKiBJZiB0aGlzIHByb2plY3QgaGFzIGEgcGFyZW50LCB0aGlzIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gICAqIGRpcmVjdG9yeSBhbmQgaXQgY2Fubm90IGJlIHRoZSBzYW1lIGFzIHRoZSBwYXJlbnQgb3IgYW55IG9mIGl0J3Mgb3RoZXJcbiAgICogc3VicHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgYHBhY2thZ2VgIHRhc2sgdGhhdCB3aWxsIHByb2R1Y2UgYW4gbnBtIHRhcmJhbGwgdW5kZXIgdGhlIGFydGlmYWN0cyBkaXJlY3RvcnkgKGUuZy4gYGRpc3RgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgXCJuYW1lXCIgaW4gcGFja2FnZS5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHByb2plY3QgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IHByb2plY3QsIGlmIHRoaXMgcHJvamVjdCBpcyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBwYXJlbnQ/OiBQcm9qZWN0O1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYHBlZXJEZXBzYC5cbiAgICovXG4gIHJlYWRvbmx5IHBlZXJEZXBlbmRlbmN5T3B0aW9ucz86IGphdmFzY3JpcHQuUGVlckRlcGVuZGVuY3lPcHRpb25zO1xuICAvKipcbiAgICogUGVlciBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBEZXBlbmRlbmNpZXMgbGlzdGVkIGhlcmUgYXJlIHJlcXVpcmVkIHRvXG4gICAqIGJlIGluc3RhbGxlZCAoYW5kIHNhdGlzZmllZCkgYnkgdGhlIF9jb25zdW1lcl8gb2YgdGhpcyBsaWJyYXJ5LiBVc2luZyBwZWVyXG4gICAqIGRlcGVuZGVuY2llcyBhbGxvd3MgeW91IHRvIGVuc3VyZSB0aGF0IG9ubHkgYSBzaW5nbGUgbW9kdWxlIG9mIGEgY2VydGFpblxuICAgKiBsaWJyYXJ5IGV4aXN0cyBpbiB0aGUgYG5vZGVfbW9kdWxlc2AgdHJlZSBvZiB5b3VyIGNvbnN1bWVycy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHByaW9yIHRvIG5wbUA3LCBwZWVyIGRlcGVuZGVuY2llcyBhcmUgX25vdF8gYXV0b21hdGljYWxseVxuICAgKiBpbnN0YWxsZWQsIHdoaWNoIG1lYW5zIHRoYXQgYWRkaW5nIHBlZXIgZGVwZW5kZW5jaWVzIHRvIGEgbGlicmFyeSB3aWxsIGJlIGFcbiAgICogYnJlYWtpbmcgY2hhbmdlIGZvciB5b3VyIGN1c3RvbWVycy5cbiAgICpcbiAgICogVW5sZXNzIGBwZWVyRGVwZW5kZW5jeU9wdGlvbnMucGlubmVkRGV2RGVwZW5kZW5jeWAgaXMgZGlzYWJsZWQgKGl0IGlzXG4gICAqIGVuYWJsZWQgYnkgZGVmYXVsdCksIHByb2plbiB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgZGV2IGRlcGVuZGVuY3kgd2l0aCBhXG4gICAqIHBpbm5lZCB2ZXJzaW9uIGZvciBlYWNoIHBlZXIgZGVwZW5kZW5jeS4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHlvdSBidWlsZCAmXG4gICAqIHRlc3QgeW91ciBtb2R1bGUgYWdhaW5zdCB0aGUgbG93ZXN0IHBlZXIgdmVyc2lvbiByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHBlZXJEZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHBucG0uXG4gICAqIEBkZWZhdWx0IC0gYWxsIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcG5wbU9wdGlvbnM/OiBqYXZhc2NyaXB0LlBucG1PcHRpb25zO1xuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgUE5QTSB0byB1c2UgaWYgdXNpbmcgUE5QTSBhcyBhIHBhY2thZ2UgbWFuYWdlci5cbiAgICogQGRlZmF1bHQgXCIxMC4zMy4wXCJcbiAgICovXG4gIHJlYWRvbmx5IHBucG1WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogU3RlcHMgdG8gZXhlY3V0ZSBhZnRlciBidWlsZCBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdEJ1aWxkU3RlcHM/OiBBcnJheTxnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXA+O1xuICAvKipcbiAgICogQnVtcCB2ZXJzaW9ucyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaCBhcyBwcmUtcmVsZWFzZXMgKGUuZy4gXCJiZXRhXCIsIFwiYWxwaGFcIiwgXCJwcmVcIikuXG4gICAqIEBkZWZhdWx0IC0gbm9ybWFsIHNlbWFudGljIHZlcnNpb25zXG4gICAqL1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0dXAgcHJldHRpZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcmV0dGllcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcmV0dGllciBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJldHRpZXJPcHRpb25zPzogamF2YXNjcmlwdC5QcmV0dGllck9wdGlvbnM7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIHByb2plY3QgdHJlZSBmaWxlIChgLnByb2plbi90cmVlLmpzb25gKSB0aGF0IHNob3dzIGFsbCBjb21wb25lbnRzIGFuZCB0aGVpciByZWxhdGlvbnNoaXBzLiBVc2VmdWwgZm9yIHVuZGVyc3RhbmRpbmcgeW91ciBwcm9qZWN0IHN0cnVjdHVyZSBhbmQgZGVidWdnaW5nLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdFRyZWU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHNoZWxsIGNvbW1hbmQgdG8gdXNlIGluIG9yZGVyIHRvIHJ1biB0aGUgcHJvamVuIENMSS5cbiAgICogSW5zZXJ0ZWQgdmVyYmF0aW0gaW50byB0YXNrIHN0ZXBzLCB3b3JrZmxvd3MgYW5kIElERSBjb25maWd1cmF0aW9uLCBhbmQgcnVuXG4gICAqIGJ5IGVhY2ggb2YgdGhlaXIgc2hlbGxzIC0gbG9jYWxseSwgaW4gQ0kgYW5kIGluIGRldiBjb250YWluZXJzLiBLZWVwIGl0IGFcbiAgICogcGxhaW4gdW5xdW90ZWQgY29tbWFuZCwgc2luY2Ugc2hlbGwgc3ludGF4IGluIGl0IGV4ZWN1dGVzIGluIGFsbCBvZiB0aGVtLlxuICAgKlxuICAgKiBDYW4gYmUgdXNlZCB0byBjdXN0b21pemUgaW4gc3BlY2lhbCBlbnZpcm9ubWVudHMuXG4gICAqIEBkZWZhdWx0IFwibnB4IHByb2plblwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSB1c2UgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gbmFtZWQgUFJPSkVOX0dJVEhVQl9UT0tFTlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuQ3JlZGVudGlhbHM/OiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHM7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkRldkRlcGVuZGVuY3k/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qcyAoaW4gSmF2YVNjcmlwdCkuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzIGdlbmVyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBwcm9qZW5yY0pzb24gaXMgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnM/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qc29uIChpbiBKU09OKS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanNvbiBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uT3B0aW9ucz86IFByb2plbnJjSnNvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzT3B0aW9ucz86IGphdmFzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVXNlIFR5cGVTY3JpcHQgZm9yIHlvdXIgcHJvamVucmMgZmlsZSAoYC5wcm9qZW5yYy50c2ApLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMudHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IHR5cGVzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVmVyc2lvbiBvZiBwcm9qZW4gdG8gaW5zdGFsbC5cbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5zdGVhZCBvZiBhY3R1YWxseSBwdWJsaXNoaW5nIHRvIHBhY2thZ2UgbWFuYWdlcnMsIGp1c3QgcHJpbnQgdGhlIHB1Ymxpc2hpbmcgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hEcnlSdW4/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lIHB1Ymxpc2hpbmcgdGFza3MgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgbWFudWFsbHkgYXMgd2VsbCBhcyB3b3JrZmxvd3MuXG4gICAqIE5vcm1hbGx5LCBwdWJsaXNoaW5nIG9ubHkgaGFwcGVucyB3aXRoaW4gYXV0b21hdGVkIHdvcmtmbG93cy4gRW5hYmxlIHRoaXNcbiAgICogaW4gb3JkZXIgdG8gY3JlYXRlIGEgcHVibGlzaGluZyB0YXNrIGZvciBlYWNoIHB1Ymxpc2hpbmcgYWN0aXZpdHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVGFza3M/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5jbHVkZSBhIEdpdEh1YiBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBjb250ZW50XG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIFJFQURNRSBzZXR1cC5cbiAgICogQGRlZmF1bHQgLSB7IGZpbGVuYW1lOiAnUkVBRE1FLm1kJywgY29udGVudHM6ICcjIHJlcGxhY2UgdGhpcycgfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG4gIC8qKlxuICAgKiBGaW5kIGNvbW1pdHMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCByZWxlYXNhYmxlIFVzZWQgdG8gZGVjaWRlIGlmIGEgcmVsZWFzZSBpcyByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFkZCByZWxlYXNlIHdvcmtmbG93cyBmb3IgdGhpcyByZXBvc2l0b3J5XG4gICAqIEBkZWZhdWx0IC0gTm8gcmVsZWFzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgcmVsZWFzZSBicmFuY2hlcy5cbiAgICogQSB3b3JrZmxvdyB3aWxsIGJlIGNyZWF0ZWQgZm9yIGVhY2hcbiAgICogcmVsZWFzZSBicmFuY2ggd2hpY2ggd2lsbCBwdWJsaXNoIHJlbGVhc2VzIGZyb20gY29tbWl0cyBpbiB0aGlzIGJyYW5jaC5cbiAgICogRWFjaCByZWxlYXNlIGJyYW5jaCBfbXVzdF8gYmUgYXNzaWduZWQgYSBtYWpvciB2ZXJzaW9uIG51bWJlciB3aGljaCBpcyB1c2VkXG4gICAqIHRvIGVuZm9yY2UgdGhhdCB2ZXJzaW9ucyBwdWJsaXNoZWQgZnJvbSB0aGF0IGJyYW5jaCBhbHdheXMgdXNlIHRoYXQgbWFqb3JcbiAgICogdmVyc2lvbi4gSWYgbXVsdGlwbGUgYnJhbmNoZXMgYXJlIHVzZWQsIHRoZSBgbWFqb3JWZXJzaW9uYCBmaWVsZCBtdXN0IGFsc29cbiAgICogYmUgcHJvdmlkZWQgZm9yIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGJyYW5jaGVzIGFyZSB1c2VkIGZvciByZWxlYXNlLiB5b3UgY2FuIHVzZVxuYGFkZEJyYW5jaCgpYCB0byBhZGQgYWRkaXRpb25hbCBicmFuY2hlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIHJlbGVhc2UuQnJhbmNoT3B0aW9ucz47XG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGFuIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXAgdG8gdGhlIHJlbGVhc2VcbiAgICogb3IgbGltaXQgd2hvIGNhbiBpbml0aWF0ZSBhIHJlbGVhc2UgdGhyb3VnaCBlbnZpcm9ubWVudCBwcm90ZWN0aW9uIHJ1bGVzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIGFydGlmYWN0cyBhcmUgcmVsZWFzZWQsIHRoZSBlbnZpcm9ubWVudCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAgICogb24gYSBwZXIgYXJ0aWZhY3QgYmFzaXMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZCwgdW5sZXNzIHNldCBhdCB0aGUgYXJ0aWZhY3QgbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VFbnZpcm9ubWVudD86IHN0cmluZztcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gYXBwbHkgdG8gaXNzdWVzIGluZGljYXRpbmcgcHVibGlzaCBmYWlsdXJlcy5cbiAgICogT25seSBhcHBsaWVzIGlmIGByZWxlYXNlRmFpbHVyZUlzc3VlYCBpcyB0cnVlLlxuICAgKiBAZGVmYXVsdCBcImZhaWxlZC1yZWxlYXNlXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWVMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSByZWxlYXNlIHdvcmtmbG93c1xuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZU9wdGlvbnM/OiB5YXJuLk1vbm9yZXBvUmVsZWFzZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy4gVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmcgdmVyc2lvbiBudW1iZXJzLlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSByZWxlYXNlIHRvIG5wbSB3aGVuIG5ldyB2ZXJzaW9ucyBhcmUgaW50cm9kdWNlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUb05wbT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSB0cmlnZ2VyIHRvIHVzZS5cbiAgICogQGRlZmF1bHQgLSBDb250aW51b3VzIHJlbGVhc2VzIChgUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUcmlnZ2VyPzogcmVsZWFzZS5SZWxlYXNlVHJpZ2dlcjtcbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgcmVsZWFzZSB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgXCJyZWxlYXNlXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvd05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNldCBvZiB3b3JrZmxvdyBzdGVwcyB0byBleGVjdXRlIGluIG9yZGVyIHRvIHNldHVwIHRoZSB3b3JrZmxvdyBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dTZXR1cFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIFVzZSByZW5vdmF0ZWJvdCB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbm92YXRlYm90PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHJlbm92YXRlYm90LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVub3ZhdGVib3RPcHRpb25zPzogUmVub3ZhdGVib3RPcHRpb25zO1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgaXMgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBhY3R1YWwgY29kZSBmb3IgeW91ciBwYWNrYWdlIGxpdmVzLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtcmVwb3NpdG9yeVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHRoZSBwYWNrYWdlLmpzb24gZm9yIHlvdXIgcGFja2FnZSBpcyBub3QgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IChmb3IgZXhhbXBsZSBpZiBpdCBpcyBwYXJ0IG9mIGEgbW9ub3JlcG8pLCB5b3UgY2FuIHNwZWNpZnkgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBpdCBsaXZlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgVHlwZVNjcmlwdCBydW5uZXIgdG8gdXNlIGZvciBleGVjdXRpbmcgVHlwZVNjcmlwdCBmaWxlcy5cbiAgICogVGhpcyBpcyBhIHByb2plY3QtbGV2ZWwgc2V0dGluZyB0aGF0IGNvbXBvbmVudHMgKGUuZy4gcHJvamVucmMpIHdpbGxcbiAgICogdXNlIGFzIHRoZWlyIGRlZmF1bHQgcnVubmVyLlxuICAgKiBAZGVmYXVsdCBUeXBlU2NyaXB0UnVubmVyLnRzTm9kZSgpXG4gICAqL1xuICByZWFkb25seSBydW5uZXI/OiB0eXBlc2NyaXB0LlR5cGVTY3JpcHRSdW5uZXI7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBwcml2YXRlbHkgaG9zdGVkIHNjb3BlZCBwYWNrYWdlcy5cbiAgICogQGRlZmF1bHQgLSBmZXRjaCBhbGwgc2NvcGVkIHBhY2thZ2VzIGZyb20gdGhlIHB1YmxpYyBucG0gcmVnaXN0cnlcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlZFBhY2thZ2VzT3B0aW9ucz86IEFycmF5PGphdmFzY3JpcHQuU2NvcGVkUGFja2FnZXNPcHRpb25zPjtcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgc291cmNlcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwic3JjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhY2thZ2UncyBTdGFiaWxpdHkuXG4gICAqL1xuICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIG9mIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0LlxuICAgKiBTZWUgYHN0YWxlT3B0aW9uc2AgZm9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cy5cbiAgICogVG8gZGlzYWJsZSBzZXQgYHN0YWxlYCB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIEplc3QgdGVzdHMgZGlyZWN0b3J5LiBUZXN0cyBmaWxlcyBzaG91bGQgYmUgbmFtZWQgYHh4eC50ZXN0LnRzYC5cbiAgICogSWYgdGhpcyBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyY2RpcmAgKGUuZy4gYHNyYy90ZXN0YCwgYHNyYy9fX3Rlc3RzX19gKSxcbiAgICogdGhlbiB0ZXN0cyBhcmUgZ29pbmcgdG8gYmUgY29tcGlsZWQgaW50byBgbGliL2AgYW5kIGV4ZWN1dGVkIGFzIGphdmFzY3JpcHQuXG4gICAqIElmIHRoZSB0ZXN0IGRpcmVjdG9yeSBpcyBvdXRzaWRlIG9mIGBzcmNgLCB0aGVuIHdlIGNvbmZpZ3VyZSBqZXN0IHRvXG4gICAqIGNvbXBpbGUgdGhlIGNvZGUgaW4tbWVtb3J5LlxuICAgKiBAZGVmYXVsdCBcInRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBUU0NvbmZpZy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgLyoqXG4gICAqIEN1c3RvbSB0c2NvbmZpZyBvcHRpb25zIGZvciB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcuanNvbiBmaWxlICh1c2VkIGZvciB0ZXN0aW5nKS5cbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHByb2R1Y3Rpb24gdHNjb25maWcgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdEZXY/OiBqYXZhc2NyaXB0LlR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG5hbWUgKGFuZCBwYXRoKSBvZiB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcgZmlsZS5cbiAgICogQnkgZGVmYXVsdCB0aGlzIGxpdmVzIGluc2lkZSB0aGUgdGVzdCBkaXJlY3RvcnkgKGUuZy4gYHRlc3QvdHNjb25maWcuanNvbmApXG4gICAqIHNvIHRoYXQgdGhlIFR5cGVTY3JpcHQgbGFuZ3VhZ2Ugc2VydmljZSByZXNvbHZlcyBpdCBhcyB0aGUgbmVhcmVzdCBjb25maWdcbiAgICogZm9yIHRlc3QgZmlsZXMuXG4gICAqIEBkZWZhdWx0IC0gXCJ7dGVzdGRpcn0vdHNjb25maWcuanNvblwiXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0RldkZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciB0cy1qZXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdHNKZXN0T3B0aW9ucz86IHR5cGVzY3JpcHQuVHNKZXN0T3B0aW9ucztcbiAgLyoqXG4gICAqIFR5cGUtY2hlY2sgdGhlIHRlc3Qgc3VpdGUgYXMgcGFydCBvZiB0aGUgYHRlc3RgIHRhc2suXG4gICAqIEFkZHMgYSBgdHNjIC0tbm9FbWl0YCBzdGVwIGFnYWluc3QgdGhlIGRldmVsb3BtZW50IHRzY29uZmlnLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZWNoZWNrVGVzdHM/OiBib29sZWFuO1xuICAvKipcbiAgICogVHlwZVNjcmlwdCB2ZXJzaW9uIHRvIHVzZS5cbiAgICogTk9URTogVHlwZXNjcmlwdCBpcyBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZCBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGVcbiAgICogc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3kgKGUuZy4gYH4xLjIuM2ApLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSB0eXBlc2NyaXB0VmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBjb25maWd1cmF0aW9uIHVzZWQgd2hlbiBjcmVhdGluZyBjaGFuZ2Vsb2cgd2l0aCBjb21taXQtYW5kLXRhZy12ZXJzaW9uIHBhY2thZ2UuXG4gICAqIEdpdmVuIHZhbHVlcyBlaXRoZXIgYXBwZW5kIHRvIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvciBvdmVyd3JpdGUgdmFsdWVzIGluIGl0LlxuICAgKiBAZGVmYXVsdCAtIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gYXBwbGljYWJsZSBmb3IgR2l0SHViIHJlcG9zaXRvcmllc1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBFbmFibGUgVlNDb2RlIGludGVncmF0aW9uLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdnNjb2RlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZTQ29kZSBtdWx0aS1yb290IHdvcmtzcGFjZSBmaWxlIGZvciBhbGwgbW9ub3JlcG8gd29ya3NwYWNlc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdnNjb2RlV29ya3NwYWNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIFZTQ29kZSBtdWx0aS1yb290IHdvcmtzcGFjZSBmaWxlXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSB2c2NvZGVXb3Jrc3BhY2VPcHRpb25zPzogeWFybi5Wc0NvZGVXb3Jrc3BhY2VPcHRpb25zO1xuICAvKipcbiAgICogV29ya2Zsb3cgc3RlcHMgdG8gdXNlIGluIG9yZGVyIHRvIGJvb3RzdHJhcCB0aGlzIHJlcG8uXG4gICAqIEBkZWZhdWx0IFwieWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlICYmIHlhcm4gcHJvamVuXCJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Qm9vdHN0cmFwU3RlcHM/OiBBcnJheTxnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXA+O1xuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIHVzZSBmb3IgR2l0SHViIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGltYWdlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0NvbnRhaW5lckltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB0byB1c2UgaW4gd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dHaXRJZGVudGl0eT86IGdpdGh1Yi5HaXRJZGVudGl0eTtcbiAgLyoqXG4gICAqIFRoZSBub2RlIHZlcnNpb24gdG8gdXNlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0ICdsdHMvKidcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgTm9kZS5qcyBwYWNrYWdlIGNhY2hlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1BhY2thZ2VDYWNoZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBnaXRodWJPcHRpb25zLndvcmtmbG93UnVuc09uYCBvbiB0aGUgcHJvamVjdCwgb3IgYHJ1bnNPbmAgb24gYFJlbGVhc2VPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT24/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9ucy5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBnaXRodWJPcHRpb25zLndvcmtmbG93UnVuc09uR3JvdXBgIG9uIHRoZSBwcm9qZWN0LCBvciBgcnVuc09uR3JvdXBgIG9uIGBSZWxlYXNlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgWWFybiBCZXJyeSBhcyB0aGUgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBXaGVuIGVuYWJsZWQsIHRoZSBtb25vcmVwbyB3aWxsIHVzZSBgWUFSTl9CRVJSWWAgaW5zdGVhZCBvZiBgWUFSTl9DTEFTU0lDYC5cbiAgICogYHlhcm5CZXJyeU9wdGlvbnNgIGNhbiBiZSB1c2VkIHRvIGZ1cnRoZXIgY29uZmlndXJlIFlhcm4gQmVycnkuXG4gICAqIFRoZSBgbm9kZUxpbmtlcmAgZGVmYXVsdHMgdG8gYG5vZGUtbW9kdWxlc2AuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB5YXJuQmVycnk/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgWWFybiBCZXJyeS5cbiAgICogQGRlZmF1bHQgLSBZYXJuIEJlcnJ5IHY0IHdpdGggYWxsIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgeWFybkJlcnJ5T3B0aW9ucz86IGphdmFzY3JpcHQuWWFybkJlcnJ5T3B0aW9ucztcbn1cbiJdfQ==
|
|
@@ -20,6 +20,13 @@ export interface MonorepoReleaseOptions {
|
|
|
20
20
|
* @default - A recent version of "commit-and-tag-version"
|
|
21
21
|
*/
|
|
22
22
|
readonly bumpPackage?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether GitHub should explicitly mark the release from the default branch as the latest release.
|
|
25
|
+
* Set to `true` to mark the release as latest, or `false` to explicitly not
|
|
26
|
+
* mark it as latest.
|
|
27
|
+
* @default - GitHub determines the latest release based on date and semantic version.
|
|
28
|
+
*/
|
|
29
|
+
readonly githubReleaseLatest?: boolean;
|
|
23
30
|
/**
|
|
24
31
|
* Version requirement of `publib` which is used to publish modules to npm.
|
|
25
32
|
* @default "latest"
|
|
@@ -138,10 +145,12 @@ export interface MonorepoReleaseOptions {
|
|
|
138
145
|
/**
|
|
139
146
|
* Github Runner selection labels.
|
|
140
147
|
* @default ["ubuntu-latest"]
|
|
148
|
+
* @deprecated use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
|
|
141
149
|
*/
|
|
142
150
|
readonly workflowRunsOn?: Array<string>;
|
|
143
151
|
/**
|
|
144
152
|
* Github Runner Group selection options.
|
|
153
|
+
* @deprecated use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
|
|
145
154
|
*/
|
|
146
155
|
readonly workflowRunsOnGroup?: GroupRunnerOptions;
|
|
147
156
|
/**
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8tcmVsZWFzZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3lhcm4vbW9ub3JlcG8tcmVsZWFzZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJ5YXJuIHByb2plblwiLlxuaW1wb3J0IHsgZ2l0aHViLCBSZWxlYXNhYmxlQ29tbWl0cywgcmVsZWFzZSwgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSAncHJvamVuJztcblxuLyoqXG4gKiBNb25vcmVwb1JlbGVhc2VPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ub3JlcG9SZWxlYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBCcmFuY2ggbmFtZSB0byByZWxlYXNlIGZyb21cbiAgICogQGRlZmF1bHQgXCJtYWluXCJcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgbW9ub3JlcG8gdXNpbmcgTnggZHVyaW5nIHRoZSByZWxlYXNlLlxuICAgKiBXaWxsIGJ1aWxkIHByb2plY3RzIGluIHBhcmFsbGVsIGFuZCBjYW4gaW1wcm92ZSBidWlsZCBwZXJmb3JtYW5jZVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXaXRoTng/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8tcmVsZWFzZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3lhcm4vbW9ub3JlcG8tcmVsZWFzZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJ5YXJuIHByb2plblwiLlxuaW1wb3J0IHsgZ2l0aHViLCBSZWxlYXNhYmxlQ29tbWl0cywgcmVsZWFzZSwgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSAncHJvamVuJztcblxuLyoqXG4gKiBNb25vcmVwb1JlbGVhc2VPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ub3JlcG9SZWxlYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBCcmFuY2ggbmFtZSB0byByZWxlYXNlIGZyb21cbiAgICogQGRlZmF1bHQgXCJtYWluXCJcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgbW9ub3JlcG8gdXNpbmcgTnggZHVyaW5nIHRoZSByZWxlYXNlLlxuICAgKiBXaWxsIGJ1aWxkIHByb2plY3RzIGluIHBhcmFsbGVsIGFuZCBjYW4gaW1wcm92ZSBidWlsZCBwZXJmb3JtYW5jZVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXaXRoTng/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGBjb21taXQtYW5kLXRhZy12ZXJzaW9uYCBjb21wYXRpYmxlIHBhY2thZ2UgdXNlZCB0byBidW1wIHRoZSBwYWNrYWdlIHZlcnNpb24sIGFzIGEgZGVwZW5kZW5jeSBzdHJpbmcuXG4gICAqIFRoaXMgY2FuIGJlIGFueSBjb21wYXRpYmxlIHBhY2thZ2UgdmVyc2lvbiwgaW5jbHVkaW5nIHRoZSBkZXByZWNhdGVkIGBzdGFuZGFyZC12ZXJzaW9uQDlgLlxuICAgKiBAZGVmYXVsdCAtIEEgcmVjZW50IHZlcnNpb24gb2YgXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uXCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1bXBQYWNrYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciBHaXRIdWIgc2hvdWxkIGV4cGxpY2l0bHkgbWFyayB0aGUgcmVsZWFzZSBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaCBhcyB0aGUgbGF0ZXN0IHJlbGVhc2UuXG4gICAqIFNldCB0byBgdHJ1ZWAgdG8gbWFyayB0aGUgcmVsZWFzZSBhcyBsYXRlc3QsIG9yIGBmYWxzZWAgdG8gZXhwbGljaXRseSBub3RcbiAgICogbWFyayBpdCBhcyBsYXRlc3QuXG4gICAqIEBkZWZhdWx0IC0gR2l0SHViIGRldGVybWluZXMgdGhlIGxhdGVzdCByZWxlYXNlIGJhc2VkIG9uIGRhdGUgYW5kIHNlbWFudGljIHZlcnNpb24uXG4gICAqL1xuICByZWFkb25seSBnaXRodWJSZWxlYXNlTGF0ZXN0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFZlcnNpb24gcmVxdWlyZW1lbnQgb2YgYHB1YmxpYmAgd2hpY2ggaXMgdXNlZCB0byBwdWJsaXNoIG1vZHVsZXMgdG8gbnBtLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpUmVsZWFzZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIElmIHRoaXMgaXMgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1ham9yIHZlcnNpb24gbGluZS5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgZ2xvYmFsIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCAtIE1ham9yIHZlcnNpb24gaXMgbm90IGVuZm9yY2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogTWluaW1hbCBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXQgdG8gMSwgYXMgYnJlYWtpbmcgY2hhbmdlcyBiZWZvcmUgdGhlIDEueCBtYWpvclxuICAgKiByZWxlYXNlIGFyZSBub3QgaW5jcmVtZW50aW5nIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWFqb3JWZXJzaW9uYC5cbiAgICogQGRlZmF1bHQgLSBObyBtaW5pbXVtIHZlcnNpb24gaXMgYmVpbmcgZW5mb3JjZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBjb250cm9sIHRoZSBuZXh0IHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogSWYgcHJlc2VudCwgdGhpcyBzaGVsbCBjb21tYW5kIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgYnVtcCBpcyBleGVjdXRlZCwgYW5kXG4gICAqIGl0IGRldGVybWluZXMgd2hhdCB2ZXJzaW9uIHRvIHJlbGVhc2UuIEl0IHdpbGwgYmUgZXhlY3V0ZWQgaW4gdGhlIGZvbGxvd2luZ1xuICAgKiBlbnZpcm9ubWVudDpcbiAgICpcbiAgICogLSBXb3JraW5nIGRpcmVjdG9yeTogdGhlIHByb2plY3QgZGlyZWN0b3J5LlxuICAgKiAtIGAkVkVSU0lPTmA6IHRoZSBjdXJyZW50IHZlcnNpb24uIExvb2tzIGxpa2UgYDEuMi4zYC5cbiAgICogLSBgJExBVEVTVF9UQUdgOiB0aGUgbW9zdCByZWNlbnQgdGFnLiBMb29rcyBsaWtlIGBwcmVmaXgtdjEuMi4zYCwgb3IgbWF5IGJlIHVuc2V0LlxuICAgKiAtIGAkU1VHR0VTVEVEX0JVTVBgOiB0aGUgc3VnZ2VzdGVkIGJ1bXAgYWN0aW9uIGJhc2VkIG9uIGNvbW1pdHMuIE9uZSBvZiBgbWFqb3J8bWlub3J8cGF0Y2h8bm9uZWAuXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICpcbiAgICogLSBOb3RoaW5nOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gY29tbWl0IGhpc3RvcnkuXG4gICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgKiAtIGBtYWpvcnxtaW5vcnxwYXRjaGA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBudW1iZXJcbiAgICogICB3aXRoIHRoZSBpbmRpY2F0ZWQgY29tcG9uZW50IGJ1bXBlZC5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYDsgdGhlIGludm9rZWRcbiAgICogc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIGVmZmVjdHMgb2YgYG1pbk1ham9yVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogTm9kZSB2ZXJzaW9uIHRvIHVzZSBpbiB0aGUgcmVsZWFzZSB3b3JrZmxvd1xuICAgKiBAZGVmYXVsdCBcImx0cy8qXCJcbiAgICovXG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5wbURpc3RUYWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogVG8gc2V0IHRoZSBucG0gZGlzdC10YWcgZm9yIHJlbGVhc2UgYnJhbmNoZXMsIHNldCB0aGUgYG5wbURpc3RUYWdgIHByb3BlcnR5XG4gICAqIGZvciBlYWNoIGJyYW5jaC5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtRGlzdFRhZz86IHN0cmluZztcbiAgLyoqXG4gICAqIFN0ZXBzIHRvIGV4ZWN1dGUgYWZ0ZXIgYnVpbGQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHBvc3RCdWlsZFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIEJ1bXAgdmVyc2lvbnMgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2ggYXMgcHJlLXJlbGVhc2VzIChlLmcuIFwiYmV0YVwiLCBcImFscGhhXCIsIFwicHJlXCIpLlxuICAgKiBAZGVmYXVsdCAtIG5vcm1hbCBzZW1hbnRpYyB2ZXJzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZyB0byBwYWNrYWdlIG1hbmFnZXJzLCBqdXN0IHByaW50IHRoZSBwdWJsaXNoaW5nIGNvbW1hbmQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoRHJ5UnVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggcGFja2FnZXMgdG8gbnBtXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb05wbT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGaW5kIGNvbW1pdHMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCByZWxlYXNhYmxlIFVzZWQgdG8gZGVjaWRlIGlmIGEgcmVsZWFzZSBpcyByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgQWN0aW9ucyBlbnZpcm9ubWVudCB1c2VkIGZvciB0aGUgcmVsZWFzZS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBhZGQgYW4gZXhwbGljaXQgYXBwcm92YWwgc3RlcCB0byB0aGUgcmVsZWFzZVxuICAgKiBvciBsaW1pdCB3aG8gY2FuIGluaXRpYXRlIGEgcmVsZWFzZSB0aHJvdWdoIGVudmlyb25tZW50IHByb3RlY3Rpb24gcnVsZXMuXG4gICAqXG4gICAqIFdoZW4gbXVsdGlwbGUgYXJ0aWZhY3RzIGFyZSByZWxlYXNlZCwgdGhlIGVudmlyb25tZW50IGNhbiBiZSBvdmVyd3JpdHRlblxuICAgKiBvbiBhIHBlciBhcnRpZmFjdCBiYXNpcy5cbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB1c2VkLCB1bmxlc3Mgc2V0IGF0IHRoZSBhcnRpZmFjdCBsZXZlbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUVudmlyb25tZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdHJpZ2dlciB0byB1c2UuXG4gICAqIEBkZWZhdWx0IC0gQ29udGludW91cyByZWxlYXNlcyAoYFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWApXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVHJpZ2dlcj86IHJlbGVhc2UuUmVsZWFzZVRyaWdnZXI7XG4gIC8qKlxuICAgKiBCdWlsZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHJlbGVhc2Ugd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93RW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZWZhdWx0IHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFwicmVsZWFzZVwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBzZXQgb2Ygd29ya2Zsb3cgc3RlcHMgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzZXR1cCB0aGUgd29ya2Zsb3cgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgdG8gdXNlIGZvciBHaXRIdWIgd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Q29udGFpbmVySW1hZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBnaXRodWJPcHRpb25zLndvcmtmbG93UnVuc09uYCBvbiB0aGUgcHJvamVjdCwgb3IgYHJ1bnNPbmAgb24gYFJlbGVhc2VPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT24/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9ucy5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBnaXRodWJPcHRpb25zLndvcmtmbG93UnVuc09uR3JvdXBgIG9uIHRoZSBwcm9qZWN0LCBvciBgcnVuc09uR3JvdXBgIG9uIGBSZWxlYXNlT3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtb25vcmVwbyB1c2VzIFlhcm4gQmVycnkuXG4gICAqIFdoZW4gZW5hYmxlZCwgcmVsZWFzZSB0YXNrcyB1c2UgWWFybiBCZXJyeSBjb21wYXRpYmxlIGNvbW1hbmRzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgeWFybkJlcnJ5PzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -47,7 +47,7 @@ const LATEST_COMMIT_OUTPUT = 'latest_commit';
|
|
|
47
47
|
const ALL_PACKAGES_INPUT = '*all packages*';
|
|
48
48
|
class MonorepoRelease extends projen_1.Component {
|
|
49
49
|
options;
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.MonorepoRelease", version: "0.6.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.MonorepoRelease", version: "0.6.15" };
|
|
51
51
|
/**
|
|
52
52
|
* Returns the `MonorepoReleaseWorkflow` component of a project or `undefined` if the project
|
|
53
53
|
* does not have a MonorepoReleaseWorkflow component.
|
package/lib/yarn/monorepo.js
CHANGED
|
@@ -47,7 +47,7 @@ const MONOREPO_SYM = Symbol.for('cdklabs-projen-project-types.yarn.Monorepo');
|
|
|
47
47
|
*/
|
|
48
48
|
class Monorepo extends projen_1.typescript.TypeScriptProject {
|
|
49
49
|
settings;
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.6.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.6.15" };
|
|
51
51
|
static isMonorepo(x) {
|
|
52
52
|
return Boolean(x && typeof x === 'object' && MONOREPO_SYM in x);
|
|
53
53
|
}
|
|
@@ -325,7 +325,7 @@ function getObjFromFile(project, file) {
|
|
|
325
325
|
* @pjid cdklabs-yarn-monorepo
|
|
326
326
|
*/
|
|
327
327
|
class CdkLabsMonorepo extends Monorepo {
|
|
328
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.6.
|
|
328
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.6.15" };
|
|
329
329
|
constructor(options) {
|
|
330
330
|
super({
|
|
331
331
|
projenrcTs: true,
|
|
@@ -193,7 +193,9 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
193
193
|
*/
|
|
194
194
|
readonly codeArtifactOptions?: javascript.CodeArtifactOptions;
|
|
195
195
|
/**
|
|
196
|
-
* Define a GitHub workflow step for sending code coverage metrics to https://codecov.io
|
|
196
|
+
* Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/.
|
|
197
|
+
* Uses codecov/codecov-action. By default, OIDC auth is used.
|
|
198
|
+
* Alternatively a token can be provided via `codeCovTokenSecret`.
|
|
197
199
|
* @default false
|
|
198
200
|
*/
|
|
199
201
|
readonly codeCov?: boolean;
|
|
@@ -207,6 +209,12 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
207
209
|
* @default true
|
|
208
210
|
*/
|
|
209
211
|
readonly commitGenerated?: boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Configuration values available to package scripts at runtime.
|
|
214
|
+
* Values should be JSON-serializable.
|
|
215
|
+
* @default - no package configuration
|
|
216
|
+
*/
|
|
217
|
+
readonly config?: Record<string, any>;
|
|
210
218
|
/**
|
|
211
219
|
* License copyright owner.
|
|
212
220
|
* This value is only used if the selected license text contains the
|
|
@@ -369,6 +377,13 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
369
377
|
* @default - see GitHubOptions
|
|
370
378
|
*/
|
|
371
379
|
readonly githubOptions?: github.GitHubOptions;
|
|
380
|
+
/**
|
|
381
|
+
* Whether GitHub should explicitly mark the release from the default branch as the latest release.
|
|
382
|
+
* Set to `true` to mark the release as latest, or `false` to explicitly not
|
|
383
|
+
* mark it as latest.
|
|
384
|
+
* @default - GitHub determines the latest release based on date and semantic version.
|
|
385
|
+
*/
|
|
386
|
+
readonly githubReleaseLatest?: boolean;
|
|
372
387
|
/**
|
|
373
388
|
* Additional entries to .gitignore.
|
|
374
389
|
*/
|
|
@@ -633,6 +648,10 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
633
648
|
readonly projectTree?: boolean;
|
|
634
649
|
/**
|
|
635
650
|
* The shell command to use in order to run the projen CLI.
|
|
651
|
+
* Inserted verbatim into task steps, workflows and IDE configuration, and run
|
|
652
|
+
* by each of their shells - locally, in CI and in dev containers. Keep it a
|
|
653
|
+
* plain unquoted command, since shell syntax in it executes in all of them.
|
|
654
|
+
*
|
|
636
655
|
* Can be used to customize in special environments.
|
|
637
656
|
* @default "npx projen"
|
|
638
657
|
*/
|
|
@@ -863,6 +882,12 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
863
882
|
* Options for ts-jest.
|
|
864
883
|
*/
|
|
865
884
|
readonly tsJestOptions?: typescript.TsJestOptions;
|
|
885
|
+
/**
|
|
886
|
+
* Type-check the test suite as part of the `test` task.
|
|
887
|
+
* Adds a `tsc --noEmit` step against the development tsconfig.
|
|
888
|
+
* @default false
|
|
889
|
+
*/
|
|
890
|
+
readonly typecheckTests?: boolean;
|
|
866
891
|
/**
|
|
867
892
|
* TypeScript version to use.
|
|
868
893
|
* NOTE: Typescript is not semantically versioned and should remain on the
|
|
@@ -910,10 +935,12 @@ export interface TypeScriptWorkspaceOptions {
|
|
|
910
935
|
/**
|
|
911
936
|
* Github Runner selection labels.
|
|
912
937
|
* @default ["ubuntu-latest"]
|
|
938
|
+
* @deprecated use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`
|
|
913
939
|
*/
|
|
914
940
|
readonly workflowRunsOn?: Array<string>;
|
|
915
941
|
/**
|
|
916
942
|
* Github Runner Group selection options.
|
|
943
|
+
* @deprecated use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`
|
|
917
944
|
*/
|
|
918
945
|
readonly workflowRunsOnGroup?: GroupRunnerOptions;
|
|
919
946
|
/**
|