@cdk_utils/iam 1.2.0 → 1.3.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 (460) hide show
  1. package/.jsii +1045 -940
  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.d.ts +6 -0
  9. package/lib/generated/services/acm.js +16 -5
  10. package/lib/generated/services/aco-automation.js +4 -4
  11. package/lib/generated/services/action-recommendations.js +1 -1
  12. package/lib/generated/services/activate.js +1 -1
  13. package/lib/generated/services/agent-registry.js +4 -4
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.js +4 -4
  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.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +4 -4
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.js +4 -4
  60. package/lib/generated/services/bcm-dashboards.js +4 -4
  61. package/lib/generated/services/bcm-data-exports.js +4 -4
  62. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  63. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  64. package/lib/generated/services/bedrock-agentcore.js +4 -4
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +11 -7
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.d.ts +2 -0
  95. package/lib/generated/services/codecommit.js +7 -5
  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.d.ts +2 -0
  117. package/lib/generated/services/connect.js +7 -5
  118. package/lib/generated/services/consoleapp.js +2 -2
  119. package/lib/generated/services/consolidatedbilling.js +1 -1
  120. package/lib/generated/services/controlcatalog.js +3 -3
  121. package/lib/generated/services/controltower.js +4 -4
  122. package/lib/generated/services/cost-optimization-hub.js +2 -2
  123. package/lib/generated/services/cur.js +4 -4
  124. package/lib/generated/services/customer-verification.js +1 -1
  125. package/lib/generated/services/databrew.js +4 -4
  126. package/lib/generated/services/dataexchange.js +4 -4
  127. package/lib/generated/services/datapipeline.js +4 -4
  128. package/lib/generated/services/datasync.js +4 -4
  129. package/lib/generated/services/datazone.js +4 -4
  130. package/lib/generated/services/dax.js +4 -4
  131. package/lib/generated/services/dbqms.js +1 -1
  132. package/lib/generated/services/deadline.js +4 -4
  133. package/lib/generated/services/detective.js +4 -4
  134. package/lib/generated/services/devicefarm.js +4 -4
  135. package/lib/generated/services/devops-guru.js +4 -4
  136. package/lib/generated/services/directconnect.js +4 -4
  137. package/lib/generated/services/discovery.js +3 -3
  138. package/lib/generated/services/dlm.js +4 -4
  139. package/lib/generated/services/dms.js +6 -5
  140. package/lib/generated/services/docdb-elastic.js +4 -4
  141. package/lib/generated/services/drs.js +4 -4
  142. package/lib/generated/services/ds-data.js +4 -4
  143. package/lib/generated/services/ds.js +4 -4
  144. package/lib/generated/services/dsql.js +4 -4
  145. package/lib/generated/services/dynamodb.js +4 -4
  146. package/lib/generated/services/ebs.js +4 -4
  147. package/lib/generated/services/ec2-instance-connect.js +4 -4
  148. package/lib/generated/services/ec2.js +4 -4
  149. package/lib/generated/services/ec2messages.js +2 -2
  150. package/lib/generated/services/ecr-public.js +4 -4
  151. package/lib/generated/services/ecr.js +4 -4
  152. package/lib/generated/services/ecs-mcp.js +1 -1
  153. package/lib/generated/services/ecs.js +4 -4
  154. package/lib/generated/services/eks-auth.js +4 -4
  155. package/lib/generated/services/eks-mcp.js +1 -1
  156. package/lib/generated/services/eks.js +4 -4
  157. package/lib/generated/services/elasticache.js +4 -4
  158. package/lib/generated/services/elasticbeanstalk.js +4 -4
  159. package/lib/generated/services/elasticfilesystem.js +4 -4
  160. package/lib/generated/services/elasticloadbalancing.js +4 -4
  161. package/lib/generated/services/elasticmapreduce.js +4 -4
  162. package/lib/generated/services/elastictranscoder.js +2 -2
  163. package/lib/generated/services/elemental-activations.js +1 -1
  164. package/lib/generated/services/elemental-appliances-software.js +2 -2
  165. package/lib/generated/services/elemental-inference.js +4 -4
  166. package/lib/generated/services/elemental-support-cases.js +3 -3
  167. package/lib/generated/services/elemental-support-content.js +1 -1
  168. package/lib/generated/services/emr-containers.js +4 -4
  169. package/lib/generated/services/emr-serverless.js +4 -4
  170. package/lib/generated/services/entityresolution.js +4 -4
  171. package/lib/generated/services/es.js +4 -4
  172. package/lib/generated/services/events.js +4 -4
  173. package/lib/generated/services/eventsbilltoaws.js +3 -3
  174. package/lib/generated/services/evidently.js +3 -3
  175. package/lib/generated/services/evs.js +4 -4
  176. package/lib/generated/services/execute-api.js +4 -4
  177. package/lib/generated/services/finops-agent.js +1 -1
  178. package/lib/generated/services/finspace-api.js +3 -3
  179. package/lib/generated/services/finspace.js +4 -4
  180. package/lib/generated/services/firehose.js +4 -4
  181. package/lib/generated/services/fis.js +4 -4
  182. package/lib/generated/services/fms.js +4 -4
  183. package/lib/generated/services/forecast.js +4 -4
  184. package/lib/generated/services/frauddetector.js +4 -4
  185. package/lib/generated/services/freertos.js +3 -3
  186. package/lib/generated/services/freetier.js +2 -2
  187. package/lib/generated/services/fsx.js +4 -4
  188. package/lib/generated/services/gamelift.js +4 -4
  189. package/lib/generated/services/gameliftstreams.js +4 -4
  190. package/lib/generated/services/geo-maps.js +3 -3
  191. package/lib/generated/services/geo-places.js +3 -3
  192. package/lib/generated/services/geo-routes.js +3 -3
  193. package/lib/generated/services/geo.js +4 -4
  194. package/lib/generated/services/glacier.js +4 -4
  195. package/lib/generated/services/globalaccelerator.js +4 -4
  196. package/lib/generated/services/glue.js +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.js +4 -4
  205. package/lib/generated/services/honeycode.js +2 -2
  206. package/lib/generated/services/iam.js +4 -4
  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 +9 -6
  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.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +4 -4
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.js +4 -4
  380. package/lib/generated/services/securityhub.js +4 -4
  381. package/lib/generated/services/securitylake.js +4 -4
  382. package/lib/generated/services/serverlessrepo.js +4 -4
  383. package/lib/generated/services/servicecatalog.js +4 -4
  384. package/lib/generated/services/servicediscovery.js +4 -4
  385. package/lib/generated/services/serviceextract.js +1 -1
  386. package/lib/generated/services/servicequotas.js +4 -4
  387. package/lib/generated/services/ses.js +4 -4
  388. package/lib/generated/services/shield.js +4 -4
  389. package/lib/generated/services/signer.js +4 -4
  390. package/lib/generated/services/signin.js +4 -4
  391. package/lib/generated/services/simspaceweaver.js +3 -3
  392. package/lib/generated/services/sms-voice.js +4 -4
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.js +4 -4
  398. package/lib/generated/services/sqlworkbench.js +3 -3
  399. package/lib/generated/services/sqs.js +4 -4
  400. package/lib/generated/services/ssm-contacts.js +4 -4
  401. package/lib/generated/services/ssm-guiconnect.js +2 -2
  402. package/lib/generated/services/ssm-incidents.js +4 -4
  403. package/lib/generated/services/ssm-quicksetup.js +4 -4
  404. package/lib/generated/services/ssm-sap.js +4 -4
  405. package/lib/generated/services/ssm.js +4 -4
  406. package/lib/generated/services/ssmmessages.js +2 -2
  407. package/lib/generated/services/sso-directory.js +1 -1
  408. package/lib/generated/services/sso-oauth.js +3 -3
  409. package/lib/generated/services/sso.js +4 -4
  410. package/lib/generated/services/states.js +4 -4
  411. package/lib/generated/services/storagegateway.js +4 -4
  412. package/lib/generated/services/sts.js +4 -4
  413. package/lib/generated/services/support-console.js +1 -1
  414. package/lib/generated/services/support.js +2 -2
  415. package/lib/generated/services/supportapp.js +2 -2
  416. package/lib/generated/services/supportauthz.js +4 -4
  417. package/lib/generated/services/supportplans.js +1 -1
  418. package/lib/generated/services/sustainability.js +2 -2
  419. package/lib/generated/services/swf.js +4 -4
  420. package/lib/generated/services/synthetics.js +4 -4
  421. package/lib/generated/services/tag.js +2 -2
  422. package/lib/generated/services/tax.js +2 -2
  423. package/lib/generated/services/textract.js +4 -4
  424. package/lib/generated/services/thinclient.js +4 -4
  425. package/lib/generated/services/timestream-influxdb.js +4 -4
  426. package/lib/generated/services/timestream.js +4 -4
  427. package/lib/generated/services/tiros.js +1 -1
  428. package/lib/generated/services/tnb.js +4 -4
  429. package/lib/generated/services/transcribe.js +4 -4
  430. package/lib/generated/services/transfer.js +4 -4
  431. package/lib/generated/services/transform-custom.js +3 -3
  432. package/lib/generated/services/transform.js +3 -3
  433. package/lib/generated/services/translate.js +4 -4
  434. package/lib/generated/services/trustedadvisor.js +3 -3
  435. package/lib/generated/services/ts.js +3 -3
  436. package/lib/generated/services/user-subscriptions.js +2 -2
  437. package/lib/generated/services/uxc.js +2 -2
  438. package/lib/generated/services/vendor-insights.js +3 -3
  439. package/lib/generated/services/verified-access.js +1 -1
  440. package/lib/generated/services/verifiedpermissions.js +4 -4
  441. package/lib/generated/services/voiceid.js +4 -4
  442. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  443. package/lib/generated/services/vpc-lattice.js +4 -4
  444. package/lib/generated/services/vpce.js +2 -2
  445. package/lib/generated/services/waf-regional.js +4 -4
  446. package/lib/generated/services/waf.js +4 -4
  447. package/lib/generated/services/wafv2.js +4 -4
  448. package/lib/generated/services/wam.js +1 -1
  449. package/lib/generated/services/wellarchitected.js +4 -4
  450. package/lib/generated/services/wickr.js +4 -4
  451. package/lib/generated/services/wisdom.js +4 -4
  452. package/lib/generated/services/workdocs.js +3 -3
  453. package/lib/generated/services/worklink.js +3 -3
  454. package/lib/generated/services/workmail.js +4 -4
  455. package/lib/generated/services/workmailmessageflow.js +3 -3
  456. package/lib/generated/services/workspaces-instances.js +4 -4
  457. package/lib/generated/services/workspaces-web.js +4 -4
  458. package/lib/generated/services/workspaces.js +4 -4
  459. package/lib/generated/services/xray.js +4 -4
  460. package/package.json +3 -2
@@ -16,7 +16,7 @@ class DmsActions {
16
16
  }
17
17
  exports.DmsActions = DmsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DmsActions[_a] = { fqn: "@cdk_utils/iam.dms.DmsActions", version: "1.2.0" };
19
+ DmsActions[_a] = { fqn: "@cdk_utils/iam.dms.DmsActions", version: "1.3.0" };
20
20
  /** The IAM service prefix. */
21
21
  DmsActions.SERVICE_PREFIX = "dms";
22
22
  /** [Tagging] dms:AddTagsToResource */
@@ -778,7 +778,7 @@ class DmsResources {
778
778
  }
779
779
  exports.DmsResources = DmsResources;
780
780
  _b = JSII_RTTI_SYMBOL_1;
781
- DmsResources[_b] = { fqn: "@cdk_utils/iam.dms.DmsResources", version: "1.2.0" };
781
+ DmsResources[_b] = { fqn: "@cdk_utils/iam.dms.DmsResources", version: "1.3.0" };
782
782
  /**
783
783
  * API operation to required IAM actions mapping for dms.
784
784
  */
@@ -786,7 +786,7 @@ class DmsOperations {
786
786
  }
787
787
  exports.DmsOperations = DmsOperations;
788
788
  _c = JSII_RTTI_SYMBOL_1;
789
- DmsOperations[_c] = { fqn: "@cdk_utils/iam.dms.DmsOperations", version: "1.2.0" };
789
+ DmsOperations[_c] = { fqn: "@cdk_utils/iam.dms.DmsOperations", version: "1.3.0" };
790
790
  /** IAM actions required for the AddTagsToResource API call. */
791
791
  DmsOperations.AddTagsToResource = ["dms:AddTagsToResource"];
792
792
  /** IAM actions required for the ApplyPendingMaintenanceAction API call. */
