UNPKG

@aws-cdk/aws-glue-alpha

Version:

The CDK Construct Library for AWS::Glue

315 lines 26.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CrawlerState = exports.ConditionLogicalOperator = exports.PredicateLogical = exports.MaxCapacity = exports.JobType = exports.Runtime = exports.PythonVersion = exports.JobLanguage = exports.GlueVersion = exports.ExecutionClass = exports.MetricType = exports.JobState = exports.WorkerType = void 0; /** * The type of predefined worker that is allocated when a job runs. */ var WorkerType; (function (WorkerType) { /** * Standard Worker Type * 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. */ WorkerType["STANDARD"] = "Standard"; /** * G.1X Worker Type * 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. Suitable for memory-intensive jobs. */ WorkerType["G_1X"] = "G.1X"; /** * G.2X Worker Type * 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. Suitable for memory-intensive jobs. */ WorkerType["G_2X"] = "G.2X"; /** * G.4X Worker Type * 4 DPU (16 vCPU, 64 GB of memory, 256 GB disk), and provides 1 executor per worker. * We recommend this worker type for jobs whose workloads contain your most demanding transforms, * aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later jobs. */ WorkerType["G_4X"] = "G.4X"; /** * G.8X Worker Type * 8 DPU (32 vCPU, 128 GB of memory, 512 GB disk), and provides 1 executor per worker. We recommend this worker * type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. * This worker type is available only for AWS Glue version 3.0 or later jobs. */ WorkerType["G_8X"] = "G.8X"; /** * G.12X Worker Type * 12 DPU (48 vCPU, 192 GB of memory, 768 GB disk), and provides 1 executor per worker. * We recommend this worker type for jobs with very large and resource-intensive workloads * that require significant compute capacity. This worker type is available only for * AWS Glue version 3.0 or later jobs. */ WorkerType["G_12X"] = "G.12X"; /** * G.16X Worker Type * 16 DPU (64 vCPU, 256 GB of memory, 1024 GB disk), and provides 1 executor per worker. * We recommend this worker type for jobs with the largest and most resource-intensive workloads * that require maximum compute capacity. This worker type is available only for * AWS Glue version 3.0 or later jobs. */ WorkerType["G_16X"] = "G.16X"; /** * G.025X Worker Type * 0.25 DPU (2 vCPU, 4 GB of memory, 64 GB disk), and provides 1 executor per worker. Suitable for low volume streaming jobs. */ WorkerType["G_025X"] = "G.025X"; /** * Z.2X Worker Type */ WorkerType["Z_2X"] = "Z.2X"; /** * R.1X Worker Type * 1 M-DPU (4 vCPUs, 32 GB memory), We recommend this worker type for memory-intensive workloads * that frequently encounter out-of-memory errors or require high memory-to-CPU ratios. */ WorkerType["R_1X"] = "R.1X"; /** * R.2X Worker Type * 2 M-DPU (8 vCPUs, 64 GB memory), We recommend this worker type for memory-intensive workloads * that frequently encounter out-of-memory errors or require high memory-to-CPU ratios. */ WorkerType["R_2X"] = "R.2X"; /** * R.4X Worker Type * 4 M-DPU (16 vCPUs, 128 GB memory), We recommend this worker type for large memory-intensive workloads * that frequently encounter out-of-memory errors or require high memory-to-CPU ratios. */ WorkerType["R_4X"] = "R.4X"; /** * R.8X Worker Type * 8 M-DPU (32 vCPUs, 256 GB memory), We recommend this worker type for very large memory-intensive workloads * that frequently encounter out-of-memory errors or require high memory-to-CPU ratios. */ WorkerType["R_8X"] = "R.8X"; })(WorkerType || (exports.WorkerType = WorkerType = {})); /** * The number of workers of a defined workerType that are allocated when a job runs. * * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html */ /** * Job states emitted by Glue to CloudWatch Events. * * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#glue-event-types for more information. */ var JobState; (function (JobState) { /** * State indicating job run succeeded */ JobState["SUCCEEDED"] = "SUCCEEDED"; /** * State indicating job run failed */ JobState["FAILED"] = "FAILED"; /** * State indicating job run timed out */ JobState["TIMEOUT"] = "TIMEOUT"; /** * State indicating job is starting */ JobState["STARTING"] = "STARTING"; /** * State indicating job is running */ JobState["RUNNING"] = "RUNNING"; /** * State indicating job is stopping */ JobState["STOPPING"] = "STOPPING"; /** * State indicating job stopped */ JobState["STOPPED"] = "STOPPED"; })(JobState || (exports.JobState = JobState = {})); /** * The Glue CloudWatch metric type. * * @see https://docs.aws.amazon.com/glue/latest/dg/monitoring-awsglue-with-cloudwatch-metrics.html */ var MetricType; (function (MetricType) { /** * A value at a point in time. */ MetricType["GAUGE"] = "gauge"; /** * An aggregate number. */ MetricType["COUNT"] = "count"; })(MetricType || (exports.MetricType = MetricType = {})); /** * The ExecutionClass whether the job is run with a standard or flexible execution class. * * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job * @see https://docs.aws.amazon.com/glue/latest/dg/add-job.html */ var ExecutionClass; (function (ExecutionClass) { /** * The flexible execution class is appropriate for time-insensitive jobs whose start * and completion times may vary. */ ExecutionClass["FLEX"] = "FLEX"; /** * The standard execution class is ideal for time-sensitive workloads that require fast job * startup and dedicated resources. */ ExecutionClass["STANDARD"] = "STANDARD"; })(ExecutionClass || (exports.ExecutionClass = ExecutionClass = {})); /** * AWS Glue version determines the versions of Apache Spark and Python that are available to the job. * * @see https://docs.aws.amazon.com/glue/latest/dg/add-job.html. */ var GlueVersion; (function (GlueVersion) { /** * Glue version using Spark 2.2.1 and Python 2.7 */ GlueVersion["V0_9"] = "0.9"; /** * Glue version using Spark 2.4.3, Python 2.7 and Python 3.6 */ GlueVersion["V1_0"] = "1.0"; /** * Glue version using Spark 2.4.3 and Python 3.7 */ GlueVersion["V2_0"] = "2.0"; /** * Glue version using Spark 3.1.1 and Python 3.7 */ GlueVersion["V3_0"] = "3.0"; /** * Glue version using Spark 3.3.0 and Python 3.10 */ GlueVersion["V4_0"] = "4.0"; /** * Glue version using Spark 3.5.2 and Python 3.11 */ GlueVersion["V5_0"] = "5.0"; })(GlueVersion || (exports.GlueVersion = GlueVersion = {})); /** * Runtime language of the Glue job */ var JobLanguage; (function (JobLanguage) { /** * Scala */ JobLanguage["SCALA"] = "scala"; /** * Python */ JobLanguage["PYTHON"] = "python"; })(JobLanguage || (exports.JobLanguage = JobLanguage = {})); /** * Python version */ var PythonVersion; (function (PythonVersion) { /** * Python 2 (the exact version depends on GlueVersion and JobCommand used) */ PythonVersion["TWO"] = "2"; /** * Python 3 (the exact version depends on GlueVersion and JobCommand used) */ PythonVersion["THREE"] = "3"; /** * Python 3.9 (the exact version depends on GlueVersion and JobCommand used) */ PythonVersion["THREE_NINE"] = "3.9"; })(PythonVersion || (exports.PythonVersion = PythonVersion = {})); /** * AWS Glue runtime determines the runtime engine of the job. * */ var Runtime; (function (Runtime) { /** * Runtime for a Glue for Ray 2.4. */ Runtime["RAY_TWO_FOUR"] = "Ray2.4"; })(Runtime || (exports.Runtime = Runtime = {})); /** * The job type. */ var JobType; (function (JobType) { /** * Command for running a Glue Spark job. */ JobType["ETL"] = "glueetl"; /** * Command for running a Glue Spark streaming job. */ JobType["STREAMING"] = "gluestreaming"; /** * Command for running a Glue python shell job. */ JobType["PYTHON_SHELL"] = "pythonshell"; /** * Command for running a Glue Ray job. */ JobType["RAY"] = "glueray"; })(JobType || (exports.JobType = JobType = {})); /** * The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. */ var MaxCapacity; (function (MaxCapacity) { /** * DPU value of 1/16th */ MaxCapacity[MaxCapacity["DPU_1_16TH"] = 0.0625] = "DPU_1_16TH"; /** * DPU value of 1 */ MaxCapacity[MaxCapacity["DPU_1"] = 1] = "DPU_1"; })(MaxCapacity || (exports.MaxCapacity = MaxCapacity = {})); /* * Represents the logical operator for combining multiple conditions in the Glue Trigger API. */ var PredicateLogical; (function (PredicateLogical) { /** * All conditions must be true for the predicate to be true. */ PredicateLogical["AND"] = "AND"; /** * At least one condition must be true for the predicate to be true. */ PredicateLogical["ANY"] = "ANY"; })(PredicateLogical || (exports.PredicateLogical = PredicateLogical = {})); /** * Represents the logical operator for evaluating a single condition in the Glue Trigger API. */ var ConditionLogicalOperator; (function (ConditionLogicalOperator) { /** The condition is true if the values are equal. */ ConditionLogicalOperator["EQUALS"] = "EQUALS"; })(ConditionLogicalOperator || (exports.ConditionLogicalOperator = ConditionLogicalOperator = {})); /** * Represents the state of a crawler for a condition in the Glue Trigger API. */ var CrawlerState; (function (CrawlerState) { /** The crawler is currently running. */ CrawlerState["RUNNING"] = "RUNNING"; /** The crawler is in the process of being cancelled. */ CrawlerState["CANCELLING"] = "CANCELLING"; /** The crawler has been cancelled. */ CrawlerState["CANCELLED"] = "CANCELLED"; /** The crawler has completed its operation successfully. */ CrawlerState["SUCCEEDED"] = "SUCCEEDED"; /** The crawler has failed to complete its operation. */ CrawlerState["FAILED"] = "FAILED"; /** The crawler encountered an error during its operation. */ CrawlerState["ERROR"] = "ERROR"; })(CrawlerState || (exports.CrawlerState = CrawlerState = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxVQTJGWDtBQTNGRCxXQUFZLFVBQVU7SUFDcEI7OztPQUdHO0lBQ0gsbUNBQXFCLENBQUE7SUFFckI7OztPQUdHO0lBQ0gsMkJBQWEsQ0FBQTtJQUViOzs7T0FHRztJQUNILDJCQUFhLENBQUE7SUFFYjs7Ozs7T0FLRztJQUNILDJCQUFhLENBQUE7SUFFYjs7Ozs7T0FLRztJQUNILDJCQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCw2QkFBZSxDQUFBO0lBRWY7Ozs7OztPQU1HO0lBQ0gsNkJBQWUsQ0FBQTtJQUVmOzs7T0FHRztJQUNILCtCQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsMkJBQWEsQ0FBQTtJQUViOzs7O09BSUc7SUFDSCwyQkFBYSxDQUFBO0lBRWI7Ozs7T0FJRztJQUNILDJCQUFhLENBQUE7SUFFYjs7OztPQUlHO0lBQ0gsMkJBQWEsQ0FBQTtJQUViOzs7O09BSUc7SUFDSCwyQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQTNGVyxVQUFVLDBCQUFWLFVBQVUsUUEyRnJCO0FBRUQ7Ozs7R0FJRztBQUVIOzs7O0dBSUc7QUFDSCxJQUFZLFFBbUNYO0FBbkNELFdBQVksUUFBUTtJQUNsQjs7T0FFRztJQUNILG1DQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsNkJBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCwrQkFBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILGlDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsK0JBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxpQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILCtCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFuQ1csUUFBUSx3QkFBUixRQUFRLFFBbUNuQjtBQUVEOzs7O0dBSUc7QUFDSCxJQUFZLFVBVVg7QUFW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cHJlZGVmaW5lZCB3b3JrZXIgdGhhdCBpcyBhbGxvY2F0ZWQgd2hlbiBhIGpvYiBydW5zLlxuICovXG5leHBvcnQgZW51bSBXb3JrZXJUeXBlIHtcbiAgLyoqXG4gICAqIFN0YW5kYXJkIFdvcmtlciBUeXBlXG4gICAqIDQgdkNQVSwgMTYgR0Igb2YgbWVtb3J5IGFuZCBhIDUwR0IgZGlzaywgYW5kIDIgZXhlY3V0b3JzIHBlciB3b3JrZXIuXG4gICAqL1xuICBTVEFOREFSRCA9ICdTdGFuZGFyZCcsXG5cbiAgLyoqXG4gICAqIEcuMVggV29ya2VyIFR5cGVcbiAgICogMSBEUFUgKDQgdkNQVSwgMTYgR0Igb2YgbWVtb3J5LCA2NCBHQiBkaXNrKSwgYW5kIHByb3ZpZGVzIDEgZXhlY3V0b3IgcGVyIHdvcmtlci4gU3VpdGFibGUgZm9yIG1lbW9yeS1pbnRlbnNpdmUgam9icy5cbiAgICovXG4gIEdfMVggPSAnRy4xWCcsXG5cbiAgLyoqXG4gICAqIEcuMlggV29ya2VyIFR5cGVcbiAgICogMiBEUFUgKDggdkNQVSwgMzIgR0Igb2YgbWVtb3J5LCAxMjggR0IgZGlzayksIGFuZCBwcm92aWRlcyAxIGV4ZWN1dG9yIHBlciB3b3JrZXIuIFN1aXRhYmxlIGZvciBtZW1vcnktaW50ZW5zaXZlIGpvYnMuXG4gICAqL1xuICBHXzJYID0gJ0cuMlgnLFxuXG4gIC8qKlxuICAgKiBHLjRYIFdvcmtlciBUeXBlXG4gICAqIDQgRFBVICgxNiB2Q1BVLCA2NCBHQiBvZiBtZW1vcnksIDI1NiBHQiBkaXNrKSwgYW5kIHByb3ZpZGVzIDEgZXhlY3V0b3IgcGVyIHdvcmtlci5cbiAgICogV2UgcmVjb21tZW5kIHRoaXMgd29ya2VyIHR5cGUgZm9yIGpvYnMgd2hvc2Ugd29ya2xvYWRzIGNvbnRhaW4geW91ciBtb3N0IGRlbWFuZGluZyB0cmFuc2Zvcm1zLFxuICAgKiBhZ2dyZWdhdGlvbnMsIGpvaW5zLCBhbmQgcXVlcmllcy4gVGhpcyB3b3JrZXIgdHlwZSBpcyBhdmFpbGFibGUgb25seSBmb3IgQVdTIEdsdWUgdmVyc2lvbiAzLjAgb3IgbGF0ZXIgam9icy5cbiAgICovXG4gIEdfNFggPSAnRy40WCcsXG5cbiAgLyoqXG4gICAqIEcuOFggV29ya2VyIFR5cGVcbiAgICogOCBEUFUgKDMyIHZDUFUsIDEyOCBHQiBvZiBtZW1vcnksIDUxMiBHQiBkaXNrKSwgYW5kIHByb3ZpZGVzIDEgZXhlY3V0b3IgcGVyIHdvcmtlci4gV2UgcmVjb21tZW5kIHRoaXMgd29ya2VyXG4gICAqIHR5cGUgZm9yIGpvYnMgd2hvc2Ugd29ya2xvYWRzIGNvbnRhaW4geW91ciBtb3N0IGRlbWFuZGluZyB0cmFuc2Zvcm1zLCBhZ2dyZWdhdGlvbnMsIGpvaW5zLCBhbmQgcXVlcmllcy5cbiAgICogVGhpcyB3b3JrZXIgdHlwZSBpcyBhdmFpbGFibGUgb25seSBmb3IgQVdTIEdsdWUgdmVyc2lvbiAzLjAgb3IgbGF0ZXIgam9icy5cbiAgICovXG4gIEdfOFggPSAnRy44WCcsXG5cbiAgLyoqXG4gICAqIEcuMTJYIFdvcmtlciBUeXBlXG4gICAqIDEyIERQVSAoNDggdkNQVSwgMTkyIEdCIG9mIG1lbW9yeSwgNzY4IEdCIGRpc2spLCBhbmQgcHJvdmlkZXMgMSBleGVjdXRvciBwZXIgd29ya2VyLlxuICAgKiBXZSByZWNvbW1lbmQgdGhpcyB3b3JrZXIgdHlwZSBmb3Igam9icyB3aXRoIHZlcnkgbGFyZ2UgYW5kIHJlc291cmNlLWludGVuc2l2ZSB3b3JrbG9hZHNcbiAgICogdGhhdCByZXF1aXJlIHNpZ25pZmljYW50IGNvbXB1dGUgY2FwYWNpdHkuIFRoaXMgd29ya2VyIHR5cGUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yXG4gICAqIEFXUyBHbHVlIHZlcnNpb24gMy4wIG9yIGxhdGVyIGpvYnMuXG4gICAqL1xuICBHXzEyWCA9ICdHLjEyWCcsXG5cbiAgLyoqXG4gICAqIEcuMTZYIFdvcmtlciBUeXBlXG4gICAqIDE2IERQVSAoNjQgdkNQVSwgMjU2IEdCIG9mIG1lbW9yeSwgMTAyNCBHQiBkaXNrKSwgYW5kIHByb3ZpZGVzIDEgZXhlY3V0b3IgcGVyIHdvcmtlci5cbiAgICogV2UgcmVjb21tZW5kIHRoaXMgd29ya2VyIHR5cGUgZm9yIGpvYnMgd2l0aCB0aGUgbGFyZ2VzdCBhbmQgbW9zdCByZXNvdXJjZS1pbnRlbnNpdmUgd29ya2xvYWRzXG4gICAqIHRoYXQgcmVxdWlyZSBtYXhpbXVtIGNvbXB1dGUgY2FwYWNpdHkuIFRoaXMgd29ya2VyIHR5cGUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yXG4gICAqIEFXUyBHbHVlIHZlcnNpb24gMy4wIG9yIGxhdGVyIGpvYnMuXG4gICAqL1xuICBHXzE2WCA9ICdHLjE2WCcsXG5cbiAgLyoqXG4gICAqIEcuMDI1WCBXb3JrZXIgVHlwZVxuICAgKiAwLjI1IERQVSAoMiB2Q1BVLCA0IEdCIG9mIG1lbW9yeSwgNjQgR0IgZGlzayksIGFuZCBwcm92aWRlcyAxIGV4ZWN1dG9yIHBlciB3b3JrZXIuIFN1aXRhYmxlIGZvciBsb3cgdm9sdW1lIHN0cmVhbWluZyBqb2JzLlxuICAgKi9cbiAgR18wMjVYID0gJ0cuMDI1WCcsXG5cbiAgLyoqXG4gICAqIFouMlggV29ya2VyIFR5cGVcbiAgICovXG4gIFpfMlggPSAnWi4yWCcsXG5cbiAgLyoqXG4gICAqIFIuMVggV29ya2VyIFR5cGVcbiAgICogMSBNLURQVSAoNCB2Q1BVcywgMzIgR0IgbWVtb3J5KSwgV2UgcmVjb21tZW5kIHRoaXMgd29ya2VyIHR5cGUgZm9yIG1lbW9yeS1pbnRlbnNpdmUgd29ya2xvYWRzXG4gICAqIHRoYXQgZnJlcXVlbnRseSBlbmNvdW50ZXIgb3V0LW9mLW1lbW9yeSBlcnJvcnMgb3IgcmVxdWlyZSBoaWdoIG1lbW9yeS10by1DUFUgcmF0aW9zLlxuICAgKi9cbiAgUl8xWCA9ICdSLjFYJyxcblxuICAvKipcbiAgICogUi4yWCBXb3JrZXIgVHlwZVxuICAgKiAyIE0tRFBVICg4IHZDUFVzLCA2NCBHQiBtZW1vcnkpLCBXZSByZWNvbW1lbmQgdGhpcyB3b3JrZXIgdHlwZSBmb3IgbWVtb3J5LWludGVuc2l2ZSB3b3JrbG9hZHNcbiAgICogdGhhdCBmcmVxdWVudGx5IGVuY291bnRlciBvdXQtb2YtbWVtb3J5IGVycm9ycyBvciByZXF1aXJlIGhpZ2ggbWVtb3J5LXRvLUNQVSByYXRpb3MuXG4gICAqL1xuICBSXzJYID0gJ1IuMlgnLFxuXG4gIC8qKlxuICAgKiBSLjRYIFdvcmtlciBUeXBlXG4gICAqIDQgTS1EUFUgKDE2IHZDUFVzLCAxMjggR0IgbWVtb3J5KSwgV2UgcmVjb21tZW5kIHRoaXMgd29ya2VyIHR5cGUgZm9yIGxhcmdlIG1lbW9yeS1pbnRlbnNpdmUgd29ya2xvYWRzXG4gICAqIHRoYXQgZnJlcXVlbnRseSBlbmNvdW50ZXIgb3V0LW9mLW1lbW9yeSBlcnJvcnMgb3IgcmVxdWlyZSBoaWdoIG1lbW9yeS10by1DUFUgcmF0aW9zLlxuICAgKi9cbiAgUl80WCA9ICdSLjRYJyxcblxuICAvKipcbiAgICogUi44WCBXb3JrZXIgVHlwZVxuICAgKiA4IE0tRFBVICgzMiB2Q1BVcywgMjU2IEdCIG1lbW9yeSksIFdlIHJlY29tbWVuZCB0aGlzIHdvcmtlciB0eXBlIGZvciB2ZXJ5IGxhcmdlIG1lbW9yeS1pbnRlbnNpdmUgd29ya2xvYWRzXG4gICAqIHRoYXQgZnJlcXVlbnRseSBlbmNvdW50ZXIgb3V0LW9mLW1lbW9yeSBlcnJvcnMgb3IgcmVxdWlyZSBoaWdoIG1lbW9yeS10by1DUFUgcmF0aW9zLlxuICAgKi9cbiAgUl84WCA9ICdSLjhYJyxcbn1cblxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIHdvcmtlcnMgb2YgYSBkZWZpbmVkIHdvcmtlclR5cGUgdGhhdCBhcmUgYWxsb2NhdGVkIHdoZW4gYSBqb2IgcnVucy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1hcGktam9icy1qb2IuaHRtbFxuICovXG5cbi8qKlxuICogSm9iIHN0YXRlcyBlbWl0dGVkIGJ5IEdsdWUgdG8gQ2xvdWRXYXRjaCBFdmVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvZXZlbnRzL0V2ZW50VHlwZXMuaHRtbCNnbHVlLWV2ZW50LXR5cGVzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgZW51bSBKb2JTdGF0ZSB7XG4gIC8qKlxuICAgKiBTdGF0ZSBpbmRpY2F0aW5nIGpvYiBydW4gc3VjY2VlZGVkXG4gICAqL1xuICBTVUNDRUVERUQgPSAnU1VDQ0VFREVEJyxcblxuICAvKipcbiAgICogU3RhdGUgaW5kaWNhdGluZyBqb2IgcnVuIGZhaWxlZFxuICAgKi9cbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGljYXRpbmcgam9iIHJ1biB0aW1lZCBvdXRcbiAgICovXG4gIFRJTUVPVVQgPSAnVElNRU9VVCcsXG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGljYXRpbmcgam9iIGlzIHN0YXJ0aW5nXG4gICAqL1xuICBTVEFSVElORyA9ICdTVEFSVElORycsXG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGljYXRpbmcgam9iIGlzIHJ1bm5pbmdcbiAgICovXG4gIFJVTk5JTkcgPSAnUlVOTklORycsXG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGljYXRpbmcgam9iIGlzIHN0b3BwaW5nXG4gICAqL1xuICBTVE9QUElORyA9ICdTVE9QUElORycsXG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGljYXRpbmcgam9iIHN0b3BwZWRcbiAgICovXG4gIFNUT1BQRUQgPSAnU1RPUFBFRCcsXG59XG5cbi8qKlxuICogVGhlIEdsdWUgQ2xvdWRXYXRjaCBtZXRyaWMgdHlwZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9tb25pdG9yaW5nLWF3c2dsdWUtd2l0aC1jbG91ZHdhdGNoLW1ldHJpY3MuaHRtbFxuICovXG5leHBvcnQgZW51bSBNZXRyaWNUeXBlIHtcbiAgLyoqXG4gICAqIEEgdmFsdWUgYXQgYSBwb2ludCBpbiB0aW1lLlxuICAgKi9cbiAgR0FVR0UgPSAnZ2F1Z2UnLFxuXG4gIC8qKlxuICAgKiBBbiBhZ2dyZWdhdGUgbnVtYmVyLlxuICAgKi9cbiAgQ09VTlQgPSAnY291bnQnLFxufVxuXG4vKipcbiAqIFRoZSBFeGVjdXRpb25DbGFzcyB3aGV0aGVyIHRoZSBqb2IgaXMgcnVuIHdpdGggYSBzdGFuZGFyZCBvciBmbGV4aWJsZSBleGVjdXRpb24gY2xhc3MuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtYXBpLWpvYnMtam9iLmh0bWwjYXdzLWdsdWUtYXBpLWpvYnMtam9iLUpvYlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWRkLWpvYi5odG1sXG4gKi9cbmV4cG9ydCBlbnVtIEV4ZWN1dGlvbkNsYXNzIHtcbiAgLyoqXG4gICAqIFRoZSBmbGV4aWJsZSBleGVjdXRpb24gY2xhc3MgaXMgYXBwcm9wcmlhdGUgZm9yIHRpbWUtaW5zZW5zaXRpdmUgam9icyB3aG9zZSBzdGFydFxuICAgKiBhbmQgY29tcGxldGlvbiB0aW1lcyBtYXkgdmFyeS5cbiAgICovXG4gIEZMRVggPSAnRkxFWCcsXG5cbiAgLyoqXG4gICAqIFRoZSBzdGFuZGFyZCBleGVjdXRpb24gY2xhc3MgaXMgaWRlYWwgZm9yIHRpbWUtc2Vuc2l0aXZlIHdvcmtsb2FkcyB0aGF0IHJlcXVpcmUgZmFzdCBqb2JcbiAgICogc3RhcnR1cCBhbmQgZGVkaWNhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIFNUQU5EQVJEID0gJ1NUQU5EQVJEJyxcbn1cblxuLyoqXG4gKiBBV1MgR2x1ZSB2ZXJzaW9uIGRldGVybWluZXMgdGhlIHZlcnNpb25zIG9mIEFwYWNoZSBTcGFyayBhbmQgUHl0aG9uIHRoYXQgYXJlIGF2YWlsYWJsZSB0byB0aGUgam9iLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2FkZC1qb2IuaHRtbC5cbiAqL1xuZXhwb3J0IGVudW0gR2x1ZVZlcnNpb24ge1xuICAvKipcbiAgICogR2x1ZSB2ZXJzaW9uIHVzaW5nIFNwYXJrIDIuMi4xIGFuZCBQeXRob24gMi43XG4gICAqL1xuICBWMF85ID0gJzAuOScsXG5cbiAgLyoqXG4gICAqIEdsdWUgdmVyc2lvbiB1c2luZyBTcGFyayAyLjQuMywgUHl0aG9uIDIuNyBhbmQgUHl0aG9uIDMuNlxuICAgKi9cbiAgVjFfMCA9ICcxLjAnLFxuXG4gIC8qKlxuICAgKiBHbHVlIHZlcnNpb24gdXNpbmcgU3BhcmsgMi40LjMgYW5kIFB5dGhvbiAzLjdcbiAgICovXG4gIFYyXzAgPSAnMi4wJyxcblxuICAvKipcbiAgICogR2x1ZSB2ZXJzaW9uIHVzaW5nIFNwYXJrIDMuMS4xIGFuZCBQeXRob24gMy43XG4gICAqL1xuICBWM18wID0gJzMuMCcsXG5cbiAgLyoqXG4gICAqIEdsdWUgdmVyc2lvbiB1c2luZyBTcGFyayAzLjMuMCBhbmQgUHl0aG9uIDMuMTBcbiAgICovXG4gIFY0XzAgPSAnNC4wJyxcblxuICAvKipcbiAgICogR2x1ZSB2ZXJzaW9uIHVzaW5nIFNwYXJrIDMuNS4yIGFuZCBQeXRob24gMy4xMVxuICAgKi9cbiAgVjVfMCA9ICc1LjAnLFxuXG59XG5cbi8qKlxuICogUnVudGltZSBsYW5ndWFnZSBvZiB0aGUgR2x1ZSBqb2JcbiAqL1xuZXhwb3J0IGVudW0gSm9iTGFuZ3VhZ2Uge1xuICAvKipcbiAgICogU2NhbGFcbiAgICovXG4gIFNDQUxBID0gJ3NjYWxhJyxcblxuICAvKipcbiAgICogUHl0aG9uXG4gICAqL1xuICBQWVRIT04gPSAncHl0aG9uJyxcbn1cblxuLyoqXG4gKiBQeXRob24gdmVyc2lvblxuICovXG5leHBvcnQgZW51bSBQeXRob25WZXJzaW9uIHtcbiAgLyoqXG4gICAqIFB5dGhvbiAyICh0aGUgZXhhY3QgdmVyc2lvbiBkZXBlbmRzIG9uIEdsdWVWZXJzaW9uIGFuZCBKb2JDb21tYW5kIHVzZWQpXG4gICAqL1xuICBUV08gPSAnMicsXG5cbiAgLyoqXG4gICAqIFB5dGhvbiAzICh0aGUgZXhhY3QgdmVyc2lvbiBkZXBlbmRzIG9uIEdsdWVWZXJzaW9uIGFuZCBKb2JDb21tYW5kIHVzZWQpXG4gICAqL1xuICBUSFJFRSA9ICczJyxcblxuICAvKipcbiAgICogUHl0aG9uIDMuOSAodGhlIGV4YWN0IHZlcnNpb24gZGVwZW5kcyBvbiBHbHVlVmVyc2lvbiBhbmQgSm9iQ29tbWFuZCB1c2VkKVxuICAgKi9cbiAgVEhSRUVfTklORSA9ICczLjknLFxuXG59XG5cbi8qKlxuICogQVdTIEdsdWUgcnVudGltZSBkZXRlcm1pbmVzIHRoZSBydW50aW1lIGVuZ2luZSBvZiB0aGUgam9iLlxuICpcbiAqL1xuZXhwb3J0IGVudW0gUnVudGltZSB7XG4gIC8qKlxuICAgKiBSdW50aW1lIGZvciBhIEdsdWUgZm9yIFJheSAyLjQuXG4gICAqL1xuICBSQVlfVFdPX0ZPVVIgPSAnUmF5Mi40Jyxcbn1cblxuLyoqXG4gKiBUaGUgam9iIHR5cGUuXG4gKi9cbmV4cG9ydCBlbnVtIEpvYlR5cGUge1xuICAvKipcbiAgICogQ29tbWFuZCBmb3IgcnVubmluZyBhIEdsdWUgU3Bhcmsgam9iLlxuICAgKi9cbiAgRVRMID0gJ2dsdWVldGwnLFxuXG4gIC8qKlxuICAgKiBDb21tYW5kIGZvciBydW5uaW5nIGEgR2x1ZSBTcGFyayBzdHJlYW1pbmcgam9iLlxuICAgKi9cbiAgU1RSRUFNSU5HID0gJ2dsdWVzdHJlYW1pbmcnLFxuXG4gIC8qKlxuICAgKiBDb21tYW5kIGZvciBydW5uaW5nIGEgR2x1ZSBweXRob24gc2hlbGwgam9iLlxuICAgKi9cbiAgUFlUSE9OX1NIRUxMID0gJ3B5dGhvbnNoZWxsJyxcblxuICAvKipcbiAgICogQ29tbWFuZCBmb3IgcnVubmluZyBhIEdsdWUgUmF5IGpvYi5cbiAgICovXG4gIFJBWSA9ICdnbHVlcmF5JyxcblxufVxuXG4vKipcbiAqIFRoZSBudW1iZXIgb2YgQVdTIEdsdWUgZGF0YSBwcm9jZXNzaW5nIHVuaXRzIChEUFVzKSB0aGF0IGNhbiBiZSBhbGxvY2F0ZWQgd2hlbiB0aGlzIGpvYiBydW5zLiBBIERQVSBpcyBhIHJlbGF0aXZlIG1lYXN1cmUgb2YgcHJvY2Vzc2luZyBwb3dlciB0aGF0IGNvbnNpc3RzIG9mIDQgdkNQVXMgb2YgY29tcHV0ZSBjYXBhY2l0eSBhbmQgMTYgR0Igb2YgbWVtb3J5LlxuICovXG5leHBvcnQgZW51bSBNYXhDYXBhY2l0eSB7XG4gIC8qKlxuICAgKiBEUFUgdmFsdWUgb2YgMS8xNnRoXG4gICAqL1xuICBEUFVfMV8xNlRIID0gMC4wNjI1LFxuXG4gIC8qKlxuICAgKiBEUFUgdmFsdWUgb2YgMVxuICAgKi9cbiAgRFBVXzEgPSAxLFxufVxuXG4vKlxuICogUmVwcmVzZW50cyB0aGUgbG9naWNhbCBvcGVyYXRvciBmb3IgY29tYmluaW5nIG11bHRpcGxlIGNvbmRpdGlvbnMgaW4gdGhlIEdsdWUgVHJpZ2dlciBBUEkuXG4gKi9cbmV4cG9ydCBlbnVtIFByZWRpY2F0ZUxvZ2ljYWwge1xuICAvKipcbiAgICogQWxsIGNvbmRpdGlvbnMgbXVzdCBiZSB0cnVlIGZvciB0aGUgcHJlZGljYXRlIHRvIGJlIHRydWUuXG4gICAqL1xuICBBTkQgPSAnQU5EJyxcblxuICAvKipcbiAgICogQXQgbGVhc3Qgb25lIGNvbmRpdGlvbiBtdXN0IGJlIHRydWUgZm9yIHRoZSBwcmVkaWNhdGUgdG8gYmUgdHJ1ZS5cbiAgICovXG4gIEFOWSA9ICdBTlknLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGxvZ2ljYWwgb3BlcmF0b3IgZm9yIGV2YWx1YXRpbmcgYSBzaW5nbGUgY29uZGl0aW9uIGluIHRoZSBHbHVlIFRyaWdnZXIgQVBJLlxuICovXG5leHBvcnQgZW51bSBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3Ige1xuICAvKiogVGhlIGNvbmRpdGlvbiBpcyB0cnVlIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWFsLiAqL1xuICBFUVVBTFMgPSAnRVFVQUxTJyxcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzdGF0ZSBvZiBhIGNyYXdsZXIgZm9yIGEgY29uZGl0aW9uIGluIHRoZSBHbHVlIFRyaWdnZXIgQVBJLlxuICovXG5leHBvcnQgZW51bSBDcmF3bGVyU3RhdGUge1xuICAvKiogVGhlIGNyYXdsZXIgaXMgY3VycmVudGx5IHJ1bm5pbmcuICovXG4gIFJVTk5JTkcgPSAnUlVOTklORycsXG5cbiAgLyoqIFRoZSBjcmF3bGVyIGlzIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGNhbmNlbGxlZC4gKi9cbiAgQ0FOQ0VMTElORyA9ICdDQU5DRUxMSU5HJyxcblxuICAvKiogVGhlIGNyYXdsZXIgaGFzIGJlZW4gY2FuY2VsbGVkLiAqL1xuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJyxcblxuICAvKiogVGhlIGNyYXdsZXIgaGFzIGNvbXBsZXRlZCBpdHMgb3BlcmF0aW9uIHN1Y2Nlc3NmdWxseS4gKi9cbiAgU1VDQ0VFREVEID0gJ1NVQ0NFRURFRCcsXG5cbiAgLyoqIFRoZSBjcmF3bGVyIGhhcyBmYWlsZWQgdG8gY29tcGxldGUgaXRzIG9wZXJhdGlvbi4gKi9cbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG5cbiAgLyoqIFRoZSBjcmF3bGVyIGVuY291bnRlcmVkIGFuIGVycm9yIGR1cmluZyBpdHMgb3BlcmF0aW9uLiAqL1xuICBFUlJPUiA9ICdFUlJPUicsXG59XG4iXX0=