@cdk_utils/iam 1.10.0 → 1.11.0

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 (461) hide show
  1. package/.jsii +1598 -1560
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.d.ts +2 -0
  15. package/lib/generated/services/aidevops.js +7 -5
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.d.ts +6 -0
  49. package/lib/generated/services/autoscaling.js +20 -5
  50. package/lib/generated/services/aws-external-anthropic.js +3 -3
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.js +4 -4
  66. package/lib/generated/services/bedrock-mantle.js +3 -3
  67. package/lib/generated/services/bedrock-websearch.js +2 -2
  68. package/lib/generated/services/bedrock.js +4 -4
  69. package/lib/generated/services/billing.js +4 -4
  70. package/lib/generated/services/billingconductor.js +4 -4
  71. package/lib/generated/services/braket.js +4 -4
  72. package/lib/generated/services/budgets.js +4 -4
  73. package/lib/generated/services/bugbust.js +3 -3
  74. package/lib/generated/services/cases.js +4 -4
  75. package/lib/generated/services/cassandra.js +4 -4
  76. package/lib/generated/services/ce.js +4 -4
  77. package/lib/generated/services/chatbot.js +4 -4
  78. package/lib/generated/services/chime.js +4 -4
  79. package/lib/generated/services/cleanrooms-ml.js +4 -4
  80. package/lib/generated/services/cleanrooms.js +4 -4
  81. package/lib/generated/services/cloud9.js +4 -4
  82. package/lib/generated/services/clouddirectory.js +3 -3
  83. package/lib/generated/services/cloudformation.js +4 -4
  84. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  85. package/lib/generated/services/cloudfront.js +4 -4
  86. package/lib/generated/services/cloudhsm.js +4 -4
  87. package/lib/generated/services/cloudsearch.js +3 -3
  88. package/lib/generated/services/cloudshell.js +3 -3
  89. package/lib/generated/services/cloudtrail-data.js +4 -4
  90. package/lib/generated/services/cloudtrail.js +4 -4
  91. package/lib/generated/services/cloudwatch.js +4 -4
  92. package/lib/generated/services/codeartifact.js +4 -4
  93. package/lib/generated/services/codebuild.js +4 -4
  94. package/lib/generated/services/codecatalyst.js +4 -4
  95. package/lib/generated/services/codecommit.js +4 -4
  96. package/lib/generated/services/codeconnections.js +4 -4
  97. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  98. package/lib/generated/services/codedeploy.js +4 -4
  99. package/lib/generated/services/codeguru-profiler.js +4 -4
  100. package/lib/generated/services/codeguru-reviewer.js +4 -4
  101. package/lib/generated/services/codeguru-security.js +4 -4
  102. package/lib/generated/services/codeguru.js +1 -1
  103. package/lib/generated/services/codepipeline.js +4 -4
  104. package/lib/generated/services/codestar-connections.js +4 -4
  105. package/lib/generated/services/codestar-notifications.js +4 -4
  106. package/lib/generated/services/codestar.js +3 -3
  107. package/lib/generated/services/codewhisperer.js +3 -3
  108. package/lib/generated/services/cognito-identity.js +4 -4
  109. package/lib/generated/services/cognito-idp.js +4 -4
  110. package/lib/generated/services/cognito-sync.js +3 -3
  111. package/lib/generated/services/comprehend.js +4 -4
  112. package/lib/generated/services/comprehendmedical.js +3 -3
  113. package/lib/generated/services/compute-optimizer.js +3 -3
  114. package/lib/generated/services/config.js +4 -4
  115. package/lib/generated/services/connect-campaigns.js +4 -4
  116. package/lib/generated/services/connect.js +4 -4
  117. package/lib/generated/services/consoleapp.js +2 -2
  118. package/lib/generated/services/consolidatedbilling.js +1 -1
  119. package/lib/generated/services/controlcatalog.js +3 -3
  120. package/lib/generated/services/controltower.js +4 -4
  121. package/lib/generated/services/cost-optimization-hub.js +2 -2
  122. package/lib/generated/services/cur.js +4 -4
  123. package/lib/generated/services/customer-verification.js +1 -1
  124. package/lib/generated/services/databrew.js +4 -4
  125. package/lib/generated/services/dataexchange.js +4 -4
  126. package/lib/generated/services/datapipeline.js +4 -4
  127. package/lib/generated/services/datasync.js +4 -4
  128. package/lib/generated/services/datazone.js +4 -4
  129. package/lib/generated/services/dax.js +4 -4
  130. package/lib/generated/services/dbqms.js +1 -1
  131. package/lib/generated/services/deadline.js +4 -4
  132. package/lib/generated/services/detective.js +4 -4
  133. package/lib/generated/services/devicefarm.js +4 -4
  134. package/lib/generated/services/devops-guru.js +4 -4
  135. package/lib/generated/services/directconnect.js +4 -4
  136. package/lib/generated/services/discovery.js +3 -3
  137. package/lib/generated/services/dlm.js +4 -4
  138. package/lib/generated/services/dms.js +4 -4
  139. package/lib/generated/services/docdb-elastic.js +4 -4
  140. package/lib/generated/services/drs.js +9 -6
  141. package/lib/generated/services/ds-data.js +4 -4
  142. package/lib/generated/services/ds.js +4 -4
  143. package/lib/generated/services/dsql.js +4 -4
  144. package/lib/generated/services/dynamodb.js +4 -4
  145. package/lib/generated/services/ebs.js +4 -4
  146. package/lib/generated/services/ec2-instance-connect.js +4 -4
  147. package/lib/generated/services/ec2.js +4 -4
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.js +4 -4
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +4 -4
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +4 -4
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.d.ts +2 -0
  206. package/lib/generated/services/iam.js +7 -5
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.js +4 -4
  210. package/lib/generated/services/imagebuilder.js +4 -4
  211. package/lib/generated/services/importexport.js +2 -2
  212. package/lib/generated/services/inspector-scan.js +2 -2
  213. package/lib/generated/services/inspector.js +2 -2
  214. package/lib/generated/services/inspector2-telemetry.js +1 -1
  215. package/lib/generated/services/inspector2.js +4 -4
  216. package/lib/generated/services/interconnect.js +4 -4
  217. package/lib/generated/services/internetmonitor.js +4 -4
  218. package/lib/generated/services/invoicing.js +4 -4
  219. package/lib/generated/services/iot-device-tester.js +1 -1
  220. package/lib/generated/services/iot.js +4 -4
  221. package/lib/generated/services/iotanalytics.js +3 -3
  222. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  223. package/lib/generated/services/iotevents.js +3 -3
  224. package/lib/generated/services/iotfleethub.js +3 -3
  225. package/lib/generated/services/iotfleetwise.js +4 -4
  226. package/lib/generated/services/iotjobsdata.js +4 -4
  227. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  228. package/lib/generated/services/iotsitewise.js +4 -4
  229. package/lib/generated/services/iottwinmaker.js +4 -4
  230. package/lib/generated/services/iotwireless.js +4 -4
  231. package/lib/generated/services/iq-permission.js +2 -2
  232. package/lib/generated/services/iq.js +2 -2
  233. package/lib/generated/services/ivs.js +4 -4
  234. package/lib/generated/services/ivschat.js +4 -4
  235. package/lib/generated/services/kafka-cluster.js +3 -3
  236. package/lib/generated/services/kafka.js +4 -4
  237. package/lib/generated/services/kafkaconnect.js +4 -4
  238. package/lib/generated/services/kendra-ranking.js +4 -4
  239. package/lib/generated/services/kendra.js +4 -4
  240. package/lib/generated/services/kinesis.js +4 -4
  241. package/lib/generated/services/kinesisanalytics.js +4 -4
  242. package/lib/generated/services/kinesisvideo.js +4 -4
  243. package/lib/generated/services/kms.js +4 -4
  244. package/lib/generated/services/lakeformation.js +3 -3
  245. package/lib/generated/services/lambda.js +4 -4
  246. package/lib/generated/services/launchwizard.js +4 -4
  247. package/lib/generated/services/lex.js +4 -4
  248. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager.js +4 -4
  251. package/lib/generated/services/lightsail.js +4 -4
  252. package/lib/generated/services/logs.js +4 -4
  253. package/lib/generated/services/lookoutequipment.js +4 -4
  254. package/lib/generated/services/lookoutmetrics.js +3 -3
  255. package/lib/generated/services/lookoutvision.js +3 -3
  256. package/lib/generated/services/m2.js +4 -4
  257. package/lib/generated/services/machinelearning.js +3 -3
  258. package/lib/generated/services/macie2.js +4 -4
  259. package/lib/generated/services/managedblockchain-query.js +2 -2
  260. package/lib/generated/services/managedblockchain.js +4 -4
  261. package/lib/generated/services/mapcredits.js +2 -2
  262. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  263. package/lib/generated/services/mechanicalturk.js +2 -2
  264. package/lib/generated/services/mediaconnect.js +4 -4
  265. package/lib/generated/services/mediaconvert.js +4 -4
  266. package/lib/generated/services/mediaimport.js +1 -1
  267. package/lib/generated/services/medialive.js +4 -4
  268. package/lib/generated/services/mediapackage-vod.js +4 -4
  269. package/lib/generated/services/mediapackage.js +4 -4
  270. package/lib/generated/services/mediapackagev2.js +4 -4
  271. package/lib/generated/services/mediastore.js +4 -4
  272. package/lib/generated/services/mediatailor.js +4 -4
  273. package/lib/generated/services/medical-imaging.js +4 -4
  274. package/lib/generated/services/memorydb.js +4 -4
  275. package/lib/generated/services/mgh.js +4 -4
  276. package/lib/generated/services/mgn.js +4 -4
  277. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  278. package/lib/generated/services/migrationhub-strategy.js +2 -2
  279. package/lib/generated/services/mobileanalytics.js +1 -1
  280. package/lib/generated/services/mobiletargeting.js +4 -4
  281. package/lib/generated/services/monitron.js +3 -3
  282. package/lib/generated/services/mpa.js +4 -4
  283. package/lib/generated/services/mq.js +4 -4
  284. package/lib/generated/services/neptune-db.js +4 -4
  285. package/lib/generated/services/neptune-graph.js +4 -4
  286. package/lib/generated/services/network-firewall.js +4 -4
  287. package/lib/generated/services/network-security-director.js +1 -1
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.d.ts +2 -10
  331. package/lib/generated/services/quicksight.js +8 -20
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.js +4 -4
  345. package/lib/generated/services/resource-explorer-2.js +4 -4
  346. package/lib/generated/services/resource-explorer.js +1 -1
  347. package/lib/generated/services/resource-groups.js +4 -4
  348. package/lib/generated/services/rhelkb.js +1 -1
  349. package/lib/generated/services/robomaker.js +3 -3
  350. package/lib/generated/services/rolesanywhere.js +4 -4
  351. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  352. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  353. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  354. package/lib/generated/services/route53.js +4 -4
  355. package/lib/generated/services/route53domains.js +2 -2
  356. package/lib/generated/services/route53globalresolver.js +4 -4
  357. package/lib/generated/services/route53profiles.js +4 -4
  358. package/lib/generated/services/route53resolver.js +4 -4
  359. package/lib/generated/services/rtbfabric.js +4 -4
  360. package/lib/generated/services/rum.js +4 -4
  361. package/lib/generated/services/s3-object-lambda.js +3 -3
  362. package/lib/generated/services/s3-outposts.js +4 -4
  363. package/lib/generated/services/s3.js +4 -4
  364. package/lib/generated/services/s3express.js +3 -3
  365. package/lib/generated/services/s3files.js +4 -4
  366. package/lib/generated/services/s3tables.js +4 -4
  367. package/lib/generated/services/s3vectors.js +4 -4
  368. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  369. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  370. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  371. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  372. package/lib/generated/services/sagemaker.js +4 -4
  373. package/lib/generated/services/savingsplans.js +4 -4
  374. package/lib/generated/services/scheduler.js +4 -4
  375. package/lib/generated/services/schemas.js +4 -4
  376. package/lib/generated/services/scn.js +4 -4
  377. package/lib/generated/services/sdb.js +3 -3
  378. package/lib/generated/services/secretsmanager.js +4 -4
  379. package/lib/generated/services/security-ir.js +4 -4
  380. package/lib/generated/services/securityagent.js +4 -4
  381. package/lib/generated/services/securityhub.js +4 -4
  382. package/lib/generated/services/securitylake.js +4 -4
  383. package/lib/generated/services/serverlessrepo.js +4 -4
  384. package/lib/generated/services/servicecatalog.js +4 -4
  385. package/lib/generated/services/servicediscovery.js +4 -4
  386. package/lib/generated/services/serviceextract.js +1 -1
  387. package/lib/generated/services/servicequotas.js +4 -4
  388. package/lib/generated/services/ses.js +4 -4
  389. package/lib/generated/services/shield.js +4 -4
  390. package/lib/generated/services/signer.js +4 -4
  391. package/lib/generated/services/signin.js +4 -4
  392. package/lib/generated/services/simspaceweaver.js +3 -3
  393. package/lib/generated/services/sms-voice.js +4 -4
  394. package/lib/generated/services/sms.js +1 -1
  395. package/lib/generated/services/snow-device-management.js +4 -4
  396. package/lib/generated/services/snowball.js +2 -2
  397. package/lib/generated/services/sns.js +4 -4
  398. package/lib/generated/services/social-messaging.js +4 -4
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.js +4 -4
  460. package/lib/generated/services/xray.js +4 -4
  461. package/package.json +1 -1