@@ -1147,6 +1147,7 @@ DmsOperations.ModifyReplicationConfig = [
1147
1147
  /** IAM actions required for the ModifyReplicationInstance API call. */
1148
1148
  DmsOperations.ModifyReplicationInstance = [
1149
1149
  "dms:ModifyReplicationInstance",
1150
+ "iam:PassRole",
1150
1151
  ];
1151
1152
  /** IAM actions required for the ModifyReplicationSubnetGroup API call. */
1152
1153
  DmsOperations.ModifyReplicationSubnetGroup = [
@@ -1347,7 +1348,7 @@ class DmsConditions {
1347
1348
  }
1348
1349
  exports.DmsConditions = DmsConditions;
1349
1350
  _d = JSII_RTTI_SYMBOL_1;
1350
- DmsConditions[_d] = { fqn: "@cdk_utils/iam.dms.DmsConditions", version: "1.2.0" };
1351
+ DmsConditions[_d] = { fqn: "@cdk_utils/iam.dms.DmsConditions", version: "1.3.0" };
1351
1352
  /** Condition keys applicable to the AddTagsToResource action. */
1352
1353
  DmsConditions.AddTagsToResourceConditionKeys = [
1353
1354
  "aws:RequestTag/${TagKey}",
@@ -1483,4 +1484,4 @@ DmsConditions.REQ_TAG = "dms:req-tag/${TagKey}";
1483
1484
  DmsConditions.SUBGRP_TAG = "dms:subgrp-tag/${TagKey}";
1484
1485
  /** Condition key: dms:task-tag/${TagKey} (String) */
1485
1486
  DmsConditions.TASK_TAG = "dms:task-tag/${TagKey}";
1486
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBdWJDOzs7QUF0YkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsc0NBQXNDO0FBQ3RCLDRCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLDRDQUE0QztBQUM1QixvQ0FBeUIsR0FBRywrQkFBK0IsQ0FBQztBQUM1RSxnREFBZ0Q7QUFDaEMsd0NBQTZCLEdBQzVDLG1DQUFtQyxDQUFDO0FBQ3JDLDhDQUE4QztBQUM5QixzQ0FBMkIsR0FDMUMsaUNBQWlDLENBQUM7QUFDbkMscURBQXFEO0FBQ3JDLDZDQUFrQyxHQUNqRCx3Q0FBd0MsQ0FBQztBQUMxQyxzQ0FBc0M7QUFDdEIsOEJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDaEUscUNBQXFDO0FBQ3JCLDZCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELGlDQUFpQztBQUNqQix5QkFBYyxHQUFHLG9CQUFvQixDQUFDO0FBQ3RELDBDQUEwQztBQUMxQixrQ0FBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN4RSw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHdDQUF3QztBQUN4QixnQ0FBcUIsR0FBRywyQkFBMkIsQ0FBQztBQUNwRSx5Q0FBeUM7QUFDekIsaUNBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsNENB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b0NBQW9DLENBQUM7QUFDNUUsa0VBQWtFO0FBQ2xELG1DQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyxxQkFBTyxHQUFHLHVCQUF1QixDQUFDO0FBQ2xELG1FQUFtRTtBQUNuRCxvQ0FBc0IsR0FDckMsc0NBQXNDLENBQUM7QUFDeEMsb0RBQW9EO0FBQ3BDLHFCQUFPLEdBQUcsdUJBQXVCLENBQUM7QUFDbEQsdURBQXVEO0FBQ3ZDLHdCQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDeEQscURBQXFEO0FBQ3JDLHNCQUFRLEdBQUcsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9kbXMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGRtcyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRG1zQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImRtc1wiO1xuXG5cdC8qKiBbVGFnZ2luZ10gZG1zOkFkZFRhZ3NUb1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZSA9IFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24gPVxuXHRcdFwiZG1zOkFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpBc3NvY2lhdGVFeHRlbnNpb25QYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVFeHRlbnNpb25QYWNrID0gXCJkbXM6QXNzb2NpYXRlRXh0ZW5zaW9uUGFja1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6QmF0Y2hTdGFydFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdGFydFJlY29tbWVuZGF0aW9ucyA9IFwiZG1zOkJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNhbmNlbE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxNZXRhZGF0YU1vZGVsQ29udmVyc2lvbiA9XG5cdFx0XCJkbXM6Q2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNhbmNlbE1ldGFkYXRhTW9kZWxDcmVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWV0YWRhdGFNb2RlbENyZWF0aW9uID1cblx0XHRcImRtczpDYW5jZWxNZXRhZGF0YU1vZGVsQ3JlYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gPVxuXHRcdFwiZG1zOkNhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZURhdGFNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFNaWdyYXRpb24gPSBcImRtczpDcmVhdGVEYXRhTWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVEYXRhUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFQcm92aWRlciA9IFwiZG1zOkNyZWF0ZURhdGFQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJkbXM6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbiA9IFwiZG1zOkNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsZWV0QWR2aXNvckNvbGxlY3RvciA9XG5cdFx0XCJkbXM6Q3JlYXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVJbnN0YW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlUHJvZmlsZSA9IFwiZG1zOkNyZWF0ZUluc3RhbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlTWlncmF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWlncmF0aW9uUHJvamVjdCA9IFwiZG1zOkNyZWF0ZU1pZ3JhdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZU91dGJvdW5kSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU91dGJvdW5kSW50ZWdyYXRpb24gPSBcImRtczpDcmVhdGVPdXRib3VuZEludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWcgPSBcImRtczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlUmVwbGljYXRpb25JbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25JbnN0YW5jZSA9IFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgPVxuXHRcdFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZVJlcGxpY2F0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25UYXNrID0gXCJkbXM6Q3JlYXRlUmVwbGljYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2VydGlmaWNhdGUgPSBcImRtczpEZWxldGVDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdGlvbiA9IFwiZG1zOkRlbGV0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZURhdGFNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFNaWdyYXRpb24gPSBcImRtczpEZWxldGVEYXRhTWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVEYXRhUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFQcm92aWRlciA9IFwiZG1zOkRlbGV0ZURhdGFQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50ID0gXCJkbXM6RGVsZXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFN1YnNjcmlwdGlvbiA9IFwiZG1zOkRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3RvciA9XG5cdFx0XCJkbXM6RGVsZXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVGbGVldEFkdmlzb3JEYXRhYmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlcyA9XG5cdFx0XCJkbXM6RGVsZXRlRmxlZXRBZHZpc29yRGF0YWJhc2VzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVJbnN0YW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluc3RhbmNlUHJvZmlsZSA9IFwiZG1zOkRlbGV0ZUluc3RhbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlTWlncmF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWlncmF0aW9uUHJvamVjdCA9IFwiZG1zOkRlbGV0ZU1pZ3JhdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZyA9IFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVSZXBsaWNhdGlvbkluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkluc3RhbmNlID0gXCJkbXM6RGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlUmVwbGljYXRpb25TdWJuZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25TdWJuZXRHcm91cCA9XG5cdFx0XCJkbXM6RGVsZXRlUmVwbGljYXRpb25TdWJuZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlUmVwbGljYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvblRhc2sgPSBcImRtczpEZWxldGVSZXBsaWNhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gPVxuXHRcdFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyA9IFwiZG1zOkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVBcHBsaWNhYmxlSW5kaXZpZHVhbEFzc2Vzc21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2FibGVJbmRpdmlkdWFsQXNzZXNzbWVudHMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlQXBwbGljYWJsZUluZGl2aWR1YWxBc3Nlc3NtZW50c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUNlcnRpZmljYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDZXJ0aWZpY2F0ZXMgPSBcImRtczpEZXNjcmliZUNlcnRpZmljYXRlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUNvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3Rpb25zID0gXCJkbXM6RGVzY3JpYmVDb25uZWN0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRtczpEZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRGF0YU1pZ3JhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YU1pZ3JhdGlvbnMgPSBcImRtczpEZXNjcmliZURhdGFNaWdyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRW5kcG9pbnRTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludFNldHRpbmdzID0gXCJkbXM6RGVzY3JpYmVFbmRwb2ludFNldHRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRW5kcG9pbnRUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludFR5cGVzID0gXCJkbXM6RGVzY3JpYmVFbmRwb2ludFR5cGVzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50cyA9IFwiZG1zOkRlc2NyaWJlRW5kcG9pbnRzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRW5naW5lVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5naW5lVmVyc2lvbnMgPSBcImRtczpEZXNjcmliZUVuZ2luZVZlcnNpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllcyA9IFwiZG1zOkRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucyA9IFwiZG1zOkRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50cyA9IFwiZG1zOkRlc2NyaWJlRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yQ29sbGVjdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JDb2xsZWN0b3JzID1cblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JEYXRhYmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxlZXRBZHZpc29yRGF0YWJhc2VzID1cblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUZsZWV0QWR2aXNvckxzYUFuYWx5c2lzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvckxzYUFuYWx5c2lzID1cblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvckxzYUFuYWx5c2lzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hT2JqZWN0U3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFPYmplY3RTdW1tYXJ5ID1cblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbCA9IFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxDaGlsZHJlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ2hpbGRyZW4gPVxuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbENoaWxkcmVuXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbENyZWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ3JlYXRpb25zID1cblx0XHRcImRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxDcmVhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0cyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzID1cblx0XHRcImRtczpEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zID1cblx0XHRcImRtczpEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZWNvbW1lbmRhdGlvbkxpbWl0YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY29tbWVuZGF0aW9uTGltaXRhdGlvbnMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVjb21tZW5kYXRpb25MaW1pdGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvbW1lbmRhdGlvbnMgPSBcImRtczpEZXNjcmliZVJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzID1cblx0XHRcImRtczpEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlncyA9IFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWdzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VUYXNrTG9ncyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3NcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlcyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzID1cblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYWJsZVN0YXRpc3RpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25UYWJsZVN0YXRpc3RpY3MgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYWJsZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0cyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zID1cblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50cyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudHNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza3MgPSBcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza3NcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25zID0gXCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVTY2hlbWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNjaGVtYXMgPSBcImRtczpEZXNjcmliZVNjaGVtYXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVUYWJsZVN0YXRpc3RpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFibGVTdGF0aXN0aWNzID0gXCJkbXM6RGVzY3JpYmVUYWJsZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkV4cG9ydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRNZXRhZGF0YU1vZGVsQXNzZXNzbWVudCA9XG5cdFx0XCJkbXM6RXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRcIjtcblx0LyoqIFtSZWFkXSBkbXM6R2V0TWV0YWRhdGFNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWV0YWRhdGFNb2RlbCA9IFwiZG1zOkdldE1ldGFkYXRhTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBkbXM6R2V0VGFyZ2V0U2VsZWN0aW9uUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRhcmdldFNlbGVjdGlvblJ1bGVzID0gXCJkbXM6R2V0VGFyZ2V0U2VsZWN0aW9uUnVsZXNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkltcG9ydENlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDZXJ0aWZpY2F0ZSA9IFwiZG1zOkltcG9ydENlcnRpZmljYXRlXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3REYXRhUHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVByb3ZpZGVycyA9IFwiZG1zOkxpc3REYXRhUHJvdmlkZXJzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RFeHRlbnNpb25QYWNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2lvblBhY2tzID0gXCJkbXM6TGlzdEV4dGVuc2lvblBhY2tzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RJbnN0YW5jZVByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5zdGFuY2VQcm9maWxlcyA9IFwiZG1zOkxpc3RJbnN0YW5jZVByb2ZpbGVzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudEFjdGlvbkl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRBY3Rpb25JdGVtcyA9XG5cdFx0XCJkbXM6TGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50QWN0aW9uSXRlbXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6TGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50cyA9XG5cdFx0XCJkbXM6TGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50c1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0TWV0YWRhdGFNb2RlbENvbnZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWV0YWRhdGFNb2RlbENvbnZlcnNpb25zID1cblx0XHRcImRtczpMaXN0TWV0YWRhdGFNb2RlbENvbnZlcnNpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RNZXRhZGF0YU1vZGVsRXhwb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldGFkYXRhTW9kZWxFeHBvcnRzID0gXCJkbXM6TGlzdE1ldGFkYXRhTW9kZWxFeHBvcnRzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RNaWdyYXRpb25Qcm9qZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1pZ3JhdGlvblByb2plY3RzID0gXCJkbXM6TGlzdE1pZ3JhdGlvblByb2plY3RzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImRtczpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlEYXRhTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlEYXRhTWlncmF0aW9uID0gXCJkbXM6TW9kaWZ5RGF0YU1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5RW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUVuZHBvaW50ID0gXCJkbXM6TW9kaWZ5RW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOk1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbiA9IFwiZG1zOk1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlGbGVldEFkdmlzb3JDb2xsZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3RvciA9XG5cdFx0XCJkbXM6TW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlGbGVldEFkdmlzb3JDb2xsZWN0b3JTdGF0dXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yU3RhdHVzZXMgPVxuXHRcdFwiZG1zOk1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3RvclN0YXR1c2VzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlPdXRib3VuZEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlPdXRib3VuZEludGVncmF0aW9uID0gXCJkbXM6TW9kaWZ5T3V0Ym91bmRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5UmVwbGljYXRpb25Db25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnID0gXCJkbXM6TW9kaWZ5UmVwbGljYXRpb25Db25maWdcIjtcblx0LyoqIFtXcml0ZV0gZG1zOk1vZGlmeVJlcGxpY2F0aW9uSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uSW5zdGFuY2UgPSBcImRtczpNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwID1cblx0XHRcImRtczpNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlSZXBsaWNhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uVGFzayA9IFwiZG1zOk1vZGlmeVJlcGxpY2F0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW92ZVJlcGxpY2F0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW92ZVJlcGxpY2F0aW9uVGFzayA9IFwiZG1zOk1vdmVSZXBsaWNhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlJlYm9vdFJlcGxpY2F0aW9uSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdFJlcGxpY2F0aW9uSW5zdGFuY2UgPSBcImRtczpSZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpSZWZyZXNoU2NoZW1hcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVmcmVzaFNjaGVtYXMgPSBcImRtczpSZWZyZXNoU2NoZW1hc1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6UmVsb2FkUmVwbGljYXRpb25UYWJsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbG9hZFJlcGxpY2F0aW9uVGFibGVzID0gXCJkbXM6UmVsb2FkUmVwbGljYXRpb25UYWJsZXNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlJlbG9hZFRhYmxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsb2FkVGFibGVzID0gXCJkbXM6UmVsb2FkVGFibGVzXCI7XG5cdC8qKiBbVGFnZ2luZ10gZG1zOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgPSBcImRtczpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpSdW5GbGVldEFkdmlzb3JMc2FBbmFseXNpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuRmxlZXRBZHZpc29yTHNhQW5hbHlzaXMgPSBcImRtczpSdW5GbGVldEFkdmlzb3JMc2FBbmFseXNpc1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnREYXRhTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERhdGFNaWdyYXRpb24gPSBcImRtczpTdGFydERhdGFNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgPVxuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb24gPVxuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxDcmVhdGlvbiA9IFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRBc1NjcmlwdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0cyA9XG5cdFx0XCJkbXM6U3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0QXNTY3JpcHRzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0VG9UYXJnZXQgPVxuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydFRvVGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEltcG9ydCA9IFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEltcG9ydFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kYXRpb25zID0gXCJkbXM6U3RhcnRSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0UmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb24gPSBcImRtczpTdGFydFJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydFJlcGxpY2F0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvblRhc2sgPSBcImRtczpTdGFydFJlcGxpY2F0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQgPVxuXHRcdFwiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gPVxuXHRcdFwiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1blwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RvcERhdGFNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BEYXRhTWlncmF0aW9uID0gXCJkbXM6U3RvcERhdGFNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0b3BSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uID0gXCJkbXM6U3RvcFJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdG9wUmVwbGljYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVwbGljYXRpb25UYXNrID0gXCJkbXM6U3RvcFJlcGxpY2F0aW9uVGFza1wiO1xuXHQvKiogW1JlYWRdIGRtczpUZXN0Q29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdENvbm5lY3Rpb24gPSBcImRtczpUZXN0Q29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6VXBkYXRlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnZlcnNpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRtczpVcGRhdGVDb252ZXJzaW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6VXBkYXRlRGF0YVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhUHJvdmlkZXIgPSBcImRtczpVcGRhdGVEYXRhUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlVwZGF0ZUluc3RhbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VQcm9maWxlID0gXCJkbXM6VXBkYXRlSW5zdGFuY2VQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpVcGRhdGVNaWdyYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNaWdyYXRpb25Qcm9qZWN0ID0gXCJkbXM6VXBkYXRlTWlncmF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6VXBkYXRlU3Vic2NyaXB0aW9uc1RvRXZlbnRCcmlkZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlID1cblx0XHRcImRtczpVcGRhdGVTdWJzY3JpcHRpb25zVG9FdmVudEJyaWRnZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6VXBsb2FkRmlsZU1ldGFkYXRhTGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkRmlsZU1ldGFkYXRhTGlzdCA9IFwiZG1zOlVwbG9hZEZpbGVNZXRhZGF0YUxpc3RcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUFwcGxpY2FibGVJbmRpdmlkdWFsQXNzZXNzbWVudHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUNlcnRpZmljYXRlcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlQ29ubmVjdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVEYXRhTWlncmF0aW9ucyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnRTZXR0aW5ncyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnRUeXBlcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnRzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVFbmdpbmVWZXJzaW9ucyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUV2ZW50cyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRmxlZXRBZHZpc29yQ29sbGVjdG9ycyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRmxlZXRBZHZpc29yRGF0YWJhc2VzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hT2JqZWN0U3VtbWFyeSxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlTWV0YWRhdGFNb2RlbCxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlTWV0YWRhdGFNb2RlbENoaWxkcmVuLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ3JlYXRpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0cyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlT3JkZXJhYmxlUmVwbGljYXRpb25JbnN0YW5jZXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlY29tbWVuZGF0aW9uTGltaXRhdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlY29tbWVuZGF0aW9ucyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVmcmVzaFNjaGVtYXNTdGF0dXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlncyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25TdWJuZXRHcm91cHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0cyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50cyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25UYXNrcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVTY2hlbWFzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVUYWJsZVN0YXRpc3RpY3MsXG5cdFx0RG1zQWN0aW9ucy5hY3Rpb25HZXRNZXRhZGF0YU1vZGVsLFxuXHRcdERtc0FjdGlvbnMuYWN0aW9uR2V0VGFyZ2V0U2VsZWN0aW9uUnVsZXMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0RGF0YVByb3ZpZGVycyxcblx0XHREbXNBY3Rpb25zLkxpc3RFeHRlbnNpb25QYWNrcyxcblx0XHREbXNBY3Rpb25zLkxpc3RJbnN0YW5jZVByb2ZpbGVzLFxuXHRcdERtc0FjdGlvbnMuTGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50QWN0aW9uSXRlbXMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRzLFxuXHRcdERtc0FjdGlvbnMuTGlzdE1ldGFkYXRhTW9kZWxDb252ZXJzaW9ucyxcblx0XHREbXNBY3Rpb25zLkxpc3RNZXRhZGF0YU1vZGVsRXhwb3J0cyxcblx0XHREbXNBY3Rpb25zLkxpc3RNaWdyYXRpb25Qcm9qZWN0cyxcblx0XHREbXNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0RG1zQWN0aW9ucy5UZXN0Q29ubmVjdGlvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREbXNBY3Rpb25zLkFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uLFxuXHRcdERtc0FjdGlvbnMuQXNzb2NpYXRlRXh0ZW5zaW9uUGFjayxcblx0XHREbXNBY3Rpb25zLkJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5DYW5jZWxNZXRhZGF0YU1vZGVsQ29udmVyc2lvbixcblx0XHREbXNBY3Rpb25zLkNhbmNlbE1ldGFkYXRhTW9kZWxDcmVhdGlvbixcblx0XHREbXNBY3Rpb25zLkNhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4sXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVEYXRhTWlncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlRGF0YVByb3ZpZGVyLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlRW5kcG9pbnQsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVFdmVudFN1YnNjcmlwdGlvbixcblx0XHREbXNBY3Rpb25zLkNyZWF0ZUZsZWV0QWR2aXNvckNvbGxlY3Rvcixcblx0XHREbXNBY3Rpb25zLkNyZWF0ZUluc3RhbmNlUHJvZmlsZSxcblx0XHREbXNBY3Rpb25zLkNyZWF0ZU1pZ3JhdGlvblByb2plY3QsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVPdXRib3VuZEludGVncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Db25maWcsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVSZXBsaWNhdGlvbkluc3RhbmNlLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25TdWJuZXRHcm91cCxcblx0XHREbXNBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uVGFzayxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUNlcnRpZmljYXRlLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlQ29ubmVjdGlvbixcblx0XHREbXNBY3Rpb25zLkRlbGV0ZURhdGFNaWdyYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVEYXRhUHJvdmlkZXIsXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVFbmRwb2ludCxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlRmxlZXRBZHZpc29yRGF0YWJhc2VzLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlSW5zdGFuY2VQcm9maWxlLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlTWlncmF0aW9uUHJvamVjdCxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZSxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAsXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuLFxuXHRcdERtc0FjdGlvbnMuRXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQsXG5cdFx0RG1zQWN0aW9ucy5JbXBvcnRDZXJ0aWZpY2F0ZSxcblx0XHREbXNBY3Rpb25zLk1vZGlmeURhdGFNaWdyYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlFbmRwb2ludCxcblx0XHREbXNBY3Rpb25zLk1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yU3RhdHVzZXMsXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlPdXRib3VuZEludGVncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5UmVwbGljYXRpb25Db25maWcsXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5UmVwbGljYXRpb25TdWJuZXRHcm91cCxcblx0XHREbXNBY3Rpb25zLk1vZGlmeVJlcGxpY2F0aW9uVGFzayxcblx0XHREbXNBY3Rpb25zLk1vdmVSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5SZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlLFxuXHRcdERtc0FjdGlvbnMuUmVmcmVzaFNjaGVtYXMsXG5cdFx0RG1zQWN0aW9ucy5SZWxvYWRSZXBsaWNhdGlvblRhYmxlcyxcblx0XHREbXNBY3Rpb25zLlJlbG9hZFRhYmxlcyxcblx0XHREbXNBY3Rpb25zLlJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzLFxuXHRcdERtc0FjdGlvbnMuU3RhcnREYXRhTWlncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuU3RhcnRNZXRhZGF0YU1vZGVsQXNzZXNzbWVudCxcblx0XHREbXNBY3Rpb25zLlN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb24sXG5cdFx0RG1zQWN0aW9ucy5TdGFydE1ldGFkYXRhTW9kZWxDcmVhdGlvbixcblx0XHREbXNBY3Rpb25zLlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0cyxcblx0XHREbXNBY3Rpb25zLlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydFRvVGFyZ2V0LFxuXHRcdERtc0FjdGlvbnMuU3RhcnRNZXRhZGF0YU1vZGVsSW1wb3J0LFxuXHRcdERtc0FjdGlvbnMuU3RhcnRSZWNvbW1lbmRhdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5TdGFydFJlcGxpY2F0aW9uLFxuXHRcdERtc0FjdGlvbnMuU3RhcnRSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5TdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQsXG5cdFx0RG1zQWN0aW9ucy5TdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4sXG5cdFx0RG1zQWN0aW9ucy5TdG9wRGF0YU1pZ3JhdGlvbixcblx0XHREbXNBY3Rpb25zLlN0b3BSZXBsaWNhdGlvbixcblx0XHREbXNBY3Rpb25zLlN0b3BSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5VcGRhdGVDb252ZXJzaW9uQ29uZmlndXJhdGlvbixcblx0XHREbXNBY3Rpb25zLlVwZGF0ZURhdGFQcm92aWRlcixcblx0XHREbXNBY3Rpb25zLlVwZGF0ZUluc3RhbmNlUHJvZmlsZSxcblx0XHREbXNBY3Rpb25zLlVwZGF0ZU1pZ3JhdGlvblByb2plY3QsXG5cdFx0RG1zQWN0aW9ucy5VcGRhdGVTdWJzY3JpcHRpb25zVG9FdmVudEJyaWRnZSxcblx0XHREbXNBY3Rpb25zLlVwbG9hZEZpbGVNZXRhZGF0YUxpc3QsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdERtc0FjdGlvbnMuQWRkVGFnc1RvUmVzb3VyY2UsXG5cdFx0RG1zQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVJlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ2VydGlmaWNhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0NlcnRpZmljYXRlQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENlcnRpZmljYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNDZXJ0aWZpY2F0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEYXRhTWlncmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNEYXRhTWlncmF0aW9uQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERhdGFNaWdyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0RhdGFNaWdyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRGF0YVByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNEYXRhUHJvdmlkZXJBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRGF0YVByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNEYXRhUHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0VuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBFdmVudFN1YnNjcmlwdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zRXZlbnRTdWJzY3JpcHRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRXZlbnRTdWJzY3JpcHRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0V2ZW50U3Vic2NyaXB0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEluc3RhbmNlUHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zSW5zdGFuY2VQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEluc3RhbmNlUHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zSW5zdGFuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE1pZ3JhdGlvblByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc01pZ3JhdGlvblByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTWlncmF0aW9uUHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zTWlncmF0aW9uUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBsaWNhdGlvbkNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25Db25maWdBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25Db25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uSW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25JbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25JbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uU3VibmV0R3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25UYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25UYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG5jb25zdCBDZXJ0aWZpY2F0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjZXJ0Oi4qJC87XG5jb25zdCBEYXRhTWlncmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtbWlncmF0aW9uOi4qJC87XG5jb25zdCBEYXRhUHJvdmlkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1wcm92aWRlcjouKiQvO1xuY29uc3QgRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnQ6LiokLztcbmNvbnN0IEV2ZW50U3Vic2NyaXB0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVzOi4qJC87XG5jb25zdCBJbnN0YW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5zdGFuY2UtcHJvZmlsZTouKiQvO1xuY29uc3QgTWlncmF0aW9uUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptaWdyYXRpb24tcHJvamVjdDouKiQvO1xuY29uc3QgUmVwbGljYXRpb25Db25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVwbGljYXRpb24tY29uZmlnOi4qJC87XG5jb25zdCBSZXBsaWNhdGlvbkluc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcDouKiQvO1xuY29uc3QgUmVwbGljYXRpb25TdWJuZXRHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdWJncnA6LiokLztcbmNvbnN0IFJlcGxpY2F0aW9uVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrOi4qJC87XG5jb25zdCBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFzc2Vzc21lbnQtcnVuOi4qJC87XG5jb25zdCBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmRpdmlkdWFsLWFzc2Vzc21lbnQ6LiokLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBkbXMgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgRG1zUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDZXJ0aWZpY2F0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjZXJ0aWZpY2F0ZShwcm9wczogRG1zQ2VydGlmaWNhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNlcnQ6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDZXJ0aWZpY2F0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2VydGlmaWNhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2VydGlmaWNhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ2VydGlmaWNhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2VydGlmaWNhdGVBcm4oYXJuOiBzdHJpbmcpOiBEbXNDZXJ0aWZpY2F0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2VydGlmaWNhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ2VydGlmaWNhdGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERhdGFNaWdyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YU1pZ3JhdGlvbihwcm9wczogRG1zRGF0YU1pZ3JhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1taWdyYXRpb246KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBEYXRhTWlncmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhTWlncmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFNaWdyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRGF0YU1pZ3JhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhTWlncmF0aW9uQXJuKGFybjogc3RyaW5nKTogRG1zRGF0YU1pZ3JhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YU1pZ3JhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEYXRhTWlncmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBEYXRhUHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVByb3ZpZGVyKHByb3BzOiBEbXNEYXRhUHJvdmlkZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtcHJvdmlkZXI6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBEYXRhUHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFQcm92aWRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhUHJvdmlkZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRGF0YVByb3ZpZGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFQcm92aWRlckFybihhcm46IHN0cmluZyk6IERtc0RhdGFQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YVByb3ZpZGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIERhdGFQcm92aWRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnQocHJvcHM6IERtc0VuZHBvaW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludDoqYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBFbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmRwb2ludEFybihhcm46IHN0cmluZyk6IERtc0VuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRXZlbnRTdWJzY3JpcHRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZlbnRTdWJzY3JpcHRpb24ocHJvcHM6IERtc0V2ZW50U3Vic2NyaXB0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplczoqYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEV2ZW50U3Vic2NyaXB0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFN1YnNjcmlwdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmVudFN1YnNjcmlwdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBFdmVudFN1YnNjcmlwdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmVudFN1YnNjcmlwdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRG1zRXZlbnRTdWJzY3JpcHRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2ZW50U3Vic2NyaXB0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEV2ZW50U3Vic2NyaXB0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBJbnN0YW5jZVByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5zdGFuY2VQcm9maWxlKHByb3BzOiBEbXNJbnN0YW5jZVByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omluc3RhbmNlLXByb2ZpbGU6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBJbnN0YW5jZVByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluc3RhbmNlUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnN0YW5jZVByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSW5zdGFuY2VQcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluc3RhbmNlUHJvZmlsZUFybihhcm46IHN0cmluZyk6IERtc0luc3RhbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5zdGFuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEluc3RhbmNlUHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTWlncmF0aW9uUHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtaWdyYXRpb25Qcm9qZWN0KHByb3BzOiBEbXNNaWdyYXRpb25Qcm9qZWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptaWdyYXRpb24tcHJvamVjdDoqYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE1pZ3JhdGlvblByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1pZ3JhdGlvblByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWlncmF0aW9uUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBNaWdyYXRpb25Qcm9qZWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1pZ3JhdGlvblByb2plY3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERtc01pZ3JhdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1pZ3JhdGlvblByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTWlncmF0aW9uUHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25Db25maWcocHJvcHM6IERtc1JlcGxpY2F0aW9uQ29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXBsaWNhdGlvbi1jb25maWc6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25Db25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25Db25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25Db25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25Db25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERtc1JlcGxpY2F0aW9uQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvbkNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXBsaWNhdGlvbkNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25JbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvbkluc3RhbmNlKHByb3BzOiBEbXNSZXBsaWNhdGlvbkluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXA6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbkluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uSW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25JbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvbkluc3RhbmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNSZXBsaWNhdGlvbkluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvbkluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlcGxpY2F0aW9uSW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uU3VibmV0R3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25TdWJuZXRHcm91cChcblx0XHRwcm9wczogRG1zUmVwbGljYXRpb25TdWJuZXRHcm91cEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdWJncnA6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uU3VibmV0R3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25TdWJuZXRHcm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uVGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvblRhc2socHJvcHM6IERtc1JlcGxpY2F0aW9uVGFza0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzazoqYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uVGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25UYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uVGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXBsaWNhdGlvblRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25UYXNrQXJuKGFybjogc3RyaW5nKTogRG1zUmVwbGljYXRpb25UYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvblRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVwbGljYXRpb25UYXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4oXG5cdFx0cHJvcHM6IERtc1JlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXNzZXNzbWVudC1ydW46KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50KFxuXHRcdHByb3BzOiBEbXNSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmRpdmlkdWFsLWFzc2Vzc21lbnQ6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERtc1JlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnQgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGRtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERtc09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRUYWdzVG9SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hTdGFydFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxNZXRhZGF0YU1vZGVsQ29udmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6Q2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsTWV0YWRhdGFNb2RlbENyZWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWV0YWRhdGFNb2RlbENyZWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpDYW5jZWxNZXRhZGF0YU1vZGVsQ3JlYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkNhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFNaWdyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlRGF0YU1pZ3JhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVEYXRhUHJvdmlkZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZUVuZHBvaW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVFdmVudFN1YnNjcmlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkNyZWF0ZUZsZWV0QWR2aXNvckNvbGxlY3RvclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluc3RhbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVJbnN0YW5jZVByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWlncmF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1pZ3JhdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlTWlncmF0aW9uUHJvamVjdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlUmVwbGljYXRpb25Db25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwbGljYXRpb25JbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlUmVwbGljYXRpb25JbnN0YW5jZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwbGljYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcImRtczpEZWxldGVDZXJ0aWZpY2F0ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb246IHN0cmluZ1tdID0gW1wiZG1zOkRlbGV0ZUNvbm5lY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhTWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcImRtczpEZWxldGVEYXRhTWlncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUHJvdmlkZXI6IHN0cmluZ1tdID0gW1wiZG1zOkRlbGV0ZURhdGFQcm92aWRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJkbXM6RGVsZXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlRmxlZXRBZHZpc29yRGF0YWJhc2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluc3RhbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluc3RhbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlSW5zdGFuY2VQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1pZ3JhdGlvblByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNaWdyYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVNaWdyYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVSZXBsaWNhdGlvbkluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlUmVwbGljYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwbGljYWJsZUluZGl2aWR1YWxBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwbGljYWJsZUluZGl2aWR1YWxBc3Nlc3NtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVBcHBsaWNhYmxlSW5kaXZpZHVhbEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDZXJ0aWZpY2F0ZXM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlQ2VydGlmaWNhdGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXCJkbXM6RGVzY3JpYmVDb25uZWN0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb252ZXJzaW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYXRhTWlncmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YU1pZ3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRGF0YU1pZ3JhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYXRhUHJvdmlkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcImRtczpMaXN0RGF0YVByb3ZpZGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludFNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUVuZHBvaW50U2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludFR5cGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUVuZHBvaW50VHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50czogc3RyaW5nW10gPSBbXCJkbXM6RGVzY3JpYmVFbmRwb2ludHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5naW5lVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZ2luZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUVuZ2luZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudENhdGVnb3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudHM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV4dGVuc2lvblBhY2tBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4dGVuc2lvblBhY2tBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RFeHRlbnNpb25QYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yQ29sbGVjdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxlZXRBZHZpc29yRGF0YWJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsZWV0QWR2aXNvckxzYUFuYWx5c2lzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hT2JqZWN0U3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RJbnN0YW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0YWRhdGFNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQXNzZXNzbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ2hpbGRyZW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWxDaGlsZHJlbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsQ2hpbGRyZW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ29udmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWxDb252ZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TGlzdE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWxDcmVhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWxDcmVhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbENyZWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWxFeHBvcnRzQXNTY3JpcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWxFeHBvcnRzQXNTY3JpcHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsRXhwb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWxFeHBvcnRzVG9UYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWxFeHBvcnRzVG9UYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsRXhwb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWxJbXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0czogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1pZ3JhdGlvblByb2plY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNaWdyYXRpb25Qcm9qZWN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TGlzdE1pZ3JhdGlvblByb2plY3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3JkZXJhYmxlUmVwbGljYXRpb25JbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVjb21tZW5kYXRpb25MaW1pdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb21tZW5kYXRpb25MaW1pdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZWNvbW1lbmRhdGlvbkxpbWl0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVmcmVzaFNjaGVtYXNTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Db25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25TdWJuZXRHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25UYWJsZVN0YXRpc3RpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJlc3VsdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSZXN1bHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25UYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25UYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNjaGVtYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNjaGVtYXM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlU2NoZW1hc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYWJsZVN0YXRpc3RpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhYmxlU3RhdGlzdGljczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVUYWJsZVN0YXRpc3RpY3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRNZXRhZGF0YU1vZGVsQXNzZXNzbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGFyZ2V0U2VsZWN0aW9uUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRhcmdldFNlbGVjdGlvblJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpHZXRUYXJnZXRTZWxlY3Rpb25SdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydENlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkltcG9ydENlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcImRtczpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDb252ZXJzaW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNvbnZlcnNpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpVcGRhdGVDb252ZXJzaW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlEYXRhTWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5RGF0YU1pZ3JhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeURhdGFQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeURhdGFQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImRtczpVcGRhdGVEYXRhUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5RW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5RW5kcG9pbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpNb2RpZnlFdmVudFN1YnNjcmlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlJbnN0YW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlJbnN0YW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlVwZGF0ZUluc3RhbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlNaWdyYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5TWlncmF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImRtczpVcGRhdGVNaWdyYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOk1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5UmVwbGljYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vdmVSZXBsaWNhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb3ZlUmVwbGljYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcImRtczpNb3ZlUmVwbGljYXRpb25UYXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290UmVwbGljYXRpb25JbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6UmVib290UmVwbGljYXRpb25JbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWZyZXNoU2NoZW1hcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZnJlc2hTY2hlbWFzOiBzdHJpbmdbXSA9IFtcImRtczpSZWZyZXNoU2NoZW1hc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsb2FkUmVwbGljYXRpb25UYWJsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxvYWRSZXBsaWNhdGlvblRhYmxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6UmVsb2FkUmVwbGljYXRpb25UYWJsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsb2FkVGFibGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsb2FkVGFibGVzOiBzdHJpbmdbXSA9IFtcImRtczpSZWxvYWRUYWJsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuRmxlZXRBZHZpc29yTHNhQW5hbHlzaXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RGF0YU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RhcnREYXRhTWlncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEV4dGVuc2lvblBhY2tBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXh0ZW5zaW9uUGFja0Fzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBc3NvY2lhdGVFeHRlbnNpb25QYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsQ3JlYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0QXNTY3JpcHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydFRvVGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEltcG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcImRtczpTdGFydFJlY29tbWVuZGF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZG1zOlN0YXJ0UmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVwbGljYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvblRhc2s6IHN0cmluZ1tdID0gW1wiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImRtczpTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcERhdGFNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RvcERhdGFNaWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RvcFJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUmVwbGljYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXCJkbXM6U3RvcFJlcGxpY2F0aW9uVGFza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0Q29ubmVjdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6VGVzdENvbm5lY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3Vic2NyaXB0aW9uc1RvRXZlbnRCcmlkZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBkbXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEbXNDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3NUb1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YU1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhUHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluc3RhbmNlUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWlncmF0aW9uUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNaWdyYXRpb25Qcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU91dGJvdW5kSW50ZWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkluc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25TdWJuZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlcGxpY2F0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRDZXJ0aWZpY2F0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDZXJ0aWZpY2F0ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFTU0VTU01FTlRfUlVOX1RBRyA9IFwiZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczpjZXJ0LXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENFUlRfVEFHID0gXCJkbXM6Y2VydC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9NSUdSQVRJT05fVEFHID0gXCJkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmRhdGEtcHJvdmlkZXItdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9QUk9WSURFUl9UQUcgPSBcImRtczpkYXRhLXByb3ZpZGVyLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczplbmRwb2ludC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkRQT0lOVF9UQUcgPSBcImRtczplbmRwb2ludC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6ZXMtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRVNfVEFHID0gXCJkbXM6ZXMtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmluZGl2aWR1YWwtYXNzZXNzbWVudC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkRJVklEVUFMX0FTU0VTU01FTlRfVEFHID1cblx0XHRcImRtczppbmRpdmlkdWFsLWFzc2Vzc21lbnQtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmluc3RhbmNlLXByb2ZpbGUtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5TVEFOQ0VfUFJPRklMRV9UQUcgPSBcImRtczppbnN0YW5jZS1wcm9maWxlLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNSUdSQVRJT05fUFJPSkVDVF9UQUcgPSBcImRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6cmVwLXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFUF9UQUcgPSBcImRtczpyZXAtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOnJlcGxpY2F0aW9uLWNvbmZpZy10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVBMSUNBVElPTl9DT05GSUdfVEFHID1cblx0XHRcImRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOnJlcS10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVFfVEFHID0gXCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczpzdWJncnAtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1VCR1JQX1RBRyA9IFwiZG1zOnN1YmdycC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6dGFzay10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX1RBRyA9IFwiZG1zOnRhc2stdGFnLyR7VGFnS2V5fVwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6YXNzZXNzbWVudC1ydW4tdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgYXNzZXNzbWVudFJ1blRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpjZXJ0LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGNlcnRUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6Y2VydC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YU1pZ3JhdGlvblRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmRhdGEtbWlncmF0aW9uLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpkYXRhLXByb3ZpZGVyLXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGRhdGFQcm92aWRlclRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmRhdGEtcHJvdmlkZXItdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOmVuZHBvaW50LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmVuZHBvaW50LXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczplcy10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBlc1RhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczplcy10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6aW5kaXZpZHVhbC1hc3Nlc3NtZW50LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGluZGl2aWR1YWxBc3Nlc3NtZW50VGFnKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiZG1zOmluZGl2aWR1YWwtYXNzZXNzbWVudC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6aW5zdGFuY2UtcHJvZmlsZS10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBpbnN0YW5jZVByb2ZpbGVUYWcoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczppbnN0YW5jZS1wcm9maWxlLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBtaWdyYXRpb25Qcm9qZWN0VGFnKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6bWlncmF0aW9uLXByb2plY3QtdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOnJlcC10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXBUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6cmVwLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25Db25maWdUYWcoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOnJlcS10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXFUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpzdWJncnAtdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgc3ViZ3JwVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOnN1YmdycC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6dGFzay10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOnRhc2stdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
1487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBdWJDOzs7QUF0YkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsc0NBQXNDO0FBQ3RCLDRCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLDRDQUE0QztBQUM1QixvQ0FBeUIsR0FBRywrQkFBK0IsQ0FBQztBQUM1RSxnREFBZ0Q7QUFDaEMsd0NBQTZCLEdBQzVDLG1DQUFtQyxDQUFDO0FBQ3JDLDhDQUE4QztBQUM5QixzQ0FBMkIsR0FDMUMsaUNBQWlDLENBQUM7QUFDbkMscURBQXFEO0FBQ3JDLDZDQUFrQyxHQUNqRCx3Q0FBd0MsQ0FBQztBQUMxQyxzQ0FBc0M7QUFDdEIsOEJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDaEUscUNBQXFDO0FBQ3JCLDZCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELGlDQUFpQztBQUNqQix5QkFBYyxHQUFHLG9CQUFvQixDQUFDO0FBQ3RELDBDQUEwQztBQUMxQixrQ0FBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN4RSw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHdDQUF3QztBQUN4QixnQ0FBcUIsR0FBRywyQkFBMkIsQ0FBQztBQUNwRSx5Q0FBeUM7QUFDekIsaUNBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsNENB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QUFvQixHQUFHLG9DQUFvQyxDQUFDO0FBQzVFLGtFQUFrRTtBQUNsRCxtQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSxvREFBb0Q7QUFDcEMscUJBQU8sR0FBRyx1QkFBdUIsQ0FBQztBQUNsRCxtRUFBbUU7QUFDbkQsb0NBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLG9EQUFvRDtBQUNwQyxxQkFBTyxHQUFHLHVCQUF1QixDQUFDO0FBQ2xELHVEQUF1RDtBQUN2Qyx3QkFBVSxHQUFHLDBCQUEwQixDQUFDO0FBQ3hELHFEQUFxRDtBQUNyQyxzQkFBUSxHQUFHLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZG1zLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBkbXMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERtc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJkbXNcIjtcblxuXHQvKiogW1RhZ2dpbmddIGRtczpBZGRUYWdzVG9SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2UgPSBcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6QXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uID1cblx0XHRcImRtczpBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6QXNzb2NpYXRlRXh0ZW5zaW9uUGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlRXh0ZW5zaW9uUGFjayA9IFwiZG1zOkFzc29jaWF0ZUV4dGVuc2lvblBhY2tcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnMgPSBcImRtczpCYXRjaFN0YXJ0UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDYW5jZWxNZXRhZGF0YU1vZGVsQ29udmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb24gPVxuXHRcdFwiZG1zOkNhbmNlbE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDYW5jZWxNZXRhZGF0YU1vZGVsQ3JlYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbE1ldGFkYXRhTW9kZWxDcmVhdGlvbiA9XG5cdFx0XCJkbXM6Q2FuY2VsTWV0YWRhdGFNb2RlbENyZWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuID1cblx0XHRcImRtczpDYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVEYXRhTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhTWlncmF0aW9uID0gXCJkbXM6Q3JlYXRlRGF0YU1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlRGF0YVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUHJvdmlkZXIgPSBcImRtczpDcmVhdGVEYXRhUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludCA9IFwiZG1zOkNyZWF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVFdmVudFN1YnNjcmlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb24gPSBcImRtczpDcmVhdGVFdmVudFN1YnNjcmlwdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgPVxuXHRcdFwiZG1zOkNyZWF0ZUZsZWV0QWR2aXNvckNvbGxlY3RvclwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlSW5zdGFuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVByb2ZpbGUgPSBcImRtczpDcmVhdGVJbnN0YW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZU1pZ3JhdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1pZ3JhdGlvblByb2plY3QgPSBcImRtczpDcmVhdGVNaWdyYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVPdXRib3VuZEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPdXRib3VuZEludGVncmF0aW9uID0gXCJkbXM6Q3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6Q3JlYXRlUmVwbGljYXRpb25Db25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlnID0gXCJkbXM6Q3JlYXRlUmVwbGljYXRpb25Db25maWdcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkNyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2UgPSBcImRtczpDcmVhdGVSZXBsaWNhdGlvbkluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwID1cblx0XHRcImRtczpDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpDcmVhdGVSZXBsaWNhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uVGFzayA9IFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNlcnRpZmljYXRlID0gXCJkbXM6RGVsZXRlQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb24gPSBcImRtczpEZWxldGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVEYXRhTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhTWlncmF0aW9uID0gXCJkbXM6RGVsZXRlRGF0YU1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlRGF0YVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUHJvdmlkZXIgPSBcImRtczpEZWxldGVEYXRhUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludCA9IFwiZG1zOkRlbGV0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVFdmVudFN1YnNjcmlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb24gPSBcImRtczpEZWxldGVFdmVudFN1YnNjcmlwdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgPVxuXHRcdFwiZG1zOkRlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3RvclwiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlRmxlZXRBZHZpc29yRGF0YWJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbGVldEFkdmlzb3JEYXRhYmFzZXMgPVxuXHRcdFwiZG1zOkRlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlc1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlSW5zdGFuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnN0YW5jZVByb2ZpbGUgPSBcImRtczpEZWxldGVJbnN0YW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZU1pZ3JhdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1pZ3JhdGlvblByb2plY3QgPSBcImRtczpEZWxldGVNaWdyYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25Db25maWcgPSBcImRtczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6RGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZSA9IFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgPVxuXHRcdFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZG1zOkRlbGV0ZVJlcGxpY2F0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25UYXNrID0gXCJkbXM6RGVsZXRlUmVwbGljYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuID1cblx0XHRcImRtczpEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgPSBcImRtczpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlQXBwbGljYWJsZUluZGl2aWR1YWxBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBsaWNhYmxlSW5kaXZpZHVhbEFzc2Vzc21lbnRzID1cblx0XHRcImRtczpEZXNjcmliZUFwcGxpY2FibGVJbmRpdmlkdWFsQXNzZXNzbWVudHNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVDZXJ0aWZpY2F0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2VydGlmaWNhdGVzID0gXCJkbXM6RGVzY3JpYmVDZXJ0aWZpY2F0ZXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9ucyA9IFwiZG1zOkRlc2NyaWJlQ29ubmVjdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVDb252ZXJzaW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb252ZXJzaW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkbXM6RGVzY3JpYmVDb252ZXJzaW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZURhdGFNaWdyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFNaWdyYXRpb25zID0gXCJkbXM6RGVzY3JpYmVEYXRhTWlncmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUVuZHBvaW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRTZXR0aW5ncyA9IFwiZG1zOkRlc2NyaWJlRW5kcG9pbnRTZXR0aW5nc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUVuZHBvaW50VHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRUeXBlcyA9IFwiZG1zOkRlc2NyaWJlRW5kcG9pbnRUeXBlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludHMgPSBcImRtczpEZXNjcmliZUVuZHBvaW50c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUVuZ2luZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZ2luZVZlcnNpb25zID0gXCJkbXM6RGVzY3JpYmVFbmdpbmVWZXJzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUV2ZW50Q2F0ZWdvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudENhdGVnb3JpZXMgPSBcImRtczpEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnMgPSBcImRtczpEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudHMgPSBcImRtczpEZXNjcmliZUV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxlZXRBZHZpc29yQ29sbGVjdG9ycyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JDb2xsZWN0b3JzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yRGF0YWJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlcyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JEYXRhYmFzZXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpcyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hT2JqZWN0U3VtbWFyeSA9XG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFPYmplY3RTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yU2NoZW1hcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFzID1cblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWwgPSBcImRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsQ2hpbGRyZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbENoaWxkcmVuID1cblx0XHRcImRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxDaGlsZHJlblwiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxDcmVhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbENyZWF0aW9ucyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVNZXRhZGF0YU1vZGVsQ3JlYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVPcmRlcmFibGVSZXBsaWNhdGlvbkluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmRlcmFibGVSZXBsaWNhdGlvbkluc3RhbmNlcyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVPcmRlcmFibGVSZXBsaWNhdGlvbkluc3RhbmNlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9ucyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVjb21tZW5kYXRpb25MaW1pdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvbW1lbmRhdGlvbkxpbWl0YXRpb25zID1cblx0XHRcImRtczpEZXNjcmliZVJlY29tbWVuZGF0aW9uTGltaXRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb21tZW5kYXRpb25zID0gXCJkbXM6RGVzY3JpYmVSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZWZyZXNoU2NoZW1hc1N0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWZyZXNoU2NoZW1hc1N0YXR1cyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZWZyZXNoU2NoZW1hc1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3MgPSBcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlnc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VUYXNrTG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3MgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZXMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwcyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblN1Ym5ldEdyb3Vwc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzID1cblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJlc3VsdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJlc3VsdHMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJlc3VsdHNcIjtcblx0LyoqIFtSZWFkXSBkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVucyA9XG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuc1wiO1xuXHQvKiogW1JlYWRdIGRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudHMgPVxuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tzID0gXCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlUmVwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9ucyA9IFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlU2NoZW1hcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTY2hlbWFzID0gXCJkbXM6RGVzY3JpYmVTY2hlbWFzXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkRlc2NyaWJlVGFibGVTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhYmxlU3RhdGlzdGljcyA9IFwiZG1zOkRlc2NyaWJlVGFibGVTdGF0aXN0aWNzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpFeHBvcnRNZXRhZGF0YU1vZGVsQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgPVxuXHRcdFwiZG1zOkV4cG9ydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50XCI7XG5cdC8qKiBbUmVhZF0gZG1zOkdldE1ldGFkYXRhTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1ldGFkYXRhTW9kZWwgPSBcImRtczpHZXRNZXRhZGF0YU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkdldFRhcmdldFNlbGVjdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUYXJnZXRTZWxlY3Rpb25SdWxlcyA9IFwiZG1zOkdldFRhcmdldFNlbGVjdGlvblJ1bGVzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpJbXBvcnRDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0Q2VydGlmaWNhdGUgPSBcImRtczpJbXBvcnRDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0RGF0YVByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFQcm92aWRlcnMgPSBcImRtczpMaXN0RGF0YVByb3ZpZGVyc1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0RXh0ZW5zaW9uUGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHRlbnNpb25QYWNrcyA9IFwiZG1zOkxpc3RFeHRlbnNpb25QYWNrc1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0SW5zdGFuY2VQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluc3RhbmNlUHJvZmlsZXMgPSBcImRtczpMaXN0SW5zdGFuY2VQcm9maWxlc1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRBY3Rpb25JdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50QWN0aW9uSXRlbXMgPVxuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudEFjdGlvbkl0ZW1zXCI7XG5cdC8qKiBbUmVhZF0gZG1zOkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudHMgPVxuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudHNcIjtcblx0LyoqIFtSZWFkXSBkbXM6TGlzdE1ldGFkYXRhTW9kZWxDb252ZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldGFkYXRhTW9kZWxDb252ZXJzaW9ucyA9XG5cdFx0XCJkbXM6TGlzdE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0TWV0YWRhdGFNb2RlbEV4cG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRhZGF0YU1vZGVsRXhwb3J0cyA9IFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsRXhwb3J0c1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0TWlncmF0aW9uUHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNaWdyYXRpb25Qcm9qZWN0cyA9IFwiZG1zOkxpc3RNaWdyYXRpb25Qcm9qZWN0c1wiO1xuXHQvKiogW1JlYWRdIGRtczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJkbXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5RGF0YU1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RGF0YU1pZ3JhdGlvbiA9IFwiZG1zOk1vZGlmeURhdGFNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOk1vZGlmeUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlFbmRwb2ludCA9IFwiZG1zOk1vZGlmeUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlFdmVudFN1YnNjcmlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb24gPSBcImRtczpNb2RpZnlFdmVudFN1YnNjcmlwdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlGbGVldEFkdmlzb3JDb2xsZWN0b3IgPVxuXHRcdFwiZG1zOk1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3RvclwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5RmxlZXRBZHZpc29yQ29sbGVjdG9yU3RhdHVzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3RvclN0YXR1c2VzID1cblx0XHRcImRtczpNb2RpZnlGbGVldEFkdmlzb3JDb2xsZWN0b3JTdGF0dXNlc1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5T3V0Ym91bmRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5T3V0Ym91bmRJbnRlZ3JhdGlvbiA9IFwiZG1zOk1vZGlmeU91dGJvdW5kSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOk1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkNvbmZpZyA9IFwiZG1zOk1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlID0gXCJkbXM6TW9kaWZ5UmVwbGljYXRpb25JbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5UmVwbGljYXRpb25TdWJuZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25TdWJuZXRHcm91cCA9XG5cdFx0XCJkbXM6TW9kaWZ5UmVwbGljYXRpb25TdWJuZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6TW9kaWZ5UmVwbGljYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvblRhc2sgPSBcImRtczpNb2RpZnlSZXBsaWNhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZG1zOk1vdmVSZXBsaWNhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vdmVSZXBsaWNhdGlvblRhc2sgPSBcImRtczpNb3ZlUmVwbGljYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpSZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlID0gXCJkbXM6UmVib290UmVwbGljYXRpb25JbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6UmVmcmVzaFNjaGVtYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZnJlc2hTY2hlbWFzID0gXCJkbXM6UmVmcmVzaFNjaGVtYXNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlJlbG9hZFJlcGxpY2F0aW9uVGFibGVzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxvYWRSZXBsaWNhdGlvblRhYmxlcyA9IFwiZG1zOlJlbG9hZFJlcGxpY2F0aW9uVGFibGVzXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpSZWxvYWRUYWJsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbG9hZFRhYmxlcyA9IFwiZG1zOlJlbG9hZFRhYmxlc1wiO1xuXHQvKiogW1RhZ2dpbmddIGRtczpSZW1vdmVUYWdzRnJvbVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlID0gXCJkbXM6UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6UnVuRmxlZXRBZHZpc29yTHNhQW5hbHlzaXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzID0gXCJkbXM6UnVuRmxlZXRBZHZpc29yTHNhQW5hbHlzaXNcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0RGF0YU1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREYXRhTWlncmF0aW9uID0gXCJkbXM6U3RhcnREYXRhTWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50ID1cblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uID1cblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydE1ldGFkYXRhTW9kZWxDcmVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsQ3JlYXRpb24gPSBcImRtczpTdGFydE1ldGFkYXRhTW9kZWxDcmVhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0QXNTY3JpcHRzICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRBc1NjcmlwdHMgPVxuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0c1wiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0VG9UYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydFRvVGFyZ2V0ID1cblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldFwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRNZXRhZGF0YU1vZGVsSW1wb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQgPSBcImRtczpTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY29tbWVuZGF0aW9ucyA9IFwiZG1zOlN0YXJ0UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdGFydFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uID0gXCJkbXM6U3RhcnRSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RhcnRSZXBsaWNhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb25UYXNrID0gXCJkbXM6U3RhcnRSZXBsaWNhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50ID1cblx0XHRcImRtczpTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuID1cblx0XHRcImRtczpTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlN0b3BEYXRhTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRGF0YU1pZ3JhdGlvbiA9IFwiZG1zOlN0b3BEYXRhTWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpTdG9wUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbiA9IFwiZG1zOlN0b3BSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkbXM6U3RvcFJlcGxpY2F0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uVGFzayA9IFwiZG1zOlN0b3BSZXBsaWNhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSBkbXM6VGVzdENvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RDb25uZWN0aW9uID0gXCJkbXM6VGVzdENvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlVwZGF0ZUNvbnZlcnNpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb252ZXJzaW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkbXM6VXBkYXRlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZG1zOlVwZGF0ZURhdGFQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVByb3ZpZGVyID0gXCJkbXM6VXBkYXRlRGF0YVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGRtczpVcGRhdGVJbnN0YW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc3RhbmNlUHJvZmlsZSA9IFwiZG1zOlVwZGF0ZUluc3RhbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBkbXM6VXBkYXRlTWlncmF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWlncmF0aW9uUHJvamVjdCA9IFwiZG1zOlVwZGF0ZU1pZ3JhdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTdWJzY3JpcHRpb25zVG9FdmVudEJyaWRnZSA9XG5cdFx0XCJkbXM6VXBkYXRlU3Vic2NyaXB0aW9uc1RvRXZlbnRCcmlkZ2VcIjtcblx0LyoqIFtXcml0ZV0gZG1zOlVwbG9hZEZpbGVNZXRhZGF0YUxpc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwbG9hZEZpbGVNZXRhZGF0YUxpc3QgPSBcImRtczpVcGxvYWRGaWxlTWV0YWRhdGFMaXN0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVBcHBsaWNhYmxlSW5kaXZpZHVhbEFzc2Vzc21lbnRzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVDZXJ0aWZpY2F0ZXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUNvbm5lY3Rpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVDb252ZXJzaW9uQ29uZmlndXJhdGlvbixcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRGF0YU1pZ3JhdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50U2V0dGluZ3MsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50VHlwZXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50cyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRW5naW5lVmVyc2lvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUV2ZW50Q2F0ZWdvcmllcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVFdmVudHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlRmxlZXRBZHZpc29yTHNhQW5hbHlzaXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnksXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZU1ldGFkYXRhTW9kZWwsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZU1ldGFkYXRhTW9kZWxDaGlsZHJlbixcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlTWV0YWRhdGFNb2RlbENyZWF0aW9ucyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZWNvbW1lbmRhdGlvbkxpbWl0YXRpb25zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZWNvbW1lbmRhdGlvbnMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3MsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VUYXNrTG9ncyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZXMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvblRhYmxlU3RhdGlzdGljcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJlc3VsdHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zLFxuXHRcdERtc0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudHMsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uVGFza3MsXG5cdFx0RG1zQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9ucyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlU2NoZW1hcyxcblx0XHREbXNBY3Rpb25zLkRlc2NyaWJlVGFibGVTdGF0aXN0aWNzLFxuXHRcdERtc0FjdGlvbnMuYWN0aW9uR2V0TWV0YWRhdGFNb2RlbCxcblx0XHREbXNBY3Rpb25zLmFjdGlvbkdldFRhcmdldFNlbGVjdGlvblJ1bGVzLFxuXHRcdERtc0FjdGlvbnMuTGlzdERhdGFQcm92aWRlcnMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0RXh0ZW5zaW9uUGFja3MsXG5cdFx0RG1zQWN0aW9ucy5MaXN0SW5zdGFuY2VQcm9maWxlcyxcblx0XHREbXNBY3Rpb25zLkxpc3RNZXRhZGF0YU1vZGVsQXNzZXNzbWVudEFjdGlvbkl0ZW1zLFxuXHRcdERtc0FjdGlvbnMuTGlzdE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50cyxcblx0XHREbXNBY3Rpb25zLkxpc3RNZXRhZGF0YU1vZGVsQ29udmVyc2lvbnMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0TWV0YWRhdGFNb2RlbEV4cG9ydHMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0TWlncmF0aW9uUHJvamVjdHMsXG5cdFx0RG1zQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdERtc0FjdGlvbnMuVGVzdENvbm5lY3Rpb24sXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RG1zQWN0aW9ucy5BcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbixcblx0XHREbXNBY3Rpb25zLkFzc29jaWF0ZUV4dGVuc2lvblBhY2ssXG5cdFx0RG1zQWN0aW9ucy5CYXRjaFN0YXJ0UmVjb21tZW5kYXRpb25zLFxuXHRcdERtc0FjdGlvbnMuQ2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb24sXG5cdFx0RG1zQWN0aW9ucy5DYW5jZWxNZXRhZGF0YU1vZGVsQ3JlYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5DYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlRGF0YU1pZ3JhdGlvbixcblx0XHREbXNBY3Rpb25zLkNyZWF0ZURhdGFQcm92aWRlcixcblx0XHREbXNBY3Rpb25zLkNyZWF0ZUVuZHBvaW50LFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb24sXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3IsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVJbnN0YW5jZVByb2ZpbGUsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVNaWdyYXRpb25Qcm9qZWN0LFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbixcblx0XHREbXNBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlnLFxuXHRcdERtc0FjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25JbnN0YW5jZSxcblx0XHREbXNBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uU3VibmV0R3JvdXAsXG5cdFx0RG1zQWN0aW9ucy5DcmVhdGVSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVDZXJ0aWZpY2F0ZSxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUNvbm5lY3Rpb24sXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVEYXRhTWlncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlRGF0YVByb3ZpZGVyLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlRW5kcG9pbnQsXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVFdmVudFN1YnNjcmlwdGlvbixcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3Rvcixcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlcyxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZUluc3RhbmNlUHJvZmlsZSxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZU1pZ3JhdGlvblByb2plY3QsXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkNvbmZpZyxcblx0XHREbXNBY3Rpb25zLkRlbGV0ZVJlcGxpY2F0aW9uSW5zdGFuY2UsXG5cdFx0RG1zQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlUmVwbGljYXRpb25UYXNrLFxuXHRcdERtc0FjdGlvbnMuRGVsZXRlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bixcblx0XHREbXNBY3Rpb25zLkV4cG9ydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50LFxuXHRcdERtc0FjdGlvbnMuSW1wb3J0Q2VydGlmaWNhdGUsXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlEYXRhTWlncmF0aW9uLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5RW5kcG9pbnQsXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlFdmVudFN1YnNjcmlwdGlvbixcblx0XHREbXNBY3Rpb25zLk1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3Rvcixcblx0XHREbXNBY3Rpb25zLk1vZGlmeUZsZWV0QWR2aXNvckNvbGxlY3RvclN0YXR1c2VzLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5T3V0Ym91bmRJbnRlZ3JhdGlvbixcblx0XHREbXNBY3Rpb25zLk1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnLFxuXHRcdERtc0FjdGlvbnMuTW9kaWZ5UmVwbGljYXRpb25JbnN0YW5jZSxcblx0XHREbXNBY3Rpb25zLk1vZGlmeVJlcGxpY2F0aW9uU3VibmV0R3JvdXAsXG5cdFx0RG1zQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvblRhc2ssXG5cdFx0RG1zQWN0aW9ucy5Nb3ZlUmVwbGljYXRpb25UYXNrLFxuXHRcdERtc0FjdGlvbnMuUmVib290UmVwbGljYXRpb25JbnN0YW5jZSxcblx0XHREbXNBY3Rpb25zLlJlZnJlc2hTY2hlbWFzLFxuXHRcdERtc0FjdGlvbnMuUmVsb2FkUmVwbGljYXRpb25UYWJsZXMsXG5cdFx0RG1zQWN0aW9ucy5SZWxvYWRUYWJsZXMsXG5cdFx0RG1zQWN0aW9ucy5SdW5GbGVldEFkdmlzb3JMc2FBbmFseXNpcyxcblx0XHREbXNBY3Rpb25zLlN0YXJ0RGF0YU1pZ3JhdGlvbixcblx0XHREbXNBY3Rpb25zLlN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQsXG5cdFx0RG1zQWN0aW9ucy5TdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uLFxuXHRcdERtc0FjdGlvbnMuU3RhcnRNZXRhZGF0YU1vZGVsQ3JlYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5TdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRBc1NjcmlwdHMsXG5cdFx0RG1zQWN0aW9ucy5TdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldCxcblx0XHREbXNBY3Rpb25zLlN0YXJ0TWV0YWRhdGFNb2RlbEltcG9ydCxcblx0XHREbXNBY3Rpb25zLlN0YXJ0UmVjb21tZW5kYXRpb25zLFxuXHRcdERtc0FjdGlvbnMuU3RhcnRSZXBsaWNhdGlvbixcblx0XHREbXNBY3Rpb25zLlN0YXJ0UmVwbGljYXRpb25UYXNrLFxuXHRcdERtc0FjdGlvbnMuU3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50LFxuXHRcdERtc0FjdGlvbnMuU3RhcnRSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuLFxuXHRcdERtc0FjdGlvbnMuU3RvcERhdGFNaWdyYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5TdG9wUmVwbGljYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5TdG9wUmVwbGljYXRpb25UYXNrLFxuXHRcdERtc0FjdGlvbnMuVXBkYXRlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RG1zQWN0aW9ucy5VcGRhdGVEYXRhUHJvdmlkZXIsXG5cdFx0RG1zQWN0aW9ucy5VcGRhdGVJbnN0YW5jZVByb2ZpbGUsXG5cdFx0RG1zQWN0aW9ucy5VcGRhdGVNaWdyYXRpb25Qcm9qZWN0LFxuXHRcdERtc0FjdGlvbnMuVXBkYXRlU3Vic2NyaXB0aW9uc1RvRXZlbnRCcmlkZ2UsXG5cdFx0RG1zQWN0aW9ucy5VcGxvYWRGaWxlTWV0YWRhdGFMaXN0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREbXNBY3Rpb25zLkFkZFRhZ3NUb1Jlc291cmNlLFxuXHRcdERtc0FjdGlvbnMuUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENlcnRpZmljYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNDZXJ0aWZpY2F0ZUFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDZXJ0aWZpY2F0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zQ2VydGlmaWNhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRGF0YU1pZ3JhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zRGF0YU1pZ3JhdGlvbkFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBEYXRhTWlncmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNEYXRhTWlncmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIERhdGFQcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zRGF0YVByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERhdGFQcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zRGF0YVByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBFbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRXZlbnRTdWJzY3JpcHRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0V2ZW50U3Vic2NyaXB0aW9uQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEV2ZW50U3Vic2NyaXB0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNFdmVudFN1YnNjcmlwdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBJbnN0YW5jZVByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0luc3RhbmNlUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBJbnN0YW5jZVByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc0luc3RhbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNaWdyYXRpb25Qcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNNaWdyYXRpb25Qcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1pZ3JhdGlvblByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc01pZ3JhdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25Db25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uQ29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvbkNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBsaWNhdGlvbkluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvbkluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uSW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25TdWJuZXRHcm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25TdWJuZXRHcm91cEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbXNSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uVGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uVGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5Bcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuY29uc3QgQ2VydGlmaWNhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2VydDouKiQvO1xuY29uc3QgRGF0YU1pZ3JhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLW1pZ3JhdGlvbjouKiQvO1xuY29uc3QgRGF0YVByb3ZpZGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtcHJvdmlkZXI6LiokLztcbmNvbnN0IEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50Oi4qJC87XG5jb25zdCBFdmVudFN1YnNjcmlwdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplczouKiQvO1xuY29uc3QgSW5zdGFuY2VQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluc3RhbmNlLXByb2ZpbGU6LiokLztcbmNvbnN0IE1pZ3JhdGlvblByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWlncmF0aW9uLXByb2plY3Q6LiokLztcbmNvbnN0IFJlcGxpY2F0aW9uQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRtczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcGxpY2F0aW9uLWNvbmZpZzouKiQvO1xuY29uc3QgUmVwbGljYXRpb25JbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXA6LiokLztcbmNvbnN0IFJlcGxpY2F0aW9uU3VibmV0R3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3ViZ3JwOi4qJC87XG5jb25zdCBSZXBsaWNhdGlvblRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFzazouKiQvO1xuY29uc3QgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphc3Nlc3NtZW50LXJ1bjouKiQvO1xuY29uc3QgUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZG1zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5kaXZpZHVhbC1hc3Nlc3NtZW50Oi4qJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZG1zIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERtc1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ2VydGlmaWNhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2VydGlmaWNhdGUocHJvcHM6IERtc0NlcnRpZmljYXRlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjZXJ0OipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ2VydGlmaWNhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENlcnRpZmljYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENlcnRpZmljYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENlcnRpZmljYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNlcnRpZmljYXRlQXJuKGFybjogc3RyaW5nKTogRG1zQ2VydGlmaWNhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENlcnRpZmljYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENlcnRpZmljYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBEYXRhTWlncmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFNaWdyYXRpb24ocHJvcHM6IERtc0RhdGFNaWdyYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtbWlncmF0aW9uOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGF0YU1pZ3JhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YU1pZ3JhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhTWlncmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERhdGFNaWdyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YU1pZ3JhdGlvbkFybihhcm46IHN0cmluZyk6IERtc0RhdGFNaWdyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFNaWdyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRGF0YU1pZ3JhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGF0YVByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFQcm92aWRlcihwcm9wczogRG1zRGF0YVByb3ZpZGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLXByb3ZpZGVyOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGF0YVByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhUHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVByb3ZpZGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERhdGFQcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhUHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBEbXNEYXRhUHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFQcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEYXRhUHJvdmlkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50KHByb3BzOiBEbXNFbmRwb2ludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW5kcG9pbnQ6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBFbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBEbXNFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEV2ZW50U3Vic2NyaXB0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50U3Vic2NyaXB0aW9uKHByb3BzOiBEbXNFdmVudFN1YnNjcmlwdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXM6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBFdmVudFN1YnNjcmlwdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXZlbnRTdWJzY3JpcHRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRTdWJzY3JpcHRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRXZlbnRTdWJzY3JpcHRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRTdWJzY3JpcHRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERtc0V2ZW50U3Vic2NyaXB0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFN1YnNjcmlwdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFdmVudFN1YnNjcmlwdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSW5zdGFuY2VQcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlUHJvZmlsZShwcm9wczogRG1zSW5zdGFuY2VQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRtczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbnN0YW5jZS1wcm9maWxlOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSW5zdGFuY2VQcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnN0YW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5zdGFuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEluc3RhbmNlUHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnN0YW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBEbXNJbnN0YW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluc3RhbmNlUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJbnN0YW5jZVByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1pZ3JhdGlvblByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWlncmF0aW9uUHJvamVjdChwcm9wczogRG1zTWlncmF0aW9uUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWlncmF0aW9uLXByb2plY3Q6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNaWdyYXRpb25Qcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNaWdyYXRpb25Qcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1pZ3JhdGlvblByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWlncmF0aW9uUHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNaWdyYXRpb25Qcm9qZWN0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNNaWdyYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNaWdyYXRpb25Qcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1pZ3JhdGlvblByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uQ29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uQ29uZmlnKHByb3BzOiBEbXNSZXBsaWNhdGlvbkNvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVwbGljYXRpb24tY29uZmlnOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcGxpY2F0aW9uQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uQ29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNSZXBsaWNhdGlvbkNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25Db25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVwbGljYXRpb25Db25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uSW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25JbnN0YW5jZShwcm9wczogRG1zUmVwbGljYXRpb25JbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVwOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25JbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25JbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvbkluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uSW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25JbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRG1zUmVwbGljYXRpb25JbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25JbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXBsaWNhdGlvbkluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uU3VibmV0R3JvdXAoXG5cdFx0cHJvcHM6IERtc1JlcGxpY2F0aW9uU3VibmV0R3JvdXBBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3ViZ3JwOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25TdWJuZXRHcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25TdWJuZXRHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25TdWJuZXRHcm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRG1zUmVwbGljYXRpb25TdWJuZXRHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25TdWJuZXRHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25UYXNrKHByb3BzOiBEbXNSZXBsaWNhdGlvblRhc2tBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhc2s6KmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcGxpY2F0aW9uVGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvblRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25UYXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uVGFza0Fybihhcm46IHN0cmluZyk6IERtc1JlcGxpY2F0aW9uVGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25UYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlcGxpY2F0aW9uVGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuKFxuXHRcdHByb3BzOiBEbXNSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZG1zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFzc2Vzc21lbnQtcnVuOipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1biByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRG1zUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudChcblx0XHRwcm9wczogRG1zUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5kaXZpZHVhbC1hc3Nlc3NtZW50OipgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEbXNSZXBsaWNhdGlvblRhc2tJbmRpdmlkdWFsQXNzZXNzbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIFJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50IEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBkbXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEbXNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFnc1RvUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoU3RhcnRSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFN0YXJ0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpCYXRjaFN0YXJ0UmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWV0YWRhdGFNb2RlbENvbnZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkNhbmNlbE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbE1ldGFkYXRhTW9kZWxDcmVhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbE1ldGFkYXRhTW9kZWxDcmVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6Q2FuY2VsTWV0YWRhdGFNb2RlbENyZWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpDYW5jZWxSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhTWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZURhdGFNaWdyYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlRGF0YVByb3ZpZGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVFbmRwb2ludFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlRXZlbnRTdWJzY3JpcHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxlZXRBZHZpc29yQ29sbGVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpDcmVhdGVGbGVldEFkdmlzb3JDb2xsZWN0b3JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnN0YW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJkbXM6Q3JlYXRlSW5zdGFuY2VQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1pZ3JhdGlvblByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNaWdyYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZU1pZ3JhdGlvblByb2plY3RcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZG1zOkNyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25TdWJuZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpDcmVhdGVSZXBsaWNhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXCJkbXM6RGVsZXRlQ2VydGlmaWNhdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcImRtczpEZWxldGVDb25uZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhTWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6RGVsZXRlRGF0YU1pZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcImRtczpEZWxldGVEYXRhUHJvdmlkZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wiZG1zOkRlbGV0ZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmVudFN1YnNjcmlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVFdmVudFN1YnNjcmlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbGVldEFkdmlzb3JDb2xsZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbGVldEFkdmlzb3JDb2xsZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZUZsZWV0QWR2aXNvckNvbGxlY3RvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbGVldEFkdmlzb3JEYXRhYmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbGVldEFkdmlzb3JEYXRhYmFzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZUZsZWV0QWR2aXNvckRhdGFiYXNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnN0YW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnN0YW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZUluc3RhbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNaWdyYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWlncmF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlTWlncmF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlUmVwbGljYXRpb25JbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25TdWJuZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlUmVwbGljYXRpb25TdWJuZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlbGV0ZVJlcGxpY2F0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1bjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVsZXRlUmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFJ1blwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcGxpY2FibGVJbmRpdmlkdWFsQXNzZXNzbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2FibGVJbmRpdmlkdWFsQXNzZXNzbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlQXBwbGljYWJsZUluZGl2aWR1YWxBc3Nlc3NtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNlcnRpZmljYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2VydGlmaWNhdGVzOiBzdHJpbmdbXSA9IFtcImRtczpEZXNjcmliZUNlcnRpZmljYXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlQ29ubmVjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUNvbnZlcnNpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YU1pZ3JhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFNaWdyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZURhdGFNaWdyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YVByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVByb3ZpZGVyczogc3RyaW5nW10gPSBbXCJkbXM6TGlzdERhdGFQcm92aWRlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRTZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVFbmRwb2ludFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRUeXBlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVFbmRwb2ludFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludHM6IHN0cmluZ1tdID0gW1wiZG1zOkRlc2NyaWJlRW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZ2luZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmdpbmVWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVFbmdpbmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzOiBzdHJpbmdbXSA9IFtcImRtczpEZXNjcmliZUV2ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHRlbnNpb25QYWNrQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHRlbnNpb25QYWNrQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpMaXN0RXh0ZW5zaW9uUGFja3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbGVldEFkdmlzb3JDb2xsZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JDb2xsZWN0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvckNvbGxlY3RvcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbGVldEFkdmlzb3JEYXRhYmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsZWV0QWR2aXNvckRhdGFiYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVGbGVldEFkdmlzb3JEYXRhYmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbGVldEFkdmlzb3JMc2FBbmFseXNpcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxlZXRBZHZpc29yTHNhQW5hbHlzaXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlRmxlZXRBZHZpc29yTHNhQW5hbHlzaXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFPYmplY3RTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFPYmplY3RTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYU9iamVjdFN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbGVldEFkdmlzb3JTY2hlbWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZUZsZWV0QWR2aXNvclNjaGVtYXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbnN0YW5jZVByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVByb2ZpbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpMaXN0SW5zdGFuY2VQcm9maWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldGFkYXRhTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpMaXN0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0YWRhdGFNb2RlbENoaWxkcmVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ2hpbGRyZW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbENoaWxkcmVuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0YWRhdGFNb2RlbENvbnZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ29udmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RNZXRhZGF0YU1vZGVsQ29udmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ3JlYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsQ3JlYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZU1ldGFkYXRhTW9kZWxDcmVhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsRXhwb3J0c0FzU2NyaXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsRXhwb3J0c0FzU2NyaXB0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpMaXN0TWV0YWRhdGFNb2RlbEV4cG9ydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsRXhwb3J0c1RvVGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRhZGF0YU1vZGVsRXhwb3J0c1RvVGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpMaXN0TWV0YWRhdGFNb2RlbEV4cG9ydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRhZGF0YU1vZGVsSW1wb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlTWV0YWRhdGFNb2RlbEltcG9ydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNaWdyYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWlncmF0aW9uUHJvamVjdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkxpc3RNaWdyYXRpb25Qcm9qZWN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZGVyYWJsZVJlcGxpY2F0aW9uSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmRlcmFibGVSZXBsaWNhdGlvbkluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVPcmRlcmFibGVSZXBsaWNhdGlvbkluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlY29tbWVuZGF0aW9uTGltaXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY29tbWVuZGF0aW9uTGltaXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVjb21tZW5kYXRpb25MaW1pdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZnJlc2hTY2hlbWFzU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWZyZXNoU2NoZW1hc1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZWZyZXNoU2NoZW1hc1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Db25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlnc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VUYXNrTG9ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25JbnN0YW5jZVRhc2tMb2dzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VUYXNrTG9nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uU3VibmV0R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblN1Ym5ldEdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblN1Ym5ldEdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uVGFibGVTdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhYmxlU3RhdGlzdGljczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhYmxlU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0czogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UmVzdWx0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6RGVzY3JpYmVSZXBsaWNhdGlvblRhc2tBc3Nlc3NtZW50UnVuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25UYXNrSW5kaXZpZHVhbEFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uVGFza0luZGl2aWR1YWxBc3Nlc3NtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlUmVwbGljYXRpb25UYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtcImRtczpEZXNjcmliZVJlcGxpY2F0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTY2hlbWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTY2hlbWFzOiBzdHJpbmdbXSA9IFtcImRtczpEZXNjcmliZVNjaGVtYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFibGVTdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYWJsZVN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkRlc2NyaWJlVGFibGVTdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkV4cG9ydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRhcmdldFNlbGVjdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUYXJnZXRTZWxlY3Rpb25SdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6R2V0VGFyZ2V0U2VsZWN0aW9uUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0Q2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImRtczpJbXBvcnRDZXJ0aWZpY2F0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkbXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5Q29udmVyc2lvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDb252ZXJzaW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6VXBkYXRlQ29udmVyc2lvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5RGF0YU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeURhdGFNaWdyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOk1vZGlmeURhdGFNaWdyYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlEYXRhUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlEYXRhUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJkbXM6VXBkYXRlRGF0YVByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOk1vZGlmeUVuZHBvaW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5SW5zdGFuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5SW5zdGFuY2VQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpVcGRhdGVJbnN0YW5jZVByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5TWlncmF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeU1pZ3JhdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJkbXM6VXBkYXRlTWlncmF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpNb2RpZnlSZXBsaWNhdGlvbkNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25JbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5UmVwbGljYXRpb25JbnN0YW5jZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpNb2RpZnlSZXBsaWNhdGlvblN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6TW9kaWZ5UmVwbGljYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vdmVSZXBsaWNhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb3ZlUmVwbGljYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcImRtczpNb3ZlUmVwbGljYXRpb25UYXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJvb3RSZXBsaWNhdGlvbkluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290UmVwbGljYXRpb25JbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6UmVib290UmVwbGljYXRpb25JbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWZyZXNoU2NoZW1hcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZnJlc2hTY2hlbWFzOiBzdHJpbmdbXSA9IFtcImRtczpSZWZyZXNoU2NoZW1hc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsb2FkUmVwbGljYXRpb25UYWJsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxvYWRSZXBsaWNhdGlvblRhYmxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkbXM6UmVsb2FkUmVwbGljYXRpb25UYWJsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsb2FkVGFibGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsb2FkVGFibGVzOiBzdHJpbmdbXSA9IFtcImRtczpSZWxvYWRUYWJsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuRmxlZXRBZHZpc29yTHNhQW5hbHlzaXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlJ1bkZsZWV0QWR2aXNvckxzYUFuYWx5c2lzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RGF0YU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RhcnREYXRhTWlncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEV4dGVuc2lvblBhY2tBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXh0ZW5zaW9uUGFja0Fzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpBc3NvY2lhdGVFeHRlbnNpb25QYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbENvbnZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxDb252ZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsQ3JlYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbENyZWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRhZGF0YU1vZGVsRXhwb3J0QXNTY3JpcHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydEFzU2NyaXB0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0YWRhdGFNb2RlbEV4cG9ydFRvVGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImRtczpTdGFydE1ldGFkYXRhTW9kZWxFeHBvcnRUb1RhcmdldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldGFkYXRhTW9kZWxJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0TWV0YWRhdGFNb2RlbEltcG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcImRtczpTdGFydFJlY29tbWVuZGF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZG1zOlN0YXJ0UmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVwbGljYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvblRhc2s6IHN0cmluZ1tdID0gW1wiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlN0YXJ0UmVwbGljYXRpb25UYXNrQXNzZXNzbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImRtczpTdGFydFJlcGxpY2F0aW9uVGFza0Fzc2Vzc21lbnRSdW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcERhdGFNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRGF0YU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RvcERhdGFNaWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6U3RvcFJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUmVwbGljYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uVGFzazogc3RyaW5nW10gPSBbXCJkbXM6U3RvcFJlcGxpY2F0aW9uVGFza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0Q29ubmVjdGlvbjogc3RyaW5nW10gPSBbXCJkbXM6VGVzdENvbm5lY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3Vic2NyaXB0aW9uc1RvRXZlbnRCcmlkZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZG1zOlVwZGF0ZVN1YnNjcmlwdGlvbnNUb0V2ZW50QnJpZGdlXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBkbXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEbXNDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3NUb1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YU1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhUHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluc3RhbmNlUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWlncmF0aW9uUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNaWdyYXRpb25Qcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU91dGJvdW5kSW50ZWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZG1zOnJlcS10YWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkluc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25TdWJuZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblN1Ym5ldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlcGxpY2F0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImRtczpyZXEtdGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkluc3RhbmNlVGFza0xvZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRDZXJ0aWZpY2F0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDZXJ0aWZpY2F0ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFTU0VTU01FTlRfUlVOX1RBRyA9IFwiZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczpjZXJ0LXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENFUlRfVEFHID0gXCJkbXM6Y2VydC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9NSUdSQVRJT05fVEFHID0gXCJkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmRhdGEtcHJvdmlkZXItdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9QUk9WSURFUl9UQUcgPSBcImRtczpkYXRhLXByb3ZpZGVyLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczplbmRwb2ludC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkRQT0lOVF9UQUcgPSBcImRtczplbmRwb2ludC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6ZXMtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRVNfVEFHID0gXCJkbXM6ZXMtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmluZGl2aWR1YWwtYXNzZXNzbWVudC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkRJVklEVUFMX0FTU0VTU01FTlRfVEFHID1cblx0XHRcImRtczppbmRpdmlkdWFsLWFzc2Vzc21lbnQtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOmluc3RhbmNlLXByb2ZpbGUtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5TVEFOQ0VfUFJPRklMRV9UQUcgPSBcImRtczppbnN0YW5jZS1wcm9maWxlLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNSUdSQVRJT05fUFJPSkVDVF9UQUcgPSBcImRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6cmVwLXRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFUF9UQUcgPSBcImRtczpyZXAtdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOnJlcGxpY2F0aW9uLWNvbmZpZy10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVBMSUNBVElPTl9DT05GSUdfVEFHID1cblx0XHRcImRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZG1zOnJlcS10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVFfVEFHID0gXCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGRtczpzdWJncnAtdGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1VCR1JQX1RBRyA9IFwiZG1zOnN1YmdycC10YWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkbXM6dGFzay10YWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX1RBRyA9IFwiZG1zOnRhc2stdGFnLyR7VGFnS2V5fVwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6YXNzZXNzbWVudC1ydW4tdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgYXNzZXNzbWVudFJ1blRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmFzc2Vzc21lbnQtcnVuLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpjZXJ0LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGNlcnRUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6Y2VydC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6ZGF0YS1taWdyYXRpb24tdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YU1pZ3JhdGlvblRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmRhdGEtbWlncmF0aW9uLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpkYXRhLXByb3ZpZGVyLXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGRhdGFQcm92aWRlclRhZyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmRhdGEtcHJvdmlkZXItdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOmVuZHBvaW50LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOmVuZHBvaW50LXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczplcy10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBlc1RhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczplcy10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6aW5kaXZpZHVhbC1hc3Nlc3NtZW50LXRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIGluZGl2aWR1YWxBc3Nlc3NtZW50VGFnKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiZG1zOmluZGl2aWR1YWwtYXNzZXNzbWVudC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6aW5zdGFuY2UtcHJvZmlsZS10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBpbnN0YW5jZVByb2ZpbGVUYWcoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczppbnN0YW5jZS1wcm9maWxlLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczptaWdyYXRpb24tcHJvamVjdC10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBtaWdyYXRpb25Qcm9qZWN0VGFnKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6bWlncmF0aW9uLXByb2plY3QtdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOnJlcC10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXBUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6cmVwLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25Db25maWdUYWcoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImRtczpyZXBsaWNhdGlvbi1jb25maWctdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZG1zOnJlcS10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXFUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkbXM6cmVxLXRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGRtczpzdWJncnAtdGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgc3ViZ3JwVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOnN1YmdycC10YWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkbXM6dGFzay10YWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZG1zOnRhc2stdGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==