gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
 * @license
 * Copyright 2019 Google LLC. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * =============================================================================
 */
/** DataType enum. */
export var DataType;
(function (DataType) {
    // Not a legal value for DataType.  Used to indicate a DataType field
    // has not been set.
    DataType[DataType["DT_INVALID"] = 0] = "DT_INVALID";
    // Data types that all computation devices are expected to be
    // capable to support.
    DataType[DataType["DT_FLOAT"] = 1] = "DT_FLOAT";
    DataType[DataType["DT_DOUBLE"] = 2] = "DT_DOUBLE";
    DataType[DataType["DT_INT32"] = 3] = "DT_INT32";
    DataType[DataType["DT_UINT8"] = 4] = "DT_UINT8";
    DataType[DataType["DT_INT16"] = 5] = "DT_INT16";
    DataType[DataType["DT_INT8"] = 6] = "DT_INT8";
    DataType[DataType["DT_STRING"] = 7] = "DT_STRING";
    DataType[DataType["DT_COMPLEX64"] = 8] = "DT_COMPLEX64";
    DataType[DataType["DT_INT64"] = 9] = "DT_INT64";
    DataType[DataType["DT_BOOL"] = 10] = "DT_BOOL";
    DataType[DataType["DT_QINT8"] = 11] = "DT_QINT8";
    DataType[DataType["DT_QUINT8"] = 12] = "DT_QUINT8";
    DataType[DataType["DT_QINT32"] = 13] = "DT_QINT32";
    DataType[DataType["DT_BFLOAT16"] = 14] = "DT_BFLOAT16";
    DataType[DataType["DT_QINT16"] = 15] = "DT_QINT16";
    DataType[DataType["DT_QUINT16"] = 16] = "DT_QUINT16";
    DataType[DataType["DT_UINT16"] = 17] = "DT_UINT16";
    DataType[DataType["DT_COMPLEX128"] = 18] = "DT_COMPLEX128";
    DataType[DataType["DT_HALF"] = 19] = "DT_HALF";
    DataType[DataType["DT_RESOURCE"] = 20] = "DT_RESOURCE";
    DataType[DataType["DT_VARIANT"] = 21] = "DT_VARIANT";
    DataType[DataType["DT_UINT32"] = 22] = "DT_UINT32";
    DataType[DataType["DT_UINT64"] = 23] = "DT_UINT64";
    // Do not use!  These are only for parameters.  Every enum above
    // should have a corresponding value below (verified by types_test).
    DataType[DataType["DT_FLOAT_REF"] = 101] = "DT_FLOAT_REF";
    DataType[DataType["DT_DOUBLE_REF"] = 102] = "DT_DOUBLE_REF";
    DataType[DataType["DT_INT32_REF"] = 103] = "DT_INT32_REF";
    DataType[DataType["DT_UINT8_REF"] = 104] = "DT_UINT8_REF";
    DataType[DataType["DT_INT16_REF"] = 105] = "DT_INT16_REF";
    DataType[DataType["DT_INT8_REF"] = 106] = "DT_INT8_REF";
    DataType[DataType["DT_STRING_REF"] = 107] = "DT_STRING_REF";
    DataType[DataType["DT_COMPLEX64_REF"] = 108] = "DT_COMPLEX64_REF";
    DataType[DataType["DT_INT64_REF"] = 109] = "DT_INT64_REF";
    DataType[DataType["DT_BOOL_REF"] = 110] = "DT_BOOL_REF";
    DataType[DataType["DT_QINT8_REF"] = 111] = "DT_QINT8_REF";
    DataType[DataType["DT_QUINT8_REF"] = 112] = "DT_QUINT8_REF";
    DataType[DataType["DT_QINT32_REF"] = 113] = "DT_QINT32_REF";
    DataType[DataType["DT_BFLOAT16_REF"] = 114] = "DT_BFLOAT16_REF";
    DataType[DataType["DT_QINT16_REF"] = 115] = "DT_QINT16_REF";
    DataType[DataType["DT_QUINT16_REF"] = 116] = "DT_QUINT16_REF";
    DataType[DataType["DT_UINT16_REF"] = 117] = "DT_UINT16_REF";
    DataType[DataType["DT_COMPLEX128_REF"] = 118] = "DT_COMPLEX128_REF";
    DataType[DataType["DT_HALF_REF"] = 119] = "DT_HALF_REF";
    DataType[DataType["DT_RESOURCE_REF"] = 120] = "DT_RESOURCE_REF";
    DataType[DataType["DT_VARIANT_REF"] = 121] = "DT_VARIANT_REF";
    DataType[DataType["DT_UINT32_REF"] = 122] = "DT_UINT32_REF";
    DataType[DataType["DT_UINT64_REF"] = 123] = "DT_UINT64_REF";
})(DataType || (DataType = {}));
export var SaverDef;
(function (SaverDef) {
    /** CheckpointFormatVersion enum. */
    let CheckpointFormatVersion;
    (function (CheckpointFormatVersion) {
        CheckpointFormatVersion[CheckpointFormatVersion["LEGACY"] = 0] = "LEGACY";
        CheckpointFormatVersion[CheckpointFormatVersion["V1"] = 1] = "V1";
        CheckpointFormatVersion[CheckpointFormatVersion["V2"] = 2] = "V2";
    })(CheckpointFormatVersion = SaverDef.CheckpointFormatVersion || (SaverDef.CheckpointFormatVersion = {}));
})(SaverDef || (SaverDef = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZWRfYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGZqcy1jb252ZXJ0ZXIvc3JjL2RhdGEvY29tcGlsZWRfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBYUgscUJBQXFCO0FBQ3JCLE1BQU0sQ0FBTixJQUFZLFFBd0RYO0FBeERELFdBQVksUUFBUTtJQUNsQixxRUFBcUU7SUFDckUsb0JBQW9CO0lBQ3BCLG1EQUFjLENBQUE7SUFFZCw2REFBNkQ7SUFDN0Qsc0JBQXNCO0lBQ3RCLCtDQUFZLENBQUE7SUFDWixpREFBYSxDQUFBO0lBQ2IsK0NBQVksQ0FBQTtJQUNaLCtDQUFZLENBQUE7SUFDWiwrQ0FBWSxDQUFBO0lBQ1osNkNBQVcsQ0FBQTtJQUNYLGlEQUFhLENBQUE7SUFDYix1REFBZ0IsQ0FBQTtJQUNoQiwrQ0FBWSxDQUFBO0lBQ1osOENBQVksQ0FBQTtJQUNaLGdEQUFhLENBQUE7SUFDYixrREFBYyxDQUFBO0lBQ2Qsa0RBQWMsQ0FBQTtJQUNkLHNEQUFnQixDQUFBO0lBQ2hCLGtEQUFjLENBQUE7SUFDZCxvREFBZSxDQUFBO0lBQ2Ysa0RBQWMsQ0FBQTtJQUNkLDBEQUFrQixDQUFBO0lBQ2xCLDhDQUFZLENBQUE7SUFDWixzREFBZ0IsQ0FBQTtJQUNoQixvREFBZSxDQUFBO0lBQ2Ysa0RBQWMsQ0FBQTtJQUNkLGtEQUFjLENBQUE7SUFFZCxnRUFBZ0U7SUFDaEUsb0VBQW9FO0lBQ3BFLHlEQUFrQixDQUFBO0lBQ2xCLDJEQUFtQixDQUFBO0lBQ25CLHlEQUFrQixDQUFBO0lBQ2xCLHlEQUFrQixDQUFBO0lBQ2xCLHlEQUFrQixDQUFBO0lBQ2xCLHVEQUFpQixDQUFBO0lBQ2pCLDJEQUFtQixDQUFBO0lBQ25CLGlFQUFzQixDQUFBO0lBQ3RCLHlEQUFrQixDQUFBO0lBQ2xCLHVEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLDJEQUFtQixDQUFBO0lBQ25CLDJEQUFtQixDQUFBO0lBQ25CLCtEQUFxQixDQUFBO0lBQ3JCLDJEQUFtQixDQUFBO0lBQ25CLDZEQUFvQixDQUFBO0lBQ3BCLDJEQUFtQixDQUFBO0lBQ25CLG1FQUF1QixDQUFBO0lBQ3ZCLHVEQUFpQixDQUFBO0lBQ2pCLCtEQUFxQixDQUFBO0lBQ3JCLDZEQUFvQixDQUFBO0lBQ3BCLDJEQUFtQixDQUFBO0lBQ25CLDJEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUF4RFcsUUFBUSxLQUFSLFFBQVEsUUF3RG5CO0FBMlBELE1BQU0sS0FBVyxRQUFRLENBR3hCO0FBSEQsV0FBaUIsUUFBUTtJQUN2QixvQ0FBb0M7SUFDcEMsSUFBWSx1QkFBMEQ7SUFBdEUsV0FBWSx1QkFBdUI7UUFBRSx5RUFBWSxDQUFBO1FBQUUsaUVBQVEsQ0FBQTtRQUFFLGlFQUFRLENBQUE7SUFBQSxDQUFDLEVBQTFELHVCQUF1QixHQUF2QixnQ0FBdUIsS0FBdkIsZ0NBQXVCLFFBQW1DO0FBQ3hFLENBQUMsRUFIZ0IsUUFBUSxLQUFSLFFBQVEsUUFHeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuXG4vKiogUHJvcGVydGllcyBvZiBhbiBBbnkuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUFueSB7XG4gIC8qKiBBbnkgdHlwZVVybCAqL1xuICB0eXBlVXJsPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogQW55IHZhbHVlICovXG4gIHZhbHVlPzogKFVpbnQ4QXJyYXl8bnVsbCk7XG59XG5cbi8qKiBEYXRhVHlwZSBlbnVtLiAqL1xuZXhwb3J0IGVudW0gRGF0YVR5cGUge1xuICAvLyBOb3QgYSBsZWdhbCB2YWx1ZSBmb3IgRGF0YVR5cGUuICBVc2VkIHRvIGluZGljYXRlIGEgRGF0YVR5cGUgZmllbGRcbiAgLy8gaGFzIG5vdCBiZWVuIHNldC5cbiAgRFRfSU5WQUxJRCA9IDAsXG5cbiAgLy8gRGF0YSB0eXBlcyB0aGF0IGFsbCBjb21wdXRhdGlvbiBkZXZpY2VzIGFyZSBleHBlY3RlZCB0byBiZVxuICAvLyBjYXBhYmxlIHRvIHN1cHBvcnQuXG4gIERUX0ZMT0FUID0gMSxcbiAgRFRfRE9VQkxFID0gMixcbiAgRFRfSU5UMzIgPSAzLFxuICBEVF9VSU5UOCA9IDQsXG4gIERUX0lOVDE2ID0gNSxcbiAgRFRfSU5UOCA9IDYsXG4gIERUX1NUUklORyA9IDcsXG4gIERUX0NPTVBMRVg2NCA9IDgsICAvLyBTaW5nbGUtcHJlY2lzaW9uIGNvbXBsZXhcbiAgRFRfSU5UNjQgPSA5LFxuICBEVF9CT09MID0gMTAsXG4gIERUX1FJTlQ4ID0gMTEsICAgICAvLyBRdWFudGl6ZWQgaW50OFxuICBEVF9RVUlOVDggPSAxMiwgICAgLy8gUXVhbnRpemVkIHVpbnQ4XG4gIERUX1FJTlQzMiA9IDEzLCAgICAvLyBRdWFudGl6ZWQgaW50MzJcbiAgRFRfQkZMT0FUMTYgPSAxNCwgIC8vIEZsb2F0MzIgdHJ1bmNhdGVkIHRvIDE2IGJpdHMuICBPbmx5IGZvciBjYXN0IG9wcy5cbiAgRFRfUUlOVDE2ID0gMTUsICAgIC8vIFF1YW50aXplZCBpbnQxNlxuICBEVF9RVUlOVDE2ID0gMTYsICAgLy8gUXVhbnRpemVkIHVpbnQxNlxuICBEVF9VSU5UMTYgPSAxNyxcbiAgRFRfQ09NUExFWDEyOCA9IDE4LCAgLy8gRG91YmxlLXByZWNpc2lvbiBjb21wbGV4XG4gIERUX0hBTEYgPSAxOSxcbiAgRFRfUkVTT1VSQ0UgPSAyMCxcbiAgRFRfVkFSSUFOVCA9IDIxLCAgLy8gQXJiaXRyYXJ5IEMrKyBkYXRhIHR5cGVzXG4gIERUX1VJTlQzMiA9IDIyLFxuICBEVF9VSU5UNjQgPSAyMyxcblxuICAvLyBEbyBub3QgdXNlISAgVGhlc2UgYXJlIG9ubHkgZm9yIHBhcmFtZXRlcnMuICBFdmVyeSBlbnVtIGFib3ZlXG4gIC8vIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyB2YWx1ZSBiZWxvdyAodmVyaWZpZWQgYnkgdHlwZXNfdGVzdCkuXG4gIERUX0ZMT0FUX1JFRiA9IDEwMSxcbiAgRFRfRE9VQkxFX1JFRiA9IDEwMixcbiAgRFRfSU5UMzJfUkVGID0gMTAzLFxuICBEVF9VSU5UOF9SRUYgPSAxMDQsXG4gIERUX0lOVDE2X1JFRiA9IDEwNSxcbiAgRFRfSU5UOF9SRUYgPSAxMDYsXG4gIERUX1NUUklOR19SRUYgPSAxMDcsXG4gIERUX0NPTVBMRVg2NF9SRUYgPSAxMDgsXG4gIERUX0lOVDY0X1JFRiA9IDEwOSxcbiAgRFRfQk9PTF9SRUYgPSAxMTAsXG4gIERUX1FJTlQ4X1JFRiA9IDExMSxcbiAgRFRfUVVJTlQ4X1JFRiA9IDExMixcbiAgRFRfUUlOVDMyX1JFRiA9IDExMyxcbiAgRFRfQkZMT0FUMTZfUkVGID0gMTE0LFxuICBEVF9RSU5UMTZfUkVGID0gMTE1LFxuICBEVF9RVUlOVDE2X1JFRiA9IDExNixcbiAgRFRfVUlOVDE2X1JFRiA9IDExNyxcbiAgRFRfQ09NUExFWDEyOF9SRUYgPSAxMTgsXG4gIERUX0hBTEZfUkVGID0gMTE5LFxuICBEVF9SRVNPVVJDRV9SRUYgPSAxMjAsXG4gIERUX1ZBUklBTlRfUkVGID0gMTIxLFxuICBEVF9VSU5UMzJfUkVGID0gMTIyLFxuICBEVF9VSU5UNjRfUkVGID0gMTIzLFxufVxuXG4vKiogUHJvcGVydGllcyBvZiBhIFRlbnNvclNoYXBlLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElUZW5zb3JTaGFwZSB7XG4gIC8qKiBUZW5zb3JTaGFwZSBkaW0gKi9cbiAgZGltPzogKFRlbnNvclNoYXBlLklEaW1bXXxudWxsKTtcblxuICAvKiogVGVuc29yU2hhcGUgdW5rbm93blJhbmsgKi9cbiAgdW5rbm93blJhbms/OiAoYm9vbGVhbnxudWxsKTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUZW5zb3JTaGFwZSB7XG4gIC8qKiBQcm9wZXJ0aWVzIG9mIGEgRGltLiAqL1xuICBleHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSURpbSB7XG4gICAgLyoqIERpbSBzaXplICovXG4gICAgc2l6ZT86IChudW1iZXJ8c3RyaW5nfG51bGwpO1xuXG4gICAgLyoqIERpbSBuYW1lICovXG4gICAgbmFtZT86IChzdHJpbmd8bnVsbCk7XG4gIH1cbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBUZW5zb3IuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVRlbnNvciB7XG4gIC8qKiBUZW5zb3IgZHR5cGUgKi9cbiAgZHR5cGU/OiAoRGF0YVR5cGV8bnVsbCk7XG5cbiAgLyoqIFRlbnNvciB0ZW5zb3JTaGFwZSAqL1xuICB0ZW5zb3JTaGFwZT86IChJVGVuc29yU2hhcGV8bnVsbCk7XG5cbiAgLyoqIFRlbnNvciB2ZXJzaW9uTnVtYmVyICovXG4gIHZlcnNpb25OdW1iZXI/OiAobnVtYmVyfG51bGwpO1xuXG4gIC8qKiBUZW5zb3IgdGVuc29yQ29udGVudCAqL1xuICB0ZW5zb3JDb250ZW50PzogKFVpbnQ4QXJyYXl8bnVsbCk7XG5cbiAgLyoqIFRlbnNvciBmbG9hdFZhbCAqL1xuICBmbG9hdFZhbD86IChudW1iZXJbXXxudWxsKTtcblxuICAvKiogVGVuc29yIGRvdWJsZVZhbCAqL1xuICBkb3VibGVWYWw/OiAobnVtYmVyW118bnVsbCk7XG5cbiAgLyoqIFRlbnNvciBpbnRWYWwgKi9cbiAgaW50VmFsPzogKG51bWJlcltdfG51bGwpO1xuXG4gIC8qKiBUZW5zb3Igc3RyaW5nVmFsICovXG4gIHN0cmluZ1ZhbD86IChVaW50OEFycmF5W118bnVsbCk7XG5cbiAgLyoqIFRlbnNvciBzY29tcGxleFZhbCAqL1xuICBzY29tcGxleFZhbD86IChudW1iZXJbXXxudWxsKTtcblxuICAvKiogVGVuc29yIGludDY0VmFsICovXG4gIGludDY0VmFsPzogKChudW1iZXIgfCBzdHJpbmcpW118bnVsbCk7XG5cbiAgLyoqIFRlbnNvciBib29sVmFsICovXG4gIGJvb2xWYWw/OiAoYm9vbGVhbltdfG51bGwpO1xuXG4gIC8qKiBUZW5zb3IgdWludDMyVmFsICovXG4gIHVpbnQzMlZhbD86IChudW1iZXJbXXxudWxsKTtcblxuICAvKiogVGVuc29yIHVpbnQ2NFZhbCAqL1xuICB1aW50NjRWYWw/OiAoKG51bWJlciB8IHN0cmluZylbXXxudWxsKTtcbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYW4gQXR0clZhbHVlLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElBdHRyVmFsdWUge1xuICAvKiogQXR0clZhbHVlIGxpc3QgKi9cbiAgbGlzdD86IChBdHRyVmFsdWUuSUxpc3RWYWx1ZXxudWxsKTtcblxuICAvKiogQXR0clZhbHVlIHMgKi9cbiAgcz86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIEF0dHJWYWx1ZSBpICovXG4gIGk/OiAobnVtYmVyfHN0cmluZ3xudWxsKTtcblxuICAvKiogQXR0clZhbHVlIGYgKi9cbiAgZj86IChudW1iZXJ8bnVsbCk7XG5cbiAgLyoqIEF0dHJWYWx1ZSBiICovXG4gIGI/OiAoYm9vbGVhbnxudWxsKTtcblxuICAvKiogQXR0clZhbHVlIHR5cGUgKi9cbiAgdHlwZT86IChEYXRhVHlwZXxudWxsKTtcblxuICAvKiogQXR0clZhbHVlIHNoYXBlICovXG4gIHNoYXBlPzogKElUZW5zb3JTaGFwZXxudWxsKTtcblxuICAvKiogQXR0clZhbHVlIHRlbnNvciAqL1xuICB0ZW5zb3I/OiAoSVRlbnNvcnxudWxsKTtcblxuICAvKiogQXR0clZhbHVlIHBsYWNlaG9sZGVyICovXG4gIHBsYWNlaG9sZGVyPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogQXR0clZhbHVlIGZ1bmMgKi9cbiAgZnVuYz86IChJTmFtZUF0dHJMaXN0fG51bGwpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEF0dHJWYWx1ZSB7XG4gIC8qKiBQcm9wZXJ0aWVzIG9mIGEgTGlzdFZhbHVlLiAqL1xuICBleHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUxpc3RWYWx1ZSB7XG4gICAgLyoqIExpc3RWYWx1ZSBzICovXG4gICAgcz86IChzdHJpbmdbXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgaSAqL1xuICAgIGk/OiAoKG51bWJlciB8IHN0cmluZylbXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgZiAqL1xuICAgIGY/OiAobnVtYmVyW118bnVsbCk7XG5cbiAgICAvKiogTGlzdFZhbHVlIGIgKi9cbiAgICBiPzogKGJvb2xlYW5bXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgdHlwZSAqL1xuICAgIHR5cGU/OiAoRGF0YVR5cGVbXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgc2hhcGUgKi9cbiAgICBzaGFwZT86IChJVGVuc29yU2hhcGVbXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgdGVuc29yICovXG4gICAgdGVuc29yPzogKElUZW5zb3JbXXxudWxsKTtcblxuICAgIC8qKiBMaXN0VmFsdWUgZnVuYyAqL1xuICAgIGZ1bmM/OiAoSU5hbWVBdHRyTGlzdFtdfG51bGwpO1xuICB9XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGEgTmFtZUF0dHJMaXN0LiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElOYW1lQXR0ckxpc3Qge1xuICAvKiogTmFtZUF0dHJMaXN0IG5hbWUgKi9cbiAgbmFtZT86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIE5hbWVBdHRyTGlzdCBhdHRyICovXG4gIGF0dHI/OiAoe1trOiBzdHJpbmddOiBJQXR0clZhbHVlfXxudWxsKTtcbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBOb2RlRGVmLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElOb2RlRGVmIHtcbiAgLyoqIE5vZGVEZWYgbmFtZSAqL1xuICBuYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogTm9kZURlZiBvcCAqL1xuICBvcD86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIE5vZGVEZWYgaW5wdXQgKi9cbiAgaW5wdXQ/OiAoc3RyaW5nW118bnVsbCk7XG5cbiAgLyoqIE5vZGVEZWYgZGV2aWNlICovXG4gIGRldmljZT86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIE5vZGVEZWYgYXR0ciAqL1xuICBhdHRyPzogKHtbazogc3RyaW5nXTogSUF0dHJWYWx1ZX18bnVsbCk7XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGEgVmVyc2lvbkRlZi4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJVmVyc2lvbkRlZiB7XG4gIC8qKiBWZXJzaW9uRGVmIHByb2R1Y2VyICovXG4gIHByb2R1Y2VyPzogKG51bWJlcnxudWxsKTtcblxuICAvKiogVmVyc2lvbkRlZiBtaW5Db25zdW1lciAqL1xuICBtaW5Db25zdW1lcj86IChudW1iZXJ8bnVsbCk7XG5cbiAgLyoqIFZlcnNpb25EZWYgYmFkQ29uc3VtZXJzICovXG4gIGJhZENvbnN1bWVycz86IChudW1iZXJbXXxudWxsKTtcbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBHcmFwaERlZi4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJR3JhcGhEZWYge1xuICAvKiogR3JhcGhEZWYgbm9kZSAqL1xuICBub2RlPzogKElOb2RlRGVmW118bnVsbCk7XG5cbiAgLyoqIEdyYXBoRGVmIHZlcnNpb25zICovXG4gIHZlcnNpb25zPzogKElWZXJzaW9uRGVmfG51bGwpO1xuXG4gIC8qKiBHcmFwaERlZiBsaWJyYXJ5ICovXG4gIGxpYnJhcnk/OiAoSUZ1bmN0aW9uRGVmTGlicmFyeXxudWxsKTtcbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBDb2xsZWN0aW9uRGVmLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElDb2xsZWN0aW9uRGVmIHtcbiAgLyoqIENvbGxlY3Rpb25EZWYgbm9kZUxpc3QgKi9cbiAgbm9kZUxpc3Q/OiAoQ29sbGVjdGlvbkRlZi5JTm9kZUxpc3R8bnVsbCk7XG5cbiAgLyoqIENvbGxlY3Rpb25EZWYgYnl0ZXNMaXN0ICovXG4gIGJ5dGVzTGlzdD86IChDb2xsZWN0aW9uRGVmLklCeXRlc0xpc3R8bnVsbCk7XG5cbiAgLyoqIENvbGxlY3Rpb25EZWYgaW50NjRMaXN0ICovXG4gIGludDY0TGlzdD86IChDb2xsZWN0aW9uRGVmLklJbnQ2NExpc3R8bnVsbCk7XG5cbiAgLyoqIENvbGxlY3Rpb25EZWYgZmxvYXRMaXN0ICovXG4gIGZsb2F0TGlzdD86IChDb2xsZWN0aW9uRGVmLklGbG9hdExpc3R8bnVsbCk7XG5cbiAgLyoqIENvbGxlY3Rpb25EZWYgYW55TGlzdCAqL1xuICBhbnlMaXN0PzogKENvbGxlY3Rpb25EZWYuSUFueUxpc3R8bnVsbCk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sbGVjdGlvbkRlZiB7XG4gIC8qKiBQcm9wZXJ0aWVzIG9mIGEgTm9kZUxpc3QuICovXG4gIGV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTm9kZUxpc3Qge1xuICAgIC8qKiBOb2RlTGlzdCB2YWx1ZSAqL1xuICAgIHZhbHVlPzogKHN0cmluZ1tdfG51bGwpO1xuICB9XG5cbiAgLyoqIFByb3BlcnRpZXMgb2YgYSBCeXRlc0xpc3QuICovXG4gIGV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJQnl0ZXNMaXN0IHtcbiAgICAvKiogQnl0ZXNMaXN0IHZhbHVlICovXG4gICAgdmFsdWU/OiAoVWludDhBcnJheVtdfG51bGwpO1xuICB9XG5cbiAgLyoqIFByb3BlcnRpZXMgb2YgYW4gSW50NjRMaXN0LiAqL1xuICBleHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUludDY0TGlzdCB7XG4gICAgLyoqIEludDY0TGlzdCB2YWx1ZSAqL1xuICAgIHZhbHVlPzogKChudW1iZXIgfCBzdHJpbmcpW118bnVsbCk7XG4gIH1cblxuICAvKiogUHJvcGVydGllcyBvZiBhIEZsb2F0TGlzdC4gKi9cbiAgZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElGbG9hdExpc3Qge1xuICAgIC8qKiBGbG9hdExpc3QgdmFsdWUgKi9cbiAgICB2YWx1ZT86IChudW1iZXJbXXxudWxsKTtcbiAgfVxuXG4gIC8qKiBQcm9wZXJ0aWVzIG9mIGFuIEFueUxpc3QuICovXG4gIGV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJQW55TGlzdCB7XG4gICAgLyoqIEFueUxpc3QgdmFsdWUgKi9cbiAgICB2YWx1ZT86IChJQW55W118bnVsbCk7XG4gIH1cbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBTYXZlckRlZi4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJU2F2ZXJEZWYge1xuICAvKiogU2F2ZXJEZWYgZmlsZW5hbWVUZW5zb3JOYW1lICovXG4gIGZpbGVuYW1lVGVuc29yTmFtZT86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIFNhdmVyRGVmIHNhdmVUZW5zb3JOYW1lICovXG4gIHNhdmVUZW5zb3JOYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogU2F2ZXJEZWYgcmVzdG9yZU9wTmFtZSAqL1xuICByZXN0b3JlT3BOYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogU2F2ZXJEZWYgbWF4VG9LZWVwICovXG4gIG1heFRvS2VlcD86IChudW1iZXJ8bnVsbCk7XG5cbiAgLyoqIFNhdmVyRGVmIHNoYXJkZWQgKi9cbiAgc2hhcmRlZD86IChib29sZWFufG51bGwpO1xuXG4gIC8qKiBTYXZlckRlZiBrZWVwQ2hlY2twb2ludEV2ZXJ5TkhvdXJzICovXG4gIGtlZXBDaGVja3BvaW50RXZlcnlOSG91cnM/OiAobnVtYmVyfG51bGwpO1xuXG4gIC8qKiBTYXZlckRlZiB2ZXJzaW9uICovXG4gIHZlcnNpb24/OiAoU2F2ZXJEZWYuQ2hlY2twb2ludEZvcm1hdFZlcnNpb258bnVsbCk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZXJEZWYge1xuICAvKiogQ2hlY2twb2ludEZvcm1hdFZlcnNpb24gZW51bS4gKi9cbiAgZXhwb3J0IGVudW0gQ2hlY2twb2ludEZvcm1hdFZlcnNpb24geydMRUdBQ1knID0gMCwgJ1YxJyA9IDEsICdWMicgPSAyfVxufVxuXG4vKiogUHJvcGVydGllcyBvZiBhIFRlbnNvckluZm8uICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVRlbnNvckluZm8ge1xuICAvKiogVGVuc29ySW5mbyBuYW1lICovXG4gIG5hbWU/OiAoc3RyaW5nfG51bGwpO1xuXG4gIC8qKiBUZW5zb3JJbmZvIGNvb1NwYXJzZSAqL1xuICBjb29TcGFyc2U/OiAoVGVuc29ySW5mby5JQ29vU3BhcnNlfG51bGwpO1xuXG4gIC8qKiBUZW5zb3JJbmZvIGR0eXBlICovXG4gIGR0eXBlPzogKERhdGFUeXBlfHN0cmluZ3xudWxsKTtcblxuICAvKiogVGVuc29ySW5mbyB0ZW5zb3JTaGFwZSAqL1xuICB0ZW5zb3JTaGFwZT86IChJVGVuc29yU2hhcGV8bnVsbCk7XG5cbiAgLyoqIFJlc291cmNlIGlkIHRlbnNvciB3YXMgb3JpZ2luYWxseSBhc3NpZ25lZCB0by4gICovXG4gIHJlc291cmNlSWQ/OiAobnVtYmVyfG51bGwpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRlbnNvckluZm8ge1xuICAvKiogUHJvcGVydGllcyBvZiBhIENvb1NwYXJzZS4gKi9cbiAgZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElDb29TcGFyc2Uge1xuICAgIC8qKiBDb29TcGFyc2UgdmFsdWVzVGVuc29yTmFtZSAqL1xuICAgIHZhbHVlc1RlbnNvck5hbWU/OiAoc3RyaW5nfG51bGwpO1xuXG4gICAgLyoqIENvb1NwYXJzZSBpbmRpY2VzVGVuc29yTmFtZSAqL1xuICAgIGluZGljZXNUZW5zb3JOYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBDb29TcGFyc2UgZGVuc2VTaGFwZVRlbnNvck5hbWUgKi9cbiAgICBkZW5zZVNoYXBlVGVuc29yTmFtZT86IChzdHJpbmd8bnVsbCk7XG4gIH1cbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBTaWduYXR1cmVEZWYuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVNpZ25hdHVyZURlZiB7XG4gIC8qKiBTaWduYXR1cmVEZWYgaW5wdXRzICovXG4gIGlucHV0cz86ICh7W2s6IHN0cmluZ106IElUZW5zb3JJbmZvfXxudWxsKTtcblxuICAvKiogU2lnbmF0dXJlRGVmIG91dHB1dHMgKi9cbiAgb3V0cHV0cz86ICh7W2s6IHN0cmluZ106IElUZW5zb3JJbmZvfXxudWxsKTtcblxuICAvKiogU2lnbmF0dXJlRGVmIG1ldGhvZE5hbWUgKi9cbiAgbWV0aG9kTmFtZT86IChzdHJpbmd8bnVsbCk7XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGFuIEFzc2V0RmlsZURlZi4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJQXNzZXRGaWxlRGVmIHtcbiAgLyoqIEFzc2V0RmlsZURlZiB0ZW5zb3JJbmZvICovXG4gIHRlbnNvckluZm8/OiAoSVRlbnNvckluZm98bnVsbCk7XG5cbiAgLyoqIEFzc2V0RmlsZURlZiBmaWxlbmFtZSAqL1xuICBmaWxlbmFtZT86IChzdHJpbmd8bnVsbCk7XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGFuIE9wRGVmLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElPcERlZiB7XG4gIC8qKiBPcERlZiBuYW1lICovXG4gIG5hbWU/OiAoc3RyaW5nfG51bGwpO1xuXG4gIC8qKiBPcERlZiBpbnB1dEFyZyAqL1xuICBpbnB1dEFyZz86IChPcERlZi5JQXJnRGVmW118bnVsbCk7XG5cbiAgLyoqIE9wRGVmIG91dHB1dEFyZyAqL1xuICBvdXRwdXRBcmc/OiAoT3BEZWYuSUFyZ0RlZltdfG51bGwpO1xuXG4gIC8qKiBPcERlZiBhdHRyICovXG4gIGF0dHI/OiAoT3BEZWYuSUF0dHJEZWZbXXxudWxsKTtcblxuICAvKiogT3BEZWYgZGVwcmVjYXRpb24gKi9cbiAgZGVwcmVjYXRpb24/OiAoT3BEZWYuSU9wRGVwcmVjYXRpb258bnVsbCk7XG5cbiAgLyoqIE9wRGVmIHN1bW1hcnkgKi9cbiAgc3VtbWFyeT86IChzdHJpbmd8bnVsbCk7XG5cbiAgLyoqIE9wRGVmIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogT3BEZWYgaXNDb21tdXRhdGl2ZSAqL1xuICBpc0NvbW11dGF0aXZlPzogKGJvb2xlYW58bnVsbCk7XG5cbiAgLyoqIE9wRGVmIGlzQWdncmVnYXRlICovXG4gIGlzQWdncmVnYXRlPzogKGJvb2xlYW58bnVsbCk7XG5cbiAgLyoqIE9wRGVmIGlzU3RhdGVmdWwgKi9cbiAgaXNTdGF0ZWZ1bD86IChib29sZWFufG51bGwpO1xuXG4gIC8qKiBPcERlZiBhbGxvd3NVbmluaXRpYWxpemVkSW5wdXQgKi9cbiAgYWxsb3dzVW5pbml0aWFsaXplZElucHV0PzogKGJvb2xlYW58bnVsbCk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3BEZWYge1xuICAvKiogUHJvcGVydGllcyBvZiBhbiBBcmdEZWYuICovXG4gIGV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJQXJnRGVmIHtcbiAgICAvKiogQXJnRGVmIG5hbWUgKi9cbiAgICBuYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBBcmdEZWYgZGVzY3JpcHRpb24gKi9cbiAgICBkZXNjcmlwdGlvbj86IChzdHJpbmd8bnVsbCk7XG5cbiAgICAvKiogQXJnRGVmIHR5cGUgKi9cbiAgICB0eXBlPzogKERhdGFUeXBlfG51bGwpO1xuXG4gICAgLyoqIEFyZ0RlZiB0eXBlQXR0ciAqL1xuICAgIHR5cGVBdHRyPzogKHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBBcmdEZWYgbnVtYmVyQXR0ciAqL1xuICAgIG51bWJlckF0dHI/OiAoc3RyaW5nfG51bGwpO1xuXG4gICAgLyoqIEFyZ0RlZiB0eXBlTGlzdEF0dHIgKi9cbiAgICB0eXBlTGlzdEF0dHI/OiAoc3RyaW5nfG51bGwpO1xuXG4gICAgLyoqIEFyZ0RlZiBpc1JlZiAqL1xuICAgIGlzUmVmPzogKGJvb2xlYW58bnVsbCk7XG4gIH1cblxuICAvKiogUHJvcGVydGllcyBvZiBhbiBBdHRyRGVmLiAqL1xuICBleHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUF0dHJEZWYge1xuICAgIC8qKiBBdHRyRGVmIG5hbWUgKi9cbiAgICBuYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBBdHRyRGVmIHR5cGUgKi9cbiAgICB0eXBlPzogKHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBBdHRyRGVmIGRlZmF1bHRWYWx1ZSAqL1xuICAgIGRlZmF1bHRWYWx1ZT86IChJQXR0clZhbHVlfG51bGwpO1xuXG4gICAgLyoqIEF0dHJEZWYgZGVzY3JpcHRpb24gKi9cbiAgICBkZXNjcmlwdGlvbj86IChzdHJpbmd8bnVsbCk7XG5cbiAgICAvKiogQXR0ckRlZiBoYXNNaW5pbXVtICovXG4gICAgaGFzTWluaW11bT86IChib29sZWFufG51bGwpO1xuXG4gICAgLyoqIEF0dHJEZWYgbWluaW11bSAqL1xuICAgIG1pbmltdW0/OiAobnVtYmVyfHN0cmluZ3xudWxsKTtcblxuICAgIC8qKiBBdHRyRGVmIGFsbG93ZWRWYWx1ZXMgKi9cbiAgICBhbGxvd2VkVmFsdWVzPzogKElBdHRyVmFsdWV8bnVsbCk7XG4gIH1cblxuICAvKiogUHJvcGVydGllcyBvZiBhbiBPcERlcHJlY2F0aW9uLiAqL1xuICBleHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSU9wRGVwcmVjYXRpb24ge1xuICAgIC8qKiBPcERlcHJlY2F0aW9uIHZlcnNpb24gKi9cbiAgICB2ZXJzaW9uPzogKG51bWJlcnxudWxsKTtcblxuICAgIC8qKiBPcERlcHJlY2F0aW9uIGV4cGxhbmF0aW9uICovXG4gICAgZXhwbGFuYXRpb24/OiAoc3RyaW5nfG51bGwpO1xuICB9XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGFuIE9wTGlzdC4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJT3BMaXN0IHtcbiAgLyoqIE9wTGlzdCBvcCAqL1xuICBvcD86IChJT3BEZWZbXXxudWxsKTtcbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBNZXRhR3JhcGhEZWYuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSU1ldGFHcmFwaERlZiB7XG4gIC8qKiBNZXRhR3JhcGhEZWYgbWV0YUluZm9EZWYgKi9cbiAgbWV0YUluZm9EZWY/OiAoTWV0YUdyYXBoRGVmLklNZXRhSW5mb0RlZnxudWxsKTtcblxuICAvKiogTWV0YUdyYXBoRGVmIGdyYXBoRGVmICovXG4gIGdyYXBoRGVmPzogKElHcmFwaERlZnxudWxsKTtcblxuICAvKiogTWV0YUdyYXBoRGVmIHNhdmVyRGVmICovXG4gIHNhdmVyRGVmPzogKElTYXZlckRlZnxudWxsKTtcblxuICAvKiogTWV0YUdyYXBoRGVmIGNvbGxlY3Rpb25EZWYgKi9cbiAgY29sbGVjdGlvbkRlZj86ICh7W2s6IHN0cmluZ106IElDb2xsZWN0aW9uRGVmfXxudWxsKTtcblxuICAvKiogTWV0YUdyYXBoRGVmIHNpZ25hdHVyZURlZiAqL1xuICBzaWduYXR1cmVEZWY/OiAoe1trOiBzdHJpbmddOiBJU2lnbmF0dXJlRGVmfXxudWxsKTtcblxuICAvKiogTWV0YUdyYXBoRGVmIGFzc2V0RmlsZURlZiAqL1xuICBhc3NldEZpbGVEZWY/OiAoSUFzc2V0RmlsZURlZltdfG51bGwpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1ldGFHcmFwaERlZiB7XG4gIC8qKiBQcm9wZXJ0aWVzIG9mIGEgTWV0YUluZm9EZWYuICovXG4gIGV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTWV0YUluZm9EZWYge1xuICAgIC8qKiBNZXRhSW5mb0RlZiBtZXRhR3JhcGhWZXJzaW9uICovXG4gICAgbWV0YUdyYXBoVmVyc2lvbj86IChzdHJpbmd8bnVsbCk7XG5cbiAgICAvKiogTWV0YUluZm9EZWYgc3RyaXBwZWRPcExpc3QgKi9cbiAgICBzdHJpcHBlZE9wTGlzdD86IChJT3BMaXN0fG51bGwpO1xuXG4gICAgLyoqIE1ldGFJbmZvRGVmIGFueUluZm8gKi9cbiAgICBhbnlJbmZvPzogKElBbnl8bnVsbCk7XG5cbiAgICAvKiogTWV0YUluZm9EZWYgdGFncyAqL1xuICAgIHRhZ3M/OiAoc3RyaW5nW118bnVsbCk7XG5cbiAgICAvKiogTWV0YUluZm9EZWYgdGVuc29yZmxvd1ZlcnNpb24gKi9cbiAgICB0ZW5zb3JmbG93VmVyc2lvbj86IChzdHJpbmd8bnVsbCk7XG5cbiAgICAvKiogTWV0YUluZm9EZWYgdGVuc29yZmxvd0dpdFZlcnNpb24gKi9cbiAgICB0ZW5zb3JmbG93R2l0VmVyc2lvbj86IChzdHJpbmd8bnVsbCk7XG4gIH1cbn1cblxuLyoqIFByb3BlcnRpZXMgb2YgYSBTYXZlZE1vZGVsLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElTYXZlZE1vZGVsIHtcbiAgLyoqIFNhdmVkTW9kZWwgc2F2ZWRNb2RlbFNjaGVtYVZlcnNpb24gKi9cbiAgc2F2ZWRNb2RlbFNjaGVtYVZlcnNpb24/OiAobnVtYmVyfHN0cmluZ3xudWxsKTtcblxuICAvKiogU2F2ZWRNb2RlbCBtZXRhR3JhcGhzICovXG4gIG1ldGFHcmFwaHM/OiAoSU1ldGFHcmFwaERlZltdfG51bGwpO1xufVxuXG4vKiogUHJvcGVydGllcyBvZiBhIEZ1bmN0aW9uRGVmTGlicmFyeS4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJRnVuY3Rpb25EZWZMaWJyYXJ5IHtcbiAgLyoqIEZ1bmN0aW9uRGVmTGlicmFyeSBmdW5jdGlvbiAqL1xuICAnZnVuY3Rpb24nPzogKElGdW5jdGlvbkRlZltdfG51bGwpO1xuXG4gIC8qKiBGdW5jdGlvbkRlZkxpYnJhcnkgZ3JhZGllbnQgKi9cbiAgZ3JhZGllbnQ/OiAoSUdyYWRpZW50RGVmW118bnVsbCk7XG59XG5cbi8qKiBQcm9wZXJ0aWVzIG9mIGEgRnVuY3Rpb25EZWYuICovXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSUZ1bmN0aW9uRGVmIHtcbiAgLyoqIEZ1bmN0aW9uRGVmIHNpZ25hdHVyZSAqL1xuICBzaWduYXR1cmU/OiAoSU9wRGVmfG51bGwpO1xuXG4gIC8qKiBGdW5jdGlvbkRlZiBhdHRyICovXG4gIGF0dHI/OiAoe1trOiBzdHJpbmddOiBJQXR0clZhbHVlfXxudWxsKTtcblxuICAvKiogRnVuY3Rpb25EZWYgbm9kZURlZiAqL1xuICBub2RlRGVmPzogKElOb2RlRGVmW118bnVsbCk7XG5cbiAgLyoqIEZ1bmN0aW9uRGVmIHJldCAqL1xuICByZXQ/OiAoe1trOiBzdHJpbmddOiBzdHJpbmd9fG51bGwpO1xufVxuXG4vKiogUHJvcGVydGllcyBvZiBhIEdyYWRpZW50RGVmLiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElHcmFkaWVudERlZiB7XG4gIC8qKiBHcmFkaWVudERlZiBmdW5jdGlvbk5hbWUgKi9cbiAgZnVuY3Rpb25OYW1lPzogKHN0cmluZ3xudWxsKTtcblxuICAvKiogR3JhZGllbnREZWYgZ3JhZGllbnRGdW5jICovXG4gIGdyYWRpZW50RnVuYz86IChzdHJpbmd8bnVsbCk7XG59XG4iXX0=