@sabstravtech/obtservices 0.0.22041208 → 0.0.22042501

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.
Files changed (65) hide show
  1. package/angular/fetchers.d.ts +1 -0
  2. package/angular/lib/vendor/fetchers/email-basket.fetcher.d.ts +7 -0
  3. package/angular/lib/vendor/services/search.service.d.ts +4 -3
  4. package/angular/lib/vendor/services/user.service.d.ts +4 -3
  5. package/angular/lib/vendor/types/graphql.angular.types.d.ts +507 -9
  6. package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
  7. package/base/fetchers.d.ts +1 -0
  8. package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +2 -1
  9. package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +1 -1
  10. package/base/lib/vendor/classes/modal-types.enum.d.ts +1 -0
  11. package/base/lib/vendor/classes/rail-enterprise-search.d.ts +2 -0
  12. package/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +1 -1
  13. package/base/lib/vendor/classes/user-favourite.enum.d.ts +1 -0
  14. package/base/lib/vendor/fetchers/email-basket.fetcher.d.ts +20 -0
  15. package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +1 -0
  16. package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +1 -1
  17. package/base/lib/vendor/interfaces/Isearch.service.d.ts +3 -3
  18. package/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +1 -1
  19. package/base/lib/vendor/services/search.service.d.ts +7 -5
  20. package/base/lib/vendor/services/url.service.d.ts +2 -1
  21. package/base/lib/vendor/services/user.service.d.ts +8 -2
  22. package/base/lib/vendor/types/graphql.types.d.ts +502 -9
  23. package/base/lib/vendor/types/types.d.ts +2 -2
  24. package/base/sabstravtech-obtservices-base.metadata.json +1 -1
  25. package/bundles/sabstravtech-obtservices-angular.umd.js +136 -84
  26. package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
  27. package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
  28. package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
  29. package/bundles/sabstravtech-obtservices-base.umd.js +206 -49
  30. package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
  31. package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
  32. package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
  33. package/esm2015/angular/fetchers.js +2 -1
  34. package/esm2015/angular/lib/vendor/fetchers/email-basket.fetcher.js +25 -0
  35. package/esm2015/angular/lib/vendor/services/search.service.js +8 -5
  36. package/esm2015/angular/lib/vendor/services/user.service.js +13 -10
  37. package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +1006 -2
  38. package/esm2015/base/fetchers.js +2 -1
  39. package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +34 -8
  40. package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +15 -12
  41. package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +6 -1
  42. package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +31 -4
  43. package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +10 -2
  44. package/esm2015/base/lib/vendor/classes/modal-types.enum.js +2 -1
  45. package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +12 -2
  46. package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +35 -19
  47. package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +3 -3
  48. package/esm2015/base/lib/vendor/classes/user-favourite.enum.js +2 -1
  49. package/esm2015/base/lib/vendor/data/euro-stations.json +8 -0
  50. package/esm2015/base/lib/vendor/fetchers/email-basket.fetcher.js +11 -0
  51. package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
  52. package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +1 -1
  53. package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
  54. package/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +1 -1
  55. package/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +2 -1
  56. package/esm2015/base/lib/vendor/services/search.service.js +8 -3
  57. package/esm2015/base/lib/vendor/services/url.service.js +2 -1
  58. package/esm2015/base/lib/vendor/services/user.service.js +19 -2
  59. package/esm2015/base/lib/vendor/types/graphql.types.js +11 -1
  60. package/esm2015/base/lib/vendor/types/types.js +3 -3
  61. package/fesm2015/sabstravtech-obtservices-angular.js +1048 -26
  62. package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
  63. package/fesm2015/sabstravtech-obtservices-base.js +199 -50
  64. package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
  65. package/package.json +1 -1
@@ -381,6 +381,16 @@ export var IrlTravellerStatus;
381
381
  IrlTravellerStatus["Placeholder"] = "placeholder";
382
382
  IrlTravellerStatus["Complete"] = "complete";
383
383
  })(IrlTravellerStatus || (IrlTravellerStatus = {}));
384
+ export var LogLevelType;
385
+ (function (LogLevelType) {
386
+ LogLevelType["Error"] = "ERROR";
387
+ LogLevelType["Warn"] = "WARN";
388
+ LogLevelType["Info"] = "INFO";
389
+ LogLevelType["Http"] = "HTTP";
390
+ LogLevelType["Verbose"] = "VERBOSE";
391
+ LogLevelType["Debug"] = "DEBUG";
392
+ LogLevelType["Silly"] = "SILLY";
393
+ })(LogLevelType || (LogLevelType = {}));
384
394
  export var MessageTarget;