@@ -16,7 +16,7 @@ class DRSActions {
16
16
  }
17
17
  exports.DRSActions = DRSActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DRSActions[_a] = { fqn: "@cdk_utils/iam.drs.DRSActions", version: "1.10.0" };
19
+ DRSActions[_a] = { fqn: "@cdk_utils/iam.drs.DRSActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  DRSActions.SERVICE_PREFIX = "drs";
22
22
  /** [Write] drs:AssociateFailbackClientToRecoveryInstanceForDrs */
@@ -601,7 +601,7 @@ class DRSResources {
601
601
  }
602
602
  exports.DRSResources = DRSResources;
603
603
  _b = JSII_RTTI_SYMBOL_1;
604
- DRSResources[_b] = { fqn: "@cdk_utils/iam.drs.DRSResources", version: "1.10.0" };
604
+ DRSResources[_b] = { fqn: "@cdk_utils/iam.drs.DRSResources", version: "1.11.0" };
605
605
  /**
606
606
  * API operation to required IAM actions mapping for drs.
607
607
  */
@@ -609,7 +609,7 @@ class DRSOperations {
609
609
  }
610
610
  exports.DRSOperations = DRSOperations;
611
611
  _c = JSII_RTTI_SYMBOL_1;
612
- DRSOperations[_c] = { fqn: "@cdk_utils/iam.drs.DRSOperations", version: "1.10.0" };
612
+ DRSOperations[_c] = { fqn: "@cdk_utils/iam.drs.DRSOperations", version: "1.11.0" };
613
613
  /** IAM actions required for the AssociateSourceNetworkStack API call. */
614
614
  DRSOperations.AssociateSourceNetworkStack = [
615
615
  "drs:AssociateSourceNetworkStack",
@@ -627,7 +627,10 @@ DRSOperations.CreateLaunchConfigurationTemplate = [
627
627
  "drs:TagResource",
628
628
  ];
629
629
  /** IAM actions required for the CreateRecoveryPlan API call. */
630
- DRSOperations.CreateRecoveryPlan = ["drs:CreateRecoveryPlan"];
630
+ DRSOperations.CreateRecoveryPlan = [
631
+ "drs:CreateRecoveryPlan",
632
+ "drs:TagResource",
633
+ ];
631
634
  /** IAM actions required for the CreateRecoveryPlanStep API call. */
632
635
  DRSOperations.CreateRecoveryPlanStep = [
633
636
  "drs:CreateRecoveryPlanStep",
@@ -869,7 +872,7 @@ class DRSConditions {
869
872
  }
870
873
  exports.DRSConditions = DRSConditions;
871
874
  _d = JSII_RTTI_SYMBOL_1;
872
- DRSConditions[_d] = { fqn: "@cdk_utils/iam.drs.DRSConditions", version: "1.10.0" };
875
+ DRSConditions[_d] = { fqn: "@cdk_utils/iam.drs.DRSConditions", version: "1.11.0" };
873
876
  /** Condition keys applicable to the AssociateSourceNetworkStack action. */
874
877
  DRSConditions.AssociateSourceNetworkStackConditionKeys = [
875
878
  "aws:RequestTag/${TagKey}",
@@ -965,4 +968,4 @@ DRSConditions.AWS_TAG_KEYS = "aws:TagKeys";
965
968
  DRSConditions.CREATE_ACTION = "drs:CreateAction";
966
969
  /** Condition key: drs:EC2InstanceARN (ARN) */
967
970
  DRSConditions.EC2_INSTANCE_ARN = "drs:EC2InstanceARN";
968
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBa1pDOzs7QUFqWkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0VBQWtFO0FBQ2xELDBEQUErQyxHQUM5RCxxREFBcUQsQ0FBQztBQUN2RCw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHVEQUF1RDtBQUN2QywrQ0FBb0MsR0FDbkQsMENBQTBDLENBQUM7QUFDNUMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyw0Q0FBaUMsR0FDaEQsdUNBQXVDLENBQUM7QUFDekMsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxxQ0FBcUM7QUFDckIsNkJBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxpREFBc0MsR0FDckQsNENBQTRDLENBQUM7QUFDOUMsc0NBQXNDO0FBQ3RCLDhCQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQ2hFLDJDQUEyQztBQUMzQixtQ0FBd0IsR0FBRyw4QkFBOEIsQ0FBQztBQUMx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QWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELHFEQUF1QyxHQUFhO0lBQ25FLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxzQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLGtCQUFrQjtDQUNsQixDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELHFEQUF1QyxHQUFhO0lBQ25FLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyx3Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2Qyw2QkFBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4Qyw4QkFBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsMEJBQVksR0FBRyxhQUFhLENBQUM7QUFDN0MsK0NBQStDO0FBQy9CLDJCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQsOENBQThDO0FBQzlCLDhCQUFnQixHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZHJzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBkcnMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERSU0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJkcnNcIjtcblxuXHQvKiogW1dyaXRlXSBkcnM6QXNzb2NpYXRlRmFpbGJhY2tDbGllbnRUb1JlY292ZXJ5SW5zdGFuY2VGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUZhaWxiYWNrQ2xpZW50VG9SZWNvdmVyeUluc3RhbmNlRm9yRHJzID1cblx0XHRcImRyczpBc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6QXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgPVxuXHRcdFwiZHJzOkFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFja1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6QmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JEcnMgPVxuXHRcdFwiZHJzOkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6QmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzID1cblx0XHRcImRyczpCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb24gPVxuXHRcdFwiZHJzOkNhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnZlcnRlZFNuYXBzaG90Rm9yRHJzID1cblx0XHRcImRyczpDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyID0gXCJkcnM6Q3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgPVxuXHRcdFwiZHJzOkNyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuID0gXCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlU291cmNlTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU291cmNlTmV0d29yayA9IFwiZHJzOkNyZWF0ZVNvdXJjZU5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVNvdXJjZVNlcnZlckZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU291cmNlU2VydmVyRm9yRHJzID0gXCJkcnM6Q3JlYXRlU291cmNlU2VydmVyRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYiA9IFwiZHJzOkRlbGV0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlTGF1bmNoQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hBY3Rpb24gPSBcImRyczpEZWxldGVMYXVuY2hBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlY292ZXJ5SW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5SW5zdGFuY2UgPSBcImRyczpEZWxldGVSZWNvdmVyeUluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeVBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhbiA9IFwiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW5FeGVjdXRpb24gPVxuXHRcdFwiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcCA9IFwiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVNvdXJjZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNvdXJjZU5ldHdvcmsgPSBcImRyczpEZWxldGVTb3VyY2VOZXR3b3JrXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVTb3VyY2VTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNvdXJjZVNlcnZlciA9IFwiZHJzOkRlbGV0ZVNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkxvZ0l0ZW1zID0gXCJkcnM6RGVzY3JpYmVKb2JMb2dJdGVtc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9icyA9IFwiZHJzOkRlc2NyaWJlSm9ic1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyA9XG5cdFx0XCJkcnM6RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXMgPSBcImRyczpEZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHMgPSBcImRyczpEZXNjcmliZVJlY292ZXJ5U25hcHNob3RzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyA9XG5cdFx0XCJkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0ZvckRycyA9XG5cdFx0XCJkcnM6RGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0ZvckRycyA9XG5cdFx0XCJkcnM6RGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlTmV0d29ya3MgPSBcImRyczpEZXNjcmliZVNvdXJjZU5ldHdvcmtzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlU291cmNlU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzID0gXCJkcnM6RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UgPSBcImRyczpEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGlzY29ubmVjdFNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY29ubmVjdFNvdXJjZVNlcnZlciA9IFwiZHJzOkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlID1cblx0XHRcImRyczpFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRDb21tYW5kRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbW1hbmRGb3JEcnMgPSBcImRyczpHZXRBZ2VudENvbW1hbmRGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JEcnMgPVxuXHRcdFwiZHJzOkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JEcnMgPVxuXHRcdFwiZHJzOkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnMgPVxuXHRcdFwiZHJzOkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldENoYW5uZWxDb21tYW5kc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2hhbm5lbENvbW1hbmRzRm9yRHJzID1cblx0XHRcImRyczpHZXRDaGFubmVsQ29tbWFuZHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0RmFpbGJhY2tDb21tYW5kRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGYWlsYmFja0NvbW1hbmRGb3JEcnMgPVxuXHRcdFwiZHJzOkdldEZhaWxiYWNrQ29tbWFuZEZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmFpbGJhY2tMYXVuY2hSZXF1ZXN0ZWRGb3JEcnMgPVxuXHRcdFwiZHJzOkdldEZhaWxiYWNrTGF1bmNoUmVxdWVzdGVkRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0TGF1bmNoQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TGF1bmNoQ29uZmlndXJhdGlvbiA9IFwiZHJzOkdldExhdW5jaENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVjb3ZlcnlQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvdmVyeVBsYW4gPSBcImRyczpHZXRSZWNvdmVyeVBsYW5cIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvdmVyeVBsYW5FeGVjdXRpb24gPVxuXHRcdFwiZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwID1cblx0XHRcImRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlY292ZXJ5UGxhblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhblN0ZXAgPSBcImRyczpHZXRSZWNvdmVyeVBsYW5TdGVwXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTdWdnZXN0ZWRGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgPVxuXHRcdFwiZHJzOkdldFN1Z2dlc3RlZEZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6SW5pdGlhbGl6ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlID0gXCJkcnM6SW5pdGlhbGl6ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOklzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSXNzdWVBZ2VudENlcnRpZmljYXRlRm9yRHJzID1cblx0XHRcImRyczpJc3N1ZUFnZW50Q2VydGlmaWNhdGVGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnMgPVxuXHRcdFwiZHJzOkxpc3RFeHRlbnNpYmxlU291cmNlU2VydmVyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0TGF1bmNoQWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhdW5jaEFjdGlvbnMgPSBcImRyczpMaXN0TGF1bmNoQWN0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyA9XG5cdFx0XCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9ucyA9IFwiZHJzOkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RSZWNvdmVyeVBsYW5TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhblN0ZXBzID0gXCJkcnM6TGlzdFJlY292ZXJ5UGxhblN0ZXBzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RSZWNvdmVyeVBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFucyA9IFwiZHJzOkxpc3RSZWNvdmVyeVBsYW5zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RTdGFnaW5nQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFnaW5nQWNjb3VudHMgPSBcImRyczpMaXN0U3RhZ2luZ0FjY291bnRzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImRyczpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudEF1dGhlbnRpY2F0aW9uRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudEF1dGhlbnRpY2F0aW9uRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlBZ2VudEF1dGhlbnRpY2F0aW9uRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudENvbm5lY3RlZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JEcnMgPSBcImRyczpOb3RpZnlBZ2VudENvbm5lY3RlZEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5Q29uc2lzdGVuY3lBdHRhaW5lZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5Q29uc2lzdGVuY3lBdHRhaW5lZEZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5Q29uc2lzdGVuY3lBdHRhaW5lZEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5UmVwbGljYXRpb25TZXJ2ZXJBdXRoZW50aWNhdGlvbkZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5UmVwbGljYXRpb25TZXJ2ZXJBdXRoZW50aWNhdGlvbkZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5UmVwbGljYXRpb25TZXJ2ZXJBdXRoZW50aWNhdGlvbkZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5Vm9sdW1lRXZlbnRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeVZvbHVtZUV2ZW50Rm9yRHJzID0gXCJkcnM6Tm90aWZ5Vm9sdW1lRXZlbnRGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlB1dExhdW5jaEFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGF1bmNoQWN0aW9uID0gXCJkcnM6UHV0TGF1bmNoQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpSZW9yZGVyUmVjb3ZlcnlQbGFuU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyA9IFwiZHJzOlJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmV0cnlEYXRhUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5RGF0YVJlcGxpY2F0aW9uID0gXCJkcnM6UmV0cnlEYXRhUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwID1cblx0XHRcImRyczpSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlJldmVyc2VSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV2ZXJzZVJlcGxpY2F0aW9uID0gXCJkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQWdlbnRMb2dzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQWdlbnRMb2dzRm9yRHJzID0gXCJkcnM6U2VuZEFnZW50TG9nc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZEFnZW50TWV0cmljc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEFnZW50TWV0cmljc0ZvckRycyA9IFwiZHJzOlNlbmRBZ2VudE1ldHJpY3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yRHJzID1cblx0XHRcImRyczpTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRDbGllbnRMb2dzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ2xpZW50TG9nc0ZvckRycyA9IFwiZHJzOlNlbmRDbGllbnRMb2dzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQ2xpZW50TWV0cmljc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENsaWVudE1ldHJpY3NGb3JEcnMgPSBcImRyczpTZW5kQ2xpZW50TWV0cmljc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZFZvbHVtZVN0YXRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9sdW1lU3RhdHNGb3JEcnMgPSBcImRyczpTZW5kVm9sdW1lU3RhdHNGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0RmFpbGJhY2tMYXVuY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RmFpbGJhY2tMYXVuY2ggPSBcImRyczpTdGFydEZhaWxiYWNrTGF1bmNoXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFJlY292ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5ID0gXCJkcnM6U3RhcnRSZWNvdmVyeVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uID0gXCJkcnM6U3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0UmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb24gPSBcImRyczpTdGFydFJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgPSBcImRyczpTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uID1cblx0XHRcImRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RvcEZhaWxiYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmFpbGJhY2sgPSBcImRyczpTdG9wRmFpbGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0b3BSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uID0gXCJkcnM6U3RvcFJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uID1cblx0XHRcImRyczpTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gZHJzOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiZHJzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXMgPSBcImRyczpUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc1wiO1xuXHQvKiogW1RhZ2dpbmddIGRyczpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJkcnM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRCYWNrbG9nRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEJhY2tsb2dGb3JEcnMgPSBcImRyczpVcGRhdGVBZ2VudEJhY2tsb2dGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUZhaWxiYWNrQ2xpZW50TGFzdFNlZW5Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWxiYWNrQ2xpZW50TGFzdFNlZW5Gb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUZhaWxiYWNrQ2xpZW50TGFzdFNlZW5Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gPSBcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZWNvdmVyeVBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY292ZXJ5UGxhbiA9IFwiZHJzOlVwZGF0ZVJlY292ZXJ5UGxhblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCA9XG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcCA9IFwiZHJzOlVwZGF0ZVJlY292ZXJ5UGxhblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ2VydGlmaWNhdGVGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ2VydGlmaWNhdGVGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ2VydGlmaWNhdGVGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlSm9iTG9nSXRlbXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZUpvYnMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0ZvckRycyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlU291cmNlTmV0d29ya3MsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVNvdXJjZVNlcnZlcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudENvbW1hbmRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0Q2hhbm5lbENvbW1hbmRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0RmFpbGJhY2tDb21tYW5kRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0RmFpbGJhY2tMYXVuY2hSZXF1ZXN0ZWRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldExhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZWNvdmVyeVBsYW5FeGVjdXRpb24sXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVjb3ZlcnlQbGFuU3RlcCxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFN1Z2dlc3RlZEZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyxcblx0XHREUlNBY3Rpb25zLkxpc3RFeHRlbnNpYmxlU291cmNlU2VydmVycyxcblx0XHREUlNBY3Rpb25zLkxpc3RMYXVuY2hBY3Rpb25zLFxuXHRcdERSU0FjdGlvbnMuTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBzLFxuXHRcdERSU0FjdGlvbnMuTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFuU3RlcHMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFucyxcblx0XHREUlNBY3Rpb25zLkxpc3RTdGFnaW5nQWNjb3VudHMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdERSU0FjdGlvbnMuQXNzb2NpYXRlRmFpbGJhY2tDbGllbnRUb1JlY292ZXJ5SW5zdGFuY2VGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Bc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2ssXG5cdFx0RFJTQWN0aW9ucy5CYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5CYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvckRycyxcblx0XHREUlNBY3Rpb25zLkNhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLkNyZWF0ZUNvbnZlcnRlZFNuYXBzaG90Rm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZWNvdmVyeUluc3RhbmNlRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlUmVjb3ZlcnlQbGFuLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcCxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlU291cmNlTmV0d29yayxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVNvdXJjZVNlcnZlckZvckRycyxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZUpvYixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZUxhdW5jaEFjdGlvbixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5SW5zdGFuY2UsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZWNvdmVyeVBsYW5FeGVjdXRpb24sXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVTb3VyY2VOZXR3b3JrLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlU291cmNlU2VydmVyLFxuXHRcdERSU0FjdGlvbnMuRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UsXG5cdFx0RFJTQWN0aW9ucy5EaXNjb25uZWN0U291cmNlU2VydmVyLFxuXHRcdERSU0FjdGlvbnMuRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuSW5pdGlhbGl6ZVNlcnZpY2UsXG5cdFx0RFJTQWN0aW9ucy5Jc3N1ZUFnZW50Q2VydGlmaWNhdGVGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlBZ2VudEF1dGhlbnRpY2F0aW9uRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUNvbnNpc3RlbmN5QXR0YWluZWRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5Vm9sdW1lRXZlbnRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5QdXRMYXVuY2hBY3Rpb24sXG5cdFx0RFJTQWN0aW9ucy5SZW9yZGVyUmVjb3ZlcnlQbGFuU3RlcHMsXG5cdFx0RFJTQWN0aW9ucy5SZXRyeURhdGFSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCxcblx0XHREUlNBY3Rpb25zLlJldmVyc2VSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlNlbmRBZ2VudExvZ3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQWdlbnRNZXRyaWNzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZENsaWVudExvZ3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQ2xpZW50TWV0cmljc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRWb2x1bWVTdGF0c0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlN0YXJ0RmFpbGJhY2tMYXVuY2gsXG5cdFx0RFJTQWN0aW9ucy5TdGFydFJlY292ZXJ5LFxuXHRcdERSU0FjdGlvbnMuU3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TdGFydFJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnksXG5cdFx0RFJTQWN0aW9ucy5TdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlN0b3BGYWlsYmFjayxcblx0XHREUlNBY3Rpb25zLlN0b3BSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5UZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50QmFja2xvZ0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVGYWlsYmFja0NsaWVudExhc3RTZWVuRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVjb3ZlcnlQbGFuLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlY292ZXJ5UGxhblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNlcnRpZmljYXRlRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdERSU0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0RFJTQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSm9iUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0pvYlJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEpvYlJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNKb2JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0xhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb3ZlcnlJbnN0YW5jZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvdmVyeUluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb3ZlcnlJbnN0YW5jZUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlJbnN0YW5jZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25JRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWNvdmVyeVBsYW5SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb3ZlcnlQbGFuSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5UGxhbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5UGxhblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5JRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5UGxhbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU291cmNlTmV0d29ya1Jlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU291cmNlTmV0d29ya0lEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzb3VyY2VOZXR3b3JrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU291cmNlTmV0d29ya0lEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc291cmNlTmV0d29ya0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlU2VydmVyUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU291cmNlU2VydmVySUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNvdXJjZVNlcnZlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1NvdXJjZVNlcnZlclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTb3VyY2VTZXJ2ZXJJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNvdXJjZVNlcnZlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEpvYlJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsYXVuY2gtY29uZmlndXJhdGlvbi10ZW1wbGF0ZVxcLyg/PGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkPlteOi8/XSspJC87XG5jb25zdCBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb3ZlcnktaW5zdGFuY2VcXC8oPzxyZWNvdmVyeUluc3RhbmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlY292ZXJ5LXBsYW4tZXhlY3V0aW9uXFwvKD88cmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY292ZXJ5UGxhblJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlY292ZXJ5LXBsYW5cXC8oPzxyZWNvdmVyeVBsYW5JZD5bXjovP10rKSQvO1xuY29uc3QgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXBsaWNhdGlvbi1jb25maWd1cmF0aW9uLXRlbXBsYXRlXFwvKD88cmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgU291cmNlTmV0d29ya1Jlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNvdXJjZS1uZXR3b3JrXFwvKD88c291cmNlTmV0d29ya0lkPlteOi8/XSspJC87XG5jb25zdCBTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzb3VyY2Utc2VydmVyXFwvKD88c291cmNlU2VydmVySWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBkcnMgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBKb2JSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2JSZXNvdXJjZShwcm9wczogRFJTSm9iUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBKb2JSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSm9iUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBEUlNKb2JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSm9iUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU0xhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxhdW5jaC1jb25maWd1cmF0aW9uLXRlbXBsYXRlLyR7cHJvcHMubGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5sYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVjb3ZlcnktaW5zdGFuY2UvJHtwcm9wcy5yZWNvdmVyeUluc3RhbmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb3ZlcnlJbnN0YW5jZUlkOiBtYXRjaC5ncm91cHMhLnJlY292ZXJ5SW5zdGFuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZShcblx0XHRwcm9wczogRFJTUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVjb3ZlcnktcGxhbi1leGVjdXRpb24vJHtwcm9wcy5yZWNvdmVyeVBsYW5FeGVjdXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb3ZlcnlQbGFuUmVzb3VyY2UocHJvcHM6IERSU1JlY292ZXJ5UGxhblJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvdmVyeS1wbGFuLyR7cHJvcHMucmVjb3ZlcnlQbGFuSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlY292ZXJ5UGxhblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvdmVyeVBsYW5SZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWNvdmVyeVBsYW5SZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvdmVyeVBsYW5SZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY292ZXJ5UGxhblJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY292ZXJ5UGxhbklkOiBtYXRjaC5ncm91cHMhLnJlY292ZXJ5UGxhbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZShcblx0XHRwcm9wczogRFJTUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXBsaWNhdGlvbi1jb25maWd1cmF0aW9uLXRlbXBsYXRlLyR7cHJvcHMucmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEucmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc291cmNlTmV0d29ya1Jlc291cmNlKFxuXHRcdHByb3BzOiBEUlNTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c291cmNlLW5ldHdvcmsvJHtwcm9wcy5zb3VyY2VOZXR3b3JrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU291cmNlTmV0d29ya1Jlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU291cmNlTmV0d29ya1Jlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c291cmNlTmV0d29ya0lkOiBtYXRjaC5ncm91cHMhLnNvdXJjZU5ldHdvcmtJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VTZXJ2ZXJSZXNvdXJjZShwcm9wczogRFJTU291cmNlU2VydmVyUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNvdXJjZS1zZXJ2ZXIvJHtwcm9wcy5zb3VyY2VTZXJ2ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU291cmNlU2VydmVyUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNvdXJjZVNlcnZlclJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNvdXJjZVNlcnZlclJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c291cmNlU2VydmVySWQ6IG1hdGNoLmdyb3VwcyEuc291cmNlU2VydmVySWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZHJzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6QXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY292ZXJ5UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbjogc3RyaW5nW10gPSBbXCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNvdXJjZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVTb3VyY2VOZXR3b3JrXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxhdW5jaEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaEFjdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlTGF1bmNoQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeUluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW46IHN0cmluZ1tdID0gW1wiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTb3VyY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlTmV0d29yazogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlU291cmNlTmV0d29ya1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVTb3VyY2VTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iTG9nSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkxvZ0l0ZW1zOiBzdHJpbmdbXSA9IFtcImRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnM6IHN0cmluZ1tdID0gW1wiZHJzOkRlc2NyaWJlSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VOZXR3b3JrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlTmV0d29ya3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMYXVuY2hDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMYXVuY2hDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpHZXRSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXCJkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWFsaXplU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImRyczpJbml0aWFsaXplU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhdW5jaEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9uczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdExhdW5jaEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdGFnaW5nQWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2luZ0FjY291bnRzOiBzdHJpbmdbXSA9IFtcImRyczpMaXN0U3RhZ2luZ0FjY291bnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TGF1bmNoQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGF1bmNoQWN0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpQdXRMYXVuY2hBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJ5RGF0YVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXA6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldmVyc2VSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZhaWxiYWNrTGF1bmNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvdmVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3Zlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlN0YXJ0UmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6U3RhcnRSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmFpbGJhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmFpbGJhY2s6IHN0cmluZ1tdID0gW1wiZHJzOlN0b3BGYWlsYmFja1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpTdG9wUmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZHJzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZHJzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTb3VyY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNvdXJjZVNlcnZlckZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RmFpbGJhY2tMYXVuY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZWNvdmVyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkcnM6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJkcnM6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6RUMySW5zdGFuY2VBUk4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVDMl9JTlNUQU5DRV9BUk4gPSBcImRyczpFQzJJbnN0YW5jZUFSTlwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6Q3JlYXRlQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBjcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkcnM6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6RUMySW5zdGFuY2VBUk5gLlxuXHQgKi9cblx0c3RhdGljIGVjMkluc3RhbmNlQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZHJzOkVDMkluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
971
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBa1pDOzs7QUFqWkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0VBQWtFO0FBQ2xELDBEQUErQyxHQUM5RCxxREFBcUQsQ0FBQztBQUN2RCw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHVEQUF1RDtBQUN2QywrQ0FBb0MsR0FDbkQsMENBQTBDLENBQUM7QUFDNUMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyw0Q0FBaUMsR0FDaEQsdUNBQXVDLENBQUM7QUFDekMsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxxQ0FBcUM7QUFDckIsNkJBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxpREFBc0MsR0FDckQsNENBQTRDLENBQUM7QUFDOUMsc0NBQXNDO0FBQ3RCLDhCQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQ2hFLDJDQUEyQztBQUMzQixtQ0FBd0IsR0FBRyw4QkFBOEIsQ0FBQztBQUMx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QUMxRCxxREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQscURBQXVDLEdBQWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLHNDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isa0JBQWtCO0NBQ2xCLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQscURBQXVDLEdBQWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLHdDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLDZCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLDhCQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQywwQkFBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QywrQ0FBK0M7QUFDL0IsMkJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuRCw4Q0FBOEM7QUFDOUIsOEJBQWdCLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9kcnMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGRycyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImRyc1wiO1xuXG5cdC8qKiBbV3JpdGVdIGRyczpBc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlRmFpbGJhY2tDbGllbnRUb1JlY292ZXJ5SW5zdGFuY2VGb3JEcnMgPVxuXHRcdFwiZHJzOkFzc29jaWF0ZUZhaWxiYWNrQ2xpZW50VG9SZWNvdmVyeUluc3RhbmNlRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayA9XG5cdFx0XCJkcnM6QXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRycyA9XG5cdFx0XCJkcnM6QmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JEcnMgPVxuXHRcdFwiZHJzOkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6Q2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnMgPVxuXHRcdFwiZHJzOkNyZWF0ZUNvbnZlcnRlZFNuYXBzaG90Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgPSBcImRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRycyA9XG5cdFx0XCJkcnM6Q3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvdmVyeVBsYW4gPSBcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhblN0ZXAgPSBcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVTb3VyY2VOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VOZXR3b3JrID0gXCJkcnM6Q3JlYXRlU291cmNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlU291cmNlU2VydmVyRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnMgPSBcImRyczpDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJkcnM6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVMYXVuY2hBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaEFjdGlvbiA9IFwiZHJzOkRlbGV0ZUxhdW5jaEFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSA9IFwiZHJzOkRlbGV0ZVJlY292ZXJ5SW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuID0gXCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlU291cmNlTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlTmV0d29yayA9IFwiZHJzOkRlbGV0ZVNvdXJjZU5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyID0gXCJkcnM6RGVsZXRlU291cmNlU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlSm9iTG9nSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iTG9nSXRlbXMgPSBcImRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JzID0gXCJkcnM6RGVzY3JpYmVKb2JzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzID1cblx0XHRcImRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyA9IFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyA9IFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzID1cblx0XHRcImRyczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzID1cblx0XHRcImRyczpEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzID1cblx0XHRcImRyczpEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVTb3VyY2VOZXR3b3JrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VOZXR3b3JrcyA9IFwiZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3NcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNvdXJjZVNlcnZlcnMgPSBcImRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZSA9IFwiZHJzOkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEaXNjb25uZWN0U291cmNlU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0U291cmNlU2VydmVyID0gXCJkcnM6RGlzY29ubmVjdFNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudENvbW1hbmRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29tbWFuZEZvckRycyA9IFwiZHJzOkdldEFnZW50Q29tbWFuZEZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0Q2hhbm5lbENvbW1hbmRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDaGFubmVsQ29tbWFuZHNGb3JEcnMgPVxuXHRcdFwiZHJzOkdldENoYW5uZWxDb21tYW5kc0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRGYWlsYmFja0NvbW1hbmRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWxiYWNrQ29tbWFuZEZvckRycyA9XG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tDb21tYW5kRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEZhaWxiYWNrTGF1bmNoUmVxdWVzdGVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRycyA9XG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tMYXVuY2hSZXF1ZXN0ZWRGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMYXVuY2hDb25maWd1cmF0aW9uID0gXCJkcnM6R2V0TGF1bmNoQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbiA9IFwiZHJzOkdldFJlY292ZXJ5UGxhblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgPVxuXHRcdFwiZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3ZlcnlQbGFuU3RlcCA9IFwiZHJzOkdldFJlY292ZXJ5UGxhblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRTdWdnZXN0ZWRGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN1Z2dlc3RlZEZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpJbml0aWFsaXplU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhbGl6ZVNlcnZpY2UgPSBcImRyczpJbml0aWFsaXplU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6SXNzdWVBZ2VudENlcnRpZmljYXRlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBJc3N1ZUFnZW50Q2VydGlmaWNhdGVGb3JEcnMgPVxuXHRcdFwiZHJzOklzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHRlbnNpYmxlU291cmNlU2VydmVycyA9XG5cdFx0XCJkcnM6TGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RMYXVuY2hBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9ucyA9IFwiZHJzOkxpc3RMYXVuY2hBY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBzID1cblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25zID0gXCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuU3RlcHMgPSBcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5zID0gXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFN0YWdpbmdBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdpbmdBY2NvdW50cyA9IFwiZHJzOkxpc3RTdGFnaW5nQWNjb3VudHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiZHJzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudENvbm5lY3RlZEZvckRycyA9IFwiZHJzOk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0ZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlWb2x1bWVFdmVudEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5Vm9sdW1lRXZlbnRGb3JEcnMgPSBcImRyczpOb3RpZnlWb2x1bWVFdmVudEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6UHV0TGF1bmNoQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMYXVuY2hBY3Rpb24gPSBcImRyczpQdXRMYXVuY2hBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzID0gXCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpSZXRyeURhdGFSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb24gPSBcImRyczpSZXRyeURhdGFSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgPVxuXHRcdFwiZHJzOlJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb24gPSBcImRyczpSZXZlcnNlUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRBZ2VudExvZ3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBZ2VudExvZ3NGb3JEcnMgPSBcImRyczpTZW5kQWdlbnRMb2dzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQWdlbnRNZXRyaWNzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQWdlbnRNZXRyaWNzRm9yRHJzID0gXCJkcnM6U2VuZEFnZW50TWV0cmljc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnMgPVxuXHRcdFwiZHJzOlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZENsaWVudExvZ3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDbGllbnRMb2dzRm9yRHJzID0gXCJkcnM6U2VuZENsaWVudExvZ3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ2xpZW50TWV0cmljc0ZvckRycyA9IFwiZHJzOlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kVm9sdW1lU3RhdHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRWb2x1bWVTdGF0c0ZvckRycyA9IFwiZHJzOlNlbmRWb2x1bWVTdGF0c0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRGYWlsYmFja0xhdW5jaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaCA9IFwiZHJzOlN0YXJ0RmFpbGJhY2tMYXVuY2hcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0UmVjb3ZlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnkgPSBcImRyczpTdGFydFJlY292ZXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb24gPSBcImRyczpTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvbiA9IFwiZHJzOlN0YXJ0UmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeSA9IFwiZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gPVxuXHRcdFwiZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdG9wRmFpbGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGYWlsYmFjayA9IFwiZHJzOlN0b3BGYWlsYmFja1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RvcFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVwbGljYXRpb24gPSBcImRyczpTdG9wUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gPVxuXHRcdFwiZHJzOlN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBkcnM6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJkcnM6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyA9IFwiZHJzOlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzXCI7XG5cdC8qKiBbVGFnZ2luZ10gZHJzOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImRyczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudEJhY2tsb2dGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QmFja2xvZ0ZvckRycyA9IFwiZHJzOlVwZGF0ZUFnZW50QmFja2xvZ0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiA9IFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuID0gXCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwID1cblx0XHRcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVKb2JMb2dJdGVtcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlSm9icyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlY292ZXJ5U25hcHNob3RzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVTb3VyY2VOZXR3b3Jrcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlU291cmNlU2VydmVycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29tbWFuZEZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRDaGFubmVsQ29tbWFuZHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRGYWlsYmFja0NvbW1hbmRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0TGF1bmNoQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzLFxuXHRcdERSU0FjdGlvbnMuTGlzdExhdW5jaEFjdGlvbnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9ucyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5TdGVwcyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5zLFxuXHRcdERSU0FjdGlvbnMuTGlzdFN0YWdpbmdBY2NvdW50cyxcblx0XHREUlNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RFJTQWN0aW9ucy5Bc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRycyxcblx0XHREUlNBY3Rpb25zLkFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayxcblx0XHREUlNBY3Rpb25zLkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRycyxcblx0XHREUlNBY3Rpb25zLkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlcixcblx0XHREUlNBY3Rpb25zLkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVTb3VyY2VOZXR3b3JrLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlU291cmNlU2VydmVyRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlTGF1bmNoQWN0aW9uLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVNvdXJjZU5ldHdvcmssXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVTb3VyY2VTZXJ2ZXIsXG5cdFx0RFJTQWN0aW9ucy5EaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZSxcblx0XHREUlNBY3Rpb25zLkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXIsXG5cdFx0RFJTQWN0aW9ucy5FeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5Jbml0aWFsaXplU2VydmljZSxcblx0XHREUlNBY3Rpb25zLklzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlBZ2VudENvbm5lY3RlZEZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5Q29uc2lzdGVuY3lBdHRhaW5lZEZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeVJlcGxpY2F0aW9uU2VydmVyQXV0aGVudGljYXRpb25Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlWb2x1bWVFdmVudEZvckRycyxcblx0XHREUlNBY3Rpb25zLlB1dExhdW5jaEFjdGlvbixcblx0XHREUlNBY3Rpb25zLlJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyxcblx0XHREUlNBY3Rpb25zLlJldHJ5RGF0YVJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuUmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwLFxuXHRcdERSU0FjdGlvbnMuUmV2ZXJzZVJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU2VuZEFnZW50TG9nc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRBZ2VudE1ldHJpY3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQ2xpZW50TG9nc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZFZvbHVtZVN0YXRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU3RhcnRGYWlsYmFja0xhdW5jaCxcblx0XHREUlNBY3Rpb25zLlN0YXJ0UmVjb3ZlcnksXG5cdFx0RFJTQWN0aW9ucy5TdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLlN0YXJ0UmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeSxcblx0XHREUlNBY3Rpb25zLlN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RvcEZhaWxiYWNrLFxuXHRcdERSU0FjdGlvbnMuU3RvcFJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRCYWNrbG9nRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUZhaWxiYWNrQ2xpZW50TGFzdFNlZW5Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcCxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlcGxpY2F0aW9uQ2VydGlmaWNhdGVGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RFJTQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHREUlNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBKb2JSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTSm9iUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSm9iUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0pvYlJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0xhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeUluc3RhbmNlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5SW5zdGFuY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvdmVyeUluc3RhbmNlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvdmVyeUluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25JRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5JRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWNvdmVyeVBsYW5SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBTb3VyY2VOZXR3b3JrSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNvdXJjZU5ldHdvcmtJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlTmV0d29ya1Jlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTb3VyY2VOZXR3b3JrSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzb3VyY2VOZXR3b3JrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBTb3VyY2VTZXJ2ZXJJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlU2VydmVyUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNvdXJjZVNlcnZlcklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcbn1cblxuY29uc3QgSm9iUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxhdW5jaC1jb25maWd1cmF0aW9uLXRlbXBsYXRlXFwvKD88bGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvdmVyeS1pbnN0YW5jZVxcLyg/PHJlY292ZXJ5SW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb3ZlcnktcGxhbi1leGVjdXRpb25cXC8oPzxyZWNvdmVyeVBsYW5FeGVjdXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb3ZlcnktcGxhblxcLyg/PHJlY292ZXJ5UGxhbklkPlteOi8/XSspJC87XG5jb25zdCBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGVcXC8oPzxyZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkPlteOi8/XSspJC87XG5jb25zdCBTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c291cmNlLW5ldHdvcmtcXC8oPzxzb3VyY2VOZXR3b3JrSWQ+W146Lz9dKykkLztcbmNvbnN0IFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNvdXJjZS1zZXJ2ZXJcXC8oPzxzb3VyY2VTZXJ2ZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGRycyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEUlNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEpvYlJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYlJlc291cmNlKHByb3BzOiBEUlNKb2JSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEpvYlJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBKb2JSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IERSU0pvYlJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBKb2JSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZShcblx0XHRwcm9wczogRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGF1bmNoLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5sYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvdmVyeS1pbnN0YW5jZS8ke3Byb3BzLnJlY292ZXJ5SW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvdmVyeUluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVjb3ZlcnlJbnN0YW5jZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvdmVyeS1wbGFuLWV4ZWN1dGlvbi8ke3Byb3BzLnJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvdmVyeVBsYW5FeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZWNvdmVyeVBsYW5FeGVjdXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvdmVyeVBsYW5SZXNvdXJjZShwcm9wczogRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY292ZXJ5LXBsYW4vJHtwcm9wcy5yZWNvdmVyeVBsYW5JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY292ZXJ5UGxhblJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY292ZXJ5UGxhblJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY292ZXJ5UGxhblJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb3ZlcnlQbGFuSWQ6IG1hdGNoLmdyb3VwcyEucmVjb3ZlcnlQbGFuSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VOZXR3b3JrUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzb3VyY2UtbmV0d29yay8ke3Byb3BzLnNvdXJjZU5ldHdvcmtJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU291cmNlTmV0d29ya1Jlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU291cmNlTmV0d29ya1Jlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU291cmNlTmV0d29ya1Jlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzb3VyY2VOZXR3b3JrSWQ6IG1hdGNoLmdyb3VwcyEuc291cmNlTmV0d29ya0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvdXJjZVNlcnZlclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNvdXJjZVNlcnZlclJlc291cmNlKHByb3BzOiBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c291cmNlLXNlcnZlci8ke3Byb3BzLnNvdXJjZVNlcnZlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU291cmNlU2VydmVyUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU291cmNlU2VydmVyUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1NvdXJjZVNlcnZlclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzb3VyY2VTZXJ2ZXJJZDogbWF0Y2guZ3JvdXBzIS5zb3VyY2VTZXJ2ZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBkcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEUlNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlclwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5cIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNvdXJjZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVTb3VyY2VOZXR3b3JrXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxhdW5jaEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaEFjdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlTGF1bmNoQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeUluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW46IHN0cmluZ1tdID0gW1wiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTb3VyY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlTmV0d29yazogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlU291cmNlTmV0d29ya1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVTb3VyY2VTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iTG9nSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkxvZ0l0ZW1zOiBzdHJpbmdbXSA9IFtcImRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnM6IHN0cmluZ1tdID0gW1wiZHJzOkRlc2NyaWJlSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VOZXR3b3JrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlTmV0d29ya3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMYXVuY2hDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMYXVuY2hDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpHZXRSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXCJkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWFsaXplU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImRyczpJbml0aWFsaXplU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhdW5jaEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9uczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdExhdW5jaEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdGFnaW5nQWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2luZ0FjY291bnRzOiBzdHJpbmdbXSA9IFtcImRyczpMaXN0U3RhZ2luZ0FjY291bnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TGF1bmNoQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGF1bmNoQWN0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpQdXRMYXVuY2hBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJ5RGF0YVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXA6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldmVyc2VSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZhaWxiYWNrTGF1bmNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvdmVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3Zlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlN0YXJ0UmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6U3RhcnRSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmFpbGJhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmFpbGJhY2s6IHN0cmluZ1tdID0gW1wiZHJzOlN0b3BGYWlsYmFja1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpTdG9wUmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZHJzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZHJzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTb3VyY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNvdXJjZVNlcnZlckZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RmFpbGJhY2tMYXVuY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZWNvdmVyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkcnM6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJkcnM6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6RUMySW5zdGFuY2VBUk4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVDMl9JTlNUQU5DRV9BUk4gPSBcImRyczpFQzJJbnN0YW5jZUFSTlwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6Q3JlYXRlQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBjcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkcnM6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6RUMySW5zdGFuY2VBUk5gLlxuXHQgKi9cblx0c3RhdGljIGVjMkluc3RhbmNlQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZHJzOkVDMkluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
@@ -16,7 +16,7 @@ class DsDataActions {
16
16
  }
17
17
  exports.DsDataActions = DsDataActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DsDataActions[_a] = { fqn: "@cdk_utils/iam.ds_data.DsDataActions", version: "1.10.0" };
19
+ DsDataActions[_a] = { fqn: "@cdk_utils/iam.ds_data.DsDataActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  DsDataActions.SERVICE_PREFIX = "ds-data";
22
22
  /** [Write] ds-data:AddGroupMember */
@@ -119,7 +119,7 @@ class DsDataResources {
119
119
  }
120
120
  exports.DsDataResources = DsDataResources;
121
121
  _b = JSII_RTTI_SYMBOL_1;
122
- DsDataResources[_b] = { fqn: "@cdk_utils/iam.ds_data.DsDataResources", version: "1.10.0" };
122
+ DsDataResources[_b] = { fqn: "@cdk_utils/iam.ds_data.DsDataResources", version: "1.11.0" };
123
123
  /**
124
124
  * API operation to required IAM actions mapping for ds-data.
125
125
  */
@@ -127,7 +127,7 @@ class DsDataOperations {
127
127
  }
128
128
  exports.DsDataOperations = DsDataOperations;
129
129
  _c = JSII_RTTI_SYMBOL_1;
130
- DsDataOperations[_c] = { fqn: "@cdk_utils/iam.ds_data.DsDataOperations", version: "1.10.0" };
130
+ DsDataOperations[_c] = { fqn: "@cdk_utils/iam.ds_data.DsDataOperations", version: "1.11.0" };
131
131
  /** IAM actions required for the AddGroupMember API call. */
132
132
  DsDataOperations.AddGroupMember = [
133
133
  "ds:AccessDSData",
@@ -258,7 +258,7 @@ class DsDataConditions {
258
258
  }
259
259
  exports.DsDataConditions = DsDataConditions;
260
260
  _d = JSII_RTTI_SYMBOL_1;
261
- DsDataConditions[_d] = { fqn: "@cdk_utils/iam.ds_data.DsDataConditions", version: "1.10.0" };
261
+ DsDataConditions[_d] = { fqn: "@cdk_utils/iam.ds_data.DsDataConditions", version: "1.11.0" };
262
262
  /** Condition keys applicable to the AddGroupMember action. */
263
263
  DsDataConditions.AddGroupMemberConditionKeys = [
264
264
  "ds-data:Identifier",
@@ -16,7 +16,7 @@ class DsActions {
16
16
  }
17
17
  exports.DsActions = DsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DsActions[_a] = { fqn: "@cdk_utils/iam.ds.DsActions", version: "1.10.0" };
19
+ DsActions[_a] = { fqn: "@cdk_utils/iam.ds.DsActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  DsActions.SERVICE_PREFIX = "ds";
22
22
  /** [Write] ds:AcceptSharedDirectory */
@@ -343,7 +343,7 @@ class DsResources {
343
343
  }
344
344
  exports.DsResources = DsResources;
345
345
  _b = JSII_RTTI_SYMBOL_1;
346
- DsResources[_b] = { fqn: "@cdk_utils/iam.ds.DsResources", version: "1.10.0" };
346
+ DsResources[_b] = { fqn: "@cdk_utils/iam.ds.DsResources", version: "1.11.0" };
347
347
  /**
348
348
  * API operation to required IAM actions mapping for ds.
349
349
  */
@@ -351,7 +351,7 @@ class DsOperations {
351
351
  }
352
352
  exports.DsOperations = DsOperations;
353
353
  _c = JSII_RTTI_SYMBOL_1;
354
- DsOperations[_c] = { fqn: "@cdk_utils/iam.ds.DsOperations", version: "1.10.0" };
354
+ DsOperations[_c] = { fqn: "@cdk_utils/iam.ds.DsOperations", version: "1.11.0" };
355
355
  /** IAM actions required for the AcceptSharedDirectory API call. */
356
356
  DsOperations.AcceptSharedDirectory = [
357
357
  "ds:AcceptSharedDirectory",
@@ -601,7 +601,7 @@ class DsConditions {
601
601
  }
602
602
  exports.DsConditions = DsConditions;
603
603
  _d = JSII_RTTI_SYMBOL_1;
604
- DsConditions[_d] = { fqn: "@cdk_utils/iam.ds.DsConditions", version: "1.10.0" };
604
+ DsConditions[_d] = { fqn: "@cdk_utils/iam.ds.DsConditions", version: "1.11.0" };
605
605
  /** Condition keys applicable to the AddTagsToResource action. */
606
606
  DsConditions.AddTagsToResourceConditionKeys = [
607
607
  "aws:RequestTag/${TagKey}",