1 | ;
|
2 | // Copyright 2012-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | exports.DynamoDBMetrics = void 0;
|
5 | /* eslint-disable max-len */ // This is generated code - line lengths are difficult to control
|
6 | class DynamoDBMetrics {
|
7 | static conditionalCheckFailedRequestsSum(dimensions) {
|
8 | return {
|
9 | namespace: 'AWS/DynamoDB',
|
10 | metricName: 'ConditionalCheckFailedRequests',
|
11 | dimensionsMap: dimensions,
|
12 | statistic: 'Sum',
|
13 | };
|
14 | }
|
15 | static consumedReadCapacityUnitsSum(dimensions) {
|
16 | return {
|
17 | namespace: 'AWS/DynamoDB',
|
18 | metricName: 'ConsumedReadCapacityUnits',
|
19 | dimensionsMap: dimensions,
|
20 | statistic: 'Sum',
|
21 | };
|
22 | }
|
23 | static consumedWriteCapacityUnitsSum(dimensions) {
|
24 | return {
|
25 | namespace: 'AWS/DynamoDB',
|
26 | metricName: 'ConsumedWriteCapacityUnits',
|
27 | dimensionsMap: dimensions,
|
28 | statistic: 'Sum',
|
29 | };
|
30 | }
|
31 | static provisionedReadCapacityUnitsAverage(dimensions) {
|
32 | return {
|
33 | namespace: 'AWS/DynamoDB',
|
34 | metricName: 'ProvisionedReadCapacityUnits',
|
35 | dimensionsMap: dimensions,
|
36 | statistic: 'Average',
|
37 | };
|
38 | }
|
39 | static provisionedWriteCapacityUnitsAverage(dimensions) {
|
40 | return {
|
41 | namespace: 'AWS/DynamoDB',
|
42 | metricName: 'ProvisionedWriteCapacityUnits',
|
43 | dimensionsMap: dimensions,
|
44 | statistic: 'Average',
|
45 | };
|
46 | }
|
47 | static readThrottleEventsSum(dimensions) {
|
48 | return {
|
49 | namespace: 'AWS/DynamoDB',
|
50 | metricName: 'ReadThrottleEvents',
|
51 | dimensionsMap: dimensions,
|
52 | statistic: 'Sum',
|
53 | };
|
54 | }
|
55 | static timeToLiveDeletedItemCountSum(dimensions) {
|
56 | return {
|
57 | namespace: 'AWS/DynamoDB',
|
58 | metricName: 'TimeToLiveDeletedItemCount',
|
59 | dimensionsMap: dimensions,
|
60 | statistic: 'Sum',
|
61 | };
|
62 | }
|
63 | static transactionConflictAverage(dimensions) {
|
64 | return {
|
65 | namespace: 'AWS/DynamoDB',
|
66 | metricName: 'TransactionConflict',
|
67 | dimensionsMap: dimensions,
|
68 | statistic: 'Average',
|
69 | };
|
70 | }
|
71 | static writeThrottleEventsSum(dimensions) {
|
72 | return {
|
73 | namespace: 'AWS/DynamoDB',
|
74 | metricName: 'WriteThrottleEvents',
|
75 | dimensionsMap: dimensions,
|
76 | statistic: 'Sum',
|
77 | };
|
78 | }
|
79 | static successfulRequestLatencyAverage(dimensions) {
|
80 | return {
|
81 | namespace: 'AWS/DynamoDB',
|
82 | metricName: 'SuccessfulRequestLatency',
|
83 | dimensionsMap: dimensions,
|
84 | statistic: 'Average',
|
85 | };
|
86 | }
|
87 | static systemErrorsSum(dimensions) {
|
88 | return {
|
89 | namespace: 'AWS/DynamoDB',
|
90 | metricName: 'SystemErrors',
|
91 | dimensionsMap: dimensions,
|
92 | statistic: 'Sum',
|
93 | };
|
94 | }
|
95 | static throttledRequestsSum(dimensions) {
|
96 | return {
|
97 | namespace: 'AWS/DynamoDB',
|
98 | metricName: 'ThrottledRequests',
|
99 | dimensionsMap: dimensions,
|
100 | statistic: 'Sum',
|
101 | };
|
102 | }
|
103 | static returnedItemCountSum(dimensions) {
|
104 | return {
|
105 | namespace: 'AWS/DynamoDB',
|
106 | metricName: 'ReturnedItemCount',
|
107 | dimensionsMap: dimensions,
|
108 | statistic: 'Sum',
|
109 | };
|
110 | }
|
111 | static onlineIndexConsumedWriteCapacitySum(dimensions) {
|
112 | return {
|
113 | namespace: 'AWS/DynamoDB',
|
114 | metricName: 'OnlineIndexConsumedWriteCapacity',
|
115 | dimensionsMap: dimensions,
|
116 | statistic: 'Sum',
|
117 | };
|
118 | }
|
119 | static onlineIndexPercentageProgressAverage(dimensions) {
|
120 | return {
|
121 | namespace: 'AWS/DynamoDB',
|
122 | metricName: 'OnlineIndexPercentageProgress',
|
123 | dimensionsMap: dimensions,
|
124 | statistic: 'Average',
|
125 | };
|
126 | }
|
127 | static onlineIndexThrottleEventsSum(dimensions) {
|
128 | return {
|
129 | namespace: 'AWS/DynamoDB',
|
130 | metricName: 'OnlineIndexThrottleEvents',
|
131 | dimensionsMap: dimensions,
|
132 | statistic: 'Sum',
|
133 | };
|
134 | }
|
135 | static ageOfOldestUnreplicatedRecordAverage(dimensions) {
|
136 | return {
|
137 | namespace: 'AWS/DynamoDB',
|
138 | metricName: 'AgeOfOldestUnreplicatedRecord',
|
139 | dimensionsMap: dimensions,
|
140 | statistic: 'Average',
|
141 | };
|
142 | }
|
143 | static consumedChangeDataCaptureUnitsAverage(dimensions) {
|
144 | return {
|
145 | namespace: 'AWS/DynamoDB',
|
146 | metricName: 'ConsumedChangeDataCaptureUnits',
|
147 | dimensionsMap: dimensions,
|
148 | statistic: 'Average',
|
149 | };
|
150 | }
|
151 | static throttledPutRecordCountAverage(dimensions) {
|
152 | return {
|
153 | namespace: 'AWS/DynamoDB',
|
154 | metricName: 'ThrottledPutRecordCount',
|
155 | dimensionsMap: dimensions,
|
156 | statistic: 'Average',
|
157 | };
|
158 | }
|
159 | static pendingReplicationCountAverage(dimensions) {
|
160 | return {
|
161 | namespace: 'AWS/DynamoDB',
|
162 | metricName: 'PendingReplicationCount',
|
163 | dimensionsMap: dimensions,
|
164 | statistic: 'Average',
|
165 | };
|
166 | }
|
167 | static replicationLatencyAverage(dimensions) {
|
168 | return {
|
169 | namespace: 'AWS/DynamoDB',
|
170 | metricName: 'ReplicationLatency',
|
171 | dimensionsMap: dimensions,
|
172 | statistic: 'Average',
|
173 | };
|
174 | }
|
175 | static returnedBytesAverage(dimensions) {
|
176 | return {
|
177 | namespace: 'AWS/DynamoDB',
|
178 | metricName: 'ReturnedBytes',
|
179 | dimensionsMap: dimensions,
|
180 | statistic: 'Average',
|
181 | };
|
182 | }
|
183 | static returnedRecordsCountAverage(dimensions) {
|
184 | return {
|
185 | namespace: 'AWS/DynamoDB',
|
186 | metricName: 'ReturnedRecordsCount',
|
187 | dimensionsMap: dimensions,
|
188 | statistic: 'Average',
|
189 | };
|
190 | }
|
191 | static accountMaxReadsMaximum(dimensions) {
|
192 | return {
|
193 | namespace: 'AWS/DynamoDB',
|
194 | metricName: 'AccountMaxReads',
|
195 | dimensionsMap: dimensions,
|
196 | statistic: 'Maximum',
|
197 | };
|
198 | }
|
199 | static accountMaxTableLevelReadsMaximum(dimensions) {
|
200 | return {
|
201 | namespace: 'AWS/DynamoDB',
|
202 | metricName: 'AccountMaxTableLevelReads',
|
203 | dimensionsMap: dimensions,
|
204 | statistic: 'Maximum',
|
205 | };
|
206 | }
|
207 | static accountMaxTableLevelWritesMaximum(dimensions) {
|
208 | return {
|
209 | namespace: 'AWS/DynamoDB',
|
210 | metricName: 'AccountMaxTableLevelWrites',
|
211 | dimensionsMap: dimensions,
|
212 | statistic: 'Maximum',
|
213 | };
|
214 | }
|
215 | static accountMaxWritesMaximum(dimensions) {
|
216 | return {
|
217 | namespace: 'AWS/DynamoDB',
|
218 | metricName: 'AccountMaxWrites',
|
219 | dimensionsMap: dimensions,
|
220 | statistic: 'Maximum',
|
221 | };
|
222 | }
|
223 | static accountProvisionedReadCapacityUtilizationAverage(dimensions) {
|
224 | return {
|
225 | namespace: 'AWS/DynamoDB',
|
226 | metricName: 'AccountProvisionedReadCapacityUtilization',
|
227 | dimensionsMap: dimensions,
|
228 | statistic: 'Average',
|
229 | };
|
230 | }
|
231 | static accountProvisionedWriteCapacityUtilizationAverage(dimensions) {
|
232 | return {
|
233 | namespace: 'AWS/DynamoDB',
|
234 | metricName: 'AccountProvisionedWriteCapacityUtilization',
|
235 | dimensionsMap: dimensions,
|
236 | statistic: 'Average',
|
237 | };
|
238 | }
|
239 | static maxProvisionedTableReadCapacityUtilizationAverage(dimensions) {
|
240 | return {
|
241 | namespace: 'AWS/DynamoDB',
|
242 | metricName: 'MaxProvisionedTableReadCapacityUtilization',
|
243 | dimensionsMap: dimensions,
|
244 | statistic: 'Average',
|
245 | };
|
246 | }
|
247 | static maxProvisionedTableWriteCapacityUtilizationAverage(dimensions) {
|
248 | return {
|
249 | namespace: 'AWS/DynamoDB',
|
250 | metricName: 'MaxProvisionedTableWriteCapacityUtilization',
|
251 | dimensionsMap: dimensions,
|
252 | statistic: 'Average',
|
253 | };
|
254 | }
|
255 | static userErrorsSum(dimensions) {
|
256 | return {
|
257 | namespace: 'AWS/DynamoDB',
|
258 | metricName: 'UserErrors',
|
259 | dimensionsMap: dimensions,
|
260 | statistic: 'Sum',
|
261 | };
|
262 | }
|
263 | }
|
264 | exports.DynamoDBMetrics = DynamoDBMetrics;
|
265 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItY2FubmVkLW1ldHJpY3MuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItY2FubmVkLW1ldHJpY3MuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrRUFBK0U7OztBQUUvRSw0QkFBNEIsQ0FBQyxpRUFBaUU7QUFFOUYsTUFBYSxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFpQztRQUMvRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLGdDQUFnQztZQUM1QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsVUFBZTtRQUN4RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDJCQUEyQjtZQUN2QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsVUFBZTtRQUN6RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDRCQUE0QjtZQUN4QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsbUNBQW1DLENBQUMsVUFBZTtRQUMvRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDhCQUE4QjtZQUMxQyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsb0NBQW9DLENBQUMsVUFBZTtRQUNoRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLCtCQUErQjtZQUMzQyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFT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RSxVQUFVO1lBQ3pCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7S0FDSDtJQUNNLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxVQUFnQjtRQUMvRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDZDQUE2QztZQUN6RCxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0tBQ0g7SUFDTSxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdCO1FBQzFDLE9BQU87WUFDTCxTQUFTLEVBQUUsY0FBYztZQUN6QixVQUFVLEVBQUUsWUFBWTtZQUN4QixhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7Q0FDRjtBQTdRRCwwQ0E2UUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAxMi0yMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8gLy8gVGhpcyBpcyBnZW5lcmF0ZWQgY29kZSAtIGxpbmUgbGVuZ3RocyBhcmUgZGlmZmljdWx0IHRvIGNvbnRyb2xcblxuZXhwb3J0IGNsYXNzIER5bmFtb0RCTWV0cmljcyB7XG4gIHB1YmxpYyBzdGF0aWMgY29uZGl0aW9uYWxDaGVja0ZhaWxlZFJlcXVlc3RzU3VtKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0NvbmRpdGlvbmFsQ2hlY2tGYWlsZWRSZXF1ZXN0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRSZWFkQ2FwYWNpdHlVbml0c1N1bShkaW1lbnNpb25zOiB7IFRhYmxlTmFtZTogc3RyaW5nIH0pOiBNZXRyaWNXaXRoRGltczx7IFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIGNvbnN1bWVkUmVhZENhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIGNvbnN1bWVkUmVhZENhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQ29uc3VtZWRSZWFkQ2FwYWNpdHlVbml0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBUYWJsZU5hbWU6IHN0cmluZyB9PjtcbiAgcHVibGljIHN0YXRpYyBjb25zdW1lZFdyaXRlQ2FwYWNpdHlVbml0c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQ29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgcHJvdmlzaW9uZWRSZWFkQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Byb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBwcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBUYWJsZU5hbWU6IHN0cmluZyB9PjtcbiAgcHVibGljIHN0YXRpYyBwcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkV3JpdGVDYXBhY2l0eVVuaXRzQXZlcmFnZShkaW1lbnNpb25zOiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJlYWRUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IFRhYmxlTmFtZTogc3RyaW5nIH0pOiBNZXRyaWNXaXRoRGltczx7IFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHJlYWRUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgcmVhZFRocm90dGxlRXZlbnRzU3VtKGRpbWVuc2lvbnM6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1JlYWRUaHJvdHRsZUV2ZW50cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdGltZVRvTGl2ZURlbGV0ZWRJdGVtQ291bnRTdW0oZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnVGltZVRvTGl2ZURlbGV0ZWRJdGVtQ291bnQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHRyYW5zYWN0aW9uQ29uZmxpY3RBdmVyYWdlKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1RyYW5zYWN0aW9uQ29uZmxpY3QnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyB3cml0ZVRocm90dGxlRXZlbnRzU3VtKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgd3JpdGVUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgd3JpdGVUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdXcml0ZVRocm90dGxlRXZlbnRzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBzdWNjZXNzZnVsUmVxdWVzdExhdGVuY3lBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdTdWNjZXNzZnVsUmVxdWVzdExhdGVuY3knLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBzeXN0ZW1FcnJvcnNTdW0oZGltZW5zaW9uczogeyBPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1N5c3RlbUVycm9ycycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdGhyb3R0bGVkUmVxdWVzdHNTdW0oZGltZW5zaW9uczogeyBPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Rocm90dGxlZFJlcXVlc3RzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyByZXR1cm5lZEl0ZW1Db3VudFN1bShkaW1lbnNpb25zOiB7IE9wZXJhdGlvbjogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnUmV0dXJuZWRJdGVtQ291bnQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG9ubGluZUluZGV4Q29uc3VtZWRXcml0ZUNhcGFjaXR5U3VtKGRpbWVuc2lvbnM6IHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdPbmxpbmVJbmRleENvbnN1bWVkV3JpdGVDYXBhY2l0eScsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgb25saW5lSW5kZXhQZXJjZW50YWdlUHJvZ3Jlc3NBdmVyYWdlKGRpbWVuc2lvbnM6IHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdPbmxpbmVJbmRleFBlcmNlbnRhZ2VQcm9ncmVzcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG9ubGluZUluZGV4VGhyb3R0bGVFdmVudHNTdW0oZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ09ubGluZUluZGV4VGhyb3R0bGVFdmVudHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFnZU9mT2xkZXN0VW5yZXBsaWNhdGVkUmVjb3JkQXZlcmFnZShkaW1lbnNpb25zOiB7IERlbGVnYXRlZE9wZXJhdGlvbjogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQWdlT2ZPbGRlc3RVbnJlcGxpY2F0ZWRSZWNvcmQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBjb25zdW1lZENoYW5nZURhdGFDYXB0dXJlVW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgRGVsZWdhdGVkT3BlcmF0aW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDb25zdW1lZENoYW5nZURhdGFDYXB0dXJlVW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyB0aHJvdHRsZWRQdXRSZWNvcmRDb3VudEF2ZXJhZ2UoZGltZW5zaW9uczogeyBEZWxlZ2F0ZWRPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Rocm90dGxlZFB1dFJlY29yZENvdW50JyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcGVuZGluZ1JlcGxpY2F0aW9uQ291bnRBdmVyYWdlKGRpbWVuc2lvbnM6IHsgUmVjZWl2aW5nUmVnaW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdQZW5kaW5nUmVwbGljYXRpb25Db3VudCcsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJlcGxpY2F0aW9uTGF0ZW5jeUF2ZXJhZ2UoZGltZW5zaW9uczogeyBSZWNlaXZpbmdSZWdpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1JlcGxpY2F0aW9uTGF0ZW5jeScsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJldHVybmVkQnl0ZXNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFN0cmVhbUxhYmVsOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSZXR1cm5lZEJ5dGVzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcmV0dXJuZWRSZWNvcmRzQ291bnRBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFN0cmVhbUxhYmVsOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSZXR1cm5lZFJlY29yZHNDb3VudCcsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhSZWFkc01heGltdW0oZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0FjY291bnRNYXhSZWFkcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhUYWJsZUxldmVsUmVhZHNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4VGFibGVMZXZlbFJlYWRzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgYWNjb3VudE1heFRhYmxlTGV2ZWxXcml0ZXNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4VGFibGVMZXZlbFdyaXRlcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhXcml0ZXNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4V3JpdGVzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgYWNjb3VudFByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VXRpbGl6YXRpb25BdmVyYWdlKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50UHJvdmlzaW9uZWRSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVdGlsaXphdGlvbkF2ZXJhZ2UoZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0FjY291bnRQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG1heFByb3Zpc2lvbmVkVGFibGVSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbkF2ZXJhZ2UoZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ01heFByb3Zpc2lvbmVkVGFibGVSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG1heFByb3Zpc2lvbmVkVGFibGVXcml0ZUNhcGFjaXR5VXRpbGl6YXRpb25BdmVyYWdlKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdNYXhQcm92aXNpb25lZFRhYmxlV3JpdGVDYXBhY2l0eVV0aWxpemF0aW9uJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdXNlckVycm9yc1N1bShkaW1lbnNpb25zOiB7ICB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnVXNlckVycm9ycycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG59XG50eXBlIE1ldHJpY1dpdGhEaW1zPEQ+ID0geyBuYW1lc3BhY2U6IHN0cmluZywgbWV0cmljTmFtZTogc3RyaW5nLCBzdGF0aXN0aWM6IHN0cmluZywgZGltZW5zaW9uc01hcDogRCB9O1xuIl19 |
\ | No newline at end of file |