385
395
  (function (MessageTarget) {
386
396
  MessageTarget["Login"] = "LOGIN";
@@ -1102,6 +1112,36 @@ export const UserFieldsFragmentDoc = gql `
1102
1112
  officePrimary
1103
1113
  userPrimary
1104
1114
  }
1115
+ documents {
1116
+ id
1117
+ docType
1118
+ nationality
1119
+ gender
1120
+ number
1121
+ country
1122
+ codeOfIssuingState
1123
+ dateOfIssue
1124
+ dateOfExpiry
1125
+ primary
1126
+ createdAt
1127
+ updatedAt
1128
+ }
1129
+ loyaltyCodes {
1130
+ id
1131
+ carrier
1132
+ code
1133
+ type
1134
+ createdAt
1135
+ updatedAt
1136
+ }
1137
+ preferences {
1138
+ id
1139
+ serviceType
1140
+ preferenceKey
1141
+ preferenceValue
1142
+ createdAt
1143
+ updatedAt
1144
+ }
1105
1145
  }
1106
1146
  `;
1107
1147
  export const AcceptNewPriceDocument = gql `
@@ -1740,6 +1780,970 @@ DeleteUserAddressGQL.decorators = [
1740
1780
  DeleteUserAddressGQL.ctorParameters = () => [
1741
1781
  { type: Apollo.Apollo }
1742
1782
  ];
1783
+ export const EmailBasketDocument = gql `
1784
+ query emailBasket($id: ID!) {
1785
+ emailBasket(id: $id) {
1786
+ id
1787
+ owner {
1788
+ id
1789
+ title
1790
+ forename
1791
+ surname
1792
+ email
1793
+ username
1794
+ employeeId
1795
+ createdAt
1796
+ updatedAt
1797
+ dob
1798
+ admin
1799
+ tmcAdmin
1800
+ companyAdmin
1801
+ bookerType
1802
+ authMethods
1803
+ active
1804
+ passwordLastUpdated
1805
+ selectedLanguage {
1806
+ id
1807
+ name
1808
+ isoCode
1809
+ __typename
1810
+ }
1811
+ availableLanguages {
1812
+ id
1813
+ name
1814
+ isoCode
1815
+ __typename
1816
+ }
1817
+ tmc {
1818
+ name
1819
+ __typename
1820
+ }
1821
+ office {
1822
+ id
1823
+ name
1824
+ createdAt
1825
+ updatedAt
1826
+ co2AllowancePeriod
1827
+ co2AllowancePerPeriod
1828
+ __typename
1829
+ }
1830
+ companyGroups {
1831
+ id
1832
+ name
1833
+ description
1834
+ company {
1835
+ id
1836
+ name
1837
+ tmc {
1838
+ id
1839
+ name
1840
+ __typename
1841
+ }
1842
+ offices {
1843
+ id
1844
+ name
1845
+ createdAt
1846
+ updatedAt
1847
+ addresses {
1848
+ id
1849
+ description
1850
+ numberOrName
1851
+ street
1852
+ town
1853
+ county
1854
+ postcode
1855
+ countryCode
1856
+ userPrimary
1857
+ officePrimary
1858
+ __typename
1859
+ }
1860
+ phoneNumbers {
1861
+ id
1862
+ description
1863
+ countryCode
1864
+ areaCode
1865
+ number
1866
+ extension
1867
+ type
1868
+ officePrimary
1869
+ userPrimary
1870
+ __typename
1871
+ }
1872
+ co2AllowancePeriod
1873
+ co2AllowancePerPeriod
1874
+ __typename
1875
+ }
1876
+ addresses {
1877
+ id
1878
+ description
1879
+ numberOrName
1880
+ street
1881
+ town
1882
+ county
1883
+ postcode
1884
+ countryCode
1885
+ userPrimary
1886
+ officePrimary
1887
+ __typename
1888
+ }
1889
+ phoneNumbers {
1890
+ id
1891
+ description
1892
+ countryCode
1893
+ areaCode
1894
+ number
1895
+ extension
1896
+ type
1897
+ officePrimary
1898
+ userPrimary
1899
+ __typename
1900
+ }
1901
+ supportPhoneNumber {
1902
+ id
1903
+ description
1904
+ countryCode
1905
+ areaCode
1906
+ number
1907
+ extension
1908
+ type
1909
+ officePrimary
1910
+ userPrimary
1911
+ __typename
1912
+ }
1913
+ createdAt
1914
+ updatedAt
1915
+ supportEmail
1916
+ co2ConsumptionPolicy
1917
+ co2AllowancePeriod
1918
+ co2AllowancePerPeriod
1919
+ __typename
1920
+ }
1921
+ createdAt
1922
+ updatedAt
1923
+ __typename
1924
+ }
1925
+ addresses {
1926
+ id
1927
+ description
1928
+ numberOrName
1929
+ street
1930
+ town
1931
+ county
1932
+ postcode
1933
+ countryCode
1934
+ userPrimary
1935
+ officePrimary
1936
+ __typename
1937
+ }
1938
+ phoneNumbers {
1939
+ id
1940
+ description
1941
+ countryCode
1942
+ areaCode
1943
+ number
1944
+ extension
1945
+ type
1946
+ officePrimary
1947
+ userPrimary
1948
+ __typename
1949
+ }
1950
+ approvers {
1951
+ active
1952
+ priority
1953
+ __typename
1954
+ }
1955
+ approverFor {
1956
+ active
1957
+ priority
1958
+ __typename
1959
+ }
1960
+ co2AllowancePeriod
1961
+ co2AllowancePerPeriod
1962
+ documents {
1963
+ id
1964
+ docType
1965
+ nationality
1966
+ gender
1967
+ number
1968
+ country
1969
+ codeOfIssuingState
1970
+ dateOfIssue
1971
+ dateOfExpiry
1972
+ primary
1973
+ createdAt
1974
+ updatedAt
1975
+ __typename
1976
+ }
1977
+ preferences {
1978
+ id
1979
+ serviceType
1980
+ preferenceKey
1981
+ preferenceValue
1982
+ createdAt
1983
+ updatedAt
1984
+ __typename
1985
+ }
1986
+ loyaltyCodes {
1987
+ id
1988
+ carrier
1989
+ code
1990
+ type
1991
+ createdAt
1992
+ updatedAt
1993
+ __typename
1994
+ }
1995
+ emergencyContactName
1996
+ emergencyContactPhone
1997
+ emergencyContactEmail
1998
+ __typename
1999
+ }
2000
+ reference
2001
+ title
2002
+ notes
2003
+ createdAt
2004
+ updatedAt
2005
+ basketItems {
2006
+ id
2007
+ adults
2008
+ children
2009
+ infants
2010
+ detail
2011
+ detailHash
2012
+ createdAt
2013
+ updatedAt
2014
+ expiry
2015
+ expired
2016
+ users {
2017
+ id
2018
+ title
2019
+ forename
2020
+ surname
2021
+ email
2022
+ username
2023
+ employeeId
2024
+ createdAt
2025
+ updatedAt
2026
+ dob
2027
+ admin
2028
+ tmcAdmin
2029
+ companyAdmin
2030
+ bookerType
2031
+ authMethods
2032
+ active
2033
+ passwordLastUpdated
2034
+ selectedLanguage {
2035
+ id
2036
+ name
2037
+ isoCode
2038
+ __typename
2039
+ }
2040
+ availableLanguages {
2041
+ id
2042
+ name
2043
+ isoCode
2044
+ __typename
2045
+ }
2046
+ tmc {
2047
+ id
2048
+ name
2049
+ __typename
2050
+ }
2051
+ office {
2052
+ id
2053
+ name
2054
+ createdAt
2055
+ updatedAt
2056
+ co2AllowancePeriod
2057
+ co2AllowancePerPeriod
2058
+ __typename
2059
+ }
2060
+ companyGroups {
2061
+ id
2062
+ name
2063
+ description
2064
+ company {
2065
+ id
2066
+ name
2067
+ tmc {
2068
+ id
2069
+ name
2070
+ __typename
2071
+ }
2072
+ offices {
2073
+ id
2074
+ name
2075
+ createdAt
2076
+ updatedAt
2077
+ addresses {
2078
+ id
2079
+ description
2080
+ numberOrName
2081
+ street
2082
+ town
2083
+ county
2084
+ postcode
2085
+ countryCode
2086
+ userPrimary
2087
+ officePrimary
2088
+ __typename
2089
+ }
2090
+ phoneNumbers {
2091
+ id
2092
+ description
2093
+ countryCode
2094
+ areaCode
2095
+ number
2096
+ extension
2097
+ type
2098
+ officePrimary
2099
+ userPrimary
2100
+ __typename
2101
+ }
2102
+ co2AllowancePeriod
2103
+ co2AllowancePerPeriod
2104
+ __typename
2105
+ }
2106
+ addresses {
2107
+ id
2108
+ description
2109
+ numberOrName
2110
+ street
2111
+ town
2112
+ county
2113
+ postcode
2114
+ countryCode
2115
+ userPrimary
2116
+ officePrimary
2117
+ __typename
2118
+ }
2119
+ phoneNumbers {
2120
+ id
2121
+ description
2122
+ countryCode
2123
+ areaCode
2124
+ number
2125
+ extension
2126
+ type
2127
+ officePrimary
2128
+ userPrimary
2129
+ __typename
2130
+ }
2131
+ supportPhoneNumber {
2132
+ id
2133
+ description
2134
+ countryCode
2135
+ areaCode
2136
+ number
2137
+ extension
2138
+ type
2139
+ officePrimary
2140
+ userPrimary
2141
+ __typename
2142
+ }
2143
+ createdAt
2144
+ updatedAt
2145
+ supportEmail
2146
+ co2ConsumptionPolicy
2147
+ co2AllowancePeriod
2148
+ co2AllowancePerPeriod
2149
+ __typename
2150
+ }
2151
+ createdAt
2152
+ updatedAt
2153
+ __typename
2154
+ }
2155
+ addresses {
2156
+ id
2157
+ description
2158
+ numberOrName
2159
+ street
2160
+ town
2161
+ county
2162
+ postcode
2163
+ countryCode
2164
+ userPrimary
2165
+ officePrimary
2166
+ __typename
2167
+ }
2168
+ phoneNumbers {
2169
+ id
2170
+ description
2171
+ countryCode
2172
+ areaCode
2173
+ number
2174
+ extension
2175
+ type
2176
+ officePrimary
2177
+ userPrimary
2178
+ __typename
2179
+ }
2180
+ approvers {
2181
+ active
2182
+ priority
2183
+ __typename
2184
+ }
2185
+ approverFor {
2186
+ active
2187
+ priority
2188
+ __typename
2189
+ }
2190
+ co2AllowancePeriod
2191
+ co2AllowancePerPeriod
2192
+ documents {
2193
+ id
2194
+ docType
2195
+ nationality
2196
+ gender
2197
+ number
2198
+ country
2199
+ codeOfIssuingState
2200
+ dateOfIssue
2201
+ dateOfExpiry
2202
+ primary
2203
+ createdAt
2204
+ updatedAt
2205
+ __typename
2206
+ }
2207
+ preferences {
2208
+ id
2209
+ serviceType
2210
+ preferenceKey
2211
+ preferenceValue
2212
+ createdAt
2213
+ updatedAt
2214
+ __typename
2215
+ }
2216
+ loyaltyCodes {
2217
+ id
2218
+ carrier
2219
+ code
2220
+ type
2221
+ createdAt
2222
+ updatedAt
2223
+ __typename
2224
+ }
2225
+ emergencyContactName
2226
+ emergencyContactPhone
2227
+ emergencyContactEmail
2228
+ __typename
2229
+ }
2230
+ userPassengerTypes {
2231
+ id
2232
+ passengerType
2233
+ __typename
2234
+ }
2235
+ leadPassenger {
2236
+ id
2237
+ title
2238
+ forename
2239
+ surname
2240
+ email
2241
+ username
2242
+ employeeId
2243
+ createdAt
2244
+ updatedAt
2245
+ dob
2246
+ admin
2247
+ tmcAdmin
2248
+ companyAdmin
2249
+ bookerType
2250
+ authMethods
2251
+ active
2252
+ passwordLastUpdated
2253
+ co2AllowancePeriod
2254
+ co2AllowancePerPeriod
2255
+ documents {
2256
+ id
2257
+ docType
2258
+ nationality
2259
+ gender
2260
+ number
2261
+ country
2262
+ codeOfIssuingState
2263
+ dateOfIssue
2264
+ dateOfExpiry
2265
+ primary
2266
+ createdAt
2267
+ updatedAt
2268
+ __typename
2269
+ }
2270
+ preferences {
2271
+ id
2272
+ serviceType
2273
+ preferenceKey
2274
+ preferenceValue
2275
+ createdAt
2276
+ updatedAt
2277
+ __typename
2278
+ }
2279
+ loyaltyCodes {
2280
+ id
2281
+ carrier
2282
+ code
2283
+ type
2284
+ createdAt
2285
+ updatedAt
2286
+ __typename
2287
+ }
2288
+ emergencyContactName
2289
+ emergencyContactPhone
2290
+ emergencyContactEmail
2291
+ __typename
2292
+ }
2293
+ service {
2294
+ id
2295
+ type
2296
+ name
2297
+ description
2298
+ supplierUrl
2299
+ active
2300
+ apiEndpointUrl
2301
+ basketItemTtl
2302
+ cancellable
2303
+ amendable
2304
+ detailSchema
2305
+ searchQuerySchema
2306
+ __typename
2307
+ }
2308
+ searchQuery
2309
+ price
2310
+ currency
2311
+ miGroupsAvailable
2312
+ miGroupSelected
2313
+ managementInfo {
2314
+ id
2315
+ dbId
2316
+ name
2317
+ description
2318
+ handoff
2319
+ valueMask
2320
+ service {
2321
+ id
2322
+ type
2323
+ name
2324
+ description
2325
+ supplierUrl
2326
+ active
2327
+ apiEndpointUrl
2328
+ basketItemTtl
2329
+ cancellable
2330
+ amendable
2331
+ __typename
2332
+ }
2333
+ uiPresentation
2334
+ mandatory
2335
+ perPassenger
2336
+ perBooking
2337
+ agentOnly
2338
+ takeValueFromUserDefault
2339
+ takeValueFromBookerDefault
2340
+ enforceUserDefault
2341
+ bookedByField
2342
+ createdAt
2343
+ updatedAt
2344
+ fixed
2345
+ fixedValue {
2346
+ id
2347
+ label
2348
+ value
2349
+ default
2350
+ fixed
2351
+ agentOnly
2352
+ __typename
2353
+ }
2354
+ defaultValue {
2355
+ id
2356
+ label
2357
+ value
2358
+ default
2359
+ fixed
2360
+ agentOnly
2361
+ __typename
2362
+ }
2363
+ values {
2364
+ id
2365
+ label
2366
+ value
2367
+ default
2368
+ fixed
2369
+ agentOnly
2370
+ __typename
2371
+ }
2372
+ group
2373
+ selectedValues {
2374
+ value {
2375
+ id
2376
+ label
2377
+ value
2378
+ default
2379
+ fixed
2380
+ agentOnly
2381
+ __typename
2382
+ }
2383
+ freeValue
2384
+ basketLevelValue
2385
+ userLevelValue
2386
+ user {
2387
+ id
2388
+ title
2389
+ forename
2390
+ surname
2391
+ email
2392
+ username
2393
+ employeeId
2394
+ createdAt
2395
+ updatedAt
2396
+ dob
2397
+ admin
2398
+ tmcAdmin
2399
+ companyAdmin
2400
+ bookerType
2401
+ authMethods
2402
+ active
2403
+ passwordLastUpdated
2404
+ co2AllowancePeriod
2405
+ co2AllowancePerPeriod
2406
+ documents {
2407
+ id
2408
+ docType
2409
+ nationality
2410
+ gender
2411
+ number
2412
+ country
2413
+ codeOfIssuingState
2414
+ dateOfIssue
2415
+ dateOfExpiry
2416
+ primary
2417
+ createdAt
2418
+ updatedAt
2419
+ __typename
2420
+ }
2421
+ preferences {
2422
+ id
2423
+ serviceType
2424
+ preferenceKey
2425
+ preferenceValue
2426
+ createdAt
2427
+ updatedAt
2428
+ __typename
2429
+ }
2430
+ loyaltyCodes {
2431
+ id
2432
+ carrier
2433
+ code
2434
+ type
2435
+ createdAt
2436
+ updatedAt
2437
+ __typename
2438
+ }
2439
+ emergencyContactName
2440
+ emergencyContactPhone
2441
+ emergencyContactEmail
2442
+ __typename
2443
+ }
2444
+ __typename
2445
+ }
2446
+ __typename
2447
+ }
2448
+ validated
2449
+ latestValidation
2450
+ latestValidationPrice
2451
+ latestValidationPriceDifference
2452
+ latestValidationAvailable
2453
+ bookingThirdPartyReference
2454
+ pnrLocator
2455
+ bookingDetail
2456
+ status
2457
+ availablePaymentMethods {
2458
+ id
2459
+ name
2460
+ description
2461
+ __typename
2462
+ }
2463
+ selectedPaymentMethod {
2464
+ id
2465
+ name
2466
+ description
2467
+ __typename
2468
+ }
2469
+ perItemSupplementaryBookingInfoSchema
2470
+ perPassengerSupplementaryBookingInfoSchema
2471
+ perItemAddress
2472
+ perItemPhoneNumber
2473
+ perPassengerAddress
2474
+ perPassengerPhoneNumber
2475
+ cancellable
2476
+ amendable
2477
+ co2PerPassenger
2478
+ co2PerItem
2479
+ outboundDate
2480
+ inboundDate
2481
+ convertedCurrencyAmount
2482
+ convertedCurrencyCode
2483
+ __typename
2484
+ }
2485
+ status
2486
+ companyGroup {
2487
+ id
2488
+ name
2489
+ description
2490
+ company {
2491
+ id
2492
+ name
2493
+ tmc {
2494
+ id
2495
+ name
2496
+ __typename
2497
+ }
2498
+ offices {
2499
+ id
2500
+ name
2501
+ createdAt
2502
+ updatedAt
2503
+ addresses {
2504
+ id
2505
+ description
2506
+ numberOrName
2507
+ street
2508
+ town
2509
+ county
2510
+ postcode
2511
+ countryCode
2512
+ userPrimary
2513
+ officePrimary
2514
+ __typename
2515
+ }
2516
+ phoneNumbers {
2517
+ id
2518
+ description
2519
+ countryCode
2520
+ areaCode
2521
+ number
2522
+ extension
2523
+ type
2524
+ officePrimary
2525
+ userPrimary
2526
+ __typename
2527
+ }
2528
+ co2AllowancePeriod
2529
+ co2AllowancePerPeriod
2530
+ __typename
2531
+ }
2532
+ addresses {
2533
+ id
2534
+ description
2535
+ numberOrName
2536
+ street
2537
+ town
2538
+ county
2539
+ postcode
2540
+ countryCode
2541
+ userPrimary
2542
+ officePrimary
2543
+ __typename
2544
+ }
2545
+ phoneNumbers {
2546
+ id
2547
+ description
2548
+ countryCode
2549
+ areaCode
2550
+ number
2551
+ extension
2552
+ type
2553
+ officePrimary
2554
+ userPrimary
2555
+ __typename
2556
+ }
2557
+ users {
2558
+ id
2559
+ title
2560
+ forename
2561
+ surname
2562
+ email
2563
+ username
2564
+ employeeId
2565
+ createdAt
2566
+ updatedAt
2567
+ dob
2568
+ admin
2569
+ tmcAdmin
2570
+ companyAdmin
2571
+ bookerType
2572
+ authMethods
2573
+ active
2574
+ passwordLastUpdated
2575
+ selectedLanguage {
2576
+ id
2577
+ name
2578
+ isoCode
2579
+ __typename
2580
+ }
2581
+ availableLanguages {
2582
+ id
2583
+ name
2584
+ isoCode
2585
+ __typename
2586
+ }
2587
+ tmc {
2588
+ id
2589
+ name
2590
+ __typename
2591
+ }
2592
+ office {
2593
+ id
2594
+ name
2595
+ createdAt
2596
+ updatedAt
2597
+ addresses {
2598
+ id
2599
+ description
2600
+ numberOrName
2601
+ street
2602
+ town
2603
+ county
2604
+ postcode
2605
+ countryCode
2606
+ userPrimary
2607
+ officePrimary
2608
+ __typename
2609
+ }
2610
+ phoneNumbers {
2611
+ id
2612
+ description
2613
+ countryCode
2614
+ areaCode
2615
+ number
2616
+ extension
2617
+ type
2618
+ officePrimary
2619
+ userPrimary
2620
+ __typename
2621
+ }
2622
+ co2AllowancePeriod
2623
+ co2AllowancePerPeriod
2624
+ __typename
2625
+ }
2626
+ addresses {
2627
+ id
2628
+ description
2629
+ numberOrName
2630
+ street
2631
+ town
2632
+ county
2633
+ postcode
2634
+ countryCode
2635
+ userPrimary
2636
+ officePrimary
2637
+ __typename
2638
+ }
2639
+ phoneNumbers {
2640
+ id
2641
+ description
2642
+ countryCode
2643
+ areaCode
2644
+ number
2645
+ extension
2646
+ type
2647
+ officePrimary
2648
+ userPrimary
2649
+ __typename
2650
+ }
2651
+ approvers {
2652
+ active
2653
+ priority
2654
+ __typename
2655
+ }
2656
+ approverFor {
2657
+ active
2658
+ priority
2659
+ __typename
2660
+ }
2661
+ co2AllowancePeriod
2662
+ co2AllowancePerPeriod
2663
+ documents {
2664
+ id
2665
+ docType
2666
+ nationality
2667
+ gender
2668
+ number
2669
+ country
2670
+ codeOfIssuingState
2671
+ dateOfIssue
2672
+ dateOfExpiry
2673
+ primary
2674
+ createdAt
2675
+ updatedAt
2676
+ __typename
2677
+ }
2678
+ preferences {
2679
+ id
2680
+ serviceType
2681
+ preferenceKey
2682
+ preferenceValue
2683
+ createdAt
2684
+ updatedAt
2685
+ __typename
2686
+ }
2687
+ loyaltyCodes {
2688
+ id
2689
+ carrier
2690
+ code
2691
+ type
2692
+ createdAt
2693
+ updatedAt
2694
+ __typename
2695
+ }
2696
+ emergencyContactName
2697
+ emergencyContactPhone
2698
+ emergencyContactEmail
2699
+ __typename
2700
+ }
2701
+ supportPhoneNumber {
2702
+ id
2703
+ description
2704
+ countryCode
2705
+ areaCode
2706
+ number
2707
+ extension
2708
+ type
2709
+ officePrimary
2710
+ userPrimary
2711
+ __typename
2712
+ }
2713
+ createdAt
2714
+ updatedAt
2715
+ supportEmail
2716
+ co2ConsumptionPolicy
2717
+ co2AllowancePeriod
2718
+ co2AllowancePerPeriod
2719
+ __typename
2720
+ }
2721
+ createdAt
2722
+ updatedAt
2723
+ __typename
2724
+ }
2725
+ validated
2726
+ bookedAt
2727
+ __typename
2728
+ }
2729
+ }
2730
+ `;
2731
+ export class EmailBasketGQL extends Apollo.Query {
2732
+ constructor(apollo) {
2733
+ super(apollo);
2734
+ this.document = EmailBasketDocument;
2735
+ }
2736
+ }
2737
+ /** @nocollapse */ EmailBasketGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function EmailBasketGQL_Factory() { return new EmailBasketGQL(i0.ɵɵinject(i1.Apollo)); }, token: EmailBasketGQL, providedIn: "root" });
2738
+ EmailBasketGQL.decorators = [
2739
+ { type: Injectable, args: [{
2740
+ providedIn: 'root'
2741
+ },] }
2742
+ ];
2743
+ /** @nocollapse */
2744
+ EmailBasketGQL.ctorParameters = () => [
2745
+ { type: Apollo.Apollo }
2746
+ ];
1743
2747
  export const GetCovidMicrositeTokenDocument = gql `
1744
2748
  query getCOVIDMicrositeToken {
1745
2749
  getCOVIDMicrositeToken
@@ -2245,7 +3249,7 @@ GetIrlSupplierStationGQL.ctorParameters = () => [
2245
3249
  { type: Apollo.Apollo }
2246
3250
  ];
2247
3251
  export const GetRailLiveDeparturesDocument = gql `
2248
- query getRailLiveDepartures($stationCode: String!, $departDateTime: DateTime) {
3252
+ query getRailLiveDepartures($stationCode: String!, $departDateTime: String) {
2249
3253
  getRailLiveDepartures(stationCode: $stationCode, departDateTime: $departDateTime) {
2250
3254
  services {
2251
3255
  rid
@@ -4774,4 +5778,4 @@ ValidateUserMiFreeValueGQL.decorators = [
4774
5778
  ValidateUserMiFreeValueGQL.ctorParameters = () => [
4775
5779
  { type: Apollo.Apollo }
4776
5780
  ];
4777
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBc0d6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBb0VELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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MkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENB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QUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUEzcFVTLE1BQU0sQ0ErcFVhLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBBcG9sbG8gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuZXhwb3J0IHR5cGUgTWF5YmU8VD4gPSBUIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XG5leHBvcnQgdHlwZSBNYWtlT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXT86IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VNYXliZTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdOiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBGaWVsZFdyYXBwZXI8VD4gPSBUO1xuLyoqIEFsbCBidWlsdC1pbiBhbmQgY3VzdG9tIHNjYWxhcnMsIG1hcHBlZCB0byB0aGVpciBhY3R1YWwgdmFsdWVzICovXG5leHBvcnQgdHlwZSBTY2FsYXJzID0ge1xuICBJRDogc3RyaW5nO1xuICBTdHJpbmc6IHN0cmluZztcbiAgQm9vbGVhbjogYm9vbGVhbjtcbiAgSW50OiBudW1iZXI7XG4gIEZsb2F0OiBudW1iZXI7XG4gIERhdGU6IGFueTtcbiAgRGF0ZVRpbWU6IGFueTtcbiAgSlNPTjogYW55O1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlck9yTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdHJlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG93bj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBZnRlckNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGF0aW9uRmVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lckltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ29JbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtaW5hbHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUHVibGljVHJhdmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnREZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCc7XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYXJlYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZzZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnRSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcnBvcnQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG59O1xuXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvblN0YWdlIHtcbiAgQmVmb3JlU2VhcmNoID0gJ0JFRk9SRV9TRUFSQ0gnLFxuICBBZnRlclNlYXJjaCA9ICdBRlRFUl9TRUFSQ0gnXG59XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0UnVsZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwbHlKSVRSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlZSA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3ZlZSc7XG4gIGFwcHJvdmVlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZXInO1xuICBhcHByb3ZlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc29jaWF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJztcbiAgY2F0ZWdvcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQ1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0Q1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RUaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxCYWdnYWdlVHlwZT47XG4gIHF0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgd2VpZ2h0UHJvdmlkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhLRz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG1heExCUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYWdnYWdlVHlwZSB7XG4gIENoZWNrSW4gPSAnQ2hlY2tJbicsXG4gIEhhbmRDYXJyeSA9ICdIYW5kQ2FycnknXG59XG5cbmV4cG9ydCB0eXBlIEJhc2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBvd25lcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICByZWZlcmVuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3Rlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1zOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0SXRlbT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRTdGF0dXM+O1xuICBjb21wYW55R3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGJvb2tlZEF0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2tldEl0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgY2hpbGRyZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGRldGFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGRldGFpbEhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGV4cGlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlclBhc3NlbmdlclR5cGU+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgc2VhcmNoUXVlcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pR3JvdXBzQXZhaWxhYmxlOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlHcm91cFNlbGVjdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hbmFnZW1lbnRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm8+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbGF0ZXN0VmFsaWRhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbnJMb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdEZXRhaWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldEl0ZW1TdGF0dXM+O1xuICBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFBheW1lbnRNZXRob2Q+PjtcbiAgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFBheW1lbnRNZXRob2Q+PjtcbiAgcGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHBlckl0ZW1BZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVySXRlbVBob25lTnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyUGFzc2VuZ2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlclBob25lTnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhbWVuZGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvbnZlcnRlZEN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQmFza2V0SXRlbVN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgZW51bSBCYXNrZXRTdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQXdhaXRpbmdBcHByb3ZhbCA9ICdBV0FJVElOR19BUFBST1ZBTCcsXG4gIEFwcHJvdmVkID0gJ0FQUFJPVkVEJyxcbiAgRGlzYXBwcm92ZWQgPSAnRElTQVBQUk9WRUQnLFxuICBQYXJ0aWFsbHlCb29rZWQgPSAnUEFSVElBTExZX0JPT0tFRCcsXG4gIEJvb2tpbmdGYWlsZWQgPSAnQk9PS0lOR19GQUlMRUQnXG59XG5cbmV4cG9ydCB0eXBlIEJlZm9yZUNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmVmb3JlQ2FuY2VsbGF0aW9uSW5mbyc7XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5jZWxsYXRpb25GZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQm9va2VkQnlGaWVsZCB7XG4gIE5hbWUgPSAnTkFNRScsXG4gIEVtYWlsID0gJ0VNQUlMJ1xufVxuXG5leHBvcnQgZW51bSBCb29rZXJUeXBlIHtcbiAgUm9vdCA9ICdST09UJyxcbiAgVG1jID0gJ1RNQycsXG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBDb21wYW55R3JvdXAgPSAnQ09NUEFOWV9HUk9VUCcsXG4gIFNlbGZCb29rID0gJ1NFTEZfQk9PSycsXG4gIEJvb2tlciA9ICdCT09LRVInLFxuICBUcmF2ZWxsZXIgPSAnVFJBVkVMTEVSJyxcbiAgQm9va2VyV2l0aFNlbGYgPSAnQk9PS0VSX1dJVEhfU0VMRidcbn1cblxuZXhwb3J0IHR5cGUgQm9va2luZ0FkZHJlc3MgPSB7XG4gIG51bWJlck9yTmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0cmVldDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvd246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdQaG9uZU51bWJlciA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcmVhQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGV4dGVuc2lvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nO1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIGFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgc3VwcGxpZXJOYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlc3RpbWF0ZWRDTzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICB2ZWhpY2xlVHlwZTogRmllbGRXcmFwcGVyPENhYkhpcmVWZWhpY2xlVHlwZT47XG4gIHRyaXBEaXN0YW5jZU1ldHJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmlwRHVyYXRpb25TZWNvbmRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGRlcGFydHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmcm9tTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB0b0xvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdmlhczogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FiSGlyZVZlaGljbGVUeXBlIHtcbiAgQW55ID0gJ0FueScsXG4gIERkYUNhciA9ICdEREFDYXInLFxuICBDb2FjaExhcmdlID0gJ0NvYWNoTGFyZ2UnLFxuICBDb2FjaFNtYWxsID0gJ0NvYWNoU21hbGwnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215Q29hY2ggPSAnRWNvbm9teUNvYWNoJyxcbiAgRWNvbm9teU1wdlNtYWxsID0gJ0Vjb25vbXlNUFZTbWFsbCcsXG4gIEVjb25vbXlNcHZMYXJnZSA9ICdFY29ub215TVBWTGFyZ2UnLFxuICBFY29ub215U3V2ID0gJ0Vjb25vbXlTVVYnLFxuICBFeGVjdXRpdmVDYXIgPSAnRXhlY3V0aXZlQ2FyJyxcbiAgRXhlY3V0aXZlU3V2ID0gJ0V4ZWN1dGl2ZVNVVicsXG4gIEdyZWVuQ2FyID0gJ0dyZWVuQ2FyJyxcbiAgR3JlZW5FeGVjdXRpdmUgPSAnR3JlZW5FeGVjdXRpdmUnLFxuICBHcmVlblN1diA9ICdHcmVlblNVVicsXG4gIFNtYWxsTXB2ID0gJ1NtYWxsTVBWJyxcbiAgTWVkaXVtTXB2ID0gJ01lZGl1bU1QVicsXG4gIExhcmdlTXB2ID0gJ0xhcmdlTVBWJyxcbiAgU3RhbmRhcmRDYXIgPSAnU3RhbmRhcmRDYXInLFxuICBTdXYgPSAnU1VWJyxcbiAgQmxhY2tDYWIgPSAnQmxhY2tDYWInLFxuICBUYXhpU3V2ID0gJ1RheGlTVVYnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGpzb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDdXN0b20+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvcExpbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFpcnBvcnRJbnB1dCA9IHtcbiAgcGlja3VwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2hhcmdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDaGFyZ2UnO1xuICBsYWJlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2l0eUlucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVDbGFzcyB7XG4gIE1pbmkgPSAnTWluaScsXG4gIE1pbmlFbGl0ZSA9ICdNaW5pRWxpdGUnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215RWxpdGUgPSAnRWNvbm9teUVsaXRlJyxcbiAgQ29tcGFjdCA9ICdDb21wYWN0JyxcbiAgQ29tcGFjdEVsaXRlID0gJ0NvbXBhY3RFbGl0ZScsXG4gIEludGVybWVkaWF0ZSA9ICdJbnRlcm1lZGlhdGUnLFxuICBJbnRlcm1lZGlhdGVFbGl0ZSA9ICdJbnRlcm1lZGlhdGVFbGl0ZScsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJyxcbiAgU3RhbmRhcmRFbGl0ZSA9ICdTdGFuZGFyZEVsaXRlJyxcbiAgRnVsbHNpemUgPSAnRnVsbHNpemUnLFxuICBGdWxsc2l6ZUVsaXRlID0gJ0Z1bGxzaXplRWxpdGUnLFxuICBQcmVtaXVtID0gJ1ByZW1pdW0nLFxuICBQcmVtaXVtRWxpdGUgPSAnUHJlbWl1bUVsaXRlJyxcbiAgTHV4dXJ5ID0gJ0x1eHVyeScsXG4gIEx1eHVyeUVsaXRlID0gJ0x1eHVyeUVsaXRlJyxcbiAgT3ZlcnNpemUgPSAnT3ZlcnNpemUnLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDdXN0b20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JztcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgY2l0eU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3RSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURpc3BsYXlSZWNvcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURpc3BsYXlSZWNvcmQnO1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGlja3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BvZmY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgdmVoaWNsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUNoYXJnZT4+Pj47XG4gIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIHJldHVybkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycyc7XG4gIGxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcnBoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZWhUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BvZmZEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJbnB1dElkZW50aWZpZXJzID0ge1xuICBsb2NhdG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBycGg/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXR1cz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVoVHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wT2ZmTG9jYXRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZVRyYW5zbWlzc2lvbiB7XG4gIE1hbnVhbCA9ICdNYW51YWwnLFxuICBBdXRvID0gJ0F1dG8nXG59XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUeXBlIHtcbiAgVHdvVG9UaHJlZURvb3IgPSAnVHdvVG9UaHJlZURvb3InLFxuICBUd29PckZvdXJEb29yID0gJ1R3b09yRm91ckRvb3InLFxuICBGb3VyVG9GaXZlRG9vciA9ICdGb3VyVG9GaXZlRG9vcicsXG4gIFdhZ29uT3JFc3RhdGUgPSAnV2Fnb25PckVzdGF0ZScsXG4gIFBhc3NlbmdlclZhbiA9ICdQYXNzZW5nZXJWYW4nLFxuICBMaW1vdXNpbmUgPSAnTGltb3VzaW5lJyxcbiAgU3BvcnQgPSAnU3BvcnQnLFxuICBDb252ZXJ0aWJsZSA9ICdDb252ZXJ0aWJsZScsXG4gIFN1diA9ICdTVVYnLFxuICBPcGVuQWlyQWxsVGVycmFpbiA9ICdPcGVuQWlyQWxsVGVycmFpbicsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCcsXG4gIFBpY2tVcFJlZ3VsYXJDYWIgPSAnUGlja1VwUmVndWxhckNhYicsXG4gIFBpY2tVcEV4dGVuZGVkQ2FiID0gJ1BpY2tVcEV4dGVuZGVkQ2FiJyxcbiAgU3BlY2lhbE9mZmVyQ2FyID0gJ1NwZWNpYWxPZmZlckNhcicsXG4gIENvdXBlID0gJ0NvdXBlJyxcbiAgTW9ub3NwYWNlRXVyb3BlYW5Vc2UgPSAnTW9ub3NwYWNlRXVyb3BlYW5Vc2UnLFxuICBNb3RvckhvbWUgPSAnTW90b3JIb21lJyxcbiAgVHdvV2hlZWxWZWhpY2xlID0gJ1R3b1doZWVsVmVoaWNsZScsXG4gIFJvYWRzdGVyID0gJ1JvYWRzdGVyJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZSc7XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFpcmNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5JztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZURpc3BsYXlSZWNvcmQ+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlbmRvciA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25BbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQWxsb3dhbmNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc3RhcnRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZW1haW5pbmdDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdG90YWxDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY2FyYm9uUG9saWN5U291cmNlOiBGaWVsZFdyYXBwZXI8Q2FyYm9uUG9saWN5U291cmNlPjtcbiAgcGVyaW9kQ29uc3VtcHRpb246IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJib25Db25zdW1wdGlvbj4+O1xuICBjb21wYW55PzogTWF5YmU8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgb2ZmaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25Db25zdW1wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25Db25zdW1wdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGNvbnN1bWVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRhdGV0aW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJib25Qb2xpY3lTb3VyY2Uge1xuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgVXNlciA9ICdVU0VSJ1xufVxuXG5leHBvcnQgdHlwZSBDaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NpdHknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29vcmRpbmF0ZXM6IEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz47XG4gIGNvbnRpbmVudE5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICB1c2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgc3VwcG9ydEVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJDb25zdW1wdGlvblBvbGljeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb24nO1xuICBmb3VuZEV4YWN0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3VnZ2VzdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcyc7XG4gIGFkZHJlc3NOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZVByb3ZpbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VIb3RlbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnO1xuICBob3RlbElkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGhvdGVsTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc1ByZWZlcnJlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlQWRkcmVzcz4+O1xuICBjbG9zZXN0QWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0VHJhaW5TdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSG90ZWxzPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzPj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUluZm8+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpYWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBDdXJyZW5jeUNvZGUge1xuICBBZWQgPSAnQUVEJyxcbiAgQWZuID0gJ0FGTicsXG4gIEFsbCA9ICdBTEwnLFxuICBBbWQgPSAnQU1EJyxcbiAgQW5nID0gJ0FORycsXG4gIEFvYSA9ICdBT0EnLFxuICBBcnMgPSAnQVJTJyxcbiAgQXVkID0gJ0FVRCcsXG4gIEF3ZyA9ICdBV0cnLFxuICBBem4gPSAnQVpOJyxcbiAgQmFtID0gJ0JBTScsXG4gIEJiZCA9ICdCQkQnLFxuICBCZHQgPSAnQkRUJyxcbiAgQmduID0gJ0JHTicsXG4gIEJoZCA9ICdCSEQnLFxuICBCaWYgPSAnQklGJyxcbiAgQm1kID0gJ0JNRCcsXG4gIEJuZCA9ICdCTkQnLFxuICBCb2IgPSAnQk9CJyxcbiAgQm92ID0gJ0JPVicsXG4gIEJybCA9ICdCUkwnLFxuICBCc2QgPSAnQlNEJyxcbiAgQnRuID0gJ0JUTicsXG4gIEJ3cCA9ICdCV1AnLFxuICBCeW4gPSAnQllOJyxcbiAgQnpkID0gJ0JaRCcsXG4gIENhZCA9ICdDQUQnLFxuICBDZGYgPSAnQ0RGJyxcbiAgQ2hlID0gJ0NIRScsXG4gIENoZiA9ICdDSEYnLFxuICBDaHcgPSAnQ0hXJyxcbiAgQ2xmID0gJ0NMRicsXG4gIENscCA9ICdDTFAnLFxuICBDbnkgPSAnQ05ZJyxcbiAgQ29wID0gJ0NPUCcsXG4gIENvdSA9ICdDT1UnLFxuICBDcmMgPSAnQ1JDJyxcbiAgQ3VjID0gJ0NVQycsXG4gIEN1cCA9ICdDVVAnLFxuICBDdmUgPSAnQ1ZFJyxcbiAgQ3prID0gJ0NaSycsXG4gIERqZiA9ICdESkYnLFxuICBEa2sgPSAnREtLJyxcbiAgRG9wID0gJ0RPUCcsXG4gIER6ZCA9ICdEWkQnLFxuICBFZ3AgPSAnRUdQJyxcbiAgRXJuID0gJ0VSTicsXG4gIEV0YiA9ICdFVEInLFxuICBFdXIgPSAnRVVSJyxcbiAgRmpkID0gJ0ZKRCcsXG4gIEZrcCA9ICdGS1AnLFxuICBHYnAgPSAnR0JQJyxcbiAgR2VsID0gJ0dFTCcsXG4gIEdocyA9ICdHSFMnLFxuICBHaXAgPSAnR0lQJyxcbiAgR21kID0gJ0dNRCcsXG4gIEduZiA9ICdHTkYnLFxuICBHdHEgPSAnR1RRJyxcbiAgR3lkID0gJ0dZRCcsXG4gIEhrZCA9ICdIS0QnLFxuICBIbmwgPSAnSE5MJyxcbiAgSHJrID0gJ0hSSycsXG4gIEh0ZyA9ICdIVEcnLFxuICBIdWYgPSAnSFVGJyxcbiAgSWRyID0gJ0lEUicsXG4gIElscyA9ICdJTFMnLFxuICBJbnIgPSAnSU5SJyxcbiAgSXFkID0gJ0lRRCcsXG4gIElyciA9ICdJUlInLFxuICBJc2sgPSAnSVNLJyxcbiAgSm1kID0gJ0pNRCcsXG4gIEpvZCA9ICdKT0QnLFxuICBKcHkgPSAnSlBZJyxcbiAgS2VzID0gJ0tFUycsXG4gIEtncyA9ICdLR1MnLFxuICBLaHIgPSAnS0hSJyxcbiAgS21mID0gJ0tNRicsXG4gIEtwdyA9ICdLUFcnLFxuICBLcncgPSAnS1JXJyxcbiAgS3dkID0gJ0tXRCcsXG4gIEt5ZCA9ICdLWUQnLFxuICBLenQgPSAnS1pUJyxcbiAgTGFrID0gJ0xBSycsXG4gIExicCA9ICdMQlAnLFxuICBMa3IgPSAnTEtSJyxcbiAgTHJkID0gJ0xSRCcsXG4gIExzbCA9ICdMU0wnLFxuICBMeWQgPSAnTFlEJyxcbiAgTWFkID0gJ01BRCcsXG4gIE1kbCA9ICdNREwnLFxuICBNZ2EgPSAnTUdBJyxcbiAgTWtkID0gJ01LRCcsXG4gIE1tayA9ICdNTUsnLFxuICBNbnQgPSAnTU5UJyxcbiAgTW9wID0gJ01PUCcsXG4gIE1ydSA9ICdNUlUnLFxuICBNdXIgPSAnTVVSJyxcbiAgTXZyID0gJ01WUicsXG4gIE13ayA9ICdNV0snLFxuICBNeG4gPSAnTVhOJyxcbiAgTXh2ID0gJ01YVicsXG4gIE15ciA9ICdNWVInLFxuICBNem4gPSAnTVpOJyxcbiAgTmFkID0gJ05BRCcsXG4gIE5nbiA9ICdOR04nLFxuICBOaW8gPSAnTklPJyxcbiAgTm9rID0gJ05PSycsXG4gIE5wciA9ICdOUFInLFxuICBOemQgPSAnTlpEJyxcbiAgT21yID0gJ09NUicsXG4gIFBhYiA9ICdQQUInLFxuICBQZW4gPSAnUEVOJyxcbiAgUGdrID0gJ1BHSycsXG4gIFBocCA9ICdQSFAnLFxuICBQa3IgPSAnUEtSJyxcbiAgUGxuID0gJ1BMTicsXG4gIFB5ZyA9ICdQWUcnLFxuICBRYXIgPSAnUUFSJyxcbiAgUm9uID0gJ1JPTicsXG4gIFJzZCA9ICdSU0QnLFxuICBSdWIgPSAnUlVCJyxcbiAgUndmID0gJ1JXRicsXG4gIFNhciA9ICdTQVInLFxuICBTYmQgPSAnU0JEJyxcbiAgU2NyID0gJ1NDUicsXG4gIFNkZyA9ICdTREcnLFxuICBTZWsgPSAnU0VLJyxcbiAgU2dkID0gJ1NHRCcsXG4gIFNocCA9ICdTSFAnLFxuICBTbGwgPSAnU0xMJyxcbiAgU29zID0gJ1NPUycsXG4gIFNyZCA9ICdTUkQnLFxuICBTc3AgPSAnU1NQJyxcbiAgU3RuID0gJ1NUTicsXG4gIFN2YyA9ICdTVkMnLFxuICBTeXAgPSAnU1lQJyxcbiAgU3psID0gJ1NaTCcsXG4gIFRoYiA9ICdUSEInLFxuICBUanMgPSAnVEpTJyxcbiAgVG10ID0gJ1RNVCcsXG4gIFRuZCA9ICdUTkQnLFxuICBUb3AgPSAnVE9QJyxcbiAgVHJ5ID0gJ1RSWScsXG4gIFR0ZCA9ICdUVEQnLFxuICBUd2QgPSAnVFdEJyxcbiAgVHpzID0gJ1RaUycsXG4gIFVhaCA9ICdVQUgnLFxuICBVZ3ggPSAnVUdYJyxcbiAgVXNkID0gJ1VTRCcsXG4gIFVzbiA9ICdVU04nLFxuICBVeWkgPSAnVVlJJyxcbiAgVXl1ID0gJ1VZVScsXG4gIFV6cyA9ICdVWlMnLFxuICBWZWYgPSAnVkVGJyxcbiAgVm5kID0gJ1ZORCcsXG4gIFZ1diA9ICdWVVYnLFxuICBXc3QgPSAnV1NUJyxcbiAgWGFmID0gJ1hBRicsXG4gIFhhZyA9ICdYQUcnLFxuICBYYXUgPSAnWEFVJyxcbiAgWGJhID0gJ1hCQScsXG4gIFhiYiA9ICdYQkInLFxuICBYYmMgPSAnWEJDJyxcbiAgWGJkID0gJ1hCRCcsXG4gIFhjZCA9ICdYQ0QnLFxuICBYZHIgPSAnWERSJyxcbiAgWG9mID0gJ1hPRicsXG4gIFhwZCA9ICdYUEQnLFxuICBYcGYgPSAnWFBGJyxcbiAgWHB0ID0gJ1hQVCcsXG4gIFhzdSA9ICdYU1UnLFxuICBYdHMgPSAnWFRTJyxcbiAgWHVhID0gJ1hVQScsXG4gIFh4eCA9ICdYWFgnLFxuICBZZXIgPSAnWUVSJyxcbiAgWmFyID0gJ1pBUicsXG4gIFptdyA9ICdaTVcnLFxuICBad2wgPSAnWldMJ1xufVxuXG5cblxuZXhwb3J0IHR5cGUgRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZSc7XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBzdWJzZXF1ZW50TG9jYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFN1YnNlcXVlbnRMb2NhdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzdGluYXRpb25FbnRyeSA9IHtcbiAgb3JpZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlOiBTY2FsYXJzWydEYXRlJ107XG59O1xuXG5leHBvcnQgZW51bSBEaXN0YW5jZVR5cGVzIHtcbiAgSyA9ICdLJyxcbiAgTSA9ICdNJ1xufVxuXG5leHBvcnQgZW51bSBEb2NHZW5kZXIge1xuICBNID0gJ00nLFxuICBGID0gJ0YnXG59XG5cbmV4cG9ydCBlbnVtIERvY1R5cGUge1xuICBQYXNzcG9ydCA9ICdQQVNTUE9SVCcsXG4gIFZpc2EgPSAnVklTQScsXG4gIElkQ2FyZCA9ICdJRF9DQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdEb2N1bWVudCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgZG9jVHlwZTogRmllbGRXcmFwcGVyPERvY1R5cGU+O1xuICBuYXRpb25hbGl0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5kZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8RG9jR2VuZGVyPj47XG4gIG51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZU9mSXNzdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mRXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZlRmxpZ2h0U2VhcmNoUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnO1xuICBqb3VybmV5czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtdWx0aTogQXJyYXk8RmllbGRXcmFwcGVyPEl0aW5lcmFyeVN1bW1hcnk+PjtcbiAgZ3JvdXBlZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxHcm91cEZsaWdodHM+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9uRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPEZhcmVSdWxlVHlwZT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVtYXJrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZUZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbEZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlZnVuZGFibGVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG59O1xuXG5leHBvcnQgZW51bSBGYXJlUnVsZVR5cGUge1xuICBDYW5jZWxsYXRpb24gPSAnQ2FuY2VsbGF0aW9uJyxcbiAgQ2hhbmdlID0gJ0NoYW5nZScsXG4gIE5vU2hvdyA9ICdOb1Nob3cnLFxuICBVcGdyYWRlID0gJ1VwZ3JhZGUnLFxuICBPdGhlciA9ICdPdGhlcidcbn1cblxuZXhwb3J0IGVudW0gRmFyZVR5cGUge1xuICBGbGV4aWJsZSA9ICdGbGV4aWJsZScsXG4gIExvd2VzdCA9ICdMb3dlc3QnLFxuICBOZWdvdGlhdGVkID0gJ05lZ290aWF0ZWQnLFxuICBOb25OZWdvdGlhdGVkID0gJ05vbk5lZ290aWF0ZWQnLFxuICBMZWlzdXJlID0gJ0xlaXN1cmUnLFxuICBSZXF1ZXN0RmFyZVJ1bGVzID0gJ1JlcXVlc3RGYXJlUnVsZXMnLFxuICBTZWxlY3RBbmRQcm8gPSAnU2VsZWN0QW5kUHJvJ1xufVxuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWZ1bmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbXBvcnRhbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEFtb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnO1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0Q2FiaW5DbGFzcyB7XG4gIEFueSA9ICdBbnknLFxuICBMaXRlRWNvbm9teSA9ICdMaXRlRWNvbm9teScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlSZXN0cmljdGVkID0gJ0Vjb25vbXlSZXN0cmljdGVkJyxcbiAgRWNvbm9teU5vQmFncyA9ICdFY29ub215Tm9CYWdzJyxcbiAgRWNvbm9teUZsZXhpID0gJ0Vjb25vbXlGbGV4aScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVRvdGFsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCc7XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGRpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0SXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeSc7XG4gIHVpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgYmFzZUZhcmVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmFyZVBDQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBkaXNjbG9zdXJlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpblJhdz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25zJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSc7XG4gIG9wdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9ucz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodFJldmFsaWRhdGVSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UnO1xuICB2YWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoUmVzdWx0Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG4gIHJ1bGVBY3Rpb25TdW1tYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JztcbiAgaG90ZWxJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUm9vbT4+Pj47XG4gIHBycG4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNCdXN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ29udmVyc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nO1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvY2FsQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYWxUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjb252ZXJ0ZWRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb252ZXJ0ZWRUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxEZXBvc2l0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCc7XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbjogRmllbGRXcmFwcGVyPEhvdGVsTG9jYXRpb24+O1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8SG90ZWxBZGRyZXNzPjtcbiAgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRyYW5zcG9ydD4+Pj47XG4gIHByZWZlcnJlZDogRmllbGRXcmFwcGVyPEhvdGVsUHJlZmVycmVkPjtcbiAgdGFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRhZz4+Pj47XG4gIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIHN0YXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbic7XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE5pZ2h0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnO1xuICBuaWdodDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQYXltZW50VHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQb2xpY3kgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZ2VuZXJhbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBndWFyYW50ZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQcmVmZXJyZWQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnO1xuICBjbGllbnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb25zdW1lcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFJvb20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJztcbiAgcm9vbUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb29tRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3lDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDb252ZXJzaW9uPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxEZXBvc2l0Pj47XG4gIG5pZ2h0czogQXJyYXk8RmllbGRXcmFwcGVyPEhvdGVsTmlnaHQ+PjtcbiAgcG9saWNpZXM6IEZpZWxkV3JhcHBlcjxIb3RlbFBvbGljeT47XG4gIHRheDogRmllbGRXcmFwcGVyPEhvdGVsVGF4PjtcbiAgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENhcmQ+Pj4+O1xuICBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxQYXltZW50VHlwZT4+Pj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAganJmcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxKb3VybmV5VHlwZSB7XG4gIFJldHVybkpvdXJuZXkgPSAnUmV0dXJuSm91cm5leScsXG4gIFNpbmdsZUpvdXJuZXkgPSAnU2luZ2xlSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgSXJsUGx1c0J1cyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoZWFwZXN0VGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXQ+Pj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxTdXBwbGllciB7XG4gIFJlbmZlID0gJ1JlbmZlJyxcbiAgQmVOZSA9ICdCZU5lJyxcbiAgTnR2ID0gJ050didcbn1cblxuZXhwb3J0IHR5cGUgSXJsU3VwcGxpZXJTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmxjQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmFpbmxpbmVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWlubGluZVVuaXF1ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmFJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVSdWxlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWNvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0RmxpZ2h0Sm91cm5leSA9IHtcbiAgaWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmYXJlSW5mbz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG9yaWdpbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcmlnaW5UZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkYXRlVGltZURlcGFydGluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lQXJyaXZpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcGVyYXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvdGFsRHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FiaW5Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpblJhdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nTmFtZXM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RvcHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnb3Zlcm5pbmdDYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJyaWFnZUdyb3VwPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBJdGluZXJhcnlTdW1tYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknO1xuICBvcmRlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3JpZ2luOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtaW5QcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBtYXhQcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IHtcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzb0NvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlRGVwQm9hcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JztcbiAgc2VydmljZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RGVwYXJ0dXJlQm9hcmRTZXJ2aWNlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJztcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb29yZGluYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyaWRSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm9ydGhpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZWFzdGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG91bmdlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbnRyb2R1Y3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgYWR1bHRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY2hpbGRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW5mYW50QWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhbmRzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWlyc2lkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBvcGVuVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2lmaT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNuYWNrcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGludGVybmV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjaGlsZHJlbkFsbG93ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRpc2FibGVkQWNjZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVEcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzbW9raW5nUGVybWl0dGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBtYWdhemluZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGluY2x1ZGVkRHJpbmtzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWVudUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWVudURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWREcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZEV4dHJhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBncm91cEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlY2tJbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJlc3NDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZvb2RBbmRCZXZlcmFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5jZWxsYXRpb25JbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtZW5kbWVudHNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbG91bmdlOiBGaWVsZFdyYXBwZXI8TG91bmdlTG9jYXRpb24+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPExvdW5nZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRiSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhbmRvZmY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlTWFzaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHVpUHJlc2VudGF0aW9uOiBGaWVsZFdyYXBwZXI8VWlQcmVzZW50YXRpb24+O1xuICBtYW5kYXRvcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJCb29raW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZW5mb3JjZVVzZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBib29rZWRCeUZpZWxkPzogTWF5YmU8RmllbGRXcmFwcGVyPEJvb2tlZEJ5RmllbGQ+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBmaXhlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBkZWZhdWx0VmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGxhYmVsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVmYXVsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hdGNoaW5nRmxpZ2h0cyA9IHtcbiAgX190eXBlbmFtZT86ICdNYXRjaGluZ0ZsaWdodHMnO1xuICBMaXRlRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlSZXN0cmljdGVkPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teU5vQmFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlGbGV4aT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgUHJlbWl1bUJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgX190eXBlbmFtZT86ICdNZXNzYWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgdGFyZ2V0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXlUYXJnZXQ6IEZpZWxkV3JhcHBlcjxNZXNzYWdlVGFyZ2V0PjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2xpY2tUb0NvbmZpcm06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB2YWxpZEZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICB2YWxpZFRvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VUYXJnZXQge1xuICBMb2dpbiA9ICdMT0dJTicsXG4gIFNlYXJjaEZvcm0gPSAnU0VBUkNIX0ZPUk0nLFxuICBSZXN1bHRzID0gJ1JFU1VMVFMnLFxuICBNaUZvcm0gPSAnTUlfRk9STScsXG4gIEJhc2tldEJlZm9yZUNvbmZpcm0gPSAnQkFTS0VUX0JFRk9SRV9DT05GSVJNJyxcbiAgRGFzaGJvYXJkID0gJ0RBU0hCT0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICBzYXZlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxBZGRyZXNzPjtcbiAgZGVsZXRlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRBZGRyZXNzQXNVc2VyUHJpbWFyeTogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjcmVhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBkZWxldGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1cGRhdGVCYXNrZXRUaXRsZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHVwZGF0ZUJhc2tldE5vdGVzOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkSXRlbVRvQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtc0Zyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkZFVzZXJzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVvcGVuQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBib29rQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY2FuY2VsQm9va2luZzogRmllbGRXcmFwcGVyPEFmdGVyQ2FuY2VsbGF0aW9uSW5mbz47XG4gIHNldEJhc2tldEl0ZW1NSUdyb3VwOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2V0TUlEZWZhdWx0VmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNvbmZpcm1NZXNzYWdlczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWNjZXB0TmV3UHJpY2U6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZGVsZXRlRmF2b3VyaXRlU2VhcmNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVsZXRlUmVjZW50U2VhcmNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0VXNlckxhbmd1YWdlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEFkZHJlc3NBc1VzZXJQcmltYXJ5QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2VuZEJhc2tldEZvckFwcHJvdmFsQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQmFza2V0QXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUJhc2tldFRpdGxlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV3VGl0bGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUJhc2tldE5vdGVzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEl0ZW1Ub0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+Pj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1Gcm9tQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbXNGcm9tQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldElkOiBTY2FsYXJzWydJRCddO1xuICBiYXNrZXRJdGVtczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZFVzZXJzVG9CYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQm9va0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pR3JvdXBBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0TWlEZWZhdWx0VmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pVmFsdWVBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Db25maXJtTWVzc2FnZXNBcmdzID0ge1xuICBtZXNzYWdlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmV2YWxpZGF0ZUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BY2NlcHROZXdQcmljZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdHJhdmVsRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ0lEJ10+Pj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUmVjZW50U2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VXNlckxhbmd1YWdlQXJncyA9IHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9mZmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdPZmZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlVG9BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgb25BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1heGltdW1DYXJTaXplPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlckluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyT3BlcmF0aW5nVGltZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWZhdWx0SW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYnJhbmRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjYXJQYXJrOiBGaWVsZFdyYXBwZXI8UGFya2luZ0xvY2F0aW9uPjtcbiAgcmVxdWlyZWRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFya2luZ1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRDb25maWcgPSB7XG4gIGNzcFVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2VySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwaUtleT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlcnZlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsaWVudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vc2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5QYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIGNvbmZpZz86IE1heWJlPFBheW1lbnRDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcmVhQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVUeXBlPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUGhvbmVUeXBlIHtcbiAgTW9iaWxlID0gJ01PQklMRScsXG4gIExhbmRsaW5lID0gJ0xBTkRMSU5FJyxcbiAgRmF4ID0gJ0ZBWCcsXG4gIE90aGVyID0gJ09USEVSJ1xufVxuXG5leHBvcnQgdHlwZSBQb3N0Y29kZURldGFpbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJztcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZWFzdGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbm9ydGhpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXVyb3BlYW5FbGVjdG9yYWxSZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpbWFyeUNhcmVUcnVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbHNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmxpYW1lbnRhcnlDb25zdGl0dWVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5EaXN0cmljdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJpc2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5Db3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5XYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjY2c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnV0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmVyZW5jZUtleSB7XG4gIE1lYWxSZXF1ZXN0ID0gJ01FQUxfUkVRVUVTVCcsXG4gIFNlYXRpbmdQcmVmZXJlbmNlID0gJ1NFQVRJTkdfUFJFRkVSRU5DRScsXG4gIFNwZWFjaWFsTmVlZCA9ICdTUEVBQ0lBTF9ORUVEJyxcbiAgU2VhdExvY2F0aW9uID0gJ1NFQVRfTE9DQVRJT04nLFxuICBTZWF0UG9zaXRpb24gPSAnU0VBVF9QT1NJVElPTicsXG4gIFNlYXREaXJlY3Rpb24gPSAnU0VBVF9ESVJFQ1RJT04nXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgc2VhcmNoQWlybGluZXM6IEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0cz47XG4gIHNlYXJjaEFpcnBvcnRzOiBGaWVsZFdyYXBwZXI8QWlycG9ydFJlc3VsdHM+O1xuICBnZXRVc2VyQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZ2V0VXNlckJhc2tldHM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXQ+PjtcbiAgZW1haWxCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZWFyY2hDYWJIaXJlOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZVJlc3VsdD47XG4gIHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBnZXRDYW5jZWxsYXRpb25JbmZvOiBGaWVsZFdyYXBwZXI8QmVmb3JlQ2FuY2VsbGF0aW9uSW5mbz47XG4gIHNlYXJjaENhckhpcmU6IEZpZWxkV3JhcHBlcjxDYXJIaXJlUmVzdWx0PjtcbiAgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogRmllbGRXcmFwcGVyPENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2U+O1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJib25BbGxvd2FuY2U+PjtcbiAgc2VhcmNoQ2l0aWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2l0eT4+O1xuICBnZXRDb21wYW5pZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIGdldENvbXBhbnk6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIGNvbmZlcm1hQmxvY2tDbGllbnRIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYVVuYmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb24+O1xuICBnZXRDb25mZXJtYU9mZmljZTogRmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlUmVzdWx0PjtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogRmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVF1aWNrbGlzdDogRmllbGRXcmFwcGVyPEhvdGVsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0Q29uZmVybWFSb29tSW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2V0Q291bnRyaWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q291bnRyeT4+O1xuICBnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzZWFyY2hGYXN0VHJhY2s6IEZpZWxkV3JhcHBlcjxGYXN0VHJhY2tSZXN1bHQ+O1xuICBhcHBseUpJVEZsaWdodFJ1bGVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgc2VhcmNoRmxpZ2h0czogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdD47XG4gIHNlYXJjaEZsaWdodHNWMjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgc2VhcmNoRXVyb3N0YXI6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHRWMj47XG4gIGdldEZsaWdodEZhcmVSdWxlczogRmllbGRXcmFwcGVyPEZsaWdodEZhcmVSdWxlc1Jlc3VsdD47XG4gIGdldEZsaWdodE1lYWxPcHRpb25zOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVJ1bGVzUmVzdWx0PjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbENhcmQ+PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIHNlYXJjaElSTDogRmllbGRXcmFwcGVyPElybFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxMaXZlRGVwYXJ0dXJlczogRmllbGRXcmFwcGVyPExpdmVEZXBCb2FyZFJlc3VsdD47XG4gIHNlYXJjaExvdW5nZXM6IEZpZWxkV3JhcHBlcjxMb3VuZ2VTZWFyY2hSZXN1bHQ+O1xuICBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB2YWxpZGF0ZUJhc2tldEl0ZW1NSTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFVzZXJNZXNzYWdlczogQXJyYXk8RmllbGRXcmFwcGVyPE1lc3NhZ2U+PjtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIHNlYXJjaFBhcmtpbmc6IEZpZWxkV3JhcHBlcjxQYXJraW5nU2VhcmNoUmVzdWx0PjtcbiAgZ2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGdldFBvc3Rjb2RlRGV0YWlsczogRmllbGRXcmFwcGVyPFBvc3Rjb2RlRGV0YWlscz47XG4gIHBvc3Rjb2RlQXV0b1N1Z2dlc3Q6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hQb3N0Y29kZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+PjtcbiAgaXNQb3N0Y29kZVZhbGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0UmFpbFN0YXRpb246IEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj47XG4gIHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uPj47XG4gIHNlYXJjaFJhaWw6IEZpZWxkV3JhcHBlcjxSYWlsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0UmFpbGNhcmRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXI+PjtcbiAgZ2V0Umlza0FsZXJ0czogQXJyYXk8RmllbGRXcmFwcGVyPFJpc2tBbGVydD4+O1xuICBnZXRVc2VyVHJhdmVsUnVsZXM6IEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlc0NvbGxlY3Rpb24+O1xuICBhcHBseUpJVEhvdGVsUnVsZXM6IEZpZWxkV3JhcHBlcjxBcHBseUppdFJ1bGVzUmVzdWx0PjtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBnZXRGbGlnaHRTZWF0TWFwOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFJlc3VsdD47XG4gIGdldFVzZXJTZXJ2aWNlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlcnZpY2U+PjtcbiAgZ2V0VEZYU3VwcGxpZXJSb3V0ZXM6IEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3VsdD47XG4gIGdldFVzZXJVSUNvbmZpZ3M6IEZpZWxkV3JhcHBlcjxVaUNvbmZpZ0NvbGxlY3Rpb24+O1xuICBnZXRVc2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQWlybGluZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQWlycG9ydHNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNQYXJraW5nPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzRmFzdFRyYWNrPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXhjbHVkZU5vblB1YmxpYz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0c0FyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUVtYWlsQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FiSGlyZUFyZ3MgPSB7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoVXNlckNhbkJvb2tGb3JBcmdzID0ge1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FuY2VsbGF0aW9uSW5mb0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FySGlyZUFyZ3MgPSB7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhckhpcmVEZXBvdHNBcmdzID0ge1xuICBsYXRpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgbG9uZ2l0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICByYWRpdXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RBcmdzID0ge1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlQXJncyA9IHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENpdGllc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29tcGFuaWVzQXJncyA9IHtcbiAgcXVlcnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29tcGFueUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ29uZmVybWFDaXRpZXNBcmdzID0ge1xuICBjaXR5TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYU9mZmljZUFyZ3MgPSB7XG4gIG9mZmljZUlkOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYVF1aWNrbGlzdEFyZ3MgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYVJvb21JbWFnZXNBcmdzID0ge1xuICBob3RlbElkOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGYXN0VHJhY2tBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUFwcGx5Sml0RmxpZ2h0UnVsZXNBcmdzID0ge1xuICBzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBTY2FsYXJzWydKU09OJ107XG4gIGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBBcnJheTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzVjJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hFdXJvc3RhckFyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodEZhcmVSdWxlc0FyZ3MgPSB7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodE1lYWxPcHRpb25zQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSG90ZWxDaGFpbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSG90ZWxzQXJncyA9IHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEhvdGVsQXZhaWxhYmlsaXR5QXJncyA9IHtcbiAgaG90ZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5QXJncyA9IHtcbiAgaG90ZWw6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRJcmxEaXNjb3VudENhcmRzQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldElybFN1cHBsaWVyU3RhdGlvbkFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybEFyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGlybERpc2NvdW50Q2FyZHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UmFpbExpdmVEZXBhcnR1cmVzQXJncyA9IHtcbiAgc3RhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJpc2tBbGVydHNBcmdzID0ge1xuICBtaW5MZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIG1heExldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRIb3RlbFJ1bGVzQXJncyA9IHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyUmVjZW50U2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRTZWF0TWFwQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VGZ4U3VwcGxpZXJSb3V0ZXNBcmdzID0ge1xuICBzdXBwbGllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9uZVdheU9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJVaUNvbmZpZ3NBcmdzID0ge1xuICB0YXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsQWNjb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0RlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxDYWxsaW5nUG9pbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCc7XG4gIHN0YXRpb25OYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2NoZWR1bGVkUGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNsYXNzaWZpY2F0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj47XG4gIHN0b3BwaW5nUGF0dGVybjogRmllbGRXcmFwcGVyPFJhaWxTdG9wcGluZ1BhdHRlcm4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUZhcmUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWxpdmVyeU9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5TGVnID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWxsaW5nUG9pbnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nO1xuICBmcm9tOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnREYXRlVGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlMZWdzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlMZWc+PjtcbiAgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlU3BsaXRPdXRib3VuZEZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0UmV0dXJuRmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsUHJvdmlkZXI+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsUGx1c0J1cz4+O1xuICBvdmVydGFrZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgdHJhdmVsQ2FyZHNBZGRvbkZsYWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHN1bW1hcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsU2VhcmNoSm91cm5leVR5cGUge1xuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknLFxuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXREZWxpdmVyeU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24nO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmxlU2VhdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0Pj4+PjtcbiAgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRRdWV1ZT4+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0UXVldWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0VGVybXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJztcbiAgZXJyb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQWx0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByZUJvb2tpbmdSZXF1aXJlbWVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsVmFsaWRpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRPdXRSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkUmV0dXJuUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hpbGREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYWlsY2FyZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZENhbmNlbGxhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlCcmVha1J1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmlsaXR5UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2RBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAga2lvc2tBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhcnREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RHluYW1pY0NvbmRpdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xuICBwYXltZW50TWV0aG9kRGV0YWlscz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgRHJvcGRvd24gPSAnRFJPUERPV04nLFxuICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRvYj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgYWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRtY0FkbWluPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlclR5cGU6IEZpZWxkV3JhcHBlcjxCb29rZXJUeXBlPjtcbiAgYXV0aE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXNzd29yZExhc3RVcGRhdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2VsZWN0ZWRMYW5ndWFnZTogRmllbGRXcmFwcGVyPExhbmd1YWdlPjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+PjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBvZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxEb2N1bWVudD4+PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlclByZWZlcmVuY2U+Pj47XG4gIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyTG95YWx0eUNvZGU+Pj47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgcGFzc2VuZ2VyVHlwZTogRmllbGRXcmFwcGVyPFBhc3NlbmdlclR5cGU+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHBhc3NlbmdlclR5cGU6IFBhc3NlbmdlclR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUHJlZmVyZW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyUHJlZmVyZW5jZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+PjtcbiAgcHJlZmVyZW5jZUtleT86IE1heWJlPEZpZWxkV3JhcHBlcjxQcmVmZXJlbmNlS2V5Pj47XG4gIHByZWZlcmVuY2VWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTdWJzZXF1ZW50TG9jYXRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ3N1YnNlcXVlbnRMb2NhdGlvbnMnO1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybUlzSGlkZGVuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFzc29jaWF0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxBc3NvY2lhdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhY2NlcHROZXdQcmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0PiB8IFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ7XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogU2NhbGFyc1snSlNPTiddO1xuICBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogQXJyYXk8U2NhbGFyc1snSlNPTiddPiB8IFNjYWxhcnNbJ0pTT04nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2FwcGx5SklURmxpZ2h0UnVsZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRhdGE6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT4gfCBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBhcHBseUpJVEhvdGVsUnVsZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXBwbHlKSVRSdWxlc1Jlc3VsdCcgfVxuICAgICYgUGljazxBcHBseUppdFJ1bGVzUmVzdWx0LCAncmVzdWx0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgT3duZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4pO1xuXG5leHBvcnQgdHlwZSBCYXNrZXRGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAmIFBpY2s8QmFza2V0LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAndGl0bGUnIHwgJ25vdGVzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnYm9va2VkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJz5cbiAgJiB7IG93bmVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIE93bmVyRmllbGRzRnJhZ21lbnRcbiAgKSwgYmFza2V0SXRlbXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbScgfVxuICAgICYgTWFrZU9wdGlvbmFsPFBpY2s8QmFza2V0SXRlbSwgJ2lkJyB8ICdhZHVsdHMnIHwgJ2NoaWxkcmVuJyB8ICdpbmZhbnRzJyB8ICdkZXRhaWwnIHwgJ2RldGFpbEhhc2gnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdleHBpcnknIHwgJ2V4cGlyZWQnIHwgJ3NlYXJjaFF1ZXJ5JyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pR3JvdXBzQXZhaWxhYmxlJyB8ICdtaUdyb3VwU2VsZWN0ZWQnIHwgJ3ZhbGlkYXRlZCcgfCAnbGF0ZXN0VmFsaWRhdGlvbicgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlJyB8ICdib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZScgfCAnc3RhdHVzJyB8ICdwbnJMb2NhdG9yJyB8ICdib29raW5nRGV0YWlsJyB8ICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ291dGJvdW5kRGF0ZScgfCAnaW5ib3VuZERhdGUnIHwgJ2NvbnZlcnRlZEN1cnJlbmN5QW1vdW50JyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUNvZGUnPiwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInPlxuICAgICYgeyBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VydmljZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnPlxuICAgICksIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudFxuICAgICk+LCB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgJiBQaWNrPFVzZXJQYXNzZW5nZXJUeXBlLCAnaWQnIHwgJ3Bhc3NlbmdlclR5cGUnPlxuICAgICk+LCBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICYgeyBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCB2YWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHVzZXI/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCcgfVxuICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB0cmF2ZWxsZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0U3RhdHVzPzogTWF5YmU8QmFza2V0U3RhdHVzPjtcbiAgY3JlYXRlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNyZWF0ZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0UmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRUaXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZUJhc2tldCc+XG4pO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY3JlYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJlbW92ZUl0ZW1Gcm9tQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIGRldGFpbDogU2NhbGFyc1snSlNPTiddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJpY2U6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvZGU7XG4gIHNlYXJjaFF1ZXJ5OiBTY2FsYXJzWydKU09OJ107XG4gIHF1aWNrQWRkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4gfCBNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZEl0ZW1Ub0Jhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZXZhbGlkYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz4gfCBTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm87XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQm9va0Jhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGJvb2tCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGVwYXJ0czogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB2aWFzPzogTWF5YmU8QXJyYXk8TWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+PiB8IE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj47XG4gIHZlaGljbGVUeXBlPzogTWF5YmU8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDYWJIaXJlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVRdW90ZScgfVxuICAgICAgJiBQaWNrPENhYkhpcmVRdW90ZSwgJ2lkJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICdzdXBwbGllck5hbWUnIHwgJ2VzdGltYXRlZENPMicgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3ZlaGljbGVUeXBlJyB8ICd0cmlwRGlzdGFuY2VNZXRyZXMnIHwgJ3RyaXBEdXJhdGlvblNlY29uZHMnIHwgJ2RlcGFydHMnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZSc+XG4gICAgICAmIHsgZnJvbUxvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHRvTG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKSwgdmlhczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmdNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjYW5jZWxCb29raW5nOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FmdGVyQ2FuY2VsbGF0aW9uSW5mbycgfVxuICAgICYgUGljazxBZnRlckNhbmNlbGxhdGlvbkluZm8sICdjYW5jZWxsZWQnIHwgJ2NhbmNlbGxhdGlvbkZlZSc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZScgfVxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnIH1cbiAgICAgICYgUGljazxDYXJIaXJlSWRlbnRpZmllcnMsICdsb2NhdG9yJyB8ICdycGgnIHwgJ3N0YXR1cycgfCAndmVoVHlwZScgfCAnbG9jYXRpb25Db2RlJyB8ICdleHRlbmRlZExvY2F0aW9uQ29kZScgfCAnbG9jYXRpb25OYW1lJyB8ICdkcm9wT2ZmTG9jYXRpb24nIHwgJ3BpY2t1cERhdGVUaW1lJyB8ICdkcm9wb2ZmRGF0ZVRpbWUnIHwgJ3ZlbmRvcic+XG4gICAgKT4sIHZlbmRvcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICk+LCBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPiwgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbScgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICYgeyBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICApPj4+IH1cbiAgICApPj4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYWlycG9ydD86IE1heWJlPENhckhpcmVBaXJwb3J0SW5wdXQ+O1xuICBjaXR5PzogTWF5YmU8Q2FySGlyZUNpdHlJbnB1dD47XG4gIGxvY2F0aW9uPzogTWF5YmU8Q2FySGlyZUxvY2F0aW9uSW5wdXQ+O1xuICBkZXBvdD86IE1heWJlPElucHV0Q2FySGlyZURlcG90PjtcbiAgcGlja3VwRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkcm9wb2ZmRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FySGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eScgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5LCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlSWRlbnRpZmllcnMsICdsb2NhdG9yJyB8ICdycGgnIHwgJ3N0YXR1cycgfCAndmVoVHlwZScgfCAnbG9jYXRpb25Db2RlJyB8ICdleHRlbmRlZExvY2F0aW9uQ29kZScgfCAnbG9jYXRpb25OYW1lJyB8ICdkcm9wT2ZmTG9jYXRpb24nIHwgJ3BpY2t1cERhdGVUaW1lJyB8ICdkcm9wb2ZmRGF0ZVRpbWUnIHwgJ3ZlbmRvcic+XG4gICAgICApPiwgZGlzcGxheVJlY29yZD86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEaXNwbGF5UmVjb3JkJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlRGlzcGxheVJlY29yZCwgJ3N0YXR1cycgfCAncGlja3VwJyB8ICdkcm9wb2ZmJz5cbiAgICAgICAgJiB7IHZlbmRvcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlVmVuZG9yLCAnbmFtZScgfCAnbG9nbyc+XG4gICAgICAgICk+LCB2ZWhpY2xlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZSwgJ2NsYXNzJyB8ICd0eXBlJyB8ICd0cmFuc21pc3Npb24nIHwgJ2FpcmNvbicgfCAnZGVzY3JpcHRpb24nIHwgJ2ltYWdlcyc+XG4gICAgICAgICk+LCBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ2hhcmdlJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVDaGFyZ2UsICdsYWJlbCcgfCAnYW1vdW50JyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICApPj4+LCBwaWNrdXBMb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIHJldHVybkxvY2F0aW9uPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgICApPiwgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSwgJ25hbWUnIHwgJ3RleHQnIHwgJ2pzb24nPlxuICAgICAgICAgICYgeyBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAgICAgJiBQaWNrPENhckhpcmVDdXN0b20sICduYW1lJyB8ICd0ZXh0Jz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENvbmZpcm1NZXNzYWdlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBtZXNzYWdlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBDb25maXJtTWVzc2FnZXNNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2NvbmZpcm1NZXNzYWdlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZUZhdm91cml0ZVNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVJlY2VudFNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVVc2VyQWRkcmVzcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICYgUGljazxGbGlnaHRKb3VybmV5LCAnaWQnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdjYWJpbkNsYXNzJyB8ICdjYWJpbkNvZGUnIHwgJ2NhYmluUmF3JyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAnZmFyZUJhc2lzQ29kZScgfCAnZ292ZXJuaW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnc3RvcHMnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ3NlYXRzQXZhaWxhYmxlJyB8ICd2ZW5kb3JDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICk+LCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+IH1cbiAgKSwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VJbmZvLCAnaWQnIHwgJ25hbWUnIHwgJ2Nsb3Nlc3RBaXJwb3J0JyB8ICdjbG9zZXN0VHJhaW5TdGF0aW9uJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICYgeyBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUFkZHJlc3MsICdhZGRyZXNzTmFtZScgfCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdGFsQ29kZScgfCAnY2l0eScgfCAnY291bnRyeUNvZGUnIHwgJ2NvdW50cnlOYW1lJyB8ICd0ZWxlcGhvbmVOdW1iZXInIHwgJ2ZhY3NpbWlsZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJyB8ICdzdGF0ZVByb3ZpbmNlJyB8ICdtb2JpbGVOdW1iZXInPlxuICAgICAgKT4sIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VIb3RlbHMsICdob3RlbElkJyB8ICdob3RlbE5hbWUnIHwgJ2lzUHJlZmVycmVkJz5cbiAgICAgICk+Pj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlTmFtZXMsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYVF1aWNrbGlzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldENvbmZlcm1hUm9vbUltYWdlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRGYXJlUnVsZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlUnVsZXNSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRTZWF0TWFwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGFpcmNyYWZ0OiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwQWlyY3JhZnQnIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBBaXJjcmFmdCwgJ2NhcnJpZXInIHwgJ251bWJlcicgfCAndHlwZSc+XG4gICAgICApLCBzZWF0czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRzJyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdHMsICdyb3cnIHwgJ2NvbHVtbicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgJiB7IGF0dHJpYnV0ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcywgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJhaWxMaXZlRGVwYXJ0dXJlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdMaXZlRGVwQm9hcmRSZXN1bHQnIH1cbiAgICAmIHsgc2VydmljZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlJyB9XG4gICAgICAmIFBpY2s8RGVwYXJ0dXJlQm9hcmRTZXJ2aWNlLCAncmlkJyB8ICd1aWQnIHwgJ3RyYWluaWQnIHwgJ3NkZCcgfCAnb3BlcmF0b3InIHwgJ29wZXJhdG9yQ29kZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZScgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nPlxuICAgICAgJiB7IG9yaWdpbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIGRlc3RpbmF0aW9uPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvY2F0aW9uLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2Nycyc+XG4gICAgICApPiwgc3Vic2VxdWVudExvY2F0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ3N1YnNlcXVlbnRMb2NhdGlvbnMnIH1cbiAgICAgICAgJiBQaWNrPFN1YnNlcXVlbnRMb2NhdGlvbnMsICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJyB8ICdwbGF0Zm9ybScgfCAncGxhdGZvcm1Jc0hpZGRlbicgfCAnc3RhJyB8ICdldGEnIHwgJ2Fycml2YWxUeXBlJyB8ICdhcnJpdmFsU291cmNlJyB8ICdzdGQnIHwgJ2V0ZCcgfCAnZGVwYXJ0dXJlVHlwZScgfCAnZGVwYXJ0dXJlU291cmNlJz5cbiAgICAgICAgJiB7IGFzc29jaWF0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzb2NpYXRpb24nIH1cbiAgICAgICAgICAmIFBpY2s8QXNzb2NpYXRpb24sICdjYXRlZ29yeScgfCAncmlkJyB8ICd1aWQnIHwgJ3RyYWluaWQnIHwgJ3NkZCcgfCAnb3JpZ2luJyB8ICdvcmlnaW5DUlMnIHwgJ29yaWdpblRpcGxvYycgfCAnZGVzdGluYXRpb24nIHwgJ2Rlc3RDUlMnIHwgJ2Rlc3RUaXBsb2MnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+Pj4gfVxuICAgICk+Pj4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJhaWxTdGF0aW9uOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsY2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsY2FyZHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInIH1cbiAgICAmIFBpY2s8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIsICduYW1lJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaW5MZXZlbDogUmlza0xldmVsO1xuICBtYXhMZXZlbDogUmlza0xldmVsO1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSaXNrQWxlcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCcgfVxuICAgICYgUGljazxSaXNrQWxlcnQsICdpZCcgfCAndGl0bGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdicmVha2luZycgfCAncmlzaycgfCAnY2F0ZWdvcnknIHwgJ2NvdW50cnknIHwgJ2xvY2F0aW9uJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnIHwgJ3JlY2VpdmVkRGF0ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZScgfVxuICAgICYgUGljazxDYXJib25BbGxvd2FuY2UsICdpZCcgfCAnc3RhcnRPZlBlcmlvZCcgfCAnZW5kT2ZQZXJpb2QnIHwgJ3JlbWFpbmluZ0NvMicgfCAndG90YWxDbzInIHwgJ2NhcmJvblBvbGljeVNvdXJjZSc+XG4gICAgJiB7IGNvbXBhbnk/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9mZmljZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIHVzZXI6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICksIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nIH1cbiAgICAgICYgUGljazxDYXJib25Db25zdW1wdGlvbiwgJ2lkJyB8ICdjb25zdW1lZCcgfCAnZGF0ZXRpbWUnPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgcGFydGlhbExhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICduYW1lJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RyYXZlbERhdGUnPlxuICAgICYgeyB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdkb2InPlxuICAgICk+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZVNvdXJjZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICApLCB0YXg6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICk+Pj4gfVxuICApPj4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hIb3RlbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFBhcmtpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJyB9XG4gICAgICAmIFBpY2s8UGFya2luZ1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAncmVxdWlyZWRJbmZvJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pc2MnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBjYXJQYXJrOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPFBhcmtpbmdMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhZGRyZXNzJyB8ICdkaXN0YW5jZVRvQWlycG9ydCcgfCAnb25BaXJwb3J0JyB8ICdjYXJQYXJrZWRGb3JZb3UnIHwgJ21lZXRBbmRHcmVldCcgfCAndGVsZXBob25lJyB8ICdmYXgnIHwgJ2RpcmVjdGlvbnMnIHwgJ2Fycml2YWxQcm9jZWR1cmUnIHwgJ2RlcGFydHVyZVByb2NlZHVyZScgfCAnbWF4aW11bUNhclNpemUnIHwgJ2ludHJvZHVjdGlvbicgfCAnaW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVySW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVyT3BlcmF0aW5nVGltZXMnIHwgJ3RyYW5zZmVyVGltZScgfCAnbG9nbycgfCAnZGVmYXVsdEltYWdlJyB8ICdicmFuZEltYWdlJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5RmFyZSwgJ3Byb3ZpZGVySWQnIHwgJ3Byb3ZpZGVyTmFtZScgfCAndHlwZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdmYXJlSGFzaCcgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJz5cbiAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnYXZhaWxhYmlsaXR5UnVsZScgfCAnY2hhbmdlUnVsZScgfCAnY2hpbGREaXNjb3VudCcgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdraW9za0F2YWlsYWJsZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndG9kQXZhaWxhYmxlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZSc+XG4gICAgJiB7IGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0R5bmFtaWNDb25kaXRpb24nIH1cbiAgICAgICYgUGljazxEeW5hbWljQ29uZGl0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+Pj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2pvdXJuZXlIYXNoJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY2hhbmdlcycgfCAnb3ZlcnRha2VuJz5cbiAgJiB7IGpvdXJuZXlMZWdzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJyB9XG4gICAgJiBQaWNrPFJhaWxKb3VybmV5TGVnLCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJz5cbiAgICAmIHsgY2FsbGluZ1BvaW50czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxDYWxsaW5nUG9pbnQnIH1cbiAgICAgICYgUGljazxSYWlsQ2FsbGluZ1BvaW50LCAnc3RhdGlvbk5hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdhcnJpdmFsRGF0ZVRpbWUnIHwgJ2RlcGFydHVyZURhdGVUaW1lJyB8ICdzY2hlZHVsZWRQbGF0Zm9ybScgfCAnc3RhdGlvbkNsYXNzaWZpY2F0aW9uJyB8ICdzdG9wcGluZ1BhdHRlcm4nPlxuICAgICk+IH1cbiAgKT4sIHNpbmdsZUpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBvcGVuUmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICApPj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYScgfVxuICAgICYgUGljazxSYWlsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgKT4gfVxuICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJyB9XG4gICAgJiBQaWNrPFJhaWxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBqb3VybmV5VHlwZTogUmFpbFNlYXJjaEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPFJhaWxDbGFzcz47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICB2aWFMb2NhdGlvbklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgZXh0cmFUaW1lVG9DaGFuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwbHVzQnVzT3V0PzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHBsdXNCdXNSZXR1cm4/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgdHJhdmVsQ2FyZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydEYXRlJ10+IHwgU2NhbGFyc1snRGF0ZSddPjtcbiAgcmFpbENhcmRRdWFsaWZpZXJzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJyB9XG4gICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb25zLCAnc291cmNlSWQnIHwgJ3N1bW1hcnknIHwgJ3RyYXZlbENhcmRzQWRkb25GbGFnJz5cbiAgICAgICYgeyBvdXRib3VuZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlRmF2b3VyaXRlU2VhcmNoOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4gfCBNYXliZTxTY2FsYXJzWydJRCddPj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVVc2VyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQWlybGluZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnIH1cbiAgICAmIHsgaWF0YU1hdGNoPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAgICYgUGljazxBaXJsaW5lUmVzdWx0LCAnaWQnIHwgJ25hbWUnIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnYWN0aXZlJyB8ICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdiYW5uZXJJbWFnZScgfCAnbG9nb0ltYWdlJz5cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2l0aWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NpdHknIH1cbiAgICAmIFBpY2s8Q2l0eSwgJ2lkJyB8ICduYW1lJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnY29udGluZW50TmFtZSc+XG4gICAgJiB7IGNvb3JkaW5hdGVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICApIH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENvbmZlcm1hQ2l0aWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJyB9XG4gICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uLCAnZm91bmRFeGFjdCc+XG4gICAgJiB7IHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucywgJ25hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hFdXJvc3RhcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAnYmFzZUZhcmVJZCcgfCAndWlkJyB8ICdkaXNjbG9zdXJlcycgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2pvdXJuZXlIYXNoJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICksIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB3aXRoR3JvdXBlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZsaWdodHNWMjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgUGljazxGbGlnaHRTZWFyY2hSZXN1bHRWMiwgJ3J1bGVBY3Rpb25TdW1tYXJ5Jz5cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiwgbXVsdGk6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknIH1cbiAgICAgICAgJiBQaWNrPEl0aW5lcmFyeVN1bW1hcnksICdvcmRlcicgfCAnb3JpZ2luJyB8ICdkZXN0aW5hdGlvbicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnam91cm5leUhhc2gnPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgZ3JvdXBlZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAgICAgICAmIEdyb3VwZWRGaWVsZHNGcmFnbWVudFxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnc2VhcmNoSG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGlybERpc2NvdW50Q2FyZHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFBvc3Rjb2RlRGV0YWlsczogKFxuICAgIHsgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnIH1cbiAgICAmIFBpY2s8UG9zdGNvZGVEZXRhaWxzLCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbDogU2NhbGFyc1snQm9vbGVhbiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBtaVZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG1pRnJlZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgdXBkYXRlQmFza2V0Tm90ZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldFRpdGxlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVc2VyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJTZXJ2aWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclVJQ29uZmlnczogKFxuICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nIH1cbiAgICAmIHsgYWxsOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWcnIH1cbiAgICAgICYgUGljazxVaUNvbmZpZywgJ2lkJyB8ICdjb25maWcnIHwgJ2tleSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnIH1cbiAgICAmIFBpY2s8TWVzc2FnZSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJyB8ICd0YXJnZXQnIHwgJ2tleScgfCAnZGlzcGxheVRhcmdldCcgfCAnYWdlbnRPbmx5JyB8ICdjbGlja1RvQ29uZmlybScgfCAndmFsaWRGcm9tJyB8ICd2YWxpZFRvJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRVc2VyTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnPlxuICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJz5cbiAgICApIH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBVc2VyRmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAndmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUnPlxuKTtcblxuZXhwb3J0IG5hbWVzcGFjZSBBY2NlcHROZXdQcmljZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2UgPSBBY2NlcHROZXdQcmljZU11dGF0aW9uWydhY2NlcHROZXdQcmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZFVzZXJzVG9CYXNrZXRJdGVtIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbSA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25bJ2FkZFVzZXJzVG9CYXNrZXRJdGVtJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXBwbHlKaXRGbGlnaHRSdWxlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXBwbHlKaXRIb3RlbFJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlcyA9IEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5WydhcHBseUpJVEhvdGVsUnVsZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmF2ZWxsZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE93bmVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPd25lckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJhc2tldEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQmFza2V0RmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIE93bmVyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlbGVjdGVkUGF5bWVudE1ldGhvZCddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VycyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlclBhc3NlbmdlclR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTGVhZFBhc3NlbmdlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2NvbXBhbnlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0cyA9IEdldFVzZXJCYXNrZXRzUXVlcnlbJ2dldFVzZXJCYXNrZXRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVCYXNrZXRNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0ID0gQ3JlYXRlQmFza2V0TXV0YXRpb25bJ2NyZWF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25bJ3JlbW92ZUl0ZW1Gcm9tQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZEJhc2tldEZvckFwcHJvdmFsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uWydzZW5kQmFza2V0Rm9yQXBwcm92YWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRJdGVtVG9CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0ID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25bJ2FkZEl0ZW1Ub0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0ID0gR2V0VXNlckJhc2tldFF1ZXJ5WydnZXRVc2VyQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmV2YWxpZGF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXQgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25bJ3JldmFsaWRhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCb29rQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEJvb2tCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQm9va0Jhc2tldCA9IEJvb2tCYXNrZXRNdXRhdGlvblsnYm9va0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhYkhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZyb21Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZnJvbUxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFRvTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3RvTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVmlhcyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndmlhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhbmNlbEJvb2tpbmcge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ2FuY2VsQm9va2luZ011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDYW5jZWxCb29raW5nID0gQ2FuY2VsQm9va2luZ011dGF0aW9uWydjYW5jZWxCb29raW5nJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBWZW5kb3IgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgQWRkaXRpb25hbEluZm8gPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1c3RvbSA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDYXJIaXJlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENhckhpcmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgRGlzcGxheVJlY29yZCA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddO1xuICBleHBvcnQgdHlwZSBWZW5kb3IgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsndmVuZG9yJ107XG4gIGV4cG9ydCB0eXBlIFZlaGljbGUgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsndmVoaWNsZSddO1xuICBleHBvcnQgdHlwZSBDaGFyZ2VzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2NoYXJnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaWNrdXBMb2NhdGlvbiA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydwaWNrdXBMb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBSZXR1cm5Mb2NhdGlvbiA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydyZXR1cm5Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1c3RvbSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl1bJ2N1c3RvbSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvbmZpcm1NZXNzYWdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENvbmZpcm1NZXNzYWdlc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENvbmZpcm1NZXNzYWdlc011dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhdm91cml0ZVNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVJlY2VudFNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEVycm9ycyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRXJyb3JzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBFcnJvcnNGcmFnbWVudFsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwZWRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmxpZ2h0cyA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudFsnZmxpZ2h0cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZsaWdodEpvdXJuZXlGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmFyZUluZm8gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9yaWdpbkFpcnBvcnREZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlRGVwb3RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVEZXBvdHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90cyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVsnZ2V0Q2FySGlyZURlcG90cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBDbG9zZXN0SG90ZWxzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddWydjbG9zZXN0SG90ZWxzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVF1aWNrbGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3QgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBUcmFuc3BvcnRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndGFncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVJhdGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVJvb21JbWFnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRGYXJlUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZsaWdodFNlYXRNYXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFpcmNyYWZ0ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhaXJjcmFmdCddO1xuICBleHBvcnQgdHlwZSBTZWF0cyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdHRyaWJ1dGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl1bJ2F0dHJpYnV0ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsRGlzY291bnRDYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlbJ2dldElSTERpc2NvdW50Q2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybFN1cHBsaWVyU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb24gPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsTGl2ZURlcGFydHVyZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcmlnaW4gPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnb3JpZ2luJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFzc29jaWF0aW9ucyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydzdWJzZXF1ZW50TG9jYXRpb25zJ11bbnVtYmVyXVsnYXNzb2NpYXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb24gPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsY2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsY2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzID0gR2V0UmFpbGNhcmRzUXVlcnlbJ2dldFJhaWxjYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Umlza0FsZXJ0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSaXNrQWxlcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHMgPSBHZXRSaXNrQWxlcnRzUXVlcnlbJ2dldFJpc2tBbGVydHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJBZGRyZXNzZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIE9mZmljZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBQZXJpb2RDb25zdW1wdGlvbiA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3BlcmlvZENvbnN1bXB0aW9uJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlbJ2dldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVsnZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSb29tQXZhbGlhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVscyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hIb3RlbHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leUZhcmUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50WydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmFpbEpvdXJuZXlPcHRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlMZWdzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYWxsaW5nUG9pbnRzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnc2luZ2xlSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRHVhbFNpbmdsZUpvdXJuZXlGYXJlcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2R1YWxTaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcGVuUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnb3BlblJldHVybkpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldFF1ZXVlTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFjY291bnRzTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3BsdXNCdXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uWydzYXZlRmF2b3VyaXRlU2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaCA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblsnc2F2ZVJlY2VudFNlYXJjaCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uWydzYXZlVXNlckFkZHJlc3MnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJsaW5lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlybGluZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENpdGllcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENvbmZlcm1hQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ107XG4gIGV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25zID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXVsnc3VnZ2VzdGlvbnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEV1cm9zdGFyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JR3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uWydzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSVZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblsnc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXROb3RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uWyd1cGRhdGVCYXNrZXROb3RlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldFRpdGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZSA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25bJ3VwZGF0ZUJhc2tldFRpdGxlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlckZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gVXNlckZpZWxkc0ZyYWdtZW50WydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclNlcnZpY2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclNlcnZpY2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5WydnZXRVc2VyU2VydmljZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJVaUNvbmZpZ3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ107XG4gIGV4cG9ydCB0eXBlIEFsbCA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddWydhbGwnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJNZXNzYWdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVsnZ2V0VXNlck1lc3NhZ2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVycyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VXNlckxhbmd1YWdlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyID0gR2V0VXNlclF1ZXJ5WydnZXRVc2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckNhbkJvb2tGb3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVsnc2VhcmNoVXNlckNhbkJvb2tGb3InXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5O1xufVxuXG5leHBvcnQgY29uc3QgT3duZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBPd25lckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVHJhdmVsbGVyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG4gIHVzZXJuYW1lXG4gIGVtcGxveWVlSWRcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEJhc2tldEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEJhc2tldEZpZWxkcyBvbiBCYXNrZXQge1xuICBpZFxuICBvd25lciB7XG4gICAgLi4uT3duZXJGaWVsZHNcbiAgfVxuICByZWZlcmVuY2VcbiAgdGl0bGVcbiAgbm90ZXNcbiAgY3JlYXRlZEF0XG4gIHVwZGF0ZWRBdFxuICBib29rZWRBdFxuICBiYXNrZXRJdGVtcyB7XG4gICAgaWRcbiAgICBhZHVsdHNcbiAgICBjaGlsZHJlblxuICAgIGluZmFudHNcbiAgICBkZXRhaWxcbiAgICBkZXRhaWxIYXNoXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgZXhwaXJ5XG4gICAgZXhwaXJlZFxuICAgIHNlYXJjaFF1ZXJ5XG4gICAgcHJpY2VcbiAgICBjdXJyZW5jeVxuICAgIG1pR3JvdXBzQXZhaWxhYmxlXG4gICAgbWlHcm91cFNlbGVjdGVkXG4gICAgdmFsaWRhdGVkXG4gICAgbGF0ZXN0VmFsaWRhdGlvblxuICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZVxuICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlXG4gICAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2VcbiAgICBzdGF0dXNcbiAgICBwbnJMb2NhdG9yXG4gICAgYm9va2luZ0RldGFpbFxuICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfVxuICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYSBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVySXRlbUFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1QaG9uZU51bWJlciBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyQWRkcmVzcyBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgY28yUGVySXRlbVxuICAgIGNvMlBlclBhc3NlbmdlclxuICAgIG91dGJvdW5kRGF0ZVxuICAgIGluYm91bmREYXRlXG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgIH1cbiAgICB1c2VycyB7XG4gICAgICAuLi5UcmF2ZWxsZXJGaWVsZHNcbiAgICB9XG4gICAgdXNlclBhc3NlbmdlclR5cGVzIHtcbiAgICAgIGlkXG4gICAgICBwYXNzZW5nZXJUeXBlXG4gICAgfVxuICAgIGxlYWRQYXNzZW5nZXIge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnZlcnRlZEN1cnJlbmN5QW1vdW50XG4gICAgY29udmVydGVkQ3VycmVuY3lDb2RlXG4gIH1cbiAgc3RhdHVzXG4gIGNvbXBhbnlHcm91cCB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICB2YWxpZGF0ZWRcbn1cbiAgICAke093bmVyRmllbGRzRnJhZ21lbnREb2N9XG4ke1RyYXZlbGxlckZpZWxkc0ZyYWdtZW50RG9jfWA7XG5leHBvcnQgY29uc3QgRXJyb3JzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRXJyb3JzIG9uIFNlYXJjaEVycm9yIHtcbiAgc2VydmljZSB7XG4gICAgaWRcbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gIH1cbiAgZXJyb3JNZXNzYWdlXG4gIGVycm9yQ29kZVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgR3JvdXBlZEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEdyb3VwZWRGaWVsZHMgb24gR3JvdXBGbGlnaHRzIHtcbiAgcmVmZXJlbmNlSURcbiAgZmxpZ2h0SURcbiAgYm91bmRJbmRpY2F0b3JcbiAgbWluUHJpY2VcbiAgbWF4UHJpY2VcbiAgZmxpZ2h0cyB7XG4gICAgRWNvbm9teVJlc3RyaWN0ZWRcbiAgICBFY29ub215Tm9CYWdzXG4gICAgRWNvbm9teUZsZXhpXG4gICAgUHJlbWl1bUVjb25vbXlcbiAgICBCdXNpbmVzc1xuICAgIEZpcnN0XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBGbGlnaHRKb3VybmV5RmllbGRzIG9uIEZsaWdodEpvdXJuZXkge1xuICBpZFxuICBib29raW5nQ29kZVxuICBjYWJpbkNsYXNzXG4gIGNhYmluQ29kZVxuICBjYWJpblJhd1xuICBkYXRlVGltZUFycml2aW5nXG4gIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgZGVzdGluYXRpb25BaXJwb3J0XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgZGVzdGluYXRpb25UZXJtaW5hbFxuICBlcXVpcG1lbnRDb2RlXG4gIGVxdWlwbWVudE5hbWVcbiAgZmFyZUJhc2lzQ29kZVxuICBnb3Zlcm5pbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJcbiAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gIG1hcmtldGluZ05hbWVzXG4gIG1hcnJpYWdlR3JvdXBcbiAgb3BlcmF0aW5nQ2FycmllclxuICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgb3JpZ2luQWlycG9ydFxuICBvcmlnaW5BaXJwb3J0TmFtZVxuICBvcmlnaW5UZXJtaW5hbFxuICBzdG9wc1xuICB0b3RhbER1cmF0aW9uXG4gIHNlYXRzQXZhaWxhYmxlXG4gIHZlbmRvckNvZGVcbiAgb3JpZ2luQWlycG9ydFxuICBmYXJlSW5mbyB7XG4gICAgdGl0bGVcbiAgICB0eXBlXG4gICAgY29kZVxuICAgIHN1cHBsaWVyQ29kZVxuICB9XG4gIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gICAgc3RhdGVcbiAgICBjaXR5XG4gICAgcm9hZFxuICAgIHBvcHVsYXJpdHlcbiAgICBhcmVhXG4gICAgbG9jYXRpb25cbiAgICBvZmZzZXRcbiAgICBhaXJwb3J0TmFtZVxuICAgIGNvdW50cnlOYW1lXG4gICAgY291bnRyeUNvZGVcbiAgICBwb3N0Y29kZVxuICB9XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIGZhcmVDb25kaXRpb25zIHtcbiAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBjaGFuZ2Uge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBub1Nob3cge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICB1cGdyYWRlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgb3RoZXIge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgfVxuICBhZGRpdGlvbmFsXG4gIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFJvb21BdmFsaWFiaWxpdHkgb24gSG90ZWxBdmFpbGFiaWxpdHkge1xuICBob3RlbElkXG4gIGltYWdlVXJsXG4gIHJvb21zIHtcbiAgICByb29tSWRcbiAgICByb29tVHlwZVxuICAgIHJvb21EZXNjcmlwdGlvblxuICAgIHJhdGVDb2RlXG4gICAgcmF0ZVNvdXJjZVxuICAgIHJhdGVEZXNjcmlwdGlvblxuICAgIHRvdGFsXG4gICAgY3VycmVuY3lDb2RlXG4gICAgY3VycmVuY3lDb252ZXJzaW9uIHtcbiAgICAgIHJhdGVcbiAgICAgIGxvY2FsQ29kZVxuICAgICAgbG9jYWxUb3RhbFxuICAgICAgY29udmVydGVkQ29kZVxuICAgICAgY29udmVydGVkVG90YWxcbiAgICB9XG4gICAgZGVwb3NpdCB7XG4gICAgICBhbW91bnRcbiAgICAgIHBvbGljeVxuICAgICAgcmVxdWlyZWRcbiAgICB9XG4gICAgbmlnaHRzIHtcbiAgICAgIG5pZ2h0XG4gICAgICByYXRlXG4gICAgICBpbmZvXG4gICAgICBkYXRlXG4gICAgfVxuICAgIHBvbGljaWVzIHtcbiAgICAgIGNhbmNlbGxhdGlvblxuICAgICAgZGVwb3NpdFxuICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgIGdlbmVyYWxcbiAgICAgIGd1YXJhbnRlZVxuICAgICAgcmVmdW5kQXZhaWxhYmxlXG4gICAgfVxuICAgIHRheCB7XG4gICAgICBpbmNsdWRlZFxuICAgICAgcmF0ZVxuICAgIH1cbiAgICBhY2NlcHRlZENhcmRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIHBheW1lbnRUeXBlcyB7XG4gICAgICB0eXBlXG4gICAgICBuYW1lXG4gICAgfVxuICAgIHRtY1ByZWZlcnJlZFxuICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgdW5hdmFpbGFibGVcbiAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgfVxuICBwcnBuXG4gIGN1cnJlbmN5Q29kZVxuICBpc0J1c3lcbiAgc291cmNlXG4gIHZlcnNpb25cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IExvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IExPQ0FUSU9OX0RFVEFJTCBvbiBMb2NhdGlvbkRldGFpbCB7XG4gIGNvbnRpbmVudFxuICBjb3VudHJ5XG4gIGNvdW50cnlDb2RlXG4gIHN0YXRlXG4gIGNpdHlcbiAgY29vcmRpbmF0ZXMge1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgfVxuICBwb3N0Y29kZVxuICByb2FkXG4gIGdyaWRSZWZlcmVuY2VcbiAgbm9ydGhpbmdcbiAgZWFzdGluZ1xufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlGYXJlIG9uIFJhaWxKb3VybmV5RmFyZSB7XG4gIHByb3ZpZGVySWRcbiAgcHJvdmlkZXJOYW1lXG4gIGlkZW50aWZpZXJzIHtcbiAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICBqb3VybmV5SWRlbnRpZmllclxuICAgIHByb3ZpZGVyXG4gICAgZmFyZUlkZW50aWZpZXJcbiAgICBkaXJlY3Rpb25cbiAgICBzaW5nbGVPclJldHVyblxuICAgIGJvb2tpbmdSZWZcbiAgfVxuICB0eXBlXG4gIHByaWNlXG4gIGN1cnJlbmN5XG4gIGZhcmVIYXNoXG4gIHRlcm1zIHtcbiAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgY2hhbmdlUnVsZVxuICAgIGNoaWxkRGlzY291bnRcbiAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBnZW5lcmFsRGlzY291bnRcbiAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgam91cm5leVR5cGVcbiAgICBraW9za0F2YWlsYWJsZVxuICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlXG4gICAgcmVzZXJ2YXRpb25SdWxlXG4gICAgdGlja2V0VHlwZUFsdE5hbWVcbiAgICB0aWNrZXRUeXBlQ2xhc3NcbiAgICB0aWNrZXRUeXBlQ29kZVxuICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICB0aWNrZXRUeXBlTmFtZVxuICAgIHRvZEF2YWlsYWJsZVxuICAgIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGVcbiAgICB2YWxpZE91dFJ1bGVcbiAgICB2YWxpZFJldHVyblJ1bGVcbiAgfVxuICBjbGFzc1xuICBzaW5nbGVPclJldHVyblxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSYWlsSm91cm5leU9wdGlvbiBvbiBSYWlsSm91cm5leU9wdGlvbiB7XG4gIGZyb21cbiAgZnJvbUNvZGVcbiAgdG9cbiAgdG9Db2RlXG4gIGpvdXJuZXlIYXNoXG4gIGRlcGFydERhdGVUaW1lXG4gIGFycml2ZURhdGVUaW1lXG4gIGNvMlBlckl0ZW1cbiAgY28yUGVyUGFzc2VuZ2VyXG4gIGNoYW5nZXNcbiAgb3ZlcnRha2VuXG4gIGpvdXJuZXlMZWdzIHtcbiAgICBpZFxuICAgIG9wZXJhdG9yXG4gICAgZGVwYXJ0XG4gICAgYXJyaXZlXG4gICAgYXJyaXZlRGF0ZVRpbWVcbiAgICBkZXBhcnREYXRlVGltZVxuICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICBjYWxsaW5nUG9pbnRzIHtcbiAgICAgIHN0YXRpb25OYW1lXG4gICAgICBzdGF0aW9uQ29kZVxuICAgICAgYXJyaXZhbERhdGVUaW1lXG4gICAgICBkZXBhcnR1cmVEYXRlVGltZVxuICAgICAgc2NoZWR1bGVkUGxhdGZvcm1cbiAgICAgIHN0YXRpb25DbGFzc2lmaWNhdGlvblxuICAgICAgc3RvcHBpbmdQYXR0ZXJuXG4gICAgfVxuICB9XG4gIHNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgcmV0dXJuSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICBkdWFsU2luZ2xlSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICBvcGVuUmV0dXJuSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHR5cGVcbiAgfVxuICBhY2NvdW50c0xpc3Qge1xuICAgIGlkXG4gICAgcmVmZXJlbmNlXG4gICAgZGVzY3JpcHRpb25cbiAgICBpc0RlZmF1bHRcbiAgICB0eXBlXG4gIH1cbiAgdGlja2V0RXh0cmFzIHtcbiAgICBpZGVudGlmaWVycyB7XG4gICAgICB0eXBlXG4gICAgICBsb2NhdGlvblxuICAgICAgZGF0ZVxuICAgICAgam91cm5leUlkXG4gICAgICBpc09yaWdpblxuICAgIH1cbiAgICB0eXBlXG4gICAgbG9jYXRpb25cbiAgICBkYXRlXG4gICAgZGVzY3JpcHRpb25cbiAgICBhbW91bnRcbiAgICBhZHVsdEFtb3VudFxuICAgIGNoaWxkQW1vdW50XG4gICAgY3VycmVuY3lcbiAgfVxuICBwbHVzQnVzIHtcbiAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICB9XG59XG4gICAgJHtSYWlsSm91cm5leUZhcmVGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IFVzZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBVc2VyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG4gIHVzZXJuYW1lXG4gIGVtcGxveWVlSWRcbiAgY3JlYXRlZEF0XG4gIHVwZGF0ZWRBdFxuICBkb2JcbiAgYWRtaW5cbiAgdG1jQWRtaW5cbiAgY29tcGFueUFkbWluXG4gIGJvb2tlclR5cGVcbiAgYXV0aE1ldGhvZHNcbiAgYWN0aXZlXG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgaXNvQ29kZVxuICB9XG4gIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgaXNvQ29kZVxuICB9XG4gIGFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbiAgcGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgQWNjZXB0TmV3UHJpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhY2NlcHROZXdQcmljZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWNjZXB0TmV3UHJpY2UoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFjY2VwdE5ld1ByaWNlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFjY2VwdE5ld1ByaWNlTXV0YXRpb24sIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkVXNlcnNUb0Jhc2tldEl0ZW0oJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXQhXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuISkge1xuICBhZGRVc2Vyc1RvQmFza2V0SXRlbShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgdXNlcnM6ICR1c2Vycykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFkZFVzZXJzVG9CYXNrZXRJdGVtR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24sIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEZsaWdodFJ1bGVzKCRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBKU09OISwgJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEZsaWdodFJ1bGVzKHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6ICRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0LCBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRGbGlnaHRSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxBcHBseUppdEZsaWdodFJ1bGVzUXVlcnksIEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRGbGlnaHRSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEhvdGVsUnVsZXMoJGRhdGE6IFtKU09OIV0hKSB7XG4gIGFwcGx5SklUSG90ZWxSdWxlcyhkYXRhOiAkZGF0YSkge1xuICAgIHJlc3VsdFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBcHBseUppdEhvdGVsUnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnksIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0cygkdXNlcjogSUQsICR0cmF2ZWxsZXI6IElELCAkYmFza2V0U3RhdHVzOiBCYXNrZXRTdGF0dXMsICRjcmVhdGVkQWZ0ZXI6IERhdGVUaW1lLCAkY3JlYXRlZEJlZm9yZTogRGF0ZVRpbWUsICRib29rZWRBZnRlcjogRGF0ZVRpbWUsICRib29rZWRCZWZvcmU6IERhdGVUaW1lLCAkZGF0ZU9mVHJhdmVsQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEFmdGVyOiBEYXRlVGltZSwgJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRSZWZlcmVuY2U6IFN0cmluZywgJGJhc2tldFRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UsICRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nKSB7XG4gIGdldFVzZXJCYXNrZXRzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIHVzZXI6ICR1c2VyLCB0cmF2ZWxsZXI6ICR0cmF2ZWxsZXIsIGJhc2tldFN0YXR1czogJGJhc2tldFN0YXR1cywgY3JlYXRlZEFmdGVyOiAkY3JlYXRlZEFmdGVyLCBjcmVhdGVkQmVmb3JlOiAkY3JlYXRlZEJlZm9yZSwgYm9va2VkQWZ0ZXI6ICRib29rZWRBZnRlciwgYm9va2VkQmVmb3JlOiAkYm9va2VkQmVmb3JlLCBkYXRlT2ZUcmF2ZWxCZWZvcmU6ICRkYXRlT2ZUcmF2ZWxCZWZvcmUsIGRhdGVPZlRyYXZlbEFmdGVyOiAkZGF0ZU9mVHJhdmVsQWZ0ZXIsIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiAkYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2UsIGJhc2tldFJlZmVyZW5jZTogJGJhc2tldFJlZmVyZW5jZSwgYmFza2V0VGl0bGU6ICRiYXNrZXRUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRzUXVlcnksIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUJhc2tldCgkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcpIHtcbiAgZGVsZXRlQmFza2V0KGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVCYXNrZXRNdXRhdGlvbiwgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjcmVhdGVCYXNrZXQoJHRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgY3JlYXRlQmFza2V0KHRpdGxlOiAkdGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDcmVhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q3JlYXRlQmFza2V0TXV0YXRpb24sIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDcmVhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZW1vdmVJdGVtRnJvbUJhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZW1vdmVJdGVtRnJvbUJhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJlbW92ZUl0ZW1Gcm9tQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb24sIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNlbmRCYXNrZXRGb3JBcHByb3ZhbCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IHRydWUpIHtcbiAgc2VuZEJhc2tldEZvckFwcHJvdmFsKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldDogJGJhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRCYXNrZXRGb3JBcHByb3ZhbEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiwgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRJdGVtVG9CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhZGRJdGVtVG9CYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXQ6IElELCAkc2VydmljZTogSUQhLCAkZGV0YWlsOiBKU09OISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICRwcmljZTogRmxvYXQhLCAkY3VycmVuY3k6IEN1cnJlbmN5Q29kZSEsICRzZWFyY2hRdWVyeTogSlNPTiEsICRxdWlja0FkZDogQm9vbGVhbiwgJHVzZXJzOiBbVXNlclBhc3NlbmdlclR5cGVJbnB1dF0sICRsZWFkUGFzc2VuZ2VyOiBJRCwgJGNvMlBlckl0ZW06IEZsb2F0LCAkY28yUGVyUGFzc2VuZ2VyOiBGbG9hdCwgJG91dGJvdW5kRGF0ZTogRGF0ZVRpbWUhLCAkaW5ib3VuZERhdGU6IERhdGVUaW1lLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFkZEl0ZW1Ub0Jhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXQ6ICRiYXNrZXQsIHNlcnZpY2U6ICRzZXJ2aWNlLCBkZXRhaWw6ICRkZXRhaWwsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHByaWNlOiAkcHJpY2UsIGN1cnJlbmN5OiAkY3VycmVuY3ksIHNlYXJjaFF1ZXJ5OiAkc2VhcmNoUXVlcnksIHF1aWNrQWRkOiAkcXVpY2tBZGQsIHVzZXJzOiAkdXNlcnMsIGxlYWRQYXNzZW5nZXI6ICRsZWFkUGFzc2VuZ2VyLCBjbzJQZXJJdGVtOiAkY28yUGVySXRlbSwgY28yUGVyUGFzc2VuZ2VyOiAkY28yUGVyUGFzc2VuZ2VyLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIGluYm91bmREYXRlOiAkaW5ib3VuZERhdGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRJdGVtVG9CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248QWRkSXRlbVRvQmFza2V0TXV0YXRpb24sIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRJdGVtVG9CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGdldFVzZXJCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckJhc2tldFF1ZXJ5LCBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmV2YWxpZGF0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHJldmFsaWRhdGVCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJldmFsaWRhdGVCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJldmFsaWRhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uLCBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQm9va0Jhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGJvb2tCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkc3VwcGxlbWVudGFyeUluZm86IFtTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8hXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYm9va0Jhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBpZDogJGlkLCBzdXBwbGVtZW50YXJ5SW5mbzogJHN1cHBsZW1lbnRhcnlJbmZvKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQm9va0Jhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxCb29rQmFza2V0TXV0YXRpb24sIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQm9va0Jhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYWJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FiSGlyZSgkZGVwYXJ0czogRGF0ZVRpbWUhLCAkZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICR0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdmlhczogW0NhYkhpcmVMb2NhdGlvbklucHV0XSwgJHZlaGljbGVUeXBlOiBDYWJIaXJlVmVoaWNsZVR5cGUpIHtcbiAgc2VhcmNoQ2FiSGlyZShkZXBhcnRzOiAkZGVwYXJ0cywgZnJvbUxvY2F0aW9uOiAkZnJvbUxvY2F0aW9uLCB0b0xvY2F0aW9uOiAkdG9Mb2NhdGlvbiwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgdmlhczogJHZpYXMsIHZlaGljbGVUeXBlOiAkdmVoaWNsZVR5cGUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBzdXBwbGllck5hbWVcbiAgICAgIGVzdGltYXRlZENPMlxuICAgICAgY28yUGVySXRlbVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHZlaGljbGVUeXBlXG4gICAgICB0cmlwRGlzdGFuY2VNZXRyZXNcbiAgICAgIHRyaXBEdXJhdGlvblNlY29uZHNcbiAgICAgIGRlcGFydHNcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgZnJvbUxvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHRvTG9jYXRpb24ge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgICAgdmlhcyB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FiSGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYWJIaXJlUXVlcnksIFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FiSGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDYW5jZWxCb29raW5nRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY2FuY2VsQm9va2luZygkYmFza2V0SXRlbTogSUQhKSB7XG4gIGNhbmNlbEJvb2tpbmcoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0pIHtcbiAgICBjYW5jZWxsZWRcbiAgICBjYW5jZWxsYXRpb25GZWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FuY2VsQm9va2luZ0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDYW5jZWxCb29raW5nTXV0YXRpb24sIENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FuY2VsQm9va2luZ0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0KCRsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzISkge1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdChsb2NhdGlvbkRldGFpbHM6ICRsb2NhdGlvbkRldGFpbHMpIHtcbiAgICBpZGVudGlmaWVycyB7XG4gICAgICBsb2NhdG9yXG4gICAgICBycGhcbiAgICAgIHN0YXR1c1xuICAgICAgdmVoVHlwZVxuICAgICAgbG9jYXRpb25Db2RlXG4gICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgbG9jYXRpb25OYW1lXG4gICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICBkcm9wb2ZmRGF0ZVRpbWVcbiAgICAgIHZlbmRvclxuICAgIH1cbiAgICB2ZW5kb3Ige1xuICAgICAgbmFtZVxuICAgICAgbG9nb1xuICAgIH1cbiAgICBhZGRyZXNzIHtcbiAgICAgIG5hbWVcbiAgICAgIHRvcExpbmVcbiAgICAgIGNpdHlcbiAgICAgIHJlZ2lvblxuICAgICAgcG9zdENvZGVcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgbmFtZVxuICAgICAgdGV4dFxuICAgICAganNvblxuICAgICAgY3VzdG9tIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5LCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYXJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FySGlyZSgkYWlycG9ydDogQ2FySGlyZUFpcnBvcnRJbnB1dCwgJGNpdHk6IENhckhpcmVDaXR5SW5wdXQsICRsb2NhdGlvbjogQ2FySGlyZUxvY2F0aW9uSW5wdXQsICRkZXBvdDogSW5wdXRDYXJIaXJlRGVwb3QsICRwaWNrdXBEYXRlVGltZTogU3RyaW5nISwgJGRyb3BvZmZEYXRlVGltZTogU3RyaW5nISwgJHZlbmRvcjogU3RyaW5nLCAkY2xhc3M6IENhckhpcmVDbGFzcywgJHR5cGU6IENhckhpcmVUeXBlLCAkdHJhbnNtaXNzaW9uOiBDYXJIaXJlVHJhbnNtaXNzaW9uLCAkYWlyY29uOiBCb29sZWFuLCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZTogRmxvYXQsICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6IERpc3RhbmNlVHlwZXMpIHtcbiAgc2VhcmNoQ2FySGlyZShhaXJwb3J0OiAkYWlycG9ydCwgY2l0eTogJGNpdHksIGxvY2F0aW9uOiAkbG9jYXRpb24sIGRlcG90OiAkZGVwb3QsIHBpY2t1cERhdGVUaW1lOiAkcGlja3VwRGF0ZVRpbWUsIGRyb3BvZmZEYXRlVGltZTogJGRyb3BvZmZEYXRlVGltZSwgdmVuZG9yOiAkdmVuZG9yLCBjbGFzczogJGNsYXNzLCB0eXBlOiAkdHlwZSwgdHJhbnNtaXNzaW9uOiAkdHJhbnNtaXNzaW9uLCBhaXJjb246ICRhaXJjb24sIGVzdGltYXRlZERhaWx5RGlzdGFuY2U6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgbG9jYXRvclxuICAgICAgICBycGhcbiAgICAgICAgc3RhdHVzXG4gICAgICAgIHZlaFR5cGVcbiAgICAgICAgbG9jYXRpb25Db2RlXG4gICAgICAgIGV4dGVuZGVkTG9jYXRpb25Db2RlXG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgICAgcGlja3VwRGF0ZVRpbWVcbiAgICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICAgIHZlbmRvclxuICAgICAgfVxuICAgICAgZGlzcGxheVJlY29yZCB7XG4gICAgICAgIHN0YXR1c1xuICAgICAgICBwaWNrdXBcbiAgICAgICAgZHJvcG9mZlxuICAgICAgICB2ZW5kb3Ige1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBsb2dvXG4gICAgICAgIH1cbiAgICAgICAgdmVoaWNsZSB7XG4gICAgICAgICAgY2xhc3NcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgdHJhbnNtaXNzaW9uXG4gICAgICAgICAgYWlyY29uXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBpbWFnZXNcbiAgICAgICAgfVxuICAgICAgICBjaGFyZ2VzIHtcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICB9XG4gICAgICAgIHBpY2t1cExvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuTG9jYXRpb24ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0b3BMaW5lXG4gICAgICAgICAgY2l0eVxuICAgICAgICAgIHJlZ2lvblxuICAgICAgICAgIHBvc3RDb2RlXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgc3RhdGVDb2RlXG4gICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgfVxuICAgICAgICBhZGRpdGlvbmFsSW5mbyB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRleHRcbiAgICAgICAgICBqc29uXG4gICAgICAgICAgY3VzdG9tIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FySGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYXJIaXJlUXVlcnksIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FySGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDb25maXJtTWVzc2FnZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjb25maXJtTWVzc2FnZXMoJG1lc3NhZ2VzOiBbU3RyaW5nIV0hKSB7XG4gIGNvbmZpcm1NZXNzYWdlcyhtZXNzYWdlczogJG1lc3NhZ2VzKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ29uZmlybU1lc3NhZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENvbmZpcm1NZXNzYWdlc011dGF0aW9uLCBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUZhdm91cml0ZVNlYXJjaCgkaWQ6IElEISkge1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2goaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUZhdm91cml0ZVNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiwgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVSZWNlbnRTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlUmVjZW50U2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24sIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVVc2VyQWRkcmVzcygkaWQ6IElEISkge1xuICBkZWxldGVVc2VyQWRkcmVzcyhpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiwgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q292aWRNaWNyb3NpdGVUb2tlbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENPVklETWljcm9zaXRlVG9rZW4ge1xuICBnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeSwgR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENhckhpcmVEZXBvdHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDYXJIaXJlRGVwb3RzKCRsYXRpdHVkZTogRmxvYXQhLCAkbG9uZ2l0dWRlOiBGbG9hdCEsICR2ZW5kb3JDb2RlOiBTdHJpbmcsICRyYWRpdXM6IFN0cmluZykge1xuICBnZXRDYXJIaXJlRGVwb3RzKGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdmVuZG9yQ29kZTogJHZlbmRvckNvZGUsIHJhZGl1czogJHJhZGl1cykge1xuICAgIGNvdW50cnlDb2RlXG4gICAgbG9jYXRpb25Db2RlXG4gICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICB2ZW5kb3JDb2RlXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICB2ZW5kb3JcbiAgICBhZGRyZXNzTGluZXNcbiAgICBjaXR5TmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYXJIaXJlRGVwb3RzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhckhpcmVEZXBvdHNRdWVyeSwgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYXJIaXJlRGVwb3RzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFPZmZpY2UoJG9mZmljZUlkOiBJbnQhKSB7XG4gIGdldENvbmZlcm1hT2ZmaWNlKG9mZmljZUlkOiAkb2ZmaWNlSWQpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc05hbWVcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdGFsQ29kZVxuICAgICAgICBjaXR5XG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgIHRlbGVwaG9uZU51bWJlclxuICAgICAgICBmYWNzaW1pbGVOdW1iZXJcbiAgICAgICAgZW1haWxBZGRyZXNzXG4gICAgICAgIHN0YXRlUHJvdmluY2VcbiAgICAgICAgbW9iaWxlTnVtYmVyXG4gICAgICB9XG4gICAgICBjbG9zZXN0QWlycG9ydFxuICAgICAgY2xvc2VzdFRyYWluU3RhdGlvblxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBsYXRpdHVkZVxuICAgICAgY2xvc2VzdEhvdGVscyB7XG4gICAgICAgIGhvdGVsSWRcbiAgICAgICAgaG90ZWxOYW1lXG4gICAgICAgIGlzUHJlZmVycmVkXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgIH1cbiAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgZXJyb3JDb2RlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb25mZXJtYU9mZmljZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYU9mZmljZVF1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb25mZXJtYU9mZmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb25mZXJtYU9mZmljZU5hbWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gIGdldENvbmZlcm1hT2ZmaWNlTmFtZXMge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb25mZXJtYU9mZmljZU5hbWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeSwgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hUXVpY2tsaXN0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFRdWlja2xpc3QoJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0KGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpbWFnZVVybFxuICAgICAgZ3JvdXBcbiAgICAgIGxvY2F0aW9uIHtcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGFkZHJlc3NMaW5lMVxuICAgICAgICBhZGRyZXNzTGluZTJcbiAgICAgICAgYWRkcmVzc0xpbmUzXG4gICAgICAgIHBvc3RPclppcENvZGVcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZhY3NpbWlsZVxuICAgICAgfVxuICAgICAgdHJhbnNwb3J0cyB7XG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBjb2RlXG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHByZWZlcnJlZCB7XG4gICAgICAgIGNsaWVudFxuICAgICAgICBjb25zdW1lclxuICAgICAgfVxuICAgICAgdGFncyB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgZGlzcGxheVxuICAgICAgICB0eXBlXG4gICAgICAgIGljb25cbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZVJhdGVzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBpbWFnZVVybFxuICAgICAgICByb29tcyB7XG4gICAgICAgICAgcm9vbUlkXG4gICAgICAgICAgcm9vbVR5cGVcbiAgICAgICAgICByb29tRGVzY3JpcHRpb25cbiAgICAgICAgICByYXRlQ29kZVxuICAgICAgICAgIHJhdGVEZXNjcmlwdGlvblxuICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgICAgY3VycmVuY3lDb252ZXJzaW9uIHtcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGxvY2FsQ29kZVxuICAgICAgICAgICAgbG9jYWxUb3RhbFxuICAgICAgICAgICAgY29udmVydGVkQ29kZVxuICAgICAgICAgICAgY29udmVydGVkVG90YWxcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVwb3NpdCB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHBvbGljeVxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgbmlnaHRzIHtcbiAgICAgICAgICAgIG5pZ2h0XG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgICBpbmZvXG4gICAgICAgICAgICBkYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIHBvbGljaWVzIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvblxuICAgICAgICAgICAgZGVwb3NpdFxuICAgICAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgICAgIGdlbmVyYWxcbiAgICAgICAgICAgIGd1YXJhbnRlZVxuICAgICAgICAgICAgcmVmdW5kQXZhaWxhYmxlXG4gICAgICAgICAgfVxuICAgICAgICAgIHRheCB7XG4gICAgICAgICAgICBpbmNsdWRlZFxuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhY2NlcHRlZENhcmRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBheW1lbnRUeXBlcyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBycG5cbiAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgIGlzQnVzeVxuICAgICAgICBzb3VyY2VcbiAgICAgICAgdmVyc2lvblxuICAgICAgfVxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUXVpY2tsaXN0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnksIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUXVpY2tsaXN0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbmZlcm1hUm9vbUltYWdlcygkaG90ZWxJZDogU3RyaW5nISkge1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXMoaG90ZWxJZDogJGhvdGVsSWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb25mZXJtYVJvb21JbWFnZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnksIEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0RmxpZ2h0RmFyZVJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0RmFyZVJ1bGVzKCRmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leSEpIHtcbiAgZ2V0RmxpZ2h0RmFyZVJ1bGVzKGZsaWdodDogJGZsaWdodCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBjaGFuZ2Uge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIG5vU2hvdyB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgdXBncmFkZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgb3RoZXIge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRGbGlnaHRGYXJlUnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnksIEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEZsaWdodFNlYXRNYXAoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRTZWF0TWFwKGZsaWdodDogJGZsaWdodCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgYWlyY3JhZnQge1xuICAgICAgICBjYXJyaWVyXG4gICAgICAgIG51bWJlclxuICAgICAgICB0eXBlXG4gICAgICB9XG4gICAgICBzZWF0cyB7XG4gICAgICAgIHJvd1xuICAgICAgICBjb2x1bW5cbiAgICAgICAgYXR0cmlidXRlcyB7XG4gICAgICAgICAgY29kZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIH1cbiAgICAgICAgcHJpY2VcbiAgICAgICAgY3VycmVuY3lcbiAgICAgIH1cbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodFNlYXRNYXBHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5LCBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodFNlYXRNYXBEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsRGlzY291bnRDYXJkc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldElSTERpc2NvdW50Q2FyZHMoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEpIHtcbiAgZ2V0SVJMRGlzY291bnRDYXJkcyhzdXBwbGllcjogJHN1cHBsaWVyKSB7XG4gICAgaWRcbiAgICBuZXRDb2RlXG4gICAgcmVjb1xuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsRGlzY291bnRDYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRJcmxEaXNjb3VudENhcmRzUXVlcnksIEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsRGlzY291bnRDYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRJcmxTdXBwbGllclN0YXRpb25Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRJUkxTdXBwbGllclN0YXRpb24oJGlkOiBJRCwgJHN1cHBsaWVyOiBJUkxTdXBwbGllciwgJGNvZGU6IFN0cmluZykge1xuICBnZXRJUkxTdXBwbGllclN0YXRpb24oaWQ6ICRpZCwgc3VwcGxpZXI6ICRzdXBwbGllciwgY29kZTogJGNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRJcmxTdXBwbGllclN0YXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnksIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRJcmxTdXBwbGllclN0YXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbExpdmVEZXBhcnR1cmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbExpdmVEZXBhcnR1cmVzKCRzdGF0aW9uQ29kZTogU3RyaW5nISwgJGRlcGFydERhdGVUaW1lOiBEYXRlVGltZSkge1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXMoc3RhdGlvbkNvZGU6ICRzdGF0aW9uQ29kZSwgZGVwYXJ0RGF0ZVRpbWU6ICRkZXBhcnREYXRlVGltZSkge1xuICAgIHNlcnZpY2VzIHtcbiAgICAgIHJpZFxuICAgICAgdWlkXG4gICAgICB0cmFpbmlkXG4gICAgICBzZGRcbiAgICAgIG9wZXJhdG9yXG4gICAgICBvcGVyYXRvckNvZGVcbiAgICAgIHN0ZFxuICAgICAgZXRkXG4gICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgIHBsYXRmb3JtXG4gICAgICBwbGF0Zm9ybUlzSGlkZGVuXG4gICAgICBvcmlnaW4ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgZGVzdGluYXRpb24ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgc3Vic2VxdWVudExvY2F0aW9ucyB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICAgIHBsYXRmb3JtXG4gICAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgICAgc3RhXG4gICAgICAgIGV0YVxuICAgICAgICBhcnJpdmFsVHlwZVxuICAgICAgICBhcnJpdmFsU291cmNlXG4gICAgICAgIHN0ZFxuICAgICAgICBldGRcbiAgICAgICAgZGVwYXJ0dXJlVHlwZVxuICAgICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgICAgYXNzb2NpYXRpb25zIHtcbiAgICAgICAgICBjYXRlZ29yeVxuICAgICAgICAgIHJpZFxuICAgICAgICAgIHVpZFxuICAgICAgICAgIHRyYWluaWRcbiAgICAgICAgICBzZGRcbiAgICAgICAgICBvcmlnaW5cbiAgICAgICAgICBvcmlnaW5DUlNcbiAgICAgICAgICBvcmlnaW5UaXBsb2NcbiAgICAgICAgICBkZXN0aW5hdGlvblxuICAgICAgICAgIGRlc3RDUlNcbiAgICAgICAgICBkZXN0VGlwbG9jXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxMaXZlRGVwYXJ0dXJlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSwgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsU3RhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxTdGF0aW9uKCRpZDogSUQsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0UmFpbFN0YXRpb24oaWQ6ICRpZCwgY29kZTogJGNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbFN0YXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFN0YXRpb25RdWVyeSwgR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbFN0YXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbGNhcmRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbGNhcmRzIHtcbiAgZ2V0UmFpbGNhcmRzIHtcbiAgICBuYW1lXG4gICAgY29kZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsY2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbGNhcmRzUXVlcnksIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsY2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMoJG1pOiBJRCEsICRwYXJ0aWFsTGFiZWw6IFN0cmluZyEpIHtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMobWk6ICRtaSwgcGFydGlhbExhYmVsOiAkcGFydGlhbExhYmVsKSB7XG4gICAgaWRcbiAgICBsYWJlbFxuICAgIHZhbHVlXG4gICAgZGVmYXVsdFxuICAgIGZpeGVkXG4gICAgYWdlbnRPbmx5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnksIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZSB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lUXVlcnksIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclJlY2VudFNlYXJjaGVzKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpIHtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICB0cmF2ZWxEYXRlXG4gICAgdHJhdmVsbGVycyB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGRvYlxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclJlY2VudFNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEhvdGVscygkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY2l0eU5hbWU6IFN0cmluZywgJHBvc3RPclppcENvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRsYXRpdHVkZTogRmxvYXQsICRsb25naXR1ZGU6IEZsb2F0LCAkdHJhaW5TdGF0aW9uQ29kZTogU3RyaW5nLCAkaWF0YTogU3RyaW5nLCAkb2ZmaWNlSWQ6IEludCwgJHJvb21zOiBJbnQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGN1cnJlbmN5OiBTdHJpbmchLCAkZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzISwgJGRpc3RhbmNlOiBJbnQhLCAkbWF4UmVzdWx0czogSW50LCAkaG90ZWxOYW1lOiBTdHJpbmcsICRncm91cE5hbWU6IFN0cmluZykge1xuICBzZWFyY2hIb3RlbHMoc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY2l0eU5hbWU6ICRjaXR5TmFtZSwgcG9zdE9yWmlwQ29kZTogJHBvc3RPclppcENvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdHJhaW5TdGF0aW9uQ29kZTogJHRyYWluU3RhdGlvbkNvZGUsIGlhdGE6ICRpYXRhLCBvZmZpY2VJZDogJG9mZmljZUlkLCByb29tczogJHJvb21zLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGN1cnJlbmN5OiAkY3VycmVuY3ksIGRpc3RhbmNlVHlwZTogJGRpc3RhbmNlVHlwZSwgZGlzdGFuY2U6ICRkaXN0YW5jZSwgbWF4UmVzdWx0czogJG1heFJlc3VsdHMsIGhvdGVsTmFtZTogJGhvdGVsTmFtZSwgZ3JvdXBOYW1lOiAkZ3JvdXBOYW1lKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaW1hZ2VVcmxcbiAgICAgIGdyb3VwXG4gICAgICBsb2NhdGlvbiB7XG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0T3JaaXBDb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYWNzaW1pbGVcbiAgICAgIH1cbiAgICAgIHRyYW5zcG9ydHMge1xuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgY29kZVxuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBwcmVmZXJyZWQge1xuICAgICAgICBjbGllbnRcbiAgICAgICAgY29uc3VtZXJcbiAgICAgIH1cbiAgICAgIHRhZ3Mge1xuICAgICAgICBuYW1lXG4gICAgICAgIGRpc3BsYXlcbiAgICAgICAgdHlwZVxuICAgICAgICBpY29uXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVSYXRlcyB7XG4gICAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICAgIH1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsc1F1ZXJ5LCBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoJGhvdGVsOiBbU3RyaW5nIV0hLCAkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY3VycmVuY3k6IFN0cmluZyEsICRvY2N1cGFudHM6IEludCEsICRyb29tczogSW50KSB7XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KGhvdGVsOiAkaG90ZWwsIHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGN1cnJlbmN5OiAkY3VycmVuY3ksIG9jY3VwYW50czogJG9jY3VwYW50cywgcm9vbXM6ICRyb29tcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgLi4uUm9vbUF2YWxpYWJpbGl0eVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSwgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgaXNQb3N0Y29kZVZhbGlkKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBpc1Bvc3Rjb2RlVmFsaWQocG9zdGNvZGU6ICRwb3N0Y29kZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIElzUG9zdGNvZGVWYWxpZEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxJc1Bvc3Rjb2RlVmFsaWRRdWVyeSwgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IElzUG9zdGNvZGVWYWxpZERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hBaXJwb3J0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEFpcnBvcnRzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRoYXNMb3VuZ2U6IEJvb2xlYW4sICRoYXNQYXJraW5nOiBCb29sZWFuLCAkaGFzRmFzdFRyYWNrOiBCb29sZWFuKSB7XG4gIHNlYXJjaEFpcnBvcnRzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGhhc0xvdW5nZTogJGhhc0xvdW5nZSwgaGFzUGFya2luZzogJGhhc1BhcmtpbmcsIGhhc0Zhc3RUcmFjazogJGhhc0Zhc3RUcmFjaykge1xuICAgIGlhdGFNYXRjaCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhbE1hdGNoZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgJHtMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEFpcnBvcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEFpcnBvcnRzUXVlcnksIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaExvdW5nZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hMb3VuZ2VzKCRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICR0ZXJtaW5hbDogU3RyaW5nKSB7XG4gIHNlYXJjaExvdW5nZXMobG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHRlcm1pbmFsOiAkdGVybWluYWwpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG5hbWVcbiAgICAgIGNvZGVcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbG91bmdlIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmF4XG4gICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgaW50cm9kdWN0aW9uXG4gICAgICAgIGxvZ29cbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBhZHVsdEFnZVxuICAgICAgICBjaGlsZEFnZVxuICAgICAgICBpbmZhbnRBZ2VcbiAgICAgICAgbGFuZHNpZGVcbiAgICAgICAgYWlyc2lkZVxuICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgIG9wZW5UaW1lXG4gICAgICAgIGNsb3NlVGltZVxuICAgICAgICB3aWZpXG4gICAgICAgIHR2XG4gICAgICAgIHNuYWNrc1xuICAgICAgICBwaG9uZVxuICAgICAgICBpbnRlcm5ldFxuICAgICAgICBjaGlsZHJlbkFsbG93ZWRcbiAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgZHJpbmtzXG4gICAgICAgIGZyZWVEcmlua3NcbiAgICAgICAgZnJlZUZvb2RcbiAgICAgICAgc21va2luZ1Blcm1pdHRlZFxuICAgICAgICBtYWdhemluZXNcbiAgICAgICAgaW5jbHVkZWREcmlua3NcbiAgICAgICAgbWVudUZvb2RcbiAgICAgICAgbWVudURyaW5rc1xuICAgICAgICBtZW51RXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWREcmlua3NcbiAgICAgICAgd2hhdHNJbmNsdWRlZEV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRm9vZFxuICAgICAgICBncm91cEluZm9cbiAgICAgICAgY2hlY2tJbkluZm9cbiAgICAgICAgZHJlc3NDb2RlXG4gICAgICAgIGZhY2lsaXRpZXNJbmZvXG4gICAgICAgIGZvb2RBbmRCZXZlcmFnZVxuICAgICAgICBjYW5jZWxsYXRpb25JbmZvXG4gICAgICAgIGFtZW5kbWVudHNJbmZvXG4gICAgICAgIG1pc2NcbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoTG91bmdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hMb3VuZ2VzUXVlcnksIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoTG91bmdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkbmV3QmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIG5ld0Jhc2tldDogJG5ld0Jhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24sIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBhcmtpbmdEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQYXJraW5nKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGRlcGFydERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRvdXRGbGlnaHROdW1iZXI6IFN0cmluZywgJHJlY29tbWVuZGVkOiBCb29sZWFuLCAkb25BaXJwb3J0OiBCb29sZWFuLCAkbWVldEFuZEdyZWV0OiBCb29sZWFuLCAkcGFya0FuZFJpZGU6IEJvb2xlYW4sICRwYXJrQW5kU3Ryb2xsOiBCb29sZWFuLCAkY2FyUGFya2VkRm9yWW91OiBCb29sZWFuLCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hQYXJraW5nKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgZGVwYXJ0RGF0ZXRpbWU6ICRkZXBhcnREYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBvdXRGbGlnaHROdW1iZXI6ICRvdXRGbGlnaHROdW1iZXIsIHJlY29tbWVuZGVkOiAkcmVjb21tZW5kZWQsIG9uQWlycG9ydDogJG9uQWlycG9ydCwgbWVldEFuZEdyZWV0OiAkbWVldEFuZEdyZWV0LCBwYXJrQW5kUmlkZTogJHBhcmtBbmRSaWRlLCBwYXJrQW5kU3Ryb2xsOiAkcGFya0FuZFN0cm9sbCwgY2FyUGFya2VkRm9yWW91OiAkY2FyUGFya2VkRm9yWW91LCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBjYXJQYXJrIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgZGlzdGFuY2VUb0FpcnBvcnRcbiAgICAgICAgb25BaXJwb3J0XG4gICAgICAgIGNhclBhcmtlZEZvcllvdVxuICAgICAgICBtZWV0QW5kR3JlZXRcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGFycml2YWxQcm9jZWR1cmVcbiAgICAgICAgZGVwYXJ0dXJlUHJvY2VkdXJlXG4gICAgICAgIG1heGltdW1DYXJTaXplXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBpbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2ZlckluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVyT3BlcmF0aW5nVGltZXNcbiAgICAgICAgdHJhbnNmZXJUaW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgZGVmYXVsdEltYWdlXG4gICAgICAgIGJyYW5kSW1hZ2VcbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICByZXF1aXJlZEluZm9cbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlzY1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQYXJraW5nR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBhcmtpbmdRdWVyeSwgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQYXJraW5nRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsKCRjb3VudHJ5Q29kZTogU3RyaW5nLCAkam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZSEsICRjbGFzczogUmFpbENsYXNzLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJHZpYUxvY2F0aW9uSWQ6IElELCAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkFycml2YWxEYXRlVGltZTogU3RyaW5nLCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRleHRyYVRpbWVUb0NoYW5nZTogQm9vbGVhbiwgJHBsdXNCdXNPdXQ6IFJhaWxQbHVzQnVzQXZhaWwsICRwbHVzQnVzUmV0dXJuOiBSYWlsUGx1c0J1c0F2YWlsLCAkdHJhdmVsQ2FyZHM6IFtEYXRlIV0sICRyYWlsQ2FyZFF1YWxpZmllcnM6IFtTdHJpbmchXSkge1xuICBzZWFyY2hSYWlsKGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGpvdXJuZXlUeXBlOiAkam91cm5leVR5cGUsIGNsYXNzOiAkY2xhc3MsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCB2aWFMb2NhdGlvbklkOiAkdmlhTG9jYXRpb25JZCwgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6ICRvdXRib3VuZEFycml2YWxEYXRlVGltZSwgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIHJldHVybkFycml2YWxEYXRlVGltZTogJHJldHVybkFycml2YWxEYXRlVGltZSwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBleHRyYVRpbWVUb0NoYW5nZTogJGV4dHJhVGltZVRvQ2hhbmdlLCBwbHVzQnVzT3V0OiAkcGx1c0J1c091dCwgcGx1c0J1c1JldHVybjogJHBsdXNCdXNSZXR1cm4sIHRyYXZlbENhcmRzOiAkdHJhdmVsQ2FyZHMsIHJhaWxDYXJkUXVhbGlmaWVyczogJHJhaWxDYXJkUXVhbGlmaWVycykge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxRdWVyeSwgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucygkcXVlcnk6IFN0cmluZyEsICRzdXBwbGllcjogSVJMU3VwcGxpZXIpIHtcbiAgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyhxdWVyeTogJHF1ZXJ5LCBzdXBwbGllcjogJHN1cHBsaWVyKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnksIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQb3N0Y29kZXMoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGdldFBvc3Rjb2RlRGV0YWlscyhwb3N0Y29kZTogJHBvc3Rjb2RlKSB7XG4gICAgcG9zdGNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQb3N0Y29kZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUG9zdGNvZGVzUXVlcnksIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbFN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbFN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbFN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckFkZHJlc3Mge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckFkZHJlc3NRdWVyeSwgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlHcm91cCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJGdyb3VwOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXAoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIGdyb3VwOiAkZ3JvdXApIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlHcm91cEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHVzZXI6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXI6ICR1c2VyKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiwgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlWYWx1ZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJG1pOiBJRCEsICRtaVZhbHVlOiBJRCwgJG1pRnJlZVZhbHVlOiBTdHJpbmcsICR1c2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBtaTogJG1pLCBtaVZhbHVlOiAkbWlWYWx1ZSwgbWlGcmVlVmFsdWU6ICRtaUZyZWVWYWx1ZSwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkcGF5bWVudE1ldGhvZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBwYXltZW50TWV0aG9kOiAkcGF5bWVudE1ldGhvZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24sIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0Tm90ZXMoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5vdGVzOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldE5vdGVzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbm90ZXM6ICRub3Rlcykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldE5vdGVzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24sIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0VGl0bGUoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5ld1RpdGxlOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldFRpdGxlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbmV3VGl0bGU6ICRuZXdUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldFRpdGxlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24sIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJTZXJ2aWNlcyB7XG4gIGdldFVzZXJTZXJ2aWNlcyB7XG4gICAgaWRcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBkZXRhaWxTY2hlbWFcbiAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyU2VydmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclNlcnZpY2VzUXVlcnksIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyU2VydmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJVSUNvbmZpZ3Mge1xuICBnZXRVc2VyVUlDb25maWdzIHtcbiAgICBhbGwge1xuICAgICAgaWRcbiAgICAgIGNvbmZpZ1xuICAgICAga2V5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyVWlDb25maWdzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJVaUNvbmZpZ3NRdWVyeSwgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNZXNzYWdlcyB7XG4gIGdldFVzZXJNZXNzYWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb25maWdcbiAgICB0YXJnZXRcbiAgICBrZXlcbiAgICBkaXNwbGF5VGFyZ2V0XG4gICAgYWdlbnRPbmx5XG4gICAgY2xpY2tUb0NvbmZpcm1cbiAgICB2YWxpZEZyb21cbiAgICB2YWxpZFRvXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWVzc2FnZXNRdWVyeSwgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVOdW1iZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSwgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldFVzZXJMYW5ndWFnZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldFVzZXJMYW5ndWFnZSgkbGFuZ3VhZ2U6IElEKSB7XG4gIHNldFVzZXJMYW5ndWFnZShsYW5ndWFnZTogJGxhbmd1YWdlKSB7XG4gICAgaWRcbiAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=
5781
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBb0VELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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MkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENB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QUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUE3a1hTLE1BQU0sQ0FpbFhhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztLQVUxQyxDQUFDO0FBS0osTUFBTSxPQUFPLHVCQUF3QixTQUFRLE1BQU0sQ0FBQyxLQUFvRTtJQUd0SCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsNEJBQTRCLENBQUM7SUFJeEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQW5tWFMsTUFBTSxDQXVtWGEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7O0tBSTdDLENBQUM7QUFLSixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsTUFBTSxDQUFDLEtBQTBFO0lBRy9ILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRywrQkFBK0IsQ0FBQztJQUkzQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBbm5YUyxNQUFNLENBdW5YYSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgQXBvbGxvIGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IG51bGw7XG5leHBvcnQgdHlwZSBFeGFjdDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuZXhwb3J0IHR5cGUgTWFrZU9wdGlvbmFsPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS10/OiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBNYWtlTWF5YmU8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXTogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgRmllbGRXcmFwcGVyPFQ+ID0gVDtcbi8qKiBBbGwgYnVpbHQtaW4gYW5kIGN1c3RvbSBzY2FsYXJzLCBtYXBwZWQgdG8gdGhlaXIgYWN0dWFsIHZhbHVlcyAqL1xuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcbiAgSUQ6IHN0cmluZztcbiAgU3RyaW5nOiBzdHJpbmc7XG4gIEJvb2xlYW46IGJvb2xlYW47XG4gIEludDogbnVtYmVyO1xuICBGbG9hdDogbnVtYmVyO1xuICBEYXRlOiBhbnk7XG4gIERhdGVUaW1lOiBhbnk7XG4gIEpTT046IGFueTtcbn07XG5cblxuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RyZWV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvd24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBvZmZpY2VQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWRkcmVzc0lucHV0ID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQWZ0ZXJDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0FmdGVyQ2FuY2VsbGF0aW9uSW5mbyc7XG4gIGNhbmNlbGxlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhdGlvbkZlZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWN0aXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb250aW5lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBiYW5uZXJJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcmxpbmVSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybWluYWxzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFzTG91bmdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNQYXJraW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1B1YmxpY1RyYXZlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0RGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnO1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHN0YXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9hZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3B1bGFyaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFyZWE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2Zmc2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0UmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0UmVzdWx0cyc7XG4gIGlhdGFNYXRjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG4gIGdlbmVyYWxNYXRjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWlycG9ydD4+O1xufTtcblxuZXhwb3J0IGVudW0gQXBwbGljYXRpb25TdGFnZSB7XG4gIEJlZm9yZVNlYXJjaCA9ICdCRUZPUkVfU0VBUkNIJyxcbiAgQWZ0ZXJTZWFyY2ggPSAnQUZURVJfU0VBUkNIJ1xufVxuXG5leHBvcnQgdHlwZSBBcHBseUppdFJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcGx5SklUUnVsZXNSZXN1bHQnO1xuICByZXN1bHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZWUnO1xuICBhcHByb3ZlZTogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVyJztcbiAgYXBwcm92ZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NvY2lhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbic7XG4gIGNhdGVnb3J5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkNSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5UaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdENSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0VGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8QmFnZ2FnZVR5cGU+O1xuICBxdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHdlaWdodFByb3ZpZGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4S0c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBtYXhMQlM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQmFnZ2FnZVR5cGUge1xuICBDaGVja0luID0gJ0NoZWNrSW4nLFxuICBIYW5kQ2FycnkgPSAnSGFuZENhcnJ5J1xufVxuXG5leHBvcnQgdHlwZSBCYXNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFza2V0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgb3duZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgcmVmZXJlbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtczogQXJyYXk8RmllbGRXcmFwcGVyPEJhc2tldEl0ZW0+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8QmFza2V0U3RhdHVzPjtcbiAgY29tcGFueUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbXBhbnlHcm91cD4+O1xuICB2YWxpZGF0ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBib29rZWRBdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG59O1xuXG5leHBvcnQgdHlwZSBCYXNrZXRJdGVtID0ge1xuICBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZHVsdHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNoaWxkcmVuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBkZXRhaWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBkZXRhaWxIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGV4cGlyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXJQYXNzZW5nZXJUeXBlPj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHNlYXJjaFF1ZXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaUdyb3Vwc0F2YWlsYWJsZTogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pR3JvdXBTZWxlY3RlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYW5hZ2VtZW50SW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxhdGVzdFZhbGlkYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nRGV0YWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY29udmVydGVkQ3VycmVuY3lBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhc2tldEl0ZW1TdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlZEJ5RmllbGQge1xuICBOYW1lID0gJ05BTUUnLFxuICBFbWFpbCA9ICdFTUFJTCdcbn1cblxuZXhwb3J0IGVudW0gQm9va2VyVHlwZSB7XG4gIFJvb3QgPSAnUk9PVCcsXG4gIFRtYyA9ICdUTUMnLFxuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgQ29tcGFueUdyb3VwID0gJ0NPTVBBTllfR1JPVVAnLFxuICBTZWxmQm9vayA9ICdTRUxGX0JPT0snLFxuICBCb29rZXIgPSAnQk9PS0VSJyxcbiAgVHJhdmVsbGVyID0gJ1RSQVZFTExFUicsXG4gIEJvb2tlcldpdGhTZWxmID0gJ0JPT0tFUl9XSVRIX1NFTEYnXG59XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdBZGRyZXNzID0ge1xuICBudW1iZXJPck5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdHJlZXQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b3duOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBCb29raW5nUGhvbmVOdW1iZXIgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJlYUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJztcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVRdW90ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHN1cHBsaWVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXN0aW1hdGVkQ08yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgdmVoaWNsZVR5cGU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlVmVoaWNsZVR5cGU+O1xuICB0cmlwRGlzdGFuY2VNZXRyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJpcER1cmF0aW9uU2Vjb25kcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBkZXBhcnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUxvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdG9Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHZpYXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhYkhpcmVWZWhpY2xlVHlwZSB7XG4gIEFueSA9ICdBbnknLFxuICBEZGFDYXIgPSAnRERBQ2FyJyxcbiAgQ29hY2hMYXJnZSA9ICdDb2FjaExhcmdlJyxcbiAgQ29hY2hTbWFsbCA9ICdDb2FjaFNtYWxsJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUNvYWNoID0gJ0Vjb25vbXlDb2FjaCcsXG4gIEVjb25vbXlNcHZTbWFsbCA9ICdFY29ub215TVBWU21hbGwnLFxuICBFY29ub215TXB2TGFyZ2UgPSAnRWNvbm9teU1QVkxhcmdlJyxcbiAgRWNvbm9teVN1diA9ICdFY29ub215U1VWJyxcbiAgRXhlY3V0aXZlQ2FyID0gJ0V4ZWN1dGl2ZUNhcicsXG4gIEV4ZWN1dGl2ZVN1diA9ICdFeGVjdXRpdmVTVVYnLFxuICBHcmVlbkNhciA9ICdHcmVlbkNhcicsXG4gIEdyZWVuRXhlY3V0aXZlID0gJ0dyZWVuRXhlY3V0aXZlJyxcbiAgR3JlZW5TdXYgPSAnR3JlZW5TVVYnLFxuICBTbWFsbE1wdiA9ICdTbWFsbE1QVicsXG4gIE1lZGl1bU1wdiA9ICdNZWRpdW1NUFYnLFxuICBMYXJnZU1wdiA9ICdMYXJnZU1QVicsXG4gIFN0YW5kYXJkQ2FyID0gJ1N0YW5kYXJkQ2FyJyxcbiAgU3V2ID0gJ1NVVicsXG4gIEJsYWNrQ2FiID0gJ0JsYWNrQ2FiJyxcbiAgVGF4aVN1diA9ICdUYXhpU1VWJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBqc29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQ3VzdG9tPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3BMaW5lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBaXJwb3J0SW5wdXQgPSB7XG4gIHBpY2t1cENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNoYXJnZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ2hhcmdlJztcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNpdHlJbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cENpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlQ2xhc3Mge1xuICBNaW5pID0gJ01pbmknLFxuICBNaW5pRWxpdGUgPSAnTWluaUVsaXRlJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUVsaXRlID0gJ0Vjb25vbXlFbGl0ZScsXG4gIENvbXBhY3QgPSAnQ29tcGFjdCcsXG4gIENvbXBhY3RFbGl0ZSA9ICdDb21wYWN0RWxpdGUnLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgSW50ZXJtZWRpYXRlRWxpdGUgPSAnSW50ZXJtZWRpYXRlRWxpdGUnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCcsXG4gIFN0YW5kYXJkRWxpdGUgPSAnU3RhbmRhcmRFbGl0ZScsXG4gIEZ1bGxzaXplID0gJ0Z1bGxzaXplJyxcbiAgRnVsbHNpemVFbGl0ZSA9ICdGdWxsc2l6ZUVsaXRlJyxcbiAgUHJlbWl1bSA9ICdQcmVtaXVtJyxcbiAgUHJlbWl1bUVsaXRlID0gJ1ByZW1pdW1FbGl0ZScsXG4gIEx1eHVyeSA9ICdMdXh1cnknLFxuICBMdXh1cnlFbGl0ZSA9ICdMdXh1cnlFbGl0ZScsXG4gIE92ZXJzaXplID0gJ092ZXJzaXplJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ3VzdG9tID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdCc7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGNpdHlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3RSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90UmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZHJlc3M+PjtcbiAgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEaXNwbGF5UmVjb3JkID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEaXNwbGF5UmVjb3JkJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIHZlaGljbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGU+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDaGFyZ2U+Pj4+O1xuICBwaWNrdXBMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICByZXR1cm5Mb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnO1xuICBsb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJwaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVoVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyA9IHtcbiAgbG9jYXRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcnBoPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0dXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlaFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cFBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZlBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUcmFuc21pc3Npb24ge1xuICBNYW51YWwgPSAnTWFudWFsJyxcbiAgQXV0byA9ICdBdXRvJ1xufVxuXG5leHBvcnQgZW51bSBDYXJIaXJlVHlwZSB7XG4gIFR3b1RvVGhyZWVEb29yID0gJ1R3b1RvVGhyZWVEb29yJyxcbiAgVHdvT3JGb3VyRG9vciA9ICdUd29PckZvdXJEb29yJyxcbiAgRm91clRvRml2ZURvb3IgPSAnRm91clRvRml2ZURvb3InLFxuICBXYWdvbk9yRXN0YXRlID0gJ1dhZ29uT3JFc3RhdGUnLFxuICBQYXNzZW5nZXJWYW4gPSAnUGFzc2VuZ2VyVmFuJyxcbiAgTGltb3VzaW5lID0gJ0xpbW91c2luZScsXG4gIFNwb3J0ID0gJ1Nwb3J0JyxcbiAgQ29udmVydGlibGUgPSAnQ29udmVydGlibGUnLFxuICBTdXYgPSAnU1VWJyxcbiAgT3BlbkFpckFsbFRlcnJhaW4gPSAnT3BlbkFpckFsbFRlcnJhaW4nLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnLFxuICBQaWNrVXBSZWd1bGFyQ2FiID0gJ1BpY2tVcFJlZ3VsYXJDYWInLFxuICBQaWNrVXBFeHRlbmRlZENhYiA9ICdQaWNrVXBFeHRlbmRlZENhYicsXG4gIFNwZWNpYWxPZmZlckNhciA9ICdTcGVjaWFsT2ZmZXJDYXInLFxuICBDb3VwZSA9ICdDb3VwZScsXG4gIE1vbm9zcGFjZUV1cm9wZWFuVXNlID0gJ01vbm9zcGFjZUV1cm9wZWFuVXNlJyxcbiAgTW90b3JIb21lID0gJ01vdG9ySG9tZScsXG4gIFR3b1doZWVsVmVoaWNsZSA9ICdUd29XaGVlbFZlaGljbGUnLFxuICBSb2Fkc3RlciA9ICdSb2Fkc3Rlcidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnO1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJjb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICBkaXNwbGF5UmVjb3JkPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVEaXNwbGF5UmVjb3JkPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZW5kb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHN0YXJ0T2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kT2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmVtYWluaW5nQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRvdGFsQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhcmJvblBvbGljeVNvdXJjZTogRmllbGRXcmFwcGVyPENhcmJvblBvbGljeVNvdXJjZT47XG4gIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FyYm9uQ29uc3VtcHRpb24+PjtcbiAgY29tcGFueT86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIG9mZmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQ29uc3VtcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBjb25zdW1lZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkYXRldGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FyYm9uUG9saWN5U291cmNlIHtcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIFVzZXIgPSAnVVNFUidcbn1cblxuZXhwb3J0IHR5cGUgQ2l0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDaXR5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvb3JkaW5hdGVzOiBGaWVsZFdyYXBwZXI8R2VvQ29vcmRpbmF0ZXM+O1xuICBjb250aW5lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueSA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgb2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQnO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJztcbiAgZm91bmRFeGFjdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUFkZHJlc3MnO1xuICBhZGRyZXNzTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY3NpbWlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVQcm92aW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSG90ZWxzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSG90ZWxzJztcbiAgaG90ZWxJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBob3RlbE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNQcmVmZXJyZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUFkZHJlc3M+PjtcbiAgY2xvc2VzdEFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdFRyYWluU3RhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdEhvdGVscz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUhvdGVscz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZU5hbWVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lcz4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VJbmZvPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb3VudHJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvdW50cnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaWFsQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQ3VycmVuY3lDb2RlIHtcbiAgQWVkID0gJ0FFRCcsXG4gIEFmbiA9ICdBRk4nLFxuICBBbGwgPSAnQUxMJyxcbiAgQW1kID0gJ0FNRCcsXG4gIEFuZyA9ICdBTkcnLFxuICBBb2EgPSAnQU9BJyxcbiAgQXJzID0gJ0FSUycsXG4gIEF1ZCA9ICdBVUQnLFxuICBBd2cgPSAnQVdHJyxcbiAgQXpuID0gJ0FaTicsXG4gIEJhbSA9ICdCQU0nLFxuICBCYmQgPSAnQkJEJyxcbiAgQmR0ID0gJ0JEVCcsXG4gIEJnbiA9ICdCR04nLFxuICBCaGQgPSAnQkhEJyxcbiAgQmlmID0gJ0JJRicsXG4gIEJtZCA9ICdCTUQnLFxuICBCbmQgPSAnQk5EJyxcbiAgQm9iID0gJ0JPQicsXG4gIEJvdiA9ICdCT1YnLFxuICBCcmwgPSAnQlJMJyxcbiAgQnNkID0gJ0JTRCcsXG4gIEJ0biA9ICdCVE4nLFxuICBCd3AgPSAnQldQJyxcbiAgQnluID0gJ0JZTicsXG4gIEJ6ZCA9ICdCWkQnLFxuICBDYWQgPSAnQ0FEJyxcbiAgQ2RmID0gJ0NERicsXG4gIENoZSA9ICdDSEUnLFxuICBDaGYgPSAnQ0hGJyxcbiAgQ2h3ID0gJ0NIVycsXG4gIENsZiA9ICdDTEYnLFxuICBDbHAgPSAnQ0xQJyxcbiAgQ255ID0gJ0NOWScsXG4gIENvcCA9ICdDT1AnLFxuICBDb3UgPSAnQ09VJyxcbiAgQ3JjID0gJ0NSQycsXG4gIEN1YyA9ICdDVUMnLFxuICBDdXAgPSAnQ1VQJyxcbiAgQ3ZlID0gJ0NWRScsXG4gIEN6ayA9ICdDWksnLFxuICBEamYgPSAnREpGJyxcbiAgRGtrID0gJ0RLSycsXG4gIERvcCA9ICdET1AnLFxuICBEemQgPSAnRFpEJyxcbiAgRWdwID0gJ0VHUCcsXG4gIEVybiA9ICdFUk4nLFxuICBFdGIgPSAnRVRCJyxcbiAgRXVyID0gJ0VVUicsXG4gIEZqZCA9ICdGSkQnLFxuICBGa3AgPSAnRktQJyxcbiAgR2JwID0gJ0dCUCcsXG4gIEdlbCA9ICdHRUwnLFxuICBHaHMgPSAnR0hTJyxcbiAgR2lwID0gJ0dJUCcsXG4gIEdtZCA9ICdHTUQnLFxuICBHbmYgPSAnR05GJyxcbiAgR3RxID0gJ0dUUScsXG4gIEd5ZCA9ICdHWUQnLFxuICBIa2QgPSAnSEtEJyxcbiAgSG5sID0gJ0hOTCcsXG4gIEhyayA9ICdIUksnLFxuICBIdGcgPSAnSFRHJyxcbiAgSHVmID0gJ0hVRicsXG4gIElkciA9ICdJRFInLFxuICBJbHMgPSAnSUxTJyxcbiAgSW5yID0gJ0lOUicsXG4gIElxZCA9ICdJUUQnLFxuICBJcnIgPSAnSVJSJyxcbiAgSXNrID0gJ0lTSycsXG4gIEptZCA9ICdKTUQnLFxuICBKb2QgPSAnSk9EJyxcbiAgSnB5ID0gJ0pQWScsXG4gIEtlcyA9ICdLRVMnLFxuICBLZ3MgPSAnS0dTJyxcbiAgS2hyID0gJ0tIUicsXG4gIEttZiA9ICdLTUYnLFxuICBLcHcgPSAnS1BXJyxcbiAgS3J3ID0gJ0tSVycsXG4gIEt3ZCA9ICdLV0QnLFxuICBLeWQgPSAnS1lEJyxcbiAgS3p0ID0gJ0taVCcsXG4gIExhayA9ICdMQUsnLFxuICBMYnAgPSAnTEJQJyxcbiAgTGtyID0gJ0xLUicsXG4gIExyZCA9ICdMUkQnLFxuICBMc2wgPSAnTFNMJyxcbiAgTHlkID0gJ0xZRCcsXG4gIE1hZCA9ICdNQUQnLFxuICBNZGwgPSAnTURMJyxcbiAgTWdhID0gJ01HQScsXG4gIE1rZCA9ICdNS0QnLFxuICBNbWsgPSAnTU1LJyxcbiAgTW50ID0gJ01OVCcsXG4gIE1vcCA9ICdNT1AnLFxuICBNcnUgPSAnTVJVJyxcbiAgTXVyID0gJ01VUicsXG4gIE12ciA9ICdNVlInLFxuICBNd2sgPSAnTVdLJyxcbiAgTXhuID0gJ01YTicsXG4gIE14diA9ICdNWFYnLFxuICBNeXIgPSAnTVlSJyxcbiAgTXpuID0gJ01aTicsXG4gIE5hZCA9ICdOQUQnLFxuICBOZ24gPSAnTkdOJyxcbiAgTmlvID0gJ05JTycsXG4gIE5vayA9ICdOT0snLFxuICBOcHIgPSAnTlBSJyxcbiAgTnpkID0gJ05aRCcsXG4gIE9tciA9ICdPTVInLFxuICBQYWIgPSAnUEFCJyxcbiAgUGVuID0gJ1BFTicsXG4gIFBnayA9ICdQR0snLFxuICBQaHAgPSAnUEhQJyxcbiAgUGtyID0gJ1BLUicsXG4gIFBsbiA9ICdQTE4nLFxuICBQeWcgPSAnUFlHJyxcbiAgUWFyID0gJ1FBUicsXG4gIFJvbiA9ICdST04nLFxuICBSc2QgPSAnUlNEJyxcbiAgUnViID0gJ1JVQicsXG4gIFJ3ZiA9ICdSV0YnLFxuICBTYXIgPSAnU0FSJyxcbiAgU2JkID0gJ1NCRCcsXG4gIFNjciA9ICdTQ1InLFxuICBTZGcgPSAnU0RHJyxcbiAgU2VrID0gJ1NFSycsXG4gIFNnZCA9ICdTR0QnLFxuICBTaHAgPSAnU0hQJyxcbiAgU2xsID0gJ1NMTCcsXG4gIFNvcyA9ICdTT1MnLFxuICBTcmQgPSAnU1JEJyxcbiAgU3NwID0gJ1NTUCcsXG4gIFN0biA9ICdTVE4nLFxuICBTdmMgPSAnU1ZDJyxcbiAgU3lwID0gJ1NZUCcsXG4gIFN6bCA9ICdTWkwnLFxuICBUaGIgPSAnVEhCJyxcbiAgVGpzID0gJ1RKUycsXG4gIFRtdCA9ICdUTVQnLFxuICBUbmQgPSAnVE5EJyxcbiAgVG9wID0gJ1RPUCcsXG4gIFRyeSA9ICdUUlknLFxuICBUdGQgPSAnVFREJyxcbiAgVHdkID0gJ1RXRCcsXG4gIFR6cyA9ICdUWlMnLFxuICBVYWggPSAnVUFIJyxcbiAgVWd4ID0gJ1VHWCcsXG4gIFVzZCA9ICdVU0QnLFxuICBVc24gPSAnVVNOJyxcbiAgVXlpID0gJ1VZSScsXG4gIFV5dSA9ICdVWVUnLFxuICBVenMgPSAnVVpTJyxcbiAgVmVmID0gJ1ZFRicsXG4gIFZuZCA9ICdWTkQnLFxuICBWdXYgPSAnVlVWJyxcbiAgV3N0ID0gJ1dTVCcsXG4gIFhhZiA9ICdYQUYnLFxuICBYYWcgPSAnWEFHJyxcbiAgWGF1ID0gJ1hBVScsXG4gIFhiYSA9ICdYQkEnLFxuICBYYmIgPSAnWEJCJyxcbiAgWGJjID0gJ1hCQycsXG4gIFhiZCA9ICdYQkQnLFxuICBYY2QgPSAnWENEJyxcbiAgWGRyID0gJ1hEUicsXG4gIFhvZiA9ICdYT0YnLFxuICBYcGQgPSAnWFBEJyxcbiAgWHBmID0gJ1hQRicsXG4gIFhwdCA9ICdYUFQnLFxuICBYc3UgPSAnWFNVJyxcbiAgWHRzID0gJ1hUUycsXG4gIFh1YSA9ICdYVUEnLFxuICBYeHggPSAnWFhYJyxcbiAgWWVyID0gJ1lFUicsXG4gIFphciA9ICdaQVInLFxuICBabXcgPSAnWk1XJyxcbiAgWndsID0gJ1pXTCdcbn1cblxuXG5cbmV4cG9ydCB0eXBlIERlcGFydHVyZUJvYXJkU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdEZXBhcnR1cmVCb2FyZFNlcnZpY2UnO1xuICByaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdWlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtSXNIaWRkZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb24+PjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb24+PjtcbiAgc3Vic2VxdWVudExvY2F0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTdWJzZXF1ZW50TG9jYXRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIERlc3RpbmF0aW9uRW50cnkgPSB7XG4gIG9yaWc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZTogU2NhbGFyc1snRGF0ZSddO1xufTtcblxuZXhwb3J0IGVudW0gRGlzdGFuY2VUeXBlcyB7XG4gIEsgPSAnSycsXG4gIE0gPSAnTSdcbn1cblxuZXhwb3J0IGVudW0gRG9jR2VuZGVyIHtcbiAgTSA9ICdNJyxcbiAgRiA9ICdGJ1xufVxuXG5leHBvcnQgZW51bSBEb2NUeXBlIHtcbiAgUGFzc3BvcnQgPSAnUEFTU1BPUlQnLFxuICBWaXNhID0gJ1ZJU0EnLFxuICBJZENhcmQgPSAnSURfQ0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRG9jdW1lbnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGRvY1R5cGU6IEZpZWxkV3JhcHBlcjxEb2NUeXBlPjtcbiAgbmF0aW9uYWxpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPERvY0dlbmRlcj4+O1xuICBudW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29kZU9mSXNzdWluZ1N0YXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGVPZklzc3VlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZkV4cGlyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBwcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBEb2N1bWVudElucHV0ID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBkb2NUeXBlOiBEb2NUeXBlO1xuICBuYXRpb25hbGl0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ2VuZGVyPzogTWF5YmU8RG9jR2VuZGVyPjtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZU9mSXNzdWluZ1N0YXRlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlT2ZJc3N1ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGF0ZU9mRXhwaXJ5OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBwcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZlRmxpZ2h0U2VhcmNoUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnO1xuICBqb3VybmV5czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtdWx0aTogQXJyYXk8RmllbGRXcmFwcGVyPEl0aW5lcmFyeVN1bW1hcnk+PjtcbiAgZ3JvdXBlZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxHcm91cEZsaWdodHM+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9uRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPEZhcmVSdWxlVHlwZT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVtYXJrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZUZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbEZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlZnVuZGFibGVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG59O1xuXG5leHBvcnQgZW51bSBGYXJlUnVsZVR5cGUge1xuICBDYW5jZWxsYXRpb24gPSAnQ2FuY2VsbGF0aW9uJyxcbiAgQ2hhbmdlID0gJ0NoYW5nZScsXG4gIE5vU2hvdyA9ICdOb1Nob3cnLFxuICBVcGdyYWRlID0gJ1VwZ3JhZGUnLFxuICBPdGhlciA9ICdPdGhlcidcbn1cblxuZXhwb3J0IGVudW0gRmFyZVR5cGUge1xuICBGbGV4aWJsZSA9ICdGbGV4aWJsZScsXG4gIExvd2VzdCA9ICdMb3dlc3QnLFxuICBOZWdvdGlhdGVkID0gJ05lZ290aWF0ZWQnLFxuICBOb25OZWdvdGlhdGVkID0gJ05vbk5lZ290aWF0ZWQnLFxuICBMZWlzdXJlID0gJ0xlaXN1cmUnLFxuICBSZXF1ZXN0RmFyZVJ1bGVzID0gJ1JlcXVlc3RGYXJlUnVsZXMnLFxuICBTZWxlY3RBbmRQcm8gPSAnU2VsZWN0QW5kUHJvJ1xufVxuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWZ1bmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbXBvcnRhbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEFtb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnO1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0Q2FiaW5DbGFzcyB7XG4gIEFueSA9ICdBbnknLFxuICBMaXRlRWNvbm9teSA9ICdMaXRlRWNvbm9teScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlSZXN0cmljdGVkID0gJ0Vjb25vbXlSZXN0cmljdGVkJyxcbiAgRWNvbm9teU5vQmFncyA9ICdFY29ub215Tm9CYWdzJyxcbiAgRWNvbm9teUZsZXhpID0gJ0Vjb25vbXlGbGV4aScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVRvdGFsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCc7XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGRpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0SXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeSc7XG4gIHVpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgYmFzZUZhcmVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmFyZVBDQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBkaXNjbG9zdXJlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpblJhdz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25zJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSc7XG4gIG9wdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9ucz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodFJldmFsaWRhdGVSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UnO1xuICB2YWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoUmVzdWx0Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG4gIHJ1bGVBY3Rpb25TdW1tYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JztcbiAgaG90ZWxJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUm9vbT4+Pj47XG4gIHBycG4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNCdXN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ29udmVyc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nO1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvY2FsQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYWxUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjb252ZXJ0ZWRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb252ZXJ0ZWRUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxEZXBvc2l0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCc7XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbjogRmllbGRXcmFwcGVyPEhvdGVsTG9jYXRpb24+O1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8SG90ZWxBZGRyZXNzPjtcbiAgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRyYW5zcG9ydD4+Pj47XG4gIHByZWZlcnJlZDogRmllbGRXcmFwcGVyPEhvdGVsUHJlZmVycmVkPjtcbiAgdGFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRhZz4+Pj47XG4gIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIHN0YXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbic7XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE5pZ2h0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnO1xuICBuaWdodDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQYXltZW50VHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQb2xpY3kgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZ2VuZXJhbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBndWFyYW50ZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQcmVmZXJyZWQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnO1xuICBjbGllbnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb25zdW1lcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFJvb20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJztcbiAgcm9vbUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb29tRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3lDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDb252ZXJzaW9uPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxEZXBvc2l0Pj47XG4gIG5pZ2h0czogQXJyYXk8RmllbGRXcmFwcGVyPEhvdGVsTmlnaHQ+PjtcbiAgcG9saWNpZXM6IEZpZWxkV3JhcHBlcjxIb3RlbFBvbGljeT47XG4gIHRheDogRmllbGRXcmFwcGVyPEhvdGVsVGF4PjtcbiAgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENhcmQ+Pj4+O1xuICBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxQYXltZW50VHlwZT4+Pj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAganJmcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxKb3VybmV5VHlwZSB7XG4gIFJldHVybkpvdXJuZXkgPSAnUmV0dXJuSm91cm5leScsXG4gIFNpbmdsZUpvdXJuZXkgPSAnU2luZ2xlSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgSXJsUGx1c0J1cyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoZWFwZXN0VGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXQ+Pj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxTdXBwbGllciB7XG4gIFJlbmZlID0gJ1JlbmZlJyxcbiAgQmVOZSA9ICdCZU5lJyxcbiAgTnR2ID0gJ050didcbn1cblxuZXhwb3J0IHR5cGUgSXJsU3VwcGxpZXJTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmxjQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmFpbmxpbmVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWlubGluZVVuaXF1ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmFJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVSdWxlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWNvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0RmxpZ2h0Sm91cm5leSA9IHtcbiAgaWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmYXJlSW5mbz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG9yaWdpbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcmlnaW5UZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkYXRlVGltZURlcGFydGluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lQXJyaXZpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcGVyYXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvdGFsRHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FiaW5Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpblJhdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nTmFtZXM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RvcHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnb3Zlcm5pbmdDYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJyaWFnZUdyb3VwPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBJdGluZXJhcnlTdW1tYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknO1xuICBvcmRlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3JpZ2luOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtaW5QcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBtYXhQcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IHtcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzb0NvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlRGVwQm9hcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JztcbiAgc2VydmljZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RGVwYXJ0dXJlQm9hcmRTZXJ2aWNlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJztcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb29yZGluYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyaWRSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm9ydGhpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZWFzdGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTG9nTGV2ZWxUeXBlIHtcbiAgRXJyb3IgPSAnRVJST1InLFxuICBXYXJuID0gJ1dBUk4nLFxuICBJbmZvID0gJ0lORk8nLFxuICBIdHRwID0gJ0hUVFAnLFxuICBWZXJib3NlID0gJ1ZFUkJPU0UnLFxuICBEZWJ1ZyA9ICdERUJVRycsXG4gIFNpbGx5ID0gJ1NJTExZJ1xufVxuXG5leHBvcnQgdHlwZSBMb3VuZ2VMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBhZHVsdEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjaGlsZEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmZhbnRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGFuZHNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhaXJzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG9wZW5UaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3NlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aWZpPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0dj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc25hY2tzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW50ZXJuZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNoaWxkcmVuQWxsb3dlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNtb2tpbmdQZXJtaXR0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1hZ2F6aW5lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW5jbHVkZWREcmlua3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtZW51Rm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZERyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyb3VwSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVja0luSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcmVzc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllc0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZm9vZEFuZEJldmVyYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1lbmRtZW50c0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBsb3VuZ2U6IEZpZWxkV3JhcHBlcjxMb3VuZ2VMb2NhdGlvbj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBlbmZvcmNlVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlZEJ5RmllbGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Qm9va2VkQnlGaWVsZD4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZ3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBzZWxlY3RlZFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hpbmdGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cyc7XG4gIExpdGVFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teVJlc3RyaWN0ZWQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215Tm9CYWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teUZsZXhpPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1FY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBGaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1GaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheVRhcmdldDogRmllbGRXcmFwcGVyPE1lc3NhZ2VUYXJnZXQ+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbGlja1RvQ29uZmlybTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkRnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHZhbGlkVG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTWVzc2FnZVRhcmdldCB7XG4gIExvZ2luID0gJ0xPR0lOJyxcbiAgU2VhcmNoRm9ybSA9ICdTRUFSQ0hfRk9STScsXG4gIFJlc3VsdHMgPSAnUkVTVUxUUycsXG4gIE1pRm9ybSA9ICdNSV9GT1JNJyxcbiAgQmFza2V0QmVmb3JlQ29uZmlybSA9ICdCQVNLRVRfQkVGT1JFX0NPTkZJUk0nLFxuICBEYXNoYm9hcmQgPSAnREFTSEJPQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XG4gIHNhdmVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBkZWxldGVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEFkZHJlc3NBc1VzZXJQcmltYXJ5OiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNyZWF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGRlbGV0ZUJhc2tldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVwZGF0ZUJhc2tldFRpdGxlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgdXBkYXRlQmFza2V0Tm90ZXM6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRJdGVtVG9CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1zRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW9wZW5CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGJvb2tCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjYW5jZWxCb29raW5nOiBGaWVsZFdyYXBwZXI8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXA6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRNSURlZmF1bHRWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY29uZmlybU1lc3NhZ2VzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhY2NlcHROZXdQcmljZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNhdmVGYXZvdXJpdGVTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZWxldGVSZWNlbnRTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlZGl0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBzZXRVc2VyTGFuZ3VhZ2U6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlVXNlckFkZHJlc3NBcmdzID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWRkcmVzc0FzVXNlclByaW1hcnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZW5kQmFza2V0Rm9yQXBwcm92YWxBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVCYXNrZXRBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0VGl0bGVBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0Tm90ZXNBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkSXRlbVRvQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbUZyb21CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtc0Zyb21CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGJhc2tldEl0ZW1zOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkVXNlcnNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcnM6IEFycmF5PFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVVzZXJGcm9tQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlb3BlbkJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Cb29rQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxCb29raW5nQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlHcm91cEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRNaURlZmF1bHRWYWx1ZUFyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICB2YWx1ZTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlWYWx1ZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZpcm1NZXNzYWdlc0FyZ3MgPSB7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFjY2VwdE5ld1ByaWNlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25FZGl0VXNlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdXRoTWV0aG9kcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGJvb2tlclR5cGU/OiBNYXliZTxCb29rZXJUeXBlPjtcbiAgdG1jQWRtaW4/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWM/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgb2ZmaWNlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxvZ0xldmVsPzogTWF5YmU8TG9nTGV2ZWxUeXBlPjtcbiAgbGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbmZlcm1hSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIGFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueUFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2VsZWN0ZWRMYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBob25lTnVtYmVycz86IE1heWJlPEFycmF5PFBob25lTnVtYmVySW5wdXQ+PjtcbiAgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8QWRkcmVzc0lucHV0Pj47XG4gIHVzZXJNaURlZmF1bHRWYWx1ZXM/OiBNYXliZTxBcnJheTxVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQ+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RG9jdW1lbnRJbnB1dD4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxVc2VyTG95YWx0eUNvZGVJbnB1dD4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PFVzZXJQcmVmZXJlbmNlSW5wdXQ+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVc2VyTGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgT2ZmaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ09mZmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2VUb0FpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFByb2NlZHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWF4aW11bUNhclNpemU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW50cm9kdWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVySW5mb3JtYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJPcGVyYXRpbmdUaW1lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlclRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlZmF1bHRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBicmFuZEltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ1F1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNhclBhcms6IEZpZWxkV3JhcHBlcjxQYXJraW5nTG9jYXRpb24+O1xuICByZXF1aXJlZEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXJraW5nUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFBhc3NlbmdlclR5cGUge1xuICBBZHVsdCA9ICdBRFVMVCcsXG4gIENoaWxkID0gJ0NISUxEJyxcbiAgSW5mYW50ID0gJ0lORkFOVCdcbn1cblxuZXhwb3J0IHR5cGUgUGF5bWVudENvbmZpZyA9IHtcbiAgY3NwVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZ2VudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib29rZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXBpS2V5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2VydmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xpZW50SWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjY291bnRUeXBlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RJbnB1dCA9IHtcbiAgY29uZmlnPzogTWF5YmU8UGF5bWVudENvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlciA9IHtcbiAgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFyZWFDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZVR5cGU+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlcklucHV0ID0ge1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFyZWFDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU/OiBNYXliZTxQaG9uZVR5cGU+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgZW51bSBQaG9uZVR5cGUge1xuICBNb2JpbGUgPSAnTU9CSUxFJyxcbiAgTGFuZGxpbmUgPSAnTEFORExJTkUnLFxuICBGYXggPSAnRkFYJyxcbiAgT3RoZXIgPSAnT1RIRVInXG59XG5cbmV4cG9ydCB0eXBlIFBvc3Rjb2RlRGV0YWlscyA9IHtcbiAgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnO1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBlYXN0aW5ncz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBub3J0aGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldXJvcGVhbkVsZWN0b3JhbFJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmltYXJ5Q2FyZVRydXN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1zb2E/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG91dGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGFybGlhbWVudGFyeUNvbnN0aXR1ZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkRpc3RyaWN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmlzaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbldhcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2VkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNjZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBQcmVmZXJlbmNlS2V5IHtcbiAgTWVhbFJlcXVlc3QgPSAnTUVBTF9SRVFVRVNUJyxcbiAgU2VhdGluZ1ByZWZlcmVuY2UgPSAnU0VBVElOR19QUkVGRVJFTkNFJyxcbiAgU3BlYWNpYWxOZWVkID0gJ1NQRUFDSUFMX05FRUQnLFxuICBTZWF0TG9jYXRpb24gPSAnU0VBVF9MT0NBVElPTicsXG4gIFNlYXRQb3NpdGlvbiA9ICdTRUFUX1BPU0lUSU9OJyxcbiAgU2VhdERpcmVjdGlvbiA9ICdTRUFUX0RJUkVDVElPTidcbn1cblxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUXVlcnknO1xuICBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBzZWFyY2hBaXJsaW5lczogRmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHRzPjtcbiAgc2VhcmNoQWlycG9ydHM6IEZpZWxkV3JhcHBlcjxBaXJwb3J0UmVzdWx0cz47XG4gIGdldFVzZXJCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBnZXRVc2VyQmFza2V0czogQXJyYXk8RmllbGRXcmFwcGVyPEJhc2tldD4+O1xuICBlbWFpbEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2VhcmNoQ2FySGlyZTogRmllbGRXcmFwcGVyPENhckhpcmVSZXN1bHQ+O1xuICBnZXRDYXJIaXJlRGVwb3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiBGaWVsZFdyYXBwZXI8Q2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZT47XG4gIGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhcmJvbkFsbG93YW5jZT4+O1xuICBzZWFyY2hDaXRpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDaXR5Pj47XG4gIGdldENvbXBhbmllczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgZ2V0Q29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIGFwcGx5SklURmxpZ2h0UnVsZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBzZWFyY2hGbGlnaHRzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0c1YyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBzZWFyY2hFdXJvc3RhcjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVJ1bGVzUmVzdWx0PjtcbiAgZ2V0RmxpZ2h0TWVhbE9wdGlvbnM6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXN1bHQ+O1xuICBhbGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxDaGFpbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hIb3RlbHM6IEZpZWxkV3JhcHBlcjxIb3RlbFNlYXJjaFJlc3VsdD47XG4gIGdldEhvdGVsQXZhaWxhYmlsaXR5OiBGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsVHJhdmVsQ2FyZD4+O1xuICBnZXRJUkxTdXBwbGllclN0YXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTdXBwbGllclN0YXRpb24+PjtcbiAgc2VhcmNoSVJMOiBGaWVsZFdyYXBwZXI8SXJsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0UmFpbExpdmVEZXBhcnR1cmVzOiBGaWVsZFdyYXBwZXI8TGl2ZURlcEJvYXJkUmVzdWx0PjtcbiAgc2VhcmNoTG91bmdlczogRmllbGRXcmFwcGVyPExvdW5nZVNlYXJjaFJlc3VsdD47XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkYXRlQmFza2V0SXRlbU1JOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWVzc2FnZT4+O1xuICBnZXRVc2VyQ29tcGFueU9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgc2VhcmNoUGFya2luZzogRmllbGRXcmFwcGVyPFBhcmtpbmdTZWFyY2hSZXN1bHQ+O1xuICBnZXRCYXNrZXRJdGVtUGF5bWVudFN1cHBsbWVudGFyeUluZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzOiBGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPjtcbiAgcG9zdGNvZGVBdXRvU3VnZ2VzdDogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaFBvc3Rjb2RlczogQXJyYXk8RmllbGRXcmFwcGVyPFBvc3Rjb2RlRGV0YWlscz4+O1xuICBpc1Bvc3Rjb2RlVmFsaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRSYWlsU3RhdGlvbjogRmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uPjtcbiAgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+PjtcbiAgc2VhcmNoUmFpbDogRmllbGRXcmFwcGVyPFJhaWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsY2FyZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcj4+O1xuICBnZXRSaXNrQWxlcnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Umlza0FsZXJ0Pj47XG4gIGdldFVzZXJUcmF2ZWxSdWxlczogRmllbGRXcmFwcGVyPFRyYXZlbFJ1bGVzQ29sbGVjdGlvbj47XG4gIGFwcGx5SklUSG90ZWxSdWxlczogRmllbGRXcmFwcGVyPEFwcGx5Sml0UnVsZXNSZXN1bHQ+O1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldEZsaWdodFNlYXRNYXA6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwUmVzdWx0PjtcbiAgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBnZXRURlhTdXBwbGllclJvdXRlczogRmllbGRXcmFwcGVyPFRmeFN1cHBsaWVyUm91dGVzUmVzdWx0PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RW1haWxCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDYWJIaXJlQXJncyA9IHtcbiAgZGVwYXJ0czogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB2aWFzPzogTWF5YmU8QXJyYXk8TWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+Pj47XG4gIHZlaGljbGVUeXBlPzogTWF5YmU8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hVc2VyQ2FuQm9va0ZvckFyZ3MgPSB7XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYW5jZWxsYXRpb25JbmZvQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDYXJIaXJlQXJncyA9IHtcbiAgYWlycG9ydD86IE1heWJlPENhckhpcmVBaXJwb3J0SW5wdXQ+O1xuICBjaXR5PzogTWF5YmU8Q2FySGlyZUNpdHlJbnB1dD47XG4gIGxvY2F0aW9uPzogTWF5YmU8Q2FySGlyZUxvY2F0aW9uSW5wdXQ+O1xuICBkZXBvdD86IE1heWJlPElucHV0Q2FySGlyZURlcG90PjtcbiAgcGlja3VwRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkcm9wb2ZmRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FySGlyZURlcG90c0FyZ3MgPSB7XG4gIGxhdGl0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBsb25naXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIHJhZGl1cz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEFyZ3MgPSB7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VBcmdzID0ge1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2l0aWVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb21wYW5pZXNBcmdzID0ge1xuICBxdWVyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb21wYW55QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDb25mZXJtYUNpdGllc0FyZ3MgPSB7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hT2ZmaWNlQXJncyA9IHtcbiAgb2ZmaWNlSWQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hUXVpY2tsaXN0QXJncyA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hUm9vbUltYWdlc0FyZ3MgPSB7XG4gIGhvdGVsSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZhc3RUcmFja0FyZ3MgPSB7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRGbGlnaHRSdWxlc0FyZ3MgPSB7XG4gIHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmxpZ2h0c0FyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNWMkFyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEV1cm9zdGFyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0RmxpZ2h0RmFyZVJ1bGVzQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0RmxpZ2h0TWVhbE9wdGlvbnNBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbENoYWluc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbHNBcmdzID0ge1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SG90ZWxBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldElybERpc2NvdW50Q2FyZHNBcmdzID0ge1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsTGl2ZURlcGFydHVyZXNBcmdzID0ge1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJpc2tBbGVydHNBcmdzID0ge1xuICBtaW5MZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIG1heExldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRIb3RlbFJ1bGVzQXJncyA9IHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyUmVjZW50U2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRTZWF0TWFwQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VGZ4U3VwcGxpZXJSb3V0ZXNBcmdzID0ge1xuICBzdXBwbGllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9uZVdheU9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJVaUNvbmZpZ3NBcmdzID0ge1xuICB0YXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsQWNjb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0RlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxDYWxsaW5nUG9pbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCc7XG4gIHN0YXRpb25OYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2NoZWR1bGVkUGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNsYXNzaWZpY2F0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj47XG4gIHN0b3BwaW5nUGF0dGVybjogRmllbGRXcmFwcGVyPFJhaWxTdG9wcGluZ1BhdHRlcm4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUZhcmUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWxpdmVyeU9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5TGVnID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWxsaW5nUG9pbnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nO1xuICBmcm9tOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnREYXRlVGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlMZWdzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlMZWc+PjtcbiAgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlU3BsaXRPdXRib3VuZEZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0UmV0dXJuRmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsUHJvdmlkZXI+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsUGx1c0J1cz4+O1xuICBvdmVydGFrZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgdHJhdmVsQ2FyZHNBZGRvbkZsYWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHN1bW1hcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsU2VhcmNoSm91cm5leVR5cGUge1xuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknLFxuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXREZWxpdmVyeU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24nO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmxlU2VhdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0Pj4+PjtcbiAgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRRdWV1ZT4+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0UXVldWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0VGVybXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJztcbiAgZXJyb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQWx0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByZUJvb2tpbmdSZXF1aXJlbWVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsVmFsaWRpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRPdXRSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkUmV0dXJuUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hpbGREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYWlsY2FyZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZENhbmNlbGxhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlCcmVha1J1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmlsaXR5UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2RBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAga2lvc2tBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhcnREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RHluYW1pY0NvbmRpdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xuICBwYXltZW50TWV0aG9kRGV0YWlscz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgRHJvcGRvd24gPSAnRFJPUERPV04nLFxuICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBhZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdG1jQWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VyVHlwZTogRmllbGRXcmFwcGVyPEJvb2tlclR5cGU+O1xuICBhdXRoTWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzZWxlY3RlZExhbmd1YWdlOiBGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+O1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxMYW5ndWFnZT4+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIG9mZmljZTogRmllbGRXcmFwcGVyPE9mZmljZT47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9nTGV2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9nTGV2ZWxUeXBlPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJNaURlZmF1bHRWYWx1ZT4+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPERvY3VtZW50Pj4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlckxveWFsdHlDb2RlPj4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUHJlZmVyZW5jZT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZUlucHV0ID0ge1xuICBjYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnO1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQgPSB7XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIG1hbmFnZW1lbnRJbmZvOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGZyZWVUZXh0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHBhc3NlbmdlclR5cGU6IEZpZWxkV3JhcHBlcjxQYXNzZW5nZXJUeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBwYXNzZW5nZXJUeXBlOiBQYXNzZW5nZXJUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclByZWZlcmVuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPj47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJlZmVyZW5jZUtleT4+O1xuICBwcmVmZXJlbmNlVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2VJbnB1dCA9IHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxQcmVmZXJlbmNlS2V5PjtcbiAgcHJlZmVyZW5jZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU3Vic2VxdWVudExvY2F0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8QXNzb2NpYXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWNjZXB0TmV3UHJpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4gfCBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0O1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZFVzZXJzVG9CYXNrZXRJdGVtOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT4gfCBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdhcHBseUpJVEZsaWdodFJ1bGVzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+IHwgU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgYXBwbHlKSVRIb3RlbFJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FwcGx5SklUUnVsZXNSZXN1bHQnIH1cbiAgICAmIFBpY2s8QXBwbHlKaXRSdWxlc1Jlc3VsdCwgJ3Jlc3VsdCc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIE93bmVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuKTtcblxuZXhwb3J0IHR5cGUgQmFza2V0RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Jvb2tlZEF0JyB8ICdzdGF0dXMnIHwgJ3ZhbGlkYXRlZCc+XG4gICYgeyBvd25lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBPd25lckZpZWxkc0ZyYWdtZW50XG4gICksIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nIH1cbiAgICAmIE1ha2VPcHRpb25hbDxQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3N0YXR1cycgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz4sICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJz5cbiAgICAmIHsgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlcnZpY2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJz5cbiAgICApLCB1c2VyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnIH1cbiAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAmIHsgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBkZWZhdWx0VmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICYgeyB2YWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiwgY29tcGFueUdyb3VwPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnIH1cbiAgICAmIFBpY2s8Q29tcGFueUdyb3VwLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVCYXNrZXQnPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNyZWF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZW1vdmVJdGVtRnJvbUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2VuZEJhc2tldEZvckFwcHJvdmFsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+IHwgTWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvMlBlckl0ZW0/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRJdGVtVG9CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgcmV2YWxpZGF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+IHwgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBib29rQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4gfCBNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FiSGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnIH1cbiAgICAgICYgUGljazxDYWJIaXJlUXVvdGUsICdpZCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnc3VwcGxpZXJOYW1lJyB8ICdlc3RpbWF0ZWRDTzInIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICd2ZWhpY2xlVHlwZScgfCAndHJpcERpc3RhbmNlTWV0cmVzJyB8ICd0cmlwRHVyYXRpb25TZWNvbmRzJyB8ICdkZXBhcnRzJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICAgJiB7IGZyb21Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB0b0xvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHZpYXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY2FuY2VsQm9va2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvLCAnY2FuY2VsbGVkJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnIH1cbiAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICk+LCB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICApPiwgYWRkcmVzcz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWVzc2FnZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdjb25maXJtTWVzc2FnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVGYXZvdXJpdGVTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVSZWNlbnRTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlVXNlckFkZHJlc3MnPlxuKTtcblxuZXhwb3J0IHR5cGUgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBFbWFpbEJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGVtYWlsQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0JyB9XG4gICAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJyB8ICdib29rZWRBdCc+XG4gICAgJiB7IG93bmVyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICk+LCB0bWM6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICYgUGljazxUbWMsICduYW1lJz5cbiAgICAgICksIG9mZmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgKSwgY29tcGFueUdyb3VwczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAmIHsgY29tcGFueTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICYgeyB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICkgfVxuICAgICAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICk+LCBhcHByb3ZlcnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgYXBwcm92ZXJGb3I6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4+IH1cbiAgICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0SXRlbScgfVxuICAgICAgJiBQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3BuckxvY2F0b3InIHwgJ2Jvb2tpbmdEZXRhaWwnIHwgJ3N0YXR1cycgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz5cbiAgICAgICYgeyB1c2VyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICApPiwgdG1jOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKSwgb2ZmaWNlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICApLCBjb21wYW55R3JvdXBzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueUdyb3VwJyB9XG4gICAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55JyB9XG4gICAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVyJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVlJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnRG9jdW1lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4gfVxuICAgICAgKT4sIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+IH1cbiAgICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICksIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZW5mb3JjZVVzZXJEZWZhdWx0JyB8ICdib29rZWRCeUZpZWxkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZXJ2aWNlJyB9XG4gICAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJz5cbiAgICAgICAgKSwgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgKT4gfVxuICAgICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICYgUGljazxUbWMsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICAgICk+LCB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKSwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICk+IH1cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICYgUGljazxGbGlnaHRKb3VybmV5LCAnaWQnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdjYWJpbkNsYXNzJyB8ICdjYWJpbkNvZGUnIHwgJ2NhYmluUmF3JyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAnZmFyZUJhc2lzQ29kZScgfCAnZ292ZXJuaW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnc3RvcHMnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ3NlYXRzQXZhaWxhYmxlJyB8ICd2ZW5kb3JDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICk+LCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+IH1cbiAgKSwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VJbmZvLCAnaWQnIHwgJ25hbWUnIHwgJ2Nsb3Nlc3RBaXJwb3J0JyB8ICdjbG9zZXN0VHJhaW5TdGF0aW9uJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICYgeyBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUFkZHJlc3MsICdhZGRyZXNzTmFtZScgfCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdGFsQ29kZScgfCAnY2l0eScgfCAnY291bnRyeUNvZGUnIHwgJ2NvdW50cnlOYW1lJyB8ICd0ZWxlcGhvbmVOdW1iZXInIHwgJ2ZhY3NpbWlsZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJyB8ICdzdGF0ZVByb3ZpbmNlJyB8ICdtb2JpbGVOdW1iZXInPlxuICAgICAgKT4sIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VIb3RlbHMsICdob3RlbElkJyB8ICdob3RlbE5hbWUnIHwgJ2lzUHJlZmVycmVkJz5cbiAgICAgICk+Pj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlTmFtZXMsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYVF1aWNrbGlzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldENvbmZlcm1hUm9vbUltYWdlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRGYXJlUnVsZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlUnVsZXNSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRTZWF0TWFwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGFpcmNyYWZ0OiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwQWlyY3JhZnQnIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBBaXJjcmFmdCwgJ2NhcnJpZXInIHwgJ251bWJlcicgfCAndHlwZSc+XG4gICAgICApLCBzZWF0czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRzJyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdHMsICdyb3cnIHwgJ2NvbHVtbicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgJiB7IGF0dHJpYnV0ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcywgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JyB9XG4gICAgJiB7IHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZScgfVxuICAgICAgJiBQaWNrPERlcGFydHVyZUJvYXJkU2VydmljZSwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29wZXJhdG9yJyB8ICdvcGVyYXRvckNvZGUnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJz5cbiAgICAgICYgeyBvcmlnaW4/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBkZXN0aW5hdGlvbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJyB9XG4gICAgICAgICYgUGljazxTdWJzZXF1ZW50TG9jYXRpb25zLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2NycycgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nIHwgJ3N0YScgfCAnZXRhJyB8ICdhcnJpdmFsVHlwZScgfCAnYXJyaXZhbFNvdXJjZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZSc+XG4gICAgICAgICYgeyBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEFzc29jaWF0aW9uLCAnY2F0ZWdvcnknIHwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29yaWdpbicgfCAnb3JpZ2luQ1JTJyB8ICdvcmlnaW5UaXBsb2MnIHwgJ2Rlc3RpbmF0aW9uJyB8ICdkZXN0Q1JTJyB8ICdkZXN0VGlwbG9jJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbGNhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJyB9XG4gICAgJiBQaWNrPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyLCAnbmFtZScgfCAnY29kZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWluTGV2ZWw6IFJpc2tMZXZlbDtcbiAgbWF4TGV2ZWw6IFJpc2tMZXZlbDtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Umlza0FsZXJ0czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSaXNrQWxlcnQnIH1cbiAgICAmIFBpY2s8Umlza0FsZXJ0LCAnaWQnIHwgJ3RpdGxlJyB8ICdkZXNjcmlwdGlvbicgfCAnYnJlYWtpbmcnIHwgJ3Jpc2snIHwgJ2NhdGVnb3J5JyB8ICdjb3VudHJ5JyB8ICdsb2NhdGlvbicgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJyB8ICdyZWNlaXZlZERhdGUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnIH1cbiAgICAmIFBpY2s8Q2FyYm9uQWxsb3dhbmNlLCAnaWQnIHwgJ3N0YXJ0T2ZQZXJpb2QnIHwgJ2VuZE9mUGVyaW9kJyB8ICdyZW1haW5pbmdDbzInIHwgJ3RvdGFsQ28yJyB8ICdjYXJib25Qb2xpY3lTb3VyY2UnPlxuICAgICYgeyBjb21wYW55PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnknIH1cbiAgICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCBvZmZpY2U/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCB1c2VyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgICApLCBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJyB9XG4gICAgICAmIFBpY2s8Q2FyYm9uQ29uc3VtcHRpb24sICdpZCcgfCAnY29uc3VtZWQnIHwgJ2RhdGV0aW1lJz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdzZWFyY2hBcmdzJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnbmFtZScgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICd0cmF2ZWxEYXRlJz5cbiAgICAmIHsgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZG9iJz5cbiAgICApPj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdpbWFnZVVybCcgfCAncHJwbicgfCAnY3VycmVuY3lDb2RlJyB8ICdpc0J1c3knIHwgJ3NvdXJjZScgfCAndmVyc2lvbic+XG4gICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJyB9XG4gICAgJiBQaWNrPEhvdGVsUm9vbSwgJ3Jvb21JZCcgfCAncm9vbVR5cGUnIHwgJ3Jvb21EZXNjcmlwdGlvbicgfCAncmF0ZUNvZGUnIHwgJ3JhdGVTb3VyY2UnIHwgJ3JhdGVEZXNjcmlwdGlvbicgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICk+LCBwb2xpY2llczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgKSwgdGF4OiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICApPj4+IH1cbiAgKT4+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSG90ZWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbScgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbic+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaG90ZWw6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eTogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICYgUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIElzUG9zdGNvZGVWYWxpZFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnaXNQb3N0Y29kZVZhbGlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uX0RldGFpbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hBaXJwb3J0czogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0UmVzdWx0cycgfVxuICAgICYgeyBpYXRhTWF0Y2g/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoTG91bmdlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8TG91bmdlUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBsb3VuZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb3VuZ2VMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdhZGRyZXNzJyB8ICd0ZWxlcGhvbmUnIHwgJ2ZheCcgfCAnZGlyZWN0aW9ucycgfCAnaW50cm9kdWN0aW9uJyB8ICdsb2dvJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnYWR1bHRBZ2UnIHwgJ2NoaWxkQWdlJyB8ICdpbmZhbnRBZ2UnIHwgJ2xhbmRzaWRlJyB8ICdhaXJzaWRlJyB8ICdmYWNpbGl0aWVzJyB8ICdvcGVuVGltZScgfCAnY2xvc2VUaW1lJyB8ICd3aWZpJyB8ICd0dicgfCAnc25hY2tzJyB8ICdwaG9uZScgfCAnaW50ZXJuZXQnIHwgJ2NoaWxkcmVuQWxsb3dlZCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2RyaW5rcycgfCAnZnJlZURyaW5rcycgfCAnZnJlZUZvb2QnIHwgJ3Ntb2tpbmdQZXJtaXR0ZWQnIHwgJ21hZ2F6aW5lcycgfCAnaW5jbHVkZWREcmlua3MnIHwgJ21lbnVGb29kJyB8ICdtZW51RHJpbmtzJyB8ICdtZW51RXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRHJpbmtzJyB8ICd3aGF0c0luY2x1ZGVkRXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRm9vZCcgfCAnZ3JvdXBJbmZvJyB8ICdjaGVja0luSW5mbycgfCAnZHJlc3NDb2RlJyB8ICdmYWNpbGl0aWVzSW5mbycgfCAnZm9vZEFuZEJldmVyYWdlJyB8ICdjYW5jZWxsYXRpb25JbmZvJyB8ICdhbWVuZG1lbnRzSW5mbycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIG5ld0Jhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hQYXJraW5nUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0RGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dEZsaWdodE51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVjb21tZW5kZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtZWV0QW5kR3JlZXQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kUmlkZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRTdHJvbGw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hQYXJraW5nOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdRdW90ZScgfVxuICAgICAgJiBQaWNrPFBhcmtpbmdRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3JlcXVpcmVkSW5mbycgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaXNjJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgICAmIHsgY2FyUGFyazogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxQYXJraW5nTG9jYXRpb24sICdjb2RlJyB8ICduYW1lJyB8ICdhaXJwb3J0JyB8ICd0ZXJtaW5hbCcgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWRkcmVzcycgfCAnZGlzdGFuY2VUb0FpcnBvcnQnIHwgJ29uQWlycG9ydCcgfCAnY2FyUGFya2VkRm9yWW91JyB8ICdtZWV0QW5kR3JlZXQnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdhcnJpdmFsUHJvY2VkdXJlJyB8ICdkZXBhcnR1cmVQcm9jZWR1cmUnIHwgJ21heGltdW1DYXJTaXplJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2luZm9ybWF0aW9uJyB8ICd0cmFuc2ZlckluZm9ybWF0aW9uJyB8ICd0cmFuc2Zlck9wZXJhdGluZ1RpbWVzJyB8ICd0cmFuc2ZlclRpbWUnIHwgJ2xvZ28nIHwgJ2RlZmF1bHRJbWFnZScgfCAnYnJhbmRJbWFnZScgfCAnbW9iaWxlSW1hZ2UnIHwgJ2Z1cnRoZXJJbWFnZXMnIHwgJ21pc2MnPlxuICAgICAgKSB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICYgUGljazxSYWlsSm91cm5leUZhcmUsICdwcm92aWRlcklkJyB8ICdwcm92aWRlck5hbWUnIHwgJ3R5cGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnZmFyZUhhc2gnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybic+XG4gICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdqb3VybmV5VHlwZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RvZEF2YWlsYWJsZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnPlxuICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAmIFBpY2s8RHluYW1pY0NvbmRpdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPj4+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICYgUGljazxSYWlsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdqb3VybmV5SGFzaCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NoYW5nZXMnIHwgJ292ZXJ0YWtlbic+XG4gICYgeyBqb3VybmV5TGVnczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZycgfVxuICAgICYgUGljazxSYWlsSm91cm5leUxlZywgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdkZXBhcnREYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cyc+XG4gICAgJiB7IGNhbGxpbmdQb2ludHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JyB9XG4gICAgICAmIFBpY2s8UmFpbENhbGxpbmdQb2ludCwgJ3N0YXRpb25OYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnYXJyaXZhbERhdGVUaW1lJyB8ICdkZXBhcnR1cmVEYXRlVGltZScgfCAnc2NoZWR1bGVkUGxhdGZvcm0nIHwgJ3N0YXRpb25DbGFzc2lmaWNhdGlvbicgfCAnc3RvcHBpbmdQYXR0ZXJuJz5cbiAgICApPiB9XG4gICk+LCBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCByZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+Piwgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgKT4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICk+IH1cbiAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPiB8IFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZUlkJyB8ICdzdW1tYXJ5JyB8ICd0cmF2ZWxDYXJkc0FkZG9uRmxhZyc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRcbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+IHwgTWF5YmU8U2NhbGFyc1snSUQnXT4+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlVXNlckFkZHJlc3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcmxpbmVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCcgfVxuICAgICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENpdGllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDaXR5JyB9XG4gICAgJiBQaWNrPENpdHksICdpZCcgfCAnbmFtZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2NvbnRpbmVudE5hbWUnPlxuICAgICYgeyBjb29yZGluYXRlczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgKSB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDb25mZXJtYUNpdGllczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbicgfVxuICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbiwgJ2ZvdW5kRXhhY3QnPlxuICAgICYgeyBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMsICduYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRXVyb3N0YXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiwgbXVsdGk6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknIH1cbiAgICAgICAgJiBQaWNrPEl0aW5lcmFyeVN1bW1hcnksICdvcmRlcicgfCAnb3JpZ2luJyB8ICdkZXN0aW5hdGlvbicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aEdyb3VwZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hGbGlnaHRzVjI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIFBpY2s8RmxpZ2h0U2VhcmNoUmVzdWx0VjIsICdydWxlQWN0aW9uU3VtbWFyeSc+XG4gICAgJiB7IHJlc3VsdHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnIH1cbiAgICAgICYgeyBqb3VybmV5czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICdiYXNlRmFyZUlkJyB8ICd1aWQnIHwgJ2Rpc2Nsb3N1cmVzJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnam91cm5leUhhc2gnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2pvdXJuZXlIYXNoJz5cbiAgICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGdyb3VwZWQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgICAgICAgJiBHcm91cGVkRmllbGRzRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3NlYXJjaEhvdGVsQ2hhaW5zJz5cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpcmxEaXNjb3VudENhcmRzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnIH1cbiAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbicgfVxuICAgICYgUGljazxJcmxTdXBwbGllclN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3VwcGxpZXInIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRQb3N0Y29kZURldGFpbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJyB9XG4gICAgJiBQaWNrPFBvc3Rjb2RlRGV0YWlscywgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1NSUdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JVmFsdWU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBwYXltZW50TWV0aG9kOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldE5vdGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXRUaXRsZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXNlckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEb2N1bWVudCcgfVxuICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyVUlDb25maWdzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnQ29sbGVjdGlvbicgfVxuICAgICYgeyBhbGw6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZycgfVxuICAgICAgJiBQaWNrPFVpQ29uZmlnLCAnaWQnIHwgJ2NvbmZpZycgfCAna2V5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWVzc2FnZScgfVxuICAgICYgUGljazxNZXNzYWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnIHwgJ3RhcmdldCcgfCAna2V5JyB8ICdkaXNwbGF5VGFyZ2V0JyB8ICdhZ2VudE9ubHknIHwgJ2NsaWNrVG9Db25maXJtJyB8ICd2YWxpZEZyb20nIHwgJ3ZhbGlkVG8nPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldFVzZXJMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCc+XG4gICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnPlxuICAgICkgfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFVzZXJGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICd2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSc+XG4pO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEZsaWdodFJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEhvdGVsUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlbJ2FwcGx5SklUSG90ZWxSdWxlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYXZlbGxlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVHJhdmVsbGVyRmllbGRzRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3duZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE93bmVyRmllbGRzRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQmFza2V0RmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBCYXNrZXRGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgT3duZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnb3duZXInXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVQYXltZW50TWV0aG9kcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VsZWN0ZWRQYXltZW50TWV0aG9kJ107XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnY29tcGFueUdyb3VwJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzID0gR2V0VXNlckJhc2tldHNRdWVyeVsnZ2V0VXNlckJhc2tldHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUJhc2tldE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVCYXNrZXQgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblsnY3JlYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlSXRlbUZyb21CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblsncmVtb3ZlSXRlbUZyb21CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25bJ3NlbmRCYXNrZXRGb3JBcHByb3ZhbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZEl0ZW1Ub0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXQgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblsnYWRkSXRlbVRvQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXQgPSBHZXRVc2VyQmFza2V0UXVlcnlbJ2dldFVzZXJCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZXZhbGlkYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldCA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblsncmV2YWxpZGF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJvb2tCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQm9va0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBCb29rQmFza2V0ID0gQm9va0Jhc2tldE11dGF0aW9uWydib29rQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FiSGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYWJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmUgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRnJvbUxvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydmcm9tTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVG9Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndG9Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBWaWFzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd2aWFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsQm9va2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxCb29raW5nTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmcgPSBDYW5jZWxCb29raW5nTXV0YXRpb25bJ2NhbmNlbEJvb2tpbmcnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhckhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FySGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBEaXNwbGF5UmVjb3JkID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgVmVoaWNsZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZWhpY2xlJ107XG4gIGV4cG9ydCB0eXBlIENoYXJnZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnY2hhcmdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBpY2t1cExvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3BpY2t1cExvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybkxvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3JldHVybkxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlybU1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlRmF2b3VyaXRlU2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRW1haWxCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEVtYWlsQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEVtYWlsQmFza2V0ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgT3duZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG4gIGV4cG9ydCB0eXBlIF9fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIF9BdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9PZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55R3JvdXBzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBfX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlclBhc3NlbmdlclR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTGVhZFBhc3NlbmdlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBfX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VydmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZGVmYXVsdFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFZhbHVlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVBheW1lbnRNZXRob2RzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VsZWN0ZWRQYXltZW50TWV0aG9kJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddO1xuICBleHBvcnQgdHlwZSBfX0NvbXBhbnkgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBfX19fVG1jID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9fT2ZmaWNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX19BdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVG1jID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0FwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlckZvciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3N1cHBvcnRQaG9uZU51bWJlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEVycm9ycyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRXJyb3JzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBFcnJvcnNGcmFnbWVudFsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwZWRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmxpZ2h0cyA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudFsnZmxpZ2h0cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZsaWdodEpvdXJuZXlGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmFyZUluZm8gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9yaWdpbkFpcnBvcnREZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlRGVwb3RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVEZXBvdHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90cyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVsnZ2V0Q2FySGlyZURlcG90cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBDbG9zZXN0SG90ZWxzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddWydjbG9zZXN0SG90ZWxzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVF1aWNrbGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3QgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBUcmFuc3BvcnRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndGFncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVJhdGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVJvb21JbWFnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRGYXJlUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZsaWdodFNlYXRNYXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFpcmNyYWZ0ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhaXJjcmFmdCddO1xuICBleHBvcnQgdHlwZSBTZWF0cyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdHRyaWJ1dGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl1bJ2F0dHJpYnV0ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsRGlzY291bnRDYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlbJ2dldElSTERpc2NvdW50Q2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybFN1cHBsaWVyU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb24gPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsTGl2ZURlcGFydHVyZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcmlnaW4gPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnb3JpZ2luJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFzc29jaWF0aW9ucyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydzdWJzZXF1ZW50TG9jYXRpb25zJ11bbnVtYmVyXVsnYXNzb2NpYXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb24gPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsY2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsY2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzID0gR2V0UmFpbGNhcmRzUXVlcnlbJ2dldFJhaWxjYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Umlza0FsZXJ0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSaXNrQWxlcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHMgPSBHZXRSaXNrQWxlcnRzUXVlcnlbJ2dldFJpc2tBbGVydHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJBZGRyZXNzZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIE9mZmljZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBQZXJpb2RDb25zdW1wdGlvbiA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3BlcmlvZENvbnN1bXB0aW9uJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlbJ2dldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVsnZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSb29tQXZhbGlhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVscyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hIb3RlbHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leUZhcmUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50WydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmFpbEpvdXJuZXlPcHRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlMZWdzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYWxsaW5nUG9pbnRzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnc2luZ2xlSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRHVhbFNpbmdsZUpvdXJuZXlGYXJlcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2R1YWxTaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcGVuUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnb3BlblJldHVybkpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldFF1ZXVlTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFjY291bnRzTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3BsdXNCdXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uWydzYXZlRmF2b3VyaXRlU2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaCA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblsnc2F2ZVJlY2VudFNlYXJjaCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uWydzYXZlVXNlckFkZHJlc3MnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJsaW5lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlybGluZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENpdGllcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENvbmZlcm1hQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ107XG4gIGV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25zID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXVsnc3VnZ2VzdGlvbnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEV1cm9zdGFyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JR3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uWydzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSVZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblsnc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXROb3RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uWyd1cGRhdGVCYXNrZXROb3RlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldFRpdGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZSA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25bJ3VwZGF0ZUJhc2tldFRpdGxlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlckZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gVXNlckZpZWxkc0ZyYWdtZW50WydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERvY3VtZW50cyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJTZXJ2aWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVsnZ2V0VXNlclNlcnZpY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyVWlDb25maWdzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlncyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddO1xuICBleHBvcnQgdHlwZSBBbGwgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXVsnYWxsJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWVzc2FnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlbJ2dldFVzZXJNZXNzYWdlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lTnVtYmVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldFVzZXJMYW5ndWFnZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ11bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlciA9IEdldFVzZXJRdWVyeVsnZ2V0VXNlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJDYW5Cb29rRm9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvciA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlbJ3NlYXJjaFVzZXJDYW5Cb29rRm9yJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeTtcbn1cblxuZXhwb3J0IGNvbnN0IE93bmVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgT3duZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBCYXNrZXRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBCYXNrZXRGaWVsZHMgb24gQmFza2V0IHtcbiAgaWRcbiAgb3duZXIge1xuICAgIC4uLk93bmVyRmllbGRzXG4gIH1cbiAgcmVmZXJlbmNlXG4gIHRpdGxlXG4gIG5vdGVzXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgYm9va2VkQXRcbiAgYmFza2V0SXRlbXMge1xuICAgIGlkXG4gICAgYWR1bHRzXG4gICAgY2hpbGRyZW5cbiAgICBpbmZhbnRzXG4gICAgZGV0YWlsXG4gICAgZGV0YWlsSGFzaFxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGV4cGlyeVxuICAgIGV4cGlyZWRcbiAgICBzZWFyY2hRdWVyeVxuICAgIHByaWNlXG4gICAgY3VycmVuY3lcbiAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgIHZhbGlkYXRlZFxuICAgIGxhdGVzdFZhbGlkYXRpb25cbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZVxuICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgc3RhdHVzXG4gICAgcG5yTG9jYXRvclxuICAgIGJvb2tpbmdEZXRhaWxcbiAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1BZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlckFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIGNvMlBlckl0ZW1cbiAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICBvdXRib3VuZERhdGVcbiAgICBpbmJvdW5kRGF0ZVxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICBpZFxuICAgICAgcGFzc2VuZ2VyVHlwZVxuICAgIH1cbiAgICBsZWFkUGFzc2VuZ2VyIHtcbiAgICAgIC4uLlRyYXZlbGxlckZpZWxkc1xuICAgIH1cbiAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICBpZFxuICAgICAgZGJJZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGhhbmRvZmZcbiAgICAgIHZhbHVlTWFza1xuICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgIG1hbmRhdG9yeVxuICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICBwZXJCb29raW5nXG4gICAgICBhZ2VudE9ubHlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBmaXhlZFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IEVycm9yc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9ycyBvbiBTZWFyY2hFcnJvciB7XG4gIHNlcnZpY2Uge1xuICAgIGlkXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICB9XG4gIGVycm9yTWVzc2FnZVxuICBlcnJvckNvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEdyb3VwZWRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBHcm91cGVkRmllbGRzIG9uIEdyb3VwRmxpZ2h0cyB7XG4gIHJlZmVyZW5jZUlEXG4gIGZsaWdodElEXG4gIGJvdW5kSW5kaWNhdG9yXG4gIG1pblByaWNlXG4gIG1heFByaWNlXG4gIGZsaWdodHMge1xuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlGbGV4aVxuICAgIFByZW1pdW1FY29ub215XG4gICAgQnVzaW5lc3NcbiAgICBGaXJzdFxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRmxpZ2h0Sm91cm5leUZpZWxkcyBvbiBGbGlnaHRKb3VybmV5IHtcbiAgaWRcbiAgYm9va2luZ0NvZGVcbiAgY2FiaW5DbGFzc1xuICBjYWJpbkNvZGVcbiAgY2FiaW5SYXdcbiAgZGF0ZVRpbWVBcnJpdmluZ1xuICBkYXRlVGltZUFycml2aW5nVVRDXG4gIGRhdGVUaW1lRGVwYXJ0aW5nXG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gIGRlc3RpbmF0aW9uQWlycG9ydFxuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgZXF1aXBtZW50Q29kZVxuICBlcXVpcG1lbnROYW1lXG4gIGZhcmVCYXNpc0NvZGVcbiAgZ292ZXJuaW5nQ2FycmllclxuICBtYXJrZXRpbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICBtYXJrZXRpbmdOYW1lc1xuICBtYXJyaWFnZUdyb3VwXG4gIG9wZXJhdGluZ0NhcnJpZXJcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gIG9yaWdpbkFpcnBvcnRcbiAgb3JpZ2luQWlycG9ydE5hbWVcbiAgb3JpZ2luVGVybWluYWxcbiAgc3RvcHNcbiAgdG90YWxEdXJhdGlvblxuICBzZWF0c0F2YWlsYWJsZVxuICB2ZW5kb3JDb2RlXG4gIG9yaWdpbkFpcnBvcnRcbiAgZmFyZUluZm8ge1xuICAgIHRpdGxlXG4gICAgdHlwZVxuICAgIGNvZGVcbiAgICBzdXBwbGllckNvZGVcbiAgfVxuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgY2hhbmdlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgbm9TaG93IHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgdXBncmFkZSB7XG4gICAgICBuYW1lXG4gICAgICB0eXBlXG4gICAgICBjdXJyZW5jeVxuICAgICAgYW1vdW50XG4gICAgICByZW1hcmtcbiAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICByZWZ1bmRhYmxlSW5kXG4gICAgfVxuICAgIG90aGVyIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gIH1cbiAgYWRkaXRpb25hbFxuICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgICBzdGF0ZVxuICAgIGNpdHlcbiAgICByb2FkXG4gICAgcG9wdWxhcml0eVxuICAgIGFyZWFcbiAgICBsb2NhdGlvblxuICAgIG9mZnNldFxuICAgIGFpcnBvcnROYW1lXG4gICAgY291bnRyeU5hbWVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHBvc3Rjb2RlXG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gIH1cbiAgcHJwblxuICBjdXJyZW5jeUNvZGVcbiAgaXNCdXN5XG4gIHNvdXJjZVxuICB2ZXJzaW9uXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBMT0NBVElPTl9ERVRBSUwgb24gTG9jYXRpb25EZXRhaWwge1xuICBjb250aW5lbnRcbiAgY291bnRyeVxuICBjb3VudHJ5Q29kZVxuICBzdGF0ZVxuICBjaXR5XG4gIGNvb3JkaW5hdGVzIHtcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gIH1cbiAgcG9zdGNvZGVcbiAgcm9hZFxuICBncmlkUmVmZXJlbmNlXG4gIG5vcnRoaW5nXG4gIGVhc3Rpbmdcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFJhaWxKb3VybmV5RmFyZSBvbiBSYWlsSm91cm5leUZhcmUge1xuICBwcm92aWRlcklkXG4gIHByb3ZpZGVyTmFtZVxuICBpZGVudGlmaWVycyB7XG4gICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgam91cm5leUlkZW50aWZpZXJcbiAgICBwcm92aWRlclxuICAgIGZhcmVJZGVudGlmaWVyXG4gICAgZGlyZWN0aW9uXG4gICAgc2luZ2xlT3JSZXR1cm5cbiAgICBib29raW5nUmVmXG4gIH1cbiAgdHlwZVxuICBwcmljZVxuICBjdXJyZW5jeVxuICBmYXJlSGFzaFxuICB0ZXJtcyB7XG4gICAgYXZhaWxhYmlsaXR5UnVsZVxuICAgIGNoYW5nZVJ1bGVcbiAgICBjaGlsZERpc2NvdW50XG4gICAgZHluYW1pY0NvbmRpdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgZ2VuZXJhbERpc2NvdW50XG4gICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgam91cm5leUJyZWFrUnVsZVxuICAgIGpvdXJuZXlUeXBlXG4gICAga2lvc2tBdmFpbGFibGVcbiAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICByYWlsY2FyZERpc2NvdW50XG4gICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgIHJlc2VydmF0aW9uUnVsZVxuICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgdGlja2V0VHlwZUNsYXNzXG4gICAgdGlja2V0VHlwZUNvZGVcbiAgICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uXG4gICAgdGlja2V0VHlwZU5hbWVcbiAgICB0b2RBdmFpbGFibGVcbiAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgdmFsaWRPdXRSdWxlXG4gICAgdmFsaWRSZXR1cm5SdWxlXG4gIH1cbiAgY2xhc3NcbiAgc2luZ2xlT3JSZXR1cm5cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlPcHRpb24gb24gUmFpbEpvdXJuZXlPcHRpb24ge1xuICBmcm9tXG4gIGZyb21Db2RlXG4gIHRvXG4gIHRvQ29kZVxuICBqb3VybmV5SGFzaFxuICBkZXBhcnREYXRlVGltZVxuICBhcnJpdmVEYXRlVGltZVxuICBjbzJQZXJJdGVtXG4gIGNvMlBlclBhc3NlbmdlclxuICBjaGFuZ2VzXG4gIG92ZXJ0YWtlblxuICBqb3VybmV5TGVncyB7XG4gICAgaWRcbiAgICBvcGVyYXRvclxuICAgIGRlcGFydFxuICAgIGFycml2ZVxuICAgIGFycml2ZURhdGVUaW1lXG4gICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICBzdGF0aW9uTmFtZVxuICAgICAgc3RhdGlvbkNvZGVcbiAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgIH1cbiAgfVxuICBzaW5nbGVKb3VybmV5RmFyZXMge1xuICAgIC4uLlJhaWxKb3VybmV5RmFyZVxuICB9XG4gIHJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgdGlja2V0UXVldWVMaXN0IHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0eXBlXG4gIH1cbiAgYWNjb3VudHNMaXN0IHtcbiAgICBpZFxuICAgIHJlZmVyZW5jZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgaXNEZWZhdWx0XG4gICAgdHlwZVxuICB9XG4gIHRpY2tldEV4dHJhcyB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgdHlwZVxuICAgICAgbG9jYXRpb25cbiAgICAgIGRhdGVcbiAgICAgIGpvdXJuZXlJZFxuICAgICAgaXNPcmlnaW5cbiAgICB9XG4gICAgdHlwZVxuICAgIGxvY2F0aW9uXG4gICAgZGF0ZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYW1vdW50XG4gICAgYWR1bHRBbW91bnRcbiAgICBjaGlsZEFtb3VudFxuICAgIGN1cnJlbmN5XG4gIH1cbiAgcGx1c0J1cyB7XG4gICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgIG9yaWdpblN0YXRpb25OTENcbiAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgfVxufVxuICAgICR7UmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWNjZXB0TmV3UHJpY2UoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFjY2VwdE5ld1ByaWNlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBY2NlcHROZXdQcmljZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBY2NlcHROZXdQcmljZU11dGF0aW9uLCBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBY2NlcHROZXdQcmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZFVzZXJzVG9CYXNrZXRJdGVtKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0IV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW0oY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHVzZXJzOiAkdXNlcnMpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRVc2Vyc1RvQmFza2V0SXRlbUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uLCBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEZsaWdodFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRGbGlnaHRSdWxlcygkc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogSlNPTiEsICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogW0pTT04hXSEpIHtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlcyhzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiAkc2VsZWN0ZWRPdXRib3VuZEZsaWdodCwgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6ICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0cylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFwcGx5Sml0RmxpZ2h0UnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5LCBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRIb3RlbFJ1bGVzKCRkYXRhOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEhvdGVsUnVsZXMoZGF0YTogJGRhdGEpIHtcbiAgICByZXN1bHRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRIb3RlbFJ1bGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5LCBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldHMoJHVzZXI6IElELCAkdHJhdmVsbGVyOiBJRCwgJGJhc2tldFN0YXR1czogQmFza2V0U3RhdHVzLCAkY3JlYXRlZEFmdGVyOiBEYXRlVGltZSwgJGNyZWF0ZWRCZWZvcmU6IERhdGVUaW1lLCAkYm9va2VkQWZ0ZXI6IERhdGVUaW1lLCAkYm9va2VkQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEJlZm9yZTogRGF0ZVRpbWUsICRkYXRlT2ZUcmF2ZWxBZnRlcjogRGF0ZVRpbWUsICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogU3RyaW5nLCAkYmFza2V0UmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRUaXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlLCAkY29udmVydEN1cnJlbmN5VG86IFN0cmluZykge1xuICBnZXRVc2VyQmFza2V0cyhjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCB1c2VyOiAkdXNlciwgdHJhdmVsbGVyOiAkdHJhdmVsbGVyLCBiYXNrZXRTdGF0dXM6ICRiYXNrZXRTdGF0dXMsIGNyZWF0ZWRBZnRlcjogJGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZTogJGNyZWF0ZWRCZWZvcmUsIGJvb2tlZEFmdGVyOiAkYm9va2VkQWZ0ZXIsIGJvb2tlZEJlZm9yZTogJGJvb2tlZEJlZm9yZSwgZGF0ZU9mVHJhdmVsQmVmb3JlOiAkZGF0ZU9mVHJhdmVsQmVmb3JlLCBkYXRlT2ZUcmF2ZWxBZnRlcjogJGRhdGVPZlRyYXZlbEFmdGVyLCBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlLCBiYXNrZXRSZWZlcmVuY2U6ICRiYXNrZXRSZWZlcmVuY2UsIGJhc2tldFRpdGxlOiAkYmFza2V0VGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQmFza2V0c1F1ZXJ5LCBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVCYXNrZXQoJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nKSB7XG4gIGRlbGV0ZUJhc2tldChpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlQmFza2V0TXV0YXRpb24sIERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ3JlYXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY3JlYXRlQmFza2V0KCR0aXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGNyZWF0ZUJhc2tldCh0aXRsZTogJHRpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ3JlYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENyZWF0ZUJhc2tldE11dGF0aW9uLCBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ3JlYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJlbW92ZUl0ZW1Gcm9tQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gcmVtb3ZlSXRlbUZyb21CYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0pIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZW1vdmVJdGVtRnJvbUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uLCBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZW5kQmFza2V0Rm9yQXBwcm92YWwoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSB0cnVlKSB7XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXQ6ICRiYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZW5kQmFza2V0Rm9yQXBwcm92YWxHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24sIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkSXRlbVRvQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0OiBJRCwgJHNlcnZpY2U6IElEISwgJGRldGFpbDogSlNPTiEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkcHJpY2U6IEZsb2F0ISwgJGN1cnJlbmN5OiBDdXJyZW5jeUNvZGUhLCAkc2VhcmNoUXVlcnk6IEpTT04hLCAkcXVpY2tBZGQ6IEJvb2xlYW4sICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXRdLCAkbGVhZFBhc3NlbmdlcjogSUQsICRjbzJQZXJJdGVtOiBGbG9hdCwgJGNvMlBlclBhc3NlbmdlcjogRmxvYXQsICRvdXRib3VuZERhdGU6IERhdGVUaW1lISwgJGluYm91bmREYXRlOiBEYXRlVGltZSwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBhZGRJdGVtVG9CYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0OiAkYmFza2V0LCBzZXJ2aWNlOiAkc2VydmljZSwgZGV0YWlsOiAkZGV0YWlsLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCBwcmljZTogJHByaWNlLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBzZWFyY2hRdWVyeTogJHNlYXJjaFF1ZXJ5LCBxdWlja0FkZDogJHF1aWNrQWRkLCB1c2VyczogJHVzZXJzLCBsZWFkUGFzc2VuZ2VyOiAkbGVhZFBhc3NlbmdlciwgY28yUGVySXRlbTogJGNvMlBlckl0ZW0sIGNvMlBlclBhc3NlbmdlcjogJGNvMlBlclBhc3Nlbmdlciwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkSXRlbVRvQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uLCBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHN1cHBsZW1lbnRhcnlJbmZvOiBbU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvIV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGJvb2tCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgc3VwcGxlbWVudGFyeUluZm86ICRzdXBwbGVtZW50YXJ5SW5mbykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEJvb2tCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Qm9va0Jhc2tldE11dGF0aW9uLCBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEJvb2tCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FiSGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhYkhpcmUoJGRlcGFydHM6IERhdGVUaW1lISwgJGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHZpYXM6IFtDYWJIaXJlTG9jYXRpb25JbnB1dF0sICR2ZWhpY2xlVHlwZTogQ2FiSGlyZVZlaGljbGVUeXBlKSB7XG4gIHNlYXJjaENhYkhpcmUoZGVwYXJ0czogJGRlcGFydHMsIGZyb21Mb2NhdGlvbjogJGZyb21Mb2NhdGlvbiwgdG9Mb2NhdGlvbjogJHRvTG9jYXRpb24sIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHZpYXM6ICR2aWFzLCB2ZWhpY2xlVHlwZTogJHZlaGljbGVUeXBlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VwcGxpZXJOYW1lXG4gICAgICBlc3RpbWF0ZWRDTzJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICB2ZWhpY2xlVHlwZVxuICAgICAgdHJpcERpc3RhbmNlTWV0cmVzXG4gICAgICB0cmlwRHVyYXRpb25TZWNvbmRzXG4gICAgICBkZXBhcnRzXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGZyb21Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB0b0xvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHZpYXMge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhYkhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FiSGlyZVF1ZXJ5LCBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhYkhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FuY2VsQm9va2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNhbmNlbEJvb2tpbmcoJGJhc2tldEl0ZW06IElEISkge1xuICBjYW5jZWxCb29raW5nKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGVkXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhbmNlbEJvb2tpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q2FuY2VsQm9va2luZ011dGF0aW9uLCBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhbmNlbEJvb2tpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCgkbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyEpIHtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QobG9jYXRpb25EZXRhaWxzOiAkbG9jYXRpb25EZXRhaWxzKSB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgbG9jYXRvclxuICAgICAgcnBoXG4gICAgICBzdGF0dXNcbiAgICAgIHZlaFR5cGVcbiAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICBwaWNrdXBEYXRlVGltZVxuICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICB2ZW5kb3JcbiAgICB9XG4gICAgdmVuZG9yIHtcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICBuYW1lXG4gICAgICB0b3BMaW5lXG4gICAgICBjaXR5XG4gICAgICByZWdpb25cbiAgICAgIHBvc3RDb2RlXG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICAgIGFkZGl0aW9uYWxJbmZvIHtcbiAgICAgIG5hbWVcbiAgICAgIHRleHRcbiAgICAgIGpzb25cbiAgICAgIGN1c3RvbSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSwgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FySGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhckhpcmUoJGFpcnBvcnQ6IENhckhpcmVBaXJwb3J0SW5wdXQsICRjaXR5OiBDYXJIaXJlQ2l0eUlucHV0LCAkbG9jYXRpb246IENhckhpcmVMb2NhdGlvbklucHV0LCAkZGVwb3Q6IElucHV0Q2FySGlyZURlcG90LCAkcGlja3VwRGF0ZVRpbWU6IFN0cmluZyEsICRkcm9wb2ZmRGF0ZVRpbWU6IFN0cmluZyEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY29uZmlybU1lc3NhZ2VzKCRtZXNzYWdlczogW1N0cmluZyFdISkge1xuICBjb25maXJtTWVzc2FnZXMobWVzc2FnZXM6ICRtZXNzYWdlcylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENvbmZpcm1NZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDb25maXJtTWVzc2FnZXNNdXRhdGlvbiwgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENvbmZpcm1NZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVGYXZvdXJpdGVTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlRmF2b3VyaXRlU2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24sIERlbGV0ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUmVjZW50U2VhcmNoKCRpZDogSUQhKSB7XG4gIGRlbGV0ZVJlY2VudFNlYXJjaChpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlUmVjZW50U2VhcmNoR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uLCBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlVXNlckFkZHJlc3MoJGlkOiBJRCEpIHtcbiAgZGVsZXRlVXNlckFkZHJlc3MoaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24sIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEVtYWlsQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZW1haWxCYXNrZXQoJGlkOiBJRCEpIHtcbiAgZW1haWxCYXNrZXQoaWQ6ICRpZCkge1xuICAgIGlkXG4gICAgb3duZXIge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBlbXBsb3llZUlkXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZG9iXG4gICAgICBhZG1pblxuICAgICAgdG1jQWRtaW5cbiAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgYm9va2VyVHlwZVxuICAgICAgYXV0aE1ldGhvZHNcbiAgICAgIGFjdGl2ZVxuICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGlzb0NvZGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdG1jIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBvZmZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBjb21wYW55IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgIHN0cmVldFxuICAgICAgICB0b3duXG4gICAgICAgIGNvdW50eVxuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIGFyZWFDb2RlXG4gICAgICAgIG51bWJlclxuICAgICAgICBleHRlbnNpb25cbiAgICAgICAgdHlwZVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZG9jVHlwZVxuICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICBnZW5kZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGNvdW50cnlcbiAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICBwcmltYXJ5XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICBpZFxuICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgY29kZVxuICAgICAgICB0eXBlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHJlZmVyZW5jZVxuICAgIHRpdGxlXG4gICAgbm90ZXNcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBiYXNrZXRJdGVtcyB7XG4gICAgICBpZFxuICAgICAgYWR1bHRzXG4gICAgICBjaGlsZHJlblxuICAgICAgaW5mYW50c1xuICAgICAgZGV0YWlsXG4gICAgICBkZXRhaWxIYXNoXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZXhwaXJ5XG4gICAgICBleHBpcmVkXG4gICAgICB1c2VycyB7XG4gICAgICAgIGlkXG4gICAgICAgIHRpdGxlXG4gICAgICAgIGZvcmVuYW1lXG4gICAgICAgIHN1cm5hbWVcbiAgICAgICAgZW1haWxcbiAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGRvYlxuICAgICAgICBhZG1pblxuICAgICAgICB0bWNBZG1pblxuICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICBhY3RpdmVcbiAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgIHN0cmVldFxuICAgICAgICAgIHRvd25cbiAgICAgICAgICBjb3VudHlcbiAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgIGdlbmRlclxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgY29kZVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgICBpZFxuICAgICAgICBwYXNzZW5nZXJUeXBlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxlYWRQYXNzZW5nZXIge1xuICAgICAgICBpZFxuICAgICAgICB0aXRsZVxuICAgICAgICBmb3JlbmFtZVxuICAgICAgICBzdXJuYW1lXG4gICAgICAgIGVtYWlsXG4gICAgICAgIHVzZXJuYW1lXG4gICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBkb2JcbiAgICAgICAgYWRtaW5cbiAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWFyY2hRdWVyeVxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgICAgbWlHcm91cFNlbGVjdGVkXG4gICAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRiSWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBoYW5kb2ZmXG4gICAgICAgIHZhbHVlTWFza1xuICAgICAgICBzZXJ2aWNlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBzdXBwbGllclVybFxuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICAgIG1hbmRhdG9yeVxuICAgICAgICBwZXJQYXNzZW5nZXJcbiAgICAgICAgcGVyQm9va2luZ1xuICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICAgIGVuZm9yY2VVc2VyRGVmYXVsdFxuICAgICAgICBib29rZWRCeUZpZWxkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHZhbHVlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGdyb3VwXG4gICAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgICBmaXhlZFxuICAgICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICAgIGJhc2tldExldmVsVmFsdWVcbiAgICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgICAgc3VybmFtZVxuICAgICAgICAgICAgZW1haWxcbiAgICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgZG9iXG4gICAgICAgICAgICBhZG1pblxuICAgICAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdmFsaWRhdGVkXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgICBwbnJMb2NhdG9yXG4gICAgICBib29raW5nRGV0YWlsXG4gICAgICBzdGF0dXNcbiAgICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWFcbiAgICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYVxuICAgICAgcGVySXRlbUFkZHJlc3NcbiAgICAgIHBlckl0ZW1QaG9uZU51bWJlclxuICAgICAgcGVyUGFzc2VuZ2VyQWRkcmVzc1xuICAgICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXJcbiAgICAgIGNhbmNlbGxhYmxlXG4gICAgICBhbWVuZGFibGVcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgb3V0Ym91bmREYXRlXG4gICAgICBpbmJvdW5kRGF0ZVxuICAgICAgY29udmVydGVkQ3VycmVuY3lBbW91bnRcbiAgICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBzdGF0dXNcbiAgICBjb21wYW55R3JvdXAge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBjb21wYW55IHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICB0b3duXG4gICAgICAgICAgY291bnR5XG4gICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB1c2VycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0aXRsZVxuICAgICAgICAgIGZvcmVuYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgZG9iXG4gICAgICAgICAgYWRtaW5cbiAgICAgICAgICB0bWNBZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgY291bnRyeVxuICAgICAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgICBwcmltYXJ5XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHZhbGlkYXRlZFxuICAgIGJvb2tlZEF0XG4gICAgX190eXBlbmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBFbWFpbEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxFbWFpbEJhc2tldFF1ZXJ5LCBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBFbWFpbEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q09WSURNaWNyb3NpdGVUb2tlbiB7XG4gIGdldENPVklETWljcm9zaXRlVG9rZW5cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvdmlkTWljcm9zaXRlVG9rZW5HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5LCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZURlcG90c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVEZXBvdHMoJGxhdGl0dWRlOiBGbG9hdCEsICRsb25naXR1ZGU6IEZsb2F0ISwgJHZlbmRvckNvZGU6IFN0cmluZywgJHJhZGl1czogU3RyaW5nKSB7XG4gIGdldENhckhpcmVEZXBvdHMobGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB2ZW5kb3JDb2RlOiAkdmVuZG9yQ29kZSwgcmFkaXVzOiAkcmFkaXVzKSB7XG4gICAgY291bnRyeUNvZGVcbiAgICBsb2NhdGlvbkNvZGVcbiAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgIHZlbmRvckNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHZlbmRvclxuICAgIGFkZHJlc3NMaW5lc1xuICAgIGNpdHlOYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVEZXBvdHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZURlcG90c1F1ZXJ5LCBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVEZXBvdHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKCRob3RlbElkOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUm9vbUltYWdlcyhob3RlbElkOiAkaG90ZWxJZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUm9vbUltYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSwgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRGYXJlUnVsZXMoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRGYXJlUnVsZXMoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIGNoYW5nZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgbm9TaG93IHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICB1cGdyYWRlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBvdGhlciB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodEZhcmVSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSwgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0U2VhdE1hcCgkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodFNlYXRNYXAoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBhaXJjcmFmdCB7XG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIHR5cGVcbiAgICAgIH1cbiAgICAgIHNlYXRzIHtcbiAgICAgICAgcm93XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhdHRyaWJ1dGVzIHtcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfVxuICAgICAgICBwcmljZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0U2VhdE1hcEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRTZWF0TWFwUXVlcnksIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRJcmxEaXNjb3VudENhcmRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMRGlzY291bnRDYXJkcygkc3VwcGxpZXI6IElSTFN1cHBsaWVyISkge1xuICBnZXRJUkxEaXNjb3VudENhcmRzKHN1cHBsaWVyOiAkc3VwcGxpZXIpIHtcbiAgICBpZFxuICAgIG5ldENvZGVcbiAgICByZWNvXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRJcmxEaXNjb3VudENhcmRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybERpc2NvdW50Q2FyZHNRdWVyeSwgR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRJcmxEaXNjb3VudENhcmRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldElybFN1cHBsaWVyU3RhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldElSTFN1cHBsaWVyU3RhdGlvbigkaWQ6IElELCAkc3VwcGxpZXI6IElSTFN1cHBsaWVyLCAkY29kZTogU3RyaW5nKSB7XG4gIGdldElSTFN1cHBsaWVyU3RhdGlvbihpZDogJGlkLCBzdXBwbGllcjogJHN1cHBsaWVyLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldElybFN1cHBsaWVyU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeSwgR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldElybFN1cHBsaWVyU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsTGl2ZURlcGFydHVyZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsTGl2ZURlcGFydHVyZXMoJHN0YXRpb25Db2RlOiBTdHJpbmchLCAkZGVwYXJ0RGF0ZVRpbWU6IFN0cmluZykge1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXMoc3RhdGlvbkNvZGU6ICRzdGF0aW9uQ29kZSwgZGVwYXJ0RGF0ZVRpbWU6ICRkZXBhcnREYXRlVGltZSkge1xuICAgIHNlcnZpY2VzIHtcbiAgICAgIHJpZFxuICAgICAgdWlkXG4gICAgICB0cmFpbmlkXG4gICAgICBzZGRcbiAgICAgIG9wZXJhdG9yXG4gICAgICBvcGVyYXRvckNvZGVcbiAgICAgIHN0ZFxuICAgICAgZXRkXG4gICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgIHBsYXRmb3JtXG4gICAgICBwbGF0Zm9ybUlzSGlkZGVuXG4gICAgICBvcmlnaW4ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgZGVzdGluYXRpb24ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgc3Vic2VxdWVudExvY2F0aW9ucyB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICAgIHBsYXRmb3JtXG4gICAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgICAgc3RhXG4gICAgICAgIGV0YVxuICAgICAgICBhcnJpdmFsVHlwZVxuICAgICAgICBhcnJpdmFsU291cmNlXG4gICAgICAgIHN0ZFxuICAgICAgICBldGRcbiAgICAgICAgZGVwYXJ0dXJlVHlwZVxuICAgICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgICAgYXNzb2NpYXRpb25zIHtcbiAgICAgICAgICBjYXRlZ29yeVxuICAgICAgICAgIHJpZFxuICAgICAgICAgIHVpZFxuICAgICAgICAgIHRyYWluaWRcbiAgICAgICAgICBzZGRcbiAgICAgICAgICBvcmlnaW5cbiAgICAgICAgICBvcmlnaW5DUlNcbiAgICAgICAgICBvcmlnaW5UaXBsb2NcbiAgICAgICAgICBkZXN0aW5hdGlvblxuICAgICAgICAgIGRlc3RDUlNcbiAgICAgICAgICBkZXN0VGlwbG9jXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxMaXZlRGVwYXJ0dXJlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSwgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsU3RhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxTdGF0aW9uKCRpZDogSUQsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0UmFpbFN0YXRpb24oaWQ6ICRpZCwgY29kZTogJGNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbFN0YXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFN0YXRpb25RdWVyeSwgR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbFN0YXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbGNhcmRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbGNhcmRzIHtcbiAgZ2V0UmFpbGNhcmRzIHtcbiAgICBuYW1lXG4gICAgY29kZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsY2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbGNhcmRzUXVlcnksIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsY2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMoJG1pOiBJRCEsICRwYXJ0aWFsTGFiZWw6IFN0cmluZyEpIHtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMobWk6ICRtaSwgcGFydGlhbExhYmVsOiAkcGFydGlhbExhYmVsKSB7XG4gICAgaWRcbiAgICBsYWJlbFxuICAgIHZhbHVlXG4gICAgZGVmYXVsdFxuICAgIGZpeGVkXG4gICAgYWdlbnRPbmx5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnksIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZSB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lUXVlcnksIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclJlY2VudFNlYXJjaGVzKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpIHtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICB0cmF2ZWxEYXRlXG4gICAgdHJhdmVsbGVycyB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGRvYlxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclJlY2VudFNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEhvdGVscygkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY2l0eU5hbWU6IFN0cmluZywgJHBvc3RPclppcENvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRsYXRpdHVkZTogRmxvYXQsICRsb25naXR1ZGU6IEZsb2F0LCAkdHJhaW5TdGF0aW9uQ29kZTogU3RyaW5nLCAkaWF0YTogU3RyaW5nLCAkb2ZmaWNlSWQ6IEludCwgJHJvb21zOiBJbnQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGN1cnJlbmN5OiBTdHJpbmchLCAkZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzISwgJGRpc3RhbmNlOiBJbnQhLCAkbWF4UmVzdWx0czogSW50LCAkaG90ZWxOYW1lOiBTdHJpbmcsICRncm91cE5hbWU6IFN0cmluZykge1xuICBzZWFyY2hIb3RlbHMoc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY2l0eU5hbWU6ICRjaXR5TmFtZSwgcG9zdE9yWmlwQ29kZTogJHBvc3RPclppcENvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdHJhaW5TdGF0aW9uQ29kZTogJHRyYWluU3RhdGlvbkNvZGUsIGlhdGE6ICRpYXRhLCBvZmZpY2VJZDogJG9mZmljZUlkLCByb29tczogJHJvb21zLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGN1cnJlbmN5OiAkY3VycmVuY3ksIGRpc3RhbmNlVHlwZTogJGRpc3RhbmNlVHlwZSwgZGlzdGFuY2U6ICRkaXN0YW5jZSwgbWF4UmVzdWx0czogJG1heFJlc3VsdHMsIGhvdGVsTmFtZTogJGhvdGVsTmFtZSwgZ3JvdXBOYW1lOiAkZ3JvdXBOYW1lKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaW1hZ2VVcmxcbiAgICAgIGdyb3VwXG4gICAgICBsb2NhdGlvbiB7XG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0T3JaaXBDb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYWNzaW1pbGVcbiAgICAgIH1cbiAgICAgIHRyYW5zcG9ydHMge1xuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgY29kZVxuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBwcmVmZXJyZWQge1xuICAgICAgICBjbGllbnRcbiAgICAgICAgY29uc3VtZXJcbiAgICAgIH1cbiAgICAgIHRhZ3Mge1xuICAgICAgICBuYW1lXG4gICAgICAgIGRpc3BsYXlcbiAgICAgICAgdHlwZVxuICAgICAgICBpY29uXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVSYXRlcyB7XG4gICAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICAgIH1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsc1F1ZXJ5LCBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoJGhvdGVsOiBbU3RyaW5nIV0hLCAkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY3VycmVuY3k6IFN0cmluZyEsICRvY2N1cGFudHM6IEludCEsICRyb29tczogSW50KSB7XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KGhvdGVsOiAkaG90ZWwsIHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGN1cnJlbmN5OiAkY3VycmVuY3ksIG9jY3VwYW50czogJG9jY3VwYW50cywgcm9vbXM6ICRyb29tcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgLi4uUm9vbUF2YWxpYWJpbGl0eVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSwgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgaXNQb3N0Y29kZVZhbGlkKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBpc1Bvc3Rjb2RlVmFsaWQocG9zdGNvZGU6ICRwb3N0Y29kZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIElzUG9zdGNvZGVWYWxpZEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxJc1Bvc3Rjb2RlVmFsaWRRdWVyeSwgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IElzUG9zdGNvZGVWYWxpZERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hBaXJwb3J0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEFpcnBvcnRzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRoYXNMb3VuZ2U6IEJvb2xlYW4sICRoYXNQYXJraW5nOiBCb29sZWFuLCAkaGFzRmFzdFRyYWNrOiBCb29sZWFuKSB7XG4gIHNlYXJjaEFpcnBvcnRzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGhhc0xvdW5nZTogJGhhc0xvdW5nZSwgaGFzUGFya2luZzogJGhhc1BhcmtpbmcsIGhhc0Zhc3RUcmFjazogJGhhc0Zhc3RUcmFjaykge1xuICAgIGlhdGFNYXRjaCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhbE1hdGNoZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgJHtMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEFpcnBvcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEFpcnBvcnRzUXVlcnksIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaExvdW5nZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hMb3VuZ2VzKCRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICR0ZXJtaW5hbDogU3RyaW5nKSB7XG4gIHNlYXJjaExvdW5nZXMobG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHRlcm1pbmFsOiAkdGVybWluYWwpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG5hbWVcbiAgICAgIGNvZGVcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbG91bmdlIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmF4XG4gICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgaW50cm9kdWN0aW9uXG4gICAgICAgIGxvZ29cbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBhZHVsdEFnZVxuICAgICAgICBjaGlsZEFnZVxuICAgICAgICBpbmZhbnRBZ2VcbiAgICAgICAgbGFuZHNpZGVcbiAgICAgICAgYWlyc2lkZVxuICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgIG9wZW5UaW1lXG4gICAgICAgIGNsb3NlVGltZVxuICAgICAgICB3aWZpXG4gICAgICAgIHR2XG4gICAgICAgIHNuYWNrc1xuICAgICAgICBwaG9uZVxuICAgICAgICBpbnRlcm5ldFxuICAgICAgICBjaGlsZHJlbkFsbG93ZWRcbiAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgZHJpbmtzXG4gICAgICAgIGZyZWVEcmlua3NcbiAgICAgICAgZnJlZUZvb2RcbiAgICAgICAgc21va2luZ1Blcm1pdHRlZFxuICAgICAgICBtYWdhemluZXNcbiAgICAgICAgaW5jbHVkZWREcmlua3NcbiAgICAgICAgbWVudUZvb2RcbiAgICAgICAgbWVudURyaW5rc1xuICAgICAgICBtZW51RXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWREcmlua3NcbiAgICAgICAgd2hhdHNJbmNsdWRlZEV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRm9vZFxuICAgICAgICBncm91cEluZm9cbiAgICAgICAgY2hlY2tJbkluZm9cbiAgICAgICAgZHJlc3NDb2RlXG4gICAgICAgIGZhY2lsaXRpZXNJbmZvXG4gICAgICAgIGZvb2RBbmRCZXZlcmFnZVxuICAgICAgICBjYW5jZWxsYXRpb25JbmZvXG4gICAgICAgIGFtZW5kbWVudHNJbmZvXG4gICAgICAgIG1pc2NcbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoTG91bmdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hMb3VuZ2VzUXVlcnksIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoTG91bmdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkbmV3QmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIG5ld0Jhc2tldDogJG5ld0Jhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24sIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBhcmtpbmdEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQYXJraW5nKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGRlcGFydERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRvdXRGbGlnaHROdW1iZXI6IFN0cmluZywgJHJlY29tbWVuZGVkOiBCb29sZWFuLCAkb25BaXJwb3J0OiBCb29sZWFuLCAkbWVldEFuZEdyZWV0OiBCb29sZWFuLCAkcGFya0FuZFJpZGU6IEJvb2xlYW4sICRwYXJrQW5kU3Ryb2xsOiBCb29sZWFuLCAkY2FyUGFya2VkRm9yWW91OiBCb29sZWFuLCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hQYXJraW5nKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgZGVwYXJ0RGF0ZXRpbWU6ICRkZXBhcnREYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBvdXRGbGlnaHROdW1iZXI6ICRvdXRGbGlnaHROdW1iZXIsIHJlY29tbWVuZGVkOiAkcmVjb21tZW5kZWQsIG9uQWlycG9ydDogJG9uQWlycG9ydCwgbWVldEFuZEdyZWV0OiAkbWVldEFuZEdyZWV0LCBwYXJrQW5kUmlkZTogJHBhcmtBbmRSaWRlLCBwYXJrQW5kU3Ryb2xsOiAkcGFya0FuZFN0cm9sbCwgY2FyUGFya2VkRm9yWW91OiAkY2FyUGFya2VkRm9yWW91LCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBjYXJQYXJrIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgZGlzdGFuY2VUb0FpcnBvcnRcbiAgICAgICAgb25BaXJwb3J0XG4gICAgICAgIGNhclBhcmtlZEZvcllvdVxuICAgICAgICBtZWV0QW5kR3JlZXRcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGFycml2YWxQcm9jZWR1cmVcbiAgICAgICAgZGVwYXJ0dXJlUHJvY2VkdXJlXG4gICAgICAgIG1heGltdW1DYXJTaXplXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBpbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2ZlckluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVyT3BlcmF0aW5nVGltZXNcbiAgICAgICAgdHJhbnNmZXJUaW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgZGVmYXVsdEltYWdlXG4gICAgICAgIGJyYW5kSW1hZ2VcbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICByZXF1aXJlZEluZm9cbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlzY1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQYXJraW5nR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBhcmtpbmdRdWVyeSwgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQYXJraW5nRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsKCRjb3VudHJ5Q29kZTogU3RyaW5nLCAkam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZSEsICRjbGFzczogUmFpbENsYXNzLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJHZpYUxvY2F0aW9uSWQ6IElELCAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkFycml2YWxEYXRlVGltZTogU3RyaW5nLCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRleHRyYVRpbWVUb0NoYW5nZTogQm9vbGVhbiwgJHBsdXNCdXNPdXQ6IFJhaWxQbHVzQnVzQXZhaWwsICRwbHVzQnVzUmV0dXJuOiBSYWlsUGx1c0J1c0F2YWlsLCAkdHJhdmVsQ2FyZHM6IFtEYXRlIV0sICRyYWlsQ2FyZFF1YWxpZmllcnM6IFtTdHJpbmchXSkge1xuICBzZWFyY2hSYWlsKGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGpvdXJuZXlUeXBlOiAkam91cm5leVR5cGUsIGNsYXNzOiAkY2xhc3MsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCB2aWFMb2NhdGlvbklkOiAkdmlhTG9jYXRpb25JZCwgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6ICRvdXRib3VuZEFycml2YWxEYXRlVGltZSwgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIHJldHVybkFycml2YWxEYXRlVGltZTogJHJldHVybkFycml2YWxEYXRlVGltZSwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBleHRyYVRpbWVUb0NoYW5nZTogJGV4dHJhVGltZVRvQ2hhbmdlLCBwbHVzQnVzT3V0OiAkcGx1c0J1c091dCwgcGx1c0J1c1JldHVybjogJHBsdXNCdXNSZXR1cm4sIHRyYXZlbENhcmRzOiAkdHJhdmVsQ2FyZHMsIHJhaWxDYXJkUXVhbGlmaWVyczogJHJhaWxDYXJkUXVhbGlmaWVycykge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxRdWVyeSwgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucygkcXVlcnk6IFN0cmluZyEsICRzdXBwbGllcjogSVJMU3VwcGxpZXIpIHtcbiAgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyhxdWVyeTogJHF1ZXJ5LCBzdXBwbGllcjogJHN1cHBsaWVyKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnksIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQb3N0Y29kZXMoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGdldFBvc3Rjb2RlRGV0YWlscyhwb3N0Y29kZTogJHBvc3Rjb2RlKSB7XG4gICAgcG9zdGNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQb3N0Y29kZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUG9zdGNvZGVzUXVlcnksIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbFN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbFN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbFN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckFkZHJlc3Mge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckFkZHJlc3NRdWVyeSwgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlHcm91cCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJGdyb3VwOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXAoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIGdyb3VwOiAkZ3JvdXApIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlHcm91cEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHVzZXI6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXI6ICR1c2VyKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiwgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlWYWx1ZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJG1pOiBJRCEsICRtaVZhbHVlOiBJRCwgJG1pRnJlZVZhbHVlOiBTdHJpbmcsICR1c2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBtaTogJG1pLCBtaVZhbHVlOiAkbWlWYWx1ZSwgbWlGcmVlVmFsdWU6ICRtaUZyZWVWYWx1ZSwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkcGF5bWVudE1ldGhvZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBwYXltZW50TWV0aG9kOiAkcGF5bWVudE1ldGhvZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24sIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0Tm90ZXMoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5vdGVzOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldE5vdGVzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbm90ZXM6ICRub3Rlcykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldE5vdGVzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24sIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0VGl0bGUoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5ld1RpdGxlOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldFRpdGxlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbmV3VGl0bGU6ICRuZXdUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldFRpdGxlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24sIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJTZXJ2aWNlcyB7XG4gIGdldFVzZXJTZXJ2aWNlcyB7XG4gICAgaWRcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBkZXRhaWxTY2hlbWFcbiAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyU2VydmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclNlcnZpY2VzUXVlcnksIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyU2VydmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJVSUNvbmZpZ3Mge1xuICBnZXRVc2VyVUlDb25maWdzIHtcbiAgICBhbGwge1xuICAgICAgaWRcbiAgICAgIGNvbmZpZ1xuICAgICAga2V5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyVWlDb25maWdzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJVaUNvbmZpZ3NRdWVyeSwgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNZXNzYWdlcyB7XG4gIGdldFVzZXJNZXNzYWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb25maWdcbiAgICB0YXJnZXRcbiAgICBrZXlcbiAgICBkaXNwbGF5VGFyZ2V0XG4gICAgYWdlbnRPbmx5XG4gICAgY2xpY2tUb0NvbmZpcm1cbiAgICB2YWxpZEZyb21cbiAgICB2YWxpZFRvXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWVzc2FnZXNRdWVyeSwgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVOdW1iZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSwgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldFVzZXJMYW5ndWFnZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldFVzZXJMYW5ndWFnZSgkbGFuZ3VhZ2U6IElEKSB7XG4gIHNldFVzZXJMYW5ndWFnZShsYW5ndWFnZTogJGxhbmd1YWdlKSB7XG4gICAgaWRcbiAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=