@cdk_utils/iam 1.10.0 → 1.12.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 (464) hide show
  1. package/.jsii +2318 -2207
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.d.ts +2 -0
  15. package/lib/generated/services/aidevops.js +7 -5
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.d.ts +6 -0
  49. package/lib/generated/services/autoscaling.js +20 -5
  50. package/lib/generated/services/aws-external-anthropic.js +3 -3
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.js +4 -4
  66. package/lib/generated/services/bedrock-mantle.d.ts +4 -0
  67. package/lib/generated/services/bedrock-mantle.js +9 -4
  68. package/lib/generated/services/bedrock-websearch.js +2 -2
  69. package/lib/generated/services/bedrock.js +4 -4
  70. package/lib/generated/services/billing.js +4 -4
  71. package/lib/generated/services/billingconductor.js +4 -4
  72. package/lib/generated/services/braket.js +4 -4
  73. package/lib/generated/services/budgets.js +4 -4
  74. package/lib/generated/services/bugbust.js +3 -3
  75. package/lib/generated/services/cases.js +4 -4
  76. package/lib/generated/services/cassandra.js +4 -4
  77. package/lib/generated/services/ce.js +4 -4
  78. package/lib/generated/services/chatbot.js +4 -4
  79. package/lib/generated/services/chime.js +4 -4
  80. package/lib/generated/services/cleanrooms-ml.js +4 -4
  81. package/lib/generated/services/cleanrooms.js +4 -4
  82. package/lib/generated/services/cloud9.js +4 -4
  83. package/lib/generated/services/clouddirectory.js +3 -3
  84. package/lib/generated/services/cloudformation.js +4 -4
  85. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  86. package/lib/generated/services/cloudfront.js +4 -4
  87. package/lib/generated/services/cloudhsm.js +4 -4
  88. package/lib/generated/services/cloudsearch.js +3 -3
  89. package/lib/generated/services/cloudshell.js +3 -3
  90. package/lib/generated/services/cloudtrail-data.js +4 -4
  91. package/lib/generated/services/cloudtrail.js +4 -4
  92. package/lib/generated/services/cloudwatch.js +4 -4
  93. package/lib/generated/services/codeartifact.js +4 -4
  94. package/lib/generated/services/codebuild.js +4 -4
  95. package/lib/generated/services/codecatalyst.js +4 -4
  96. package/lib/generated/services/codecommit.d.ts +2 -0
  97. package/lib/generated/services/codecommit.js +11 -6
  98. package/lib/generated/services/codeconnections.js +4 -4
  99. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  100. package/lib/generated/services/codedeploy.js +4 -4
  101. package/lib/generated/services/codeguru-profiler.js +4 -4
  102. package/lib/generated/services/codeguru-reviewer.js +4 -4
  103. package/lib/generated/services/codeguru-security.js +4 -4
  104. package/lib/generated/services/codeguru.js +1 -1
  105. package/lib/generated/services/codepipeline.js +4 -4
  106. package/lib/generated/services/codestar-connections.js +4 -4
  107. package/lib/generated/services/codestar-notifications.js +4 -4
  108. package/lib/generated/services/codestar.js +3 -3
  109. package/lib/generated/services/codewhisperer.js +3 -3
  110. package/lib/generated/services/cognito-identity.js +4 -4
  111. package/lib/generated/services/cognito-idp.js +4 -4
  112. package/lib/generated/services/cognito-sync.js +3 -3
  113. package/lib/generated/services/comprehend.js +4 -4
  114. package/lib/generated/services/comprehendmedical.js +3 -3
  115. package/lib/generated/services/compute-optimizer.js +3 -3
  116. package/lib/generated/services/config.js +4 -4
  117. package/lib/generated/services/connect-campaigns.js +4 -4
  118. package/lib/generated/services/connect.js +4 -4
  119. package/lib/generated/services/consoleapp.js +2 -2
  120. package/lib/generated/services/consolidatedbilling.js +1 -1
  121. package/lib/generated/services/controlcatalog.js +3 -3
  122. package/lib/generated/services/controltower.js +4 -4
  123. package/lib/generated/services/cost-optimization-hub.js +2 -2
  124. package/lib/generated/services/cur.js +4 -4
  125. package/lib/generated/services/customer-verification.js +1 -1
  126. package/lib/generated/services/databrew.js +4 -4
  127. package/lib/generated/services/dataexchange.js +4 -4
  128. package/lib/generated/services/datapipeline.js +4 -4
  129. package/lib/generated/services/datasync.js +4 -4
  130. package/lib/generated/services/datazone.js +4 -4
  131. package/lib/generated/services/dax.js +4 -4
  132. package/lib/generated/services/dbqms.js +1 -1
  133. package/lib/generated/services/deadline.js +4 -4
  134. package/lib/generated/services/detective.js +4 -4
  135. package/lib/generated/services/devicefarm.js +4 -4
  136. package/lib/generated/services/devops-guru.js +4 -4
  137. package/lib/generated/services/directconnect.js +4 -4
  138. package/lib/generated/services/discovery.js +3 -3
  139. package/lib/generated/services/dlm.js +4 -4
  140. package/lib/generated/services/dms.js +4 -4
  141. package/lib/generated/services/docdb-elastic.js +4 -4
  142. package/lib/generated/services/drs.js +9 -6
  143. package/lib/generated/services/ds-data.js +4 -4
  144. package/lib/generated/services/ds.js +4 -4
  145. package/lib/generated/services/dsql.js +4 -4
  146. package/lib/generated/services/dynamodb.js +4 -4
  147. package/lib/generated/services/ebs.js +4 -4
  148. package/lib/generated/services/ec2-instance-connect.js +4 -4
  149. package/lib/generated/services/ec2.js +4 -4
  150. package/lib/generated/services/ec2messages.js +2 -2
  151. package/lib/generated/services/ecr-public.js +4 -4
  152. package/lib/generated/services/ecr.js +4 -4
  153. package/lib/generated/services/ecs-mcp.js +1 -1
  154. package/lib/generated/services/ecs.js +4 -4
  155. package/lib/generated/services/eks-auth.js +4 -4
  156. package/lib/generated/services/eks-mcp.js +1 -1
  157. package/lib/generated/services/eks.js +4 -4
  158. package/lib/generated/services/elasticache.js +4 -4
  159. package/lib/generated/services/elasticbeanstalk.js +4 -4
  160. package/lib/generated/services/elasticfilesystem.js +4 -4
  161. package/lib/generated/services/elasticloadbalancing.js +4 -4
  162. package/lib/generated/services/elasticmapreduce.js +4 -4
  163. package/lib/generated/services/elastictranscoder.js +2 -2
  164. package/lib/generated/services/elemental-activations.js +1 -1
  165. package/lib/generated/services/elemental-appliances-software.js +2 -2
  166. package/lib/generated/services/elemental-inference.js +4 -4
  167. package/lib/generated/services/elemental-support-cases.js +3 -3
  168. package/lib/generated/services/elemental-support-content.js +1 -1
  169. package/lib/generated/services/emr-containers.js +4 -4
  170. package/lib/generated/services/emr-serverless.js +4 -4
  171. package/lib/generated/services/entityresolution.js +4 -4
  172. package/lib/generated/services/es.js +4 -4
  173. package/lib/generated/services/events.js +4 -4
  174. package/lib/generated/services/eventsbilltoaws.js +3 -3
  175. package/lib/generated/services/evidently.js +3 -3
  176. package/lib/generated/services/evs.js +4 -4
  177. package/lib/generated/services/execute-api.js +4 -4
  178. package/lib/generated/services/finops-agent.js +1 -1
  179. package/lib/generated/services/finspace-api.js +3 -3
  180. package/lib/generated/services/finspace.js +4 -4
  181. package/lib/generated/services/firehose.js +4 -4
  182. package/lib/generated/services/fis.js +4 -4
  183. package/lib/generated/services/fms.js +4 -4
  184. package/lib/generated/services/forecast.js +4 -4
  185. package/lib/generated/services/frauddetector.js +4 -4
  186. package/lib/generated/services/freertos.js +3 -3
  187. package/lib/generated/services/freetier.js +2 -2
  188. package/lib/generated/services/fsx.js +4 -4
  189. package/lib/generated/services/gamelift.js +4 -4
  190. package/lib/generated/services/gameliftstreams.js +4 -4
  191. package/lib/generated/services/geo-maps.js +3 -3
  192. package/lib/generated/services/geo-places.js +3 -3
  193. package/lib/generated/services/geo-routes.js +3 -3
  194. package/lib/generated/services/geo.js +4 -4
  195. package/lib/generated/services/glacier.js +4 -4
  196. package/lib/generated/services/globalaccelerator.js +4 -4
  197. package/lib/generated/services/glue.js +4 -4
  198. package/lib/generated/services/grafana.js +4 -4
  199. package/lib/generated/services/greengrass.js +4 -4
  200. package/lib/generated/services/groundstation.js +4 -4
  201. package/lib/generated/services/groundtruthlabeling.js +1 -1
  202. package/lib/generated/services/guardduty.js +4 -4
  203. package/lib/generated/services/health-agent.js +4 -4
  204. package/lib/generated/services/health.js +4 -4
  205. package/lib/generated/services/healthlake.js +4 -4
  206. package/lib/generated/services/honeycode.js +2 -2
  207. package/lib/generated/services/iam.d.ts +2 -0
  208. package/lib/generated/services/iam.js +7 -5
  209. package/lib/generated/services/identity-sync.js +2 -2
  210. package/lib/generated/services/identitystore-auth.js +1 -1
  211. package/lib/generated/services/identitystore.js +4 -4
  212. package/lib/generated/services/imagebuilder.js +4 -4
  213. package/lib/generated/services/importexport.js +2 -2
  214. package/lib/generated/services/inspector-scan.js +2 -2
  215. package/lib/generated/services/inspector.js +2 -2
  216. package/lib/generated/services/inspector2-telemetry.js +1 -1
  217. package/lib/generated/services/inspector2.js +4 -4
  218. package/lib/generated/services/interconnect.js +4 -4
  219. package/lib/generated/services/internetmonitor.js +4 -4
  220. package/lib/generated/services/invoicing.js +4 -4
  221. package/lib/generated/services/iot-device-tester.js +1 -1
  222. package/lib/generated/services/iot.js +4 -4
  223. package/lib/generated/services/iotanalytics.js +3 -3
  224. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  225. package/lib/generated/services/iotevents.js +3 -3
  226. package/lib/generated/services/iotfleethub.js +3 -3
  227. package/lib/generated/services/iotfleetwise.js +4 -4
  228. package/lib/generated/services/iotjobsdata.js +4 -4
  229. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  230. package/lib/generated/services/iotsitewise.js +4 -4
  231. package/lib/generated/services/iottwinmaker.js +4 -4
  232. package/lib/generated/services/iotwireless.js +4 -4
  233. package/lib/generated/services/iq-permission.js +2 -2
  234. package/lib/generated/services/iq.js +2 -2
  235. package/lib/generated/services/ivs.js +4 -4
  236. package/lib/generated/services/ivschat.js +4 -4
  237. package/lib/generated/services/kafka-cluster.js +3 -3
  238. package/lib/generated/services/kafka.js +4 -4
  239. package/lib/generated/services/kafkaconnect.js +4 -4
  240. package/lib/generated/services/kendra-ranking.js +4 -4
  241. package/lib/generated/services/kendra.js +4 -4
  242. package/lib/generated/services/kinesis.js +4 -4
  243. package/lib/generated/services/kinesisanalytics.js +4 -4
  244. package/lib/generated/services/kinesisvideo.js +4 -4
  245. package/lib/generated/services/kms.js +4 -4
  246. package/lib/generated/services/lakeformation.js +3 -3
  247. package/lib/generated/services/lambda.js +4 -4
  248. package/lib/generated/services/launchwizard.js +4 -4
  249. package/lib/generated/services/lex.js +4 -4
  250. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  252. package/lib/generated/services/license-manager.js +4 -4
  253. package/lib/generated/services/lightsail.js +4 -4
  254. package/lib/generated/services/logs.js +4 -4
  255. package/lib/generated/services/lookoutequipment.js +4 -4
  256. package/lib/generated/services/lookoutmetrics.js +3 -3
  257. package/lib/generated/services/lookoutvision.js +3 -3
  258. package/lib/generated/services/m2.js +4 -4
  259. package/lib/generated/services/machinelearning.js +3 -3
  260. package/lib/generated/services/macie2.js +4 -4
  261. package/lib/generated/services/managedblockchain-query.js +2 -2
  262. package/lib/generated/services/managedblockchain.js +4 -4
  263. package/lib/generated/services/mapcredits.js +2 -2
  264. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  265. package/lib/generated/services/mechanicalturk.js +2 -2
  266. package/lib/generated/services/mediaconnect.js +4 -4
  267. package/lib/generated/services/mediaconvert.js +4 -4
  268. package/lib/generated/services/mediaimport.js +1 -1
  269. package/lib/generated/services/medialive.js +4 -4
  270. package/lib/generated/services/mediapackage-vod.js +4 -4
  271. package/lib/generated/services/mediapackage.js +4 -4
  272. package/lib/generated/services/mediapackagev2.js +4 -4
  273. package/lib/generated/services/mediastore.js +4 -4
  274. package/lib/generated/services/mediatailor.js +4 -4
  275. package/lib/generated/services/medical-imaging.js +4 -4
  276. package/lib/generated/services/memorydb.js +4 -4
  277. package/lib/generated/services/mgh.js +4 -4
  278. package/lib/generated/services/mgn.d.ts +2 -0
  279. package/lib/generated/services/mgn.js +8 -5
  280. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  281. package/lib/generated/services/migrationhub-strategy.js +2 -2
  282. package/lib/generated/services/mobileanalytics.js +1 -1
  283. package/lib/generated/services/mobiletargeting.js +4 -4
  284. package/lib/generated/services/monitron.js +3 -3
  285. package/lib/generated/services/mpa.js +4 -4
  286. package/lib/generated/services/mq.js +4 -4
  287. package/lib/generated/services/neptune-db.js +4 -4
  288. package/lib/generated/services/neptune-graph.js +4 -4
  289. package/lib/generated/services/network-firewall.js +4 -4
  290. package/lib/generated/services/network-security-director.js +1 -1
  291. package/lib/generated/services/networkflowmonitor.js +4 -4
  292. package/lib/generated/services/networkmanager-chat.js +1 -1
  293. package/lib/generated/services/networkmanager.js +4 -4
  294. package/lib/generated/services/networkmonitor.js +4 -4
  295. package/lib/generated/services/nimble.js +3 -3
  296. package/lib/generated/services/notifications-contacts.js +4 -4
  297. package/lib/generated/services/notifications.js +4 -4
  298. package/lib/generated/services/nova-act.js +3 -3
  299. package/lib/generated/services/oam.js +4 -4
  300. package/lib/generated/services/observabilityadmin.js +4 -4
  301. package/lib/generated/services/odb.js +4 -4
  302. package/lib/generated/services/omics.js +4 -4
  303. package/lib/generated/services/one.js +3 -3
  304. package/lib/generated/services/opensearch.js +3 -3
  305. package/lib/generated/services/opsworks-cm.js +2 -2
  306. package/lib/generated/services/opsworks.js +2 -2
  307. package/lib/generated/services/organizations.js +4 -4
  308. package/lib/generated/services/osis.js +4 -4
  309. package/lib/generated/services/outposts.js +4 -4
  310. package/lib/generated/services/panorama.js +3 -3
  311. package/lib/generated/services/partnercentral-account-management.js +2 -2
  312. package/lib/generated/services/partnercentral.js +4 -4
  313. package/lib/generated/services/payment-cryptography.js +4 -4
  314. package/lib/generated/services/payments.js +3 -3
  315. package/lib/generated/services/pca-connector-ad.js +4 -4
  316. package/lib/generated/services/pca-connector-scep.js +4 -4
  317. package/lib/generated/services/pcs.js +4 -4
  318. package/lib/generated/services/personalize.js +4 -4
  319. package/lib/generated/services/pi.js +4 -4
  320. package/lib/generated/services/pipes.js +4 -4
  321. package/lib/generated/services/polly.js +3 -3
  322. package/lib/generated/services/pricing.js +2 -2
  323. package/lib/generated/services/pricingplanmanager.js +3 -3
  324. package/lib/generated/services/private-networks.js +3 -3
  325. package/lib/generated/services/profile.js +4 -4
  326. package/lib/generated/services/proton.js +4 -4
  327. package/lib/generated/services/purchase-orders.js +3 -3
  328. package/lib/generated/services/q.js +3 -3
  329. package/lib/generated/services/qapps.js +4 -4
  330. package/lib/generated/services/qbusiness.js +4 -4
  331. package/lib/generated/services/qdeveloper.js +3 -3
  332. package/lib/generated/services/qldb.js +3 -3
  333. package/lib/generated/services/quicksight.d.ts +2 -10
  334. package/lib/generated/services/quicksight.js +8 -20
  335. package/lib/generated/services/ram.js +4 -4
  336. package/lib/generated/services/rbin.js +4 -4
  337. package/lib/generated/services/rds-data.js +4 -4
  338. package/lib/generated/services/rds-db.js +2 -2
  339. package/lib/generated/services/rds.js +4 -4
  340. package/lib/generated/services/redshift-data.js +4 -4
  341. package/lib/generated/services/redshift-serverless.js +4 -4
  342. package/lib/generated/services/redshift.js +4 -4
  343. package/lib/generated/services/refactor-spaces.js +4 -4
  344. package/lib/generated/services/rekognition.js +4 -4
  345. package/lib/generated/services/repostspace.js +4 -4
  346. package/lib/generated/services/researchstudio.js +1 -1
  347. package/lib/generated/services/resiliencehub.js +4 -4
  348. package/lib/generated/services/resource-explorer-2.js +4 -4
  349. package/lib/generated/services/resource-explorer.js +1 -1
  350. package/lib/generated/services/resource-groups.js +4 -4
  351. package/lib/generated/services/rhelkb.js +1 -1
  352. package/lib/generated/services/robomaker.js +3 -3
  353. package/lib/generated/services/rolesanywhere.js +4 -4
  354. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  355. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  356. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  357. package/lib/generated/services/route53.js +4 -4
  358. package/lib/generated/services/route53domains.js +2 -2
  359. package/lib/generated/services/route53globalresolver.js +4 -4
  360. package/lib/generated/services/route53profiles.js +4 -4
  361. package/lib/generated/services/route53resolver.js +4 -4
  362. package/lib/generated/services/rtbfabric.js +4 -4
  363. package/lib/generated/services/rum.js +4 -4
  364. package/lib/generated/services/s3-object-lambda.js +3 -3
  365. package/lib/generated/services/s3-outposts.js +4 -4
  366. package/lib/generated/services/s3.js +4 -4
  367. package/lib/generated/services/s3express.js +3 -3
  368. package/lib/generated/services/s3files.js +4 -4
  369. package/lib/generated/services/s3tables.js +4 -4
  370. package/lib/generated/services/s3vectors.js +4 -4
  371. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  372. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  373. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  374. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  375. package/lib/generated/services/sagemaker.js +4 -4
  376. package/lib/generated/services/savingsplans.js +4 -4
  377. package/lib/generated/services/scheduler.js +4 -4
  378. package/lib/generated/services/schemas.js +4 -4
  379. package/lib/generated/services/scn.js +4 -4
  380. package/lib/generated/services/sdb.js +3 -3
  381. package/lib/generated/services/secretsmanager.js +4 -4
  382. package/lib/generated/services/security-ir.js +4 -4
  383. package/lib/generated/services/securityagent.js +4 -4
  384. package/lib/generated/services/securityhub.js +4 -4
  385. package/lib/generated/services/securitylake.js +4 -4
  386. package/lib/generated/services/serverlessrepo.js +4 -4
  387. package/lib/generated/services/servicecatalog.js +4 -4
  388. package/lib/generated/services/servicediscovery.js +4 -4
  389. package/lib/generated/services/serviceextract.js +1 -1
  390. package/lib/generated/services/servicequotas.js +4 -4
  391. package/lib/generated/services/ses.js +4 -4
  392. package/lib/generated/services/shield.js +4 -4
  393. package/lib/generated/services/signer.js +4 -4
  394. package/lib/generated/services/signin.js +4 -4
  395. package/lib/generated/services/simspaceweaver.js +3 -3
  396. package/lib/generated/services/sms-voice.js +4 -4
  397. package/lib/generated/services/sms.js +1 -1
  398. package/lib/generated/services/snow-device-management.js +4 -4
  399. package/lib/generated/services/snowball.js +2 -2
  400. package/lib/generated/services/sns.js +4 -4
  401. package/lib/generated/services/social-messaging.js +4 -4
  402. package/lib/generated/services/sqlworkbench.js +3 -3
  403. package/lib/generated/services/sqs.js +4 -4
  404. package/lib/generated/services/ssm-contacts.js +4 -4
  405. package/lib/generated/services/ssm-guiconnect.js +2 -2
  406. package/lib/generated/services/ssm-incidents.js +4 -4
  407. package/lib/generated/services/ssm-quicksetup.js +4 -4
  408. package/lib/generated/services/ssm-sap.js +4 -4
  409. package/lib/generated/services/ssm.js +4 -4
  410. package/lib/generated/services/ssmmessages.js +2 -2
  411. package/lib/generated/services/sso-directory.js +1 -1
  412. package/lib/generated/services/sso-oauth.js +3 -3
  413. package/lib/generated/services/sso.js +4 -4
  414. package/lib/generated/services/states.js +4 -4
  415. package/lib/generated/services/storagegateway.js +4 -4
  416. package/lib/generated/services/sts.js +4 -4
  417. package/lib/generated/services/support-console.js +1 -1
  418. package/lib/generated/services/support.js +2 -2
  419. package/lib/generated/services/supportapp.js +2 -2
  420. package/lib/generated/services/supportauthz.js +4 -4
  421. package/lib/generated/services/supportplans.js +1 -1
  422. package/lib/generated/services/sustainability.js +2 -2
  423. package/lib/generated/services/swf.js +4 -4
  424. package/lib/generated/services/synthetics.js +4 -4
  425. package/lib/generated/services/tag.js +2 -2
  426. package/lib/generated/services/tax.js +2 -2
  427. package/lib/generated/services/textract.js +4 -4
  428. package/lib/generated/services/thinclient.js +4 -4
  429. package/lib/generated/services/timestream-influxdb.js +4 -4
  430. package/lib/generated/services/timestream.js +4 -4
  431. package/lib/generated/services/tiros.js +1 -1
  432. package/lib/generated/services/tnb.js +4 -4
  433. package/lib/generated/services/transcribe.js +4 -4
  434. package/lib/generated/services/transfer.js +4 -4
  435. package/lib/generated/services/transform-custom.js +3 -3
  436. package/lib/generated/services/transform.js +3 -3
  437. package/lib/generated/services/translate.js +4 -4
  438. package/lib/generated/services/trustedadvisor.js +3 -3
  439. package/lib/generated/services/ts.js +3 -3
  440. package/lib/generated/services/user-subscriptions.js +2 -2
  441. package/lib/generated/services/uxc.js +2 -2
  442. package/lib/generated/services/vendor-insights.js +3 -3
  443. package/lib/generated/services/verified-access.js +1 -1
  444. package/lib/generated/services/verifiedpermissions.js +4 -4
  445. package/lib/generated/services/voiceid.js +4 -4
  446. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  447. package/lib/generated/services/vpc-lattice.js +4 -4
  448. package/lib/generated/services/vpce.js +2 -2
  449. package/lib/generated/services/waf-regional.js +4 -4
  450. package/lib/generated/services/waf.js +4 -4
  451. package/lib/generated/services/wafv2.js +4 -4
  452. package/lib/generated/services/wam.js +1 -1
  453. package/lib/generated/services/wellarchitected.js +4 -4
  454. package/lib/generated/services/wickr.js +4 -4
  455. package/lib/generated/services/wisdom.js +4 -4
  456. package/lib/generated/services/workdocs.js +3 -3
  457. package/lib/generated/services/worklink.js +3 -3
  458. package/lib/generated/services/workmail.js +4 -4
  459. package/lib/generated/services/workmailmessageflow.js +3 -3
  460. package/lib/generated/services/workspaces-instances.js +4 -4
  461. package/lib/generated/services/workspaces-web.js +4 -4
  462. package/lib/generated/services/workspaces.js +4 -4
  463. package/lib/generated/services/xray.js +4 -4
  464. package/package.json +1 -1
@@ -16,7 +16,7 @@ class MgnActions {
16
16
  }
17
17
  exports.MgnActions = MgnActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MgnActions[_a] = { fqn: "@cdk_utils/iam.mgn.MgnActions", version: "1.10.0" };
19
+ MgnActions[_a] = { fqn: "@cdk_utils/iam.mgn.MgnActions", version: "1.12.0" };
20
20
  /** The IAM service prefix. */
21
21
  MgnActions.SERVICE_PREFIX = "mgn";
22
22
  /** [Write] mgn:ArchiveApplication */
@@ -151,6 +151,8 @@ MgnActions.ListNetworkMigrationDeployedStacks = "mgn:ListNetworkMigrationDeploye
151
151
  MgnActions.ListNetworkMigrationDeployedStacksDeletions = "mgn:ListNetworkMigrationDeployedStacksDeletions";
152
152
  /** [List] mgn:ListNetworkMigrationDeployments */
153
153
  MgnActions.ListNetworkMigrationDeployments = "mgn:ListNetworkMigrationDeployments";
154
+ /** [List] mgn:ListNetworkMigrationExecutionArtifacts */
155
+ MgnActions.ListNetworkMigrationExecutionArtifacts = "mgn:ListNetworkMigrationExecutionArtifacts";
154
156
  /** [List] mgn:ListNetworkMigrationExecutions */
155
157
  MgnActions.ListNetworkMigrationExecutions = "mgn:ListNetworkMigrationExecutions";
156
158
  /** [List] mgn:ListNetworkMigrationMapperSegmentConstructs */
@@ -422,6 +424,7 @@ MgnActions.AllListActions = [
422
424
  MgnActions.ListNetworkMigrationDeployedStacks,
423
425
  MgnActions.ListNetworkMigrationDeployedStacksDeletions,
424
426
  MgnActions.ListNetworkMigrationDeployments,
427
+ MgnActions.ListNetworkMigrationExecutionArtifacts,
425
428
  MgnActions.ListNetworkMigrationExecutions,
426
429
  MgnActions.ListNetworkMigrationMapperSegmentConstructs,
427
430
  MgnActions.ListNetworkMigrationMapperSegments,
@@ -764,7 +767,7 @@ class MgnResources {
764
767
  }
765
768
  exports.MgnResources = MgnResources;
766
769
  _b = JSII_RTTI_SYMBOL_1;
767
- MgnResources[_b] = { fqn: "@cdk_utils/iam.mgn.MgnResources", version: "1.10.0" };
770
+ MgnResources[_b] = { fqn: "@cdk_utils/iam.mgn.MgnResources", version: "1.12.0" };
768
771
  /**
769
772
  * API operation to required IAM actions mapping for mgn.
770
773
  */
@@ -772,7 +775,7 @@ class MgnOperations {
772
775
  }
773
776
  exports.MgnOperations = MgnOperations;
774
777
  _c = JSII_RTTI_SYMBOL_1;
775
- MgnOperations[_c] = { fqn: "@cdk_utils/iam.mgn.MgnOperations", version: "1.10.0" };
778
+ MgnOperations[_c] = { fqn: "@cdk_utils/iam.mgn.MgnOperations", version: "1.12.0" };
776
779
  /** IAM actions required for the ArchiveApplication API call. */
777
780
  MgnOperations.ArchiveApplication = ["mgn:ArchiveApplication"];
778
781
  /** IAM actions required for the ArchiveWave API call. */
@@ -1113,7 +1116,7 @@ class MgnConditions {
1113
1116
  }
1114
1117
  exports.MgnConditions = MgnConditions;
1115
1118
  _d = JSII_RTTI_SYMBOL_1;
1116
- MgnConditions[_d] = { fqn: "@cdk_utils/iam.mgn.MgnConditions", version: "1.10.0" };
1119
+ MgnConditions[_d] = { fqn: "@cdk_utils/iam.mgn.MgnConditions", version: "1.12.0" };
1117
1120
  /** Condition keys applicable to the CreateApplication action. */
1118
1121
  MgnConditions.CreateApplicationConditionKeys = [
1119
1122
  "aws:RequestTag/${TagKey}",
@@ -1192,4 +1195,4 @@ MgnConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1192
1195
  MgnConditions.AWS_TAG_KEYS = "aws:TagKeys";
1193
1196
  /** Condition key: mgn:CreateAction (String) */
1194
1197
  MgnConditions.CREATE_ACTION = "mgn:CreateAction";
1195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9tZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBcWVDOzs7QUFwZUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMscUNBQXFDO0FBQ3JCLDZCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELDhCQUE4QjtBQUNkLHNCQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDaEQsd0NBQXdDO0FBQ3hCLGdDQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ3BFLHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSx1REFBdUQ7QUFDdkMsK0NBQW9DLEdBQ25ELDBDQUEwQyxDQUFDO0FBQzVDLG1EQUFtRDtBQUNuQywyQ0FBZ0MsR0FDL0Msc0NBQXNDLENBQUM7QUFDeEMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9DQUFvQztBQUNwQiw0QkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsMEJBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxvREFBb0Q7QUFDcEMsNENBQWlDLEdBQ2hELHVDQUF1QyxDQUFDO0FBQ3pDLG1EQUFtRDtBQUNuQywyQ0FBZ0MsR0FDL0Msc0NBQXNDLENBQUM7QUFDeEMseURBQXlEO0FBQ3pDLGlEQUFzQyxHQUNyRCw0Q0FBNEMsQ0FBQztBQUM5Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUsNkJBQTZCO0FBQ2IscUJBQVUsR0FBRyxnQkFBZ0IsQ0FBQztBQUM5QyxvQ0FBb0M7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c0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvbWduLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBtZ24gc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1nbkFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJtZ25cIjtcblxuXHQvKiogW1dyaXRlXSBtZ246QXJjaGl2ZUFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlQXBwbGljYXRpb24gPSBcIm1nbjpBcmNoaXZlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkFyY2hpdmVXYXZlICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlV2F2ZSA9IFwibWduOkFyY2hpdmVXYXZlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpBc3NvY2lhdGVBcHBsaWNhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFwcGxpY2F0aW9ucyA9IFwibWduOkFzc29jaWF0ZUFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBtZ246QXNzb2NpYXRlU291cmNlU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlU2VydmVycyA9IFwibWduOkFzc29jaWF0ZVNvdXJjZVNlcnZlcnNcIjtcblx0LyoqIFtXcml0ZV0gbWduOkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yTWduID1cblx0XHRcIm1nbjpCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvck1nbiA9XG5cdFx0XCJtZ246QmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkNoYW5nZVNlcnZlckxpZmVDeWNsZVN0YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDaGFuZ2VTZXJ2ZXJMaWZlQ3ljbGVTdGF0ZSA9IFwibWduOkNoYW5nZVNlcnZlckxpZmVDeWNsZVN0YXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwbGljYXRpb24gPSBcIm1nbjpDcmVhdGVBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246Q3JlYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3IgPSBcIm1nbjpDcmVhdGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gbWduOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcIm1nbjpDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWduOkNyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiA9XG5cdFx0XCJtZ246Q3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJtZ246Q3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWduOkNyZWF0ZVZjZW50ZXJDbGllbnRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVZjZW50ZXJDbGllbnRGb3JNZ24gPSBcIm1nbjpDcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVXYXZlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXYXZlID0gXCJtZ246Q3JlYXRlV2F2ZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcGxpY2F0aW9uID0gXCJtZ246RGVsZXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZUNvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yID0gXCJtZ246RGVsZXRlQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEZWxldGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYiA9IFwibWduOkRlbGV0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwibWduOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uID1cblx0XHRcIm1nbjpEZWxldGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcIm1nbjpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlU291cmNlU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTb3VyY2VTZXJ2ZXIgPSBcIm1nbjpEZWxldGVTb3VyY2VTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZVZjZW50ZXJDbGllbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZjZW50ZXJDbGllbnQgPSBcIm1nbjpEZWxldGVWY2VudGVyQ2xpZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEZWxldGVXYXZlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXYXZlID0gXCJtZ246RGVsZXRlV2F2ZVwiO1xuXHQvKiogW1JlYWRdIG1nbjpEZXNjcmliZUpvYkxvZ0l0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkxvZ0l0ZW1zID0gXCJtZ246RGVzY3JpYmVKb2JMb2dJdGVtc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpEZXNjcmliZUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9icyA9IFwibWduOkRlc2NyaWJlSm9ic1wiO1xuXHQvKiogW0xpc3RdIG1nbjpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyA9XG5cdFx0XCJtZ246RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyA9XG5cdFx0XCJtZ246RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBtZ246RGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0Zvck1nbiA9XG5cdFx0XCJtZ246RGVzY3JpYmVSZXBsaWNhdGlvblNlcnZlckFzc29jaWF0aW9uc0Zvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0Zvck1nbiA9XG5cdFx0XCJtZ246RGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yTWduXCI7XG5cdC8qKiBbTGlzdF0gbWduOkRlc2NyaWJlU291cmNlU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzID0gXCJtZ246RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkRlc2NyaWJlVmNlbnRlckNsaWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVmNlbnRlckNsaWVudHMgPSBcIm1nbjpEZXNjcmliZVZjZW50ZXJDbGllbnRzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEaXNhc3NvY2lhdGVBcHBsaWNhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFwcGxpY2F0aW9ucyA9IFwibWduOkRpc2Fzc29jaWF0ZUFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBtZ246RGlzYXNzb2NpYXRlU291cmNlU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlU291cmNlU2VydmVycyA9IFwibWduOkRpc2Fzc29jaWF0ZVNvdXJjZVNlcnZlcnNcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRpc2Nvbm5lY3RGcm9tU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY29ubmVjdEZyb21TZXJ2aWNlID0gXCJtZ246RGlzY29ubmVjdEZyb21TZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpGaW5hbGl6ZUN1dG92ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZpbmFsaXplQ3V0b3ZlciA9IFwibWduOkZpbmFsaXplQ3V0b3ZlclwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBY2NvdW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnRTZXR0aW5ncyA9IFwibWduOkdldEFjY291bnRTZXR0aW5nc1wiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBZ2VudENvbW1hbmRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29tbWFuZEZvck1nbiA9IFwibWduOkdldEFnZW50Q29tbWFuZEZvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0Zvck1nbiA9XG5cdFx0XCJtZ246R2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yTWduXCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0Zvck1nbiA9XG5cdFx0XCJtZ246R2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yTWduID1cblx0XHRcIm1nbjpHZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yTWduID1cblx0XHRcIm1nbjpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yTWduXCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0Zvck1nbiA9XG5cdFx0XCJtZ246R2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0Q2hhbm5lbENvbW1hbmRzRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDaGFubmVsQ29tbWFuZHNGb3JNZ24gPVxuXHRcdFwibWduOkdldENoYW5uZWxDb21tYW5kc0Zvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRMYXVuY2hDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMYXVuY2hDb25maWd1cmF0aW9uID0gXCJtZ246R2V0TGF1bmNoQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gPVxuXHRcdFwibWduOkdldE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdCA9XG5cdFx0XCJtZ246R2V0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RcIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwibWduOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRWY2VudGVyQ2xpZW50Q29tbWFuZHNGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZjZW50ZXJDbGllbnRDb21tYW5kc0Zvck1nbiA9XG5cdFx0XCJtZ246R2V0VmNlbnRlckNsaWVudENvbW1hbmRzRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpJbml0aWFsaXplU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhbGl6ZVNlcnZpY2UgPSBcIm1nbjpJbml0aWFsaXplU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246SXNzdWVDbGllbnRDZXJ0aWZpY2F0ZUZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSXNzdWVDbGllbnRDZXJ0aWZpY2F0ZUZvck1nbiA9XG5cdFx0XCJtZ246SXNzdWVDbGllbnRDZXJ0aWZpY2F0ZUZvck1nblwiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0QXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwbGljYXRpb25zID0gXCJtZ246TGlzdEFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW1JlYWRdIG1nbjpMaXN0Q29ubmVjdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3RvcnMgPSBcIm1nbjpMaXN0Q29ubmVjdG9yc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0RXhwb3J0RXJyb3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwb3J0RXJyb3JzID0gXCJtZ246TGlzdEV4cG9ydEVycm9yc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0RXhwb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9ydHMgPSBcIm1nbjpMaXN0RXhwb3J0c1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0SW1wb3J0RXJyb3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0RXJyb3JzID0gXCJtZ246TGlzdEltcG9ydEVycm9yc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzID0gXCJtZ246TGlzdEltcG9ydEZpbGVFbnJpY2htZW50c1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0SW1wb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydHMgPSBcIm1nbjpMaXN0SW1wb3J0c1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TWFuYWdlZEFjY291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZEFjY291bnRzID0gXCJtZ246TGlzdE1hbmFnZWRBY2NvdW50c1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2VzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2VzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzUmVzdWx0cyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNpc1Jlc3VsdHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uU2VnbWVudHMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25TZWdtZW50c1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrcyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveWVkU3RhY2tzRGVsZXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveWVkU3RhY2tzRGVsZXRpb25zID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveWVkU3RhY2tzRGVsZXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkV4ZWN1dGlvbnMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlcyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U291cmNlU2VydmVyQWN0aW9ucyA9IFwibWduOkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gbWduOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcIm1nbjpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RUZW1wbGF0ZUFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZW1wbGF0ZUFjdGlvbnMgPSBcIm1nbjpMaXN0VGVtcGxhdGVBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RXYXZlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdhdmVzID0gXCJtZ246TGlzdFdhdmVzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpNYXJrQXNBcmNoaXZlZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFya0FzQXJjaGl2ZWQgPSBcIm1nbjpNYXJrQXNBcmNoaXZlZFwiO1xuXHQvKiogW1dyaXRlXSBtZ246Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50Q29ubmVjdGVkRm9yTWduID0gXCJtZ246Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yTWduID1cblx0XHRcIm1nbjpOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeVZjZW50ZXJDbGllbnRTdGFydGVkRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlWY2VudGVyQ2xpZW50U3RhcnRlZEZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5VmNlbnRlckNsaWVudFN0YXJ0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlBhdXNlUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhdXNlUmVwbGljYXRpb24gPSBcIm1nbjpQYXVzZVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpQdXRTb3VyY2VTZXJ2ZXJBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNvdXJjZVNlcnZlckFjdGlvbiA9IFwibWduOlB1dFNvdXJjZVNlcnZlckFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246UHV0VGVtcGxhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRlbXBsYXRlQWN0aW9uID0gXCJtZ246UHV0VGVtcGxhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlJlZ2lzdGVyQWdlbnRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQWdlbnRGb3JNZ24gPSBcIm1nbjpSZWdpc3RlckFnZW50Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpSZW1vdmVTb3VyY2VTZXJ2ZXJBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVNvdXJjZVNlcnZlckFjdGlvbiA9IFwibWduOlJlbW92ZVNvdXJjZVNlcnZlckFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246UmVtb3ZlVGVtcGxhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRlbXBsYXRlQWN0aW9uID0gXCJtZ246UmVtb3ZlVGVtcGxhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlJlc3VtZVJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN1bWVSZXBsaWNhdGlvbiA9IFwibWduOlJlc3VtZVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpSZXRyeURhdGFSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb24gPSBcIm1nbjpSZXRyeURhdGFSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U2VuZEFnZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEFnZW50TG9nc0Zvck1nbiA9IFwibWduOlNlbmRBZ2VudExvZ3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRBZ2VudE1ldHJpY3NGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBZ2VudE1ldHJpY3NGb3JNZ24gPSBcIm1nbjpTZW5kQWdlbnRNZXRyaWNzRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvck1nbiA9XG5cdFx0XCJtZ246U2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTZW5kQ2xpZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENsaWVudExvZ3NGb3JNZ24gPSBcIm1nbjpTZW5kQ2xpZW50TG9nc0Zvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U2VuZENsaWVudE1ldHJpY3NGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDbGllbnRNZXRyaWNzRm9yTWduID0gXCJtZ246U2VuZENsaWVudE1ldHJpY3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50Q29tbWFuZFJlc3VsdEZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRDb21tYW5kUmVzdWx0Rm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudENvbW1hbmRSZXN1bHRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRMb2dzRm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudExvZ3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50TWV0cmljc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRNZXRyaWNzRm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudE1ldHJpY3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0Q3V0b3ZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDdXRvdmVyID0gXCJtZ246U3RhcnRDdXRvdmVyXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydEV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFeHBvcnQgPSBcIm1nbjpTdGFydEV4cG9ydFwiO1xuXHQvKiogW1dyaXRlXSBtZ246U3RhcnRJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0ID0gXCJtZ246U3RhcnRJbXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQgPSBcIm1nbjpTdGFydEltcG9ydEZpbGVFbnJpY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25BbmFseXNpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXMgPVxuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb24gPVxuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50ID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uID0gXCJtZ246U3RhcnRSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U3RhcnRTbmFwc2hvdEdyb3VwRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNuYXBzaG90R3JvdXBGb3JNZ24gPSBcIm1nbjpTdGFydFNuYXBzaG90R3JvdXBGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0VGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0ID0gXCJtZ246U3RhcnRUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdG9wUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbiA9IFwibWduOlN0b3BSZXBsaWNhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIG1nbjpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm1nbjpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VGVybWluYXRlVGFyZ2V0SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXMgPSBcIm1nbjpUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXNcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVuYXJjaGl2ZUFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVBcHBsaWNhdGlvbiA9IFwibWduOlVuYXJjaGl2ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVbmFyY2hpdmVXYXZlICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVXYXZlID0gXCJtZ246VW5hcmNoaXZlV2F2ZVwiO1xuXHQvKiogW1RhZ2dpbmddIG1nbjpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJtZ246VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlQWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgPSBcIm1nbjpVcGRhdGVBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVwZGF0ZUFnZW50QmFja2xvZ0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRCYWNrbG9nRm9yTWduID0gXCJtZ246VXBkYXRlQWdlbnRCYWNrbG9nRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduID1cblx0XHRcIm1nbjpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JNZ24gPVxuXHRcdFwibWduOlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduID1cblx0XHRcIm1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0Zvck1nbiA9XG5cdFx0XCJtZ246VXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwbGljYXRpb24gPSBcIm1nbjpVcGRhdGVBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3IgPSBcIm1nbjpVcGRhdGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gPSBcIm1nbjpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJtZ246VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnQgPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QgPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJtZ246VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwibWduOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVTb3VyY2VTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNvdXJjZVNlcnZlciA9IFwibWduOlVwZGF0ZVNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlU291cmNlU2VydmVyUmVwbGljYXRpb25UeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTb3VyY2VTZXJ2ZXJSZXBsaWNhdGlvblR5cGUgPVxuXHRcdFwibWduOlVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlV2F2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV2F2ZSA9IFwibWduOlVwZGF0ZVdhdmVcIjtcblx0LyoqIFtSZWFkXSBtZ246VmVyaWZ5Q2xpZW50Um9sZUZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5Q2xpZW50Um9sZUZvck1nbiA9IFwibWduOlZlcmlmeUNsaWVudFJvbGVGb3JNZ25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZ25BY3Rpb25zLkRlc2NyaWJlSm9iTG9nSXRlbXMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWNjb3VudFNldHRpbmdzLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb21tYW5kRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldENoYW5uZWxDb21tYW5kc0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldExhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0LFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0VmNlbnRlckNsaWVudENvbW1hbmRzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuTGlzdENvbm5lY3RvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdE1nbkFjdGlvbnMuVmVyaWZ5Q2xpZW50Um9sZUZvck1nbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZ25BY3Rpb25zLkFyY2hpdmVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLkFyY2hpdmVXYXZlLFxuXHRcdE1nbkFjdGlvbnMuQXNzb2NpYXRlQXBwbGljYXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuQXNzb2NpYXRlU291cmNlU2VydmVycyxcblx0XHRNZ25BY3Rpb25zLkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvck1nbixcblx0XHRNZ25BY3Rpb25zLkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuQ2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGUsXG5cdFx0TWduQWN0aW9ucy5DcmVhdGVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZUNvbm5lY3Rvcixcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uLFxuXHRcdE1nbkFjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0TWduQWN0aW9ucy5DcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuQ3JlYXRlV2F2ZSxcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZUFwcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlQ29ubmVjdG9yLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24sXG5cdFx0TWduQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZVNvdXJjZVNlcnZlcixcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZVZjZW50ZXJDbGllbnQsXG5cdFx0TWduQWN0aW9ucy5EZWxldGVXYXZlLFxuXHRcdE1nbkFjdGlvbnMuRGlzYXNzb2NpYXRlQXBwbGljYXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuRGlzYXNzb2NpYXRlU291cmNlU2VydmVycyxcblx0XHRNZ25BY3Rpb25zLkRpc2Nvbm5lY3RGcm9tU2VydmljZSxcblx0XHRNZ25BY3Rpb25zLkZpbmFsaXplQ3V0b3Zlcixcblx0XHRNZ25BY3Rpb25zLkluaXRpYWxpemVTZXJ2aWNlLFxuXHRcdE1nbkFjdGlvbnMuSXNzdWVDbGllbnRDZXJ0aWZpY2F0ZUZvck1nbixcblx0XHRNZ25BY3Rpb25zLk1hcmtBc0FyY2hpdmVkLFxuXHRcdE1nbkFjdGlvbnMuTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbixcblx0XHRNZ25BY3Rpb25zLk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuTm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5Ob3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5Ob3RpZnlWY2VudGVyQ2xpZW50U3RhcnRlZEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlBhdXNlUmVwbGljYXRpb24sXG5cdFx0TWduQWN0aW9ucy5QdXRTb3VyY2VTZXJ2ZXJBY3Rpb24sXG5cdFx0TWduQWN0aW9ucy5QdXRUZW1wbGF0ZUFjdGlvbixcblx0XHRNZ25BY3Rpb25zLlJlZ2lzdGVyQWdlbnRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5SZW1vdmVTb3VyY2VTZXJ2ZXJBY3Rpb24sXG5cdFx0TWduQWN0aW9ucy5SZW1vdmVUZW1wbGF0ZUFjdGlvbixcblx0XHRNZ25BY3Rpb25zLlJlc3VtZVJlcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuUmV0cnlEYXRhUmVwbGljYXRpb24sXG5cdFx0TWduQWN0aW9ucy5TZW5kQWdlbnRMb2dzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuU2VuZEFnZW50TWV0cmljc0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlNlbmRDbGllbnRMb2dzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuU2VuZENsaWVudE1ldHJpY3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudENvbW1hbmRSZXN1bHRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudExvZ3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudE1ldHJpY3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TdGFydEN1dG92ZXIsXG5cdFx0TWduQWN0aW9ucy5TdGFydEV4cG9ydCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0SW1wb3J0LFxuXHRcdE1nbkFjdGlvbnMuU3RhcnRJbXBvcnRGaWxlRW5yaWNobWVudCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5TdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmcsXG5cdFx0TWduQWN0aW9ucy5TdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnRSZXBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlN0YXJ0U25hcHNob3RHcm91cEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlN0YXJ0VGVzdCxcblx0XHRNZ25BY3Rpb25zLlN0b3BSZXBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlRlcm1pbmF0ZVRhcmdldEluc3RhbmNlcyxcblx0XHRNZ25BY3Rpb25zLlVuYXJjaGl2ZUFwcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuVW5hcmNoaXZlV2F2ZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFjY291bnRTZXR0aW5ncyxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50QmFja2xvZ0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUNvbm5lY3Rvcixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50LFxuXHRcdE1nbkFjdGlvbnMuVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QsXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVNvdXJjZVNlcnZlcixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVdhdmUsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVKb2JzLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVNvdXJjZVNlcnZlcnMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVZjZW50ZXJDbGllbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdEFwcGxpY2F0aW9ucyxcblx0XHRNZ25BY3Rpb25zLkxpc3RFeHBvcnRFcnJvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0RXhwb3J0cyxcblx0XHRNZ25BY3Rpb25zLkxpc3RJbXBvcnRFcnJvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdEltcG9ydHMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TWFuYWdlZEFjY291bnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlcyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrcyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3NEZWxldGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0cyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGVzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5ncyxcblx0XHRNZ25BY3Rpb25zLkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zLFxuXHRcdE1nbkFjdGlvbnMuTGlzdFRlbXBsYXRlQWN0aW9ucyxcblx0XHRNZ25BY3Rpb25zLkxpc3RXYXZlcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TWduQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRNZ25BY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBcHBsaWNhdGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25BcHBsaWNhdGlvblJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcGxpY2F0aW9uSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBcHBsaWNhdGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25BcHBsaWNhdGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBsaWNhdGlvbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdG9yUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkNvbm5lY3RvclJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3RvcklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3RvclJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25Db25uZWN0b3JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdG9ySUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRXhwb3J0UmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkV4cG9ydFJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEV4cG9ydElEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBvcnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEV4cG9ydFJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25FeHBvcnRSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0SUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleHBvcnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSW1wb3J0UmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkltcG9ydFJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltcG9ydElEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbXBvcnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEltcG9ydFJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25JbXBvcnRSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW1wb3J0SUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbXBvcnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSm9iUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkpvYlJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEpvYlJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25Kb2JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25MYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBuZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25JRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nblJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nblJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduU291cmNlU2VydmVyUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU291cmNlU2VydmVySUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNvdXJjZVNlcnZlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nblNvdXJjZVNlcnZlclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTb3VyY2VTZXJ2ZXJJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNvdXJjZVNlcnZlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBWY2VudGVyQ2xpZW50UmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nblZjZW50ZXJDbGllbnRSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBWY2VudGVyQ2xpZW50SUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZjZW50ZXJDbGllbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFZjZW50ZXJDbGllbnRSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduVmNlbnRlckNsaWVudFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBWY2VudGVyQ2xpZW50SUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2Y2VudGVyQ2xpZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFdhdmVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduV2F2ZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFdhdmVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd2F2ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgV2F2ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25XYXZlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdhdmVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdhdmVJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBcHBsaWNhdGlvblJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uXFwvKD88YXBwbGljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdG9yUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdG9yXFwvKD88Y29ubmVjdG9ySWQ+W146Lz9dKykkLztcbmNvbnN0IEV4cG9ydFJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cG9ydFxcLyg/PGV4cG9ydElkPlteOi8/XSspJC87XG5jb25zdCBJbXBvcnRSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbXBvcnRcXC8oPzxpbXBvcnRJZD5bXjovP10rKSQvO1xuY29uc3QgSm9iUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxhdW5jaC1jb25maWd1cmF0aW9uLXRlbXBsYXRlXFwvKD88bGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bmV0d29yay1taWdyYXRpb24tZGVmaW5pdGlvblxcLyg/PG5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVwbGljYXRpb24tY29uZmlndXJhdGlvbi10ZW1wbGF0ZVxcLyg/PHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNvdXJjZS1zZXJ2ZXJcXC8oPzxzb3VyY2VTZXJ2ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgVmNlbnRlckNsaWVudFJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnZjZW50ZXItY2xpZW50XFwvKD88dmNlbnRlckNsaWVudElkPlteOi8/XSspJC87XG5jb25zdCBXYXZlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d2F2ZVxcLyg/PHdhdmVJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG1nbiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZ25SZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb25SZXNvdXJjZShwcm9wczogTWduQXBwbGljYXRpb25SZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwbGljYXRpb24vJHtwcm9wcy5hcHBsaWNhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBcHBsaWNhdGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvblJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcGxpY2F0aW9uUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQXBwbGljYXRpb25SZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvblJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25BcHBsaWNhdGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBsaWNhdGlvblJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFwcGxpY2F0aW9uUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwbGljYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5hcHBsaWNhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3RvclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3RvclJlc291cmNlKHByb3BzOiBNZ25Db25uZWN0b3JSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9yLyR7cHJvcHMuY29ubmVjdG9ySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3RvclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0b3JSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0b3JSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0b3JSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0b3JSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTWduQ29ubmVjdG9yUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3RvclJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3RvclJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbm5lY3RvcklkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3RvcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEV4cG9ydFJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cG9ydFJlc291cmNlKHByb3BzOiBNZ25FeHBvcnRSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwb3J0LyR7cHJvcHMuZXhwb3J0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEV4cG9ydFJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBvcnRSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBvcnRSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBFeHBvcnRSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBvcnRSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IE1nbkV4cG9ydFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBvcnRSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFeHBvcnRSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRleHBvcnRJZDogbWF0Y2guZ3JvdXBzIS5leHBvcnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBJbXBvcnRSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbXBvcnRSZXNvdXJjZShwcm9wczogTWduSW1wb3J0UmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltcG9ydC8ke3Byb3BzLmltcG9ydElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBJbXBvcnRSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1wb3J0UmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1wb3J0UmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSW1wb3J0UmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1wb3J0UmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBNZ25JbXBvcnRSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1wb3J0UmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSW1wb3J0UmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1wb3J0SWQ6IG1hdGNoLmdyb3VwcyEuaW1wb3J0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSm9iUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iUmVzb3VyY2UocHJvcHM6IE1nbkpvYlJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSm9iUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYlJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYlJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEpvYlJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYlJlc291cmNlQXJuKGFybjogc3RyaW5nKTogTWduSm9iUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYlJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpvYlJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlKFxuXHRcdHByb3BzOiBNZ25MYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsYXVuY2gtY29uZmlndXJhdGlvbi10ZW1wbGF0ZS8ke3Byb3BzLmxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1nbkxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBuZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlKFxuXHRcdHByb3BzOiBNZ25OZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5ldHdvcmstbWlncmF0aW9uLWRlZmluaXRpb24vJHtwcm9wcy5uZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25OZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25JZDogbWF0Y2guZ3JvdXBzIS5uZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZShcblx0XHRwcm9wczogTWduUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXBsaWNhdGlvbi1jb25maWd1cmF0aW9uLXRlbXBsYXRlLyR7cHJvcHMucmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25SZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEucmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VTZXJ2ZXJSZXNvdXJjZShwcm9wczogTWduU291cmNlU2VydmVyUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNvdXJjZS1zZXJ2ZXIvJHtwcm9wcy5zb3VyY2VTZXJ2ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU291cmNlU2VydmVyUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNvdXJjZVNlcnZlclJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNvdXJjZVNlcnZlclJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25Tb3VyY2VTZXJ2ZXJSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c291cmNlU2VydmVySWQ6IG1hdGNoLmdyb3VwcyEuc291cmNlU2VydmVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgVmNlbnRlckNsaWVudFJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHZjZW50ZXJDbGllbnRSZXNvdXJjZShcblx0XHRwcm9wczogTWduVmNlbnRlckNsaWVudFJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnZjZW50ZXItY2xpZW50LyR7cHJvcHMudmNlbnRlckNsaWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBWY2VudGVyQ2xpZW50UmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFZjZW50ZXJDbGllbnRSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBWY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgVmNlbnRlckNsaWVudFJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVZjZW50ZXJDbGllbnRSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTWduVmNlbnRlckNsaWVudFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBWY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVmNlbnRlckNsaWVudFJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHZjZW50ZXJDbGllbnRJZDogbWF0Y2guZ3JvdXBzIS52Y2VudGVyQ2xpZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgV2F2ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdhdmVSZXNvdXJjZShwcm9wczogTWduV2F2ZVJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3YXZlLyR7cHJvcHMud2F2ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBXYXZlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdhdmVSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXYXZlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgV2F2ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdhdmVSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IE1nbldhdmVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV2F2ZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFdhdmVSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3YXZlSWQ6IG1hdGNoLmdyb3VwcyEud2F2ZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIG1nbi5cbiAqL1xuZXhwb3J0IGNsYXNzIE1nbk9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcmNoaXZlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOkFyY2hpdmVBcHBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXJjaGl2ZVdhdmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlV2F2ZTogc3RyaW5nW10gPSBbXCJtZ246QXJjaGl2ZVdhdmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFwcGxpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246QXNzb2NpYXRlQXBwbGljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVNvdXJjZVNlcnZlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpBc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENoYW5nZVNlcnZlckxpZmVDeWNsZVN0YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkNoYW5nZVNlcnZlckxpZmVDeWNsZVN0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkNyZWF0ZUFwcGxpY2F0aW9uXCIsXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpDcmVhdGVDb25uZWN0b3JcIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkNyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCIsXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246Q3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXYXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV2F2ZTogc3RyaW5nW10gPSBbXCJtZ246Q3JlYXRlV2F2ZVwiLCBcIm1nbjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246RGVsZXRlQXBwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJtZ246RGVsZXRlQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2I6IHN0cmluZ1tdID0gW1wibWduOkRlbGV0ZUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcIm1nbjpEZWxldGVTb3VyY2VTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVZjZW50ZXJDbGllbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWY2VudGVyQ2xpZW50OiBzdHJpbmdbXSA9IFtcIm1nbjpEZWxldGVWY2VudGVyQ2xpZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXYXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV2F2ZTogc3RyaW5nW10gPSBbXCJtZ246RGVsZXRlV2F2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2JMb2dJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iTG9nSXRlbXM6IHN0cmluZ1tdID0gW1wibWduOkRlc2NyaWJlSm9iTG9nSXRlbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iczogc3RyaW5nW10gPSBbXCJtZ246RGVzY3JpYmVKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNvdXJjZVNlcnZlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNvdXJjZVNlcnZlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRlc2NyaWJlU291cmNlU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVZjZW50ZXJDbGllbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVWY2VudGVyQ2xpZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGVzY3JpYmVWY2VudGVyQ2xpZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBcHBsaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRpc2Fzc29jaWF0ZUFwcGxpY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlU291cmNlU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGlzYXNzb2NpYXRlU291cmNlU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNjb25uZWN0RnJvbVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0RnJvbVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRpc2Nvbm5lY3RGcm9tU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBGaW5hbGl6ZUN1dG92ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBGaW5hbGl6ZUN1dG92ZXI6IHN0cmluZ1tdID0gW1wibWduOkZpbmFsaXplQ3V0b3ZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TGF1bmNoQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246R2V0TGF1bmNoQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkdldE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246R2V0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWFsaXplU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcIm1nbjpJbml0aWFsaXplU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RBcHBsaWNhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3RvcnM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RDb25uZWN0b3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwb3J0RXJyb3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9ydEVycm9yczogc3RyaW5nW10gPSBbXCJtZ246TGlzdEV4cG9ydEVycm9yc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4cG9ydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwb3J0czogc3RyaW5nW10gPSBbXCJtZ246TGlzdEV4cG9ydHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbXBvcnRFcnJvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0RXJyb3JzOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0SW1wb3J0RXJyb3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydEZpbGVFbnJpY2htZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdEltcG9ydEZpbGVFbnJpY2htZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRzOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0SW1wb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hbmFnZWRBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkQWNjb3VudHM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RNYW5hZ2VkQWNjb3VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNpc1Jlc3VsdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25TZWdtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25TZWdtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveWVkU3RhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveWVkU3RhY2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uRXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ1VwZGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvdXJjZVNlcnZlckFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVtcGxhdGVBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlbXBsYXRlQWN0aW9uczogc3RyaW5nW10gPSBbXCJtZ246TGlzdFRlbXBsYXRlQWN0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdhdmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdhdmVzOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0V2F2ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1hcmtBc0FyY2hpdmVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFya0FzQXJjaGl2ZWQ6IHN0cmluZ1tdID0gW1wibWduOk1hcmtBc0FyY2hpdmVkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQYXVzZVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGF1c2VSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246UGF1c2VSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0U291cmNlU2VydmVyQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U291cmNlU2VydmVyQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpQdXRTb3VyY2VTZXJ2ZXJBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGVtcGxhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZW1wbGF0ZUFjdGlvbjogc3RyaW5nW10gPSBbXCJtZ246UHV0VGVtcGxhdGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVNvdXJjZVNlcnZlckFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVNvdXJjZVNlcnZlckFjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246UmVtb3ZlU291cmNlU2VydmVyQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRlbXBsYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGVtcGxhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wibWduOlJlbW92ZVRlbXBsYXRlQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXN1bWVSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3VtZVJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpSZXN1bWVSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cnlEYXRhUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeURhdGFSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246UmV0cnlEYXRhUmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q3V0b3ZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q3V0b3Zlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246U3RhcnRDdXRvdmVyXCIsXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEV4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246U3RhcnRFeHBvcnRcIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydEltcG9ydFwiLFxuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEltcG9ydEZpbGVFbnJpY2htZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydEltcG9ydEZpbGVFbnJpY2htZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpTdGFydFJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3Q6IHN0cmluZ1tdID0gW1wibWduOlN0YXJ0VGVzdFwiLCBcIm1nbjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpTdG9wUmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibWduOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdFx0XCJtZ246VGVybWluYXRlVGFyZ2V0SW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVuYXJjaGl2ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5hcmNoaXZlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOlVuYXJjaGl2ZUFwcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbmFyY2hpdmVXYXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5hcmNoaXZlV2F2ZTogc3RyaW5nW10gPSBbXCJtZ246VW5hcmNoaXZlV2F2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibWduOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOlVwZGF0ZUFwcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3I6IHN0cmluZ1tdID0gW1wibWduOlVwZGF0ZUNvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VXBkYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcIm1nbjpVcGRhdGVTb3VyY2VTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VXBkYXRlU291cmNlU2VydmVyUmVwbGljYXRpb25UeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdhdmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXYXZlOiBzdHJpbmdbXSA9IFtcIm1nbjpVcGRhdGVXYXZlXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgbWduLlxuICovXG5leHBvcnQgY2xhc3MgTWduQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3RvckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVmNlbnRlckNsaWVudEZvck1nbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXYXZlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdhdmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyQWdlbnRGb3JNZ24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJBZ2VudEZvck1nbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRDdXRvdmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q3V0b3ZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRFeHBvcnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFeHBvcnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0SW1wb3J0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRlc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwibWduOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVybWluYXRlVGFyZ2V0SW5zdGFuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVRhcmdldEluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBtZ246Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJtZ246Q3JlYXRlQWN0aW9uXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYG1nbjpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcIm1nbjpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
1198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9tZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBeWVDOzs7QUF4ZUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMscUNBQXFDO0FBQ3JCLDZCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELDhCQUE4QjtBQUNkLHNCQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDaEQsd0NBQXdDO0FBQ3hCLGdDQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ3BFLHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSx1REFBdUQ7QUFDdkMsK0NBQW9DLEdBQ25ELDBDQUEwQyxDQUFDO0FBQzVDLG1EQUFtRDtBQUNuQywyQ0FBZ0MsR0FDL0Msc0NBQXNDLENBQUM7QUFDeEMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9DQUFvQztBQUNwQiw0QkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsMEJBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxvREFBb0Q7QUFDcEMsNENBQWlDLEdBQ2hELHVDQUF1QyxDQUFDO0FBQ3pDLG1EQUFtRDtBQUNuQywyQ0FBZ0MsR0FDL0Msc0NBQXNDLENBQUM7QUFDeEMseURBQXlEO0FBQ3pDLGlEQUFzQyxHQUNyRCw0Q0FBNEMsQ0FBQztBQUM5Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUsNkJBQTZCO0FBQ2IscUJBQVUsR0FBRyxnQkFBZ0IsQ0FBQztBQUM5QyxvQ0FBb0M7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WSxHQUFHLGFBQWEsQ0FBQztBQUM3QywrQ0FBK0M7QUFDL0IsMkJBQWEsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL21nbi5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgbWduIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZ25BY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwibWduXCI7XG5cblx0LyoqIFtXcml0ZV0gbWduOkFyY2hpdmVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXJjaGl2ZUFwcGxpY2F0aW9uID0gXCJtZ246QXJjaGl2ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpBcmNoaXZlV2F2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXJjaGl2ZVdhdmUgPSBcIm1nbjpBcmNoaXZlV2F2ZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246QXNzb2NpYXRlQXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBcHBsaWNhdGlvbnMgPSBcIm1nbjpBc3NvY2lhdGVBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gbWduOkFzc29jaWF0ZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVNvdXJjZVNlcnZlcnMgPSBcIm1nbjpBc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvck1nbiA9XG5cdFx0XCJtZ246QmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JNZ24gPVxuXHRcdFwibWduOkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDaGFuZ2VTZXJ2ZXJMaWZlQ3ljbGVTdGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGUgPSBcIm1nbjpDaGFuZ2VTZXJ2ZXJMaWZlQ3ljbGVTdGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246Q3JlYXRlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcGxpY2F0aW9uID0gXCJtZ246Q3JlYXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkNyZWF0ZUNvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yID0gXCJtZ246Q3JlYXRlQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJtZ246Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gPVxuXHRcdFwibWduOkNyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwibWduOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpDcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduID0gXCJtZ246Q3JlYXRlVmNlbnRlckNsaWVudEZvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246Q3JlYXRlV2F2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV2F2ZSA9IFwibWduOkNyZWF0ZVdhdmVcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZUFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBsaWNhdGlvbiA9IFwibWduOkRlbGV0ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEZWxldGVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3RvciA9IFwibWduOkRlbGV0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2IgPSBcIm1nbjpEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcIm1nbjpEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiA9XG5cdFx0XCJtZ246RGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJtZ246RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRlbGV0ZVNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyID0gXCJtZ246RGVsZXRlU291cmNlU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEZWxldGVWY2VudGVyQ2xpZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWY2VudGVyQ2xpZW50ID0gXCJtZ246RGVsZXRlVmNlbnRlckNsaWVudFwiO1xuXHQvKiogW1dyaXRlXSBtZ246RGVsZXRlV2F2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV2F2ZSA9IFwibWduOkRlbGV0ZVdhdmVcIjtcblx0LyoqIFtSZWFkXSBtZ246RGVzY3JpYmVKb2JMb2dJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JMb2dJdGVtcyA9IFwibWduOkRlc2NyaWJlSm9iTG9nSXRlbXNcIjtcblx0LyoqIFtMaXN0XSBtZ246RGVzY3JpYmVKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnMgPSBcIm1nbjpEZXNjcmliZUpvYnNcIjtcblx0LyoqIFtMaXN0XSBtZ246RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgPVxuXHRcdFwibWduOkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgPVxuXHRcdFwibWduOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gbWduOkRlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JNZ24gPVxuXHRcdFwibWduOkRlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246RGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JNZ24gPVxuXHRcdFwibWduOkRlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0Zvck1nblwiO1xuXHQvKiogW0xpc3RdIG1nbjpEZXNjcmliZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlU2VydmVycyA9IFwibWduOkRlc2NyaWJlU291cmNlU2VydmVyc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpEZXNjcmliZVZjZW50ZXJDbGllbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVZjZW50ZXJDbGllbnRzID0gXCJtZ246RGVzY3JpYmVWY2VudGVyQ2xpZW50c1wiO1xuXHQvKiogW1dyaXRlXSBtZ246RGlzYXNzb2NpYXRlQXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBcHBsaWNhdGlvbnMgPSBcIm1nbjpEaXNhc3NvY2lhdGVBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gbWduOkRpc2Fzc29jaWF0ZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVNvdXJjZVNlcnZlcnMgPSBcIm1nbjpEaXNhc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpEaXNjb25uZWN0RnJvbVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RGcm9tU2VydmljZSA9IFwibWduOkRpc2Nvbm5lY3RGcm9tU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246RmluYWxpemVDdXRvdmVyICovXG5cdHN0YXRpYyByZWFkb25seSBGaW5hbGl6ZUN1dG92ZXIgPSBcIm1nbjpGaW5hbGl6ZUN1dG92ZXJcIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0QWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2NvdW50U2V0dGluZ3MgPSBcIm1nbjpHZXRBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0QWdlbnRDb21tYW5kRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbW1hbmRGb3JNZ24gPSBcIm1nbjpHZXRBZ2VudENvbW1hbmRGb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JNZ24gPVxuXHRcdFwibWduOkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0Zvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JNZ24gPVxuXHRcdFwibWduOkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yTWduXCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbiA9XG5cdFx0XCJtZ246R2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvck1nbiA9XG5cdFx0XCJtZ246R2V0QWdlbnRSdW50aW1lQ29uZmlndXJhdGlvbkZvck1nblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JNZ24gPVxuXHRcdFwibWduOkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yTWduXCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldENoYW5uZWxDb21tYW5kc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2hhbm5lbENvbW1hbmRzRm9yTWduID1cblx0XHRcIm1nbjpHZXRDaGFubmVsQ29tbWFuZHNGb3JNZ25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0TGF1bmNoQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TGF1bmNoQ29uZmlndXJhdGlvbiA9IFwibWduOkdldExhdW5jaENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uID1cblx0XHRcIm1nbjpHZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIG1nbjpHZXROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QgPVxuXHRcdFwibWduOkdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0XCI7XG5cdC8qKiBbUmVhZF0gbWduOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcIm1nbjpHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBtZ246R2V0VmNlbnRlckNsaWVudENvbW1hbmRzRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRWY2VudGVyQ2xpZW50Q29tbWFuZHNGb3JNZ24gPVxuXHRcdFwibWduOkdldFZjZW50ZXJDbGllbnRDb21tYW5kc0Zvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246SW5pdGlhbGl6ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlID0gXCJtZ246SW5pdGlhbGl6ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gbWduOklzc3VlQ2xpZW50Q2VydGlmaWNhdGVGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IElzc3VlQ2xpZW50Q2VydGlmaWNhdGVGb3JNZ24gPVxuXHRcdFwibWduOklzc3VlQ2xpZW50Q2VydGlmaWNhdGVGb3JNZ25cIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcGxpY2F0aW9ucyA9IFwibWduOkxpc3RBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBtZ246TGlzdENvbm5lY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0b3JzID0gXCJtZ246TGlzdENvbm5lY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEV4cG9ydEVycm9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9ydEVycm9ycyA9IFwibWduOkxpc3RFeHBvcnRFcnJvcnNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEV4cG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHBvcnRzID0gXCJtZ246TGlzdEV4cG9ydHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEltcG9ydEVycm9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydEVycm9ycyA9IFwibWduOkxpc3RJbXBvcnRFcnJvcnNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEltcG9ydEZpbGVFbnJpY2htZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydEZpbGVFbnJpY2htZW50cyA9IFwibWduOkxpc3RJbXBvcnRGaWxlRW5yaWNobWVudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdEltcG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRzID0gXCJtZ246TGlzdEltcG9ydHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE1hbmFnZWRBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWRBY2NvdW50cyA9IFwibWduOkxpc3RNYW5hZ2VkQWNjb3VudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlcyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzUmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNpc1Jlc3VsdHMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25TZWdtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uU2VnbWVudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25zID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3MgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3NcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9ucyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRXhlY3V0aW9uQXJ0aWZhY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkV4ZWN1dGlvbkFydGlmYWN0cyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25BcnRpZmFjdHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkV4ZWN1dGlvbnMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHMgPVxuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHNcIjtcblx0LyoqIFtMaXN0XSBtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlcyA9XG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlc1wiO1xuXHQvKiogW0xpc3RdIG1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzID1cblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U291cmNlU2VydmVyQWN0aW9ucyA9IFwibWduOkxpc3RTb3VyY2VTZXJ2ZXJBY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gbWduOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcIm1nbjpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RUZW1wbGF0ZUFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZW1wbGF0ZUFjdGlvbnMgPSBcIm1nbjpMaXN0VGVtcGxhdGVBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gbWduOkxpc3RXYXZlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdhdmVzID0gXCJtZ246TGlzdFdhdmVzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpNYXJrQXNBcmNoaXZlZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFya0FzQXJjaGl2ZWQgPSBcIm1nbjpNYXJrQXNBcmNoaXZlZFwiO1xuXHQvKiogW1dyaXRlXSBtZ246Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50Q29ubmVjdGVkRm9yTWduID0gXCJtZ246Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yTWduID1cblx0XHRcIm1nbjpOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOk5vdGlmeVZjZW50ZXJDbGllbnRTdGFydGVkRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlWY2VudGVyQ2xpZW50U3RhcnRlZEZvck1nbiA9XG5cdFx0XCJtZ246Tm90aWZ5VmNlbnRlckNsaWVudFN0YXJ0ZWRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlBhdXNlUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhdXNlUmVwbGljYXRpb24gPSBcIm1nbjpQYXVzZVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpQdXRTb3VyY2VTZXJ2ZXJBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNvdXJjZVNlcnZlckFjdGlvbiA9IFwibWduOlB1dFNvdXJjZVNlcnZlckFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246UHV0VGVtcGxhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRlbXBsYXRlQWN0aW9uID0gXCJtZ246UHV0VGVtcGxhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlJlZ2lzdGVyQWdlbnRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQWdlbnRGb3JNZ24gPSBcIm1nbjpSZWdpc3RlckFnZW50Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpSZW1vdmVTb3VyY2VTZXJ2ZXJBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVNvdXJjZVNlcnZlckFjdGlvbiA9IFwibWduOlJlbW92ZVNvdXJjZVNlcnZlckFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246UmVtb3ZlVGVtcGxhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRlbXBsYXRlQWN0aW9uID0gXCJtZ246UmVtb3ZlVGVtcGxhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlJlc3VtZVJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN1bWVSZXBsaWNhdGlvbiA9IFwibWduOlJlc3VtZVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpSZXRyeURhdGFSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb24gPSBcIm1nbjpSZXRyeURhdGFSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U2VuZEFnZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEFnZW50TG9nc0Zvck1nbiA9IFwibWduOlNlbmRBZ2VudExvZ3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRBZ2VudE1ldHJpY3NGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBZ2VudE1ldHJpY3NGb3JNZ24gPSBcIm1nbjpTZW5kQWdlbnRNZXRyaWNzRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvck1nbiA9XG5cdFx0XCJtZ246U2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTZW5kQ2xpZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENsaWVudExvZ3NGb3JNZ24gPSBcIm1nbjpTZW5kQ2xpZW50TG9nc0Zvck1nblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U2VuZENsaWVudE1ldHJpY3NGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDbGllbnRNZXRyaWNzRm9yTWduID0gXCJtZ246U2VuZENsaWVudE1ldHJpY3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50Q29tbWFuZFJlc3VsdEZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRDb21tYW5kUmVzdWx0Rm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudENvbW1hbmRSZXN1bHRGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50TG9nc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRMb2dzRm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudExvZ3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlNlbmRWY2VudGVyQ2xpZW50TWV0cmljc0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZjZW50ZXJDbGllbnRNZXRyaWNzRm9yTWduID1cblx0XHRcIm1nbjpTZW5kVmNlbnRlckNsaWVudE1ldHJpY3NGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0Q3V0b3ZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDdXRvdmVyID0gXCJtZ246U3RhcnRDdXRvdmVyXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydEV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFeHBvcnQgPSBcIm1nbjpTdGFydEV4cG9ydFwiO1xuXHQvKiogW1dyaXRlXSBtZ246U3RhcnRJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0ID0gXCJtZ246U3RhcnRJbXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQgPSBcIm1nbjpTdGFydEltcG9ydEZpbGVFbnJpY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25BbmFseXNpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXMgPVxuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb24gPVxuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50ID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlID1cblx0XHRcIm1nbjpTdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdGFydFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uID0gXCJtZ246U3RhcnRSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246U3RhcnRTbmFwc2hvdEdyb3VwRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNuYXBzaG90R3JvdXBGb3JNZ24gPSBcIm1nbjpTdGFydFNuYXBzaG90R3JvdXBGb3JNZ25cIjtcblx0LyoqIFtXcml0ZV0gbWduOlN0YXJ0VGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0ID0gXCJtZ246U3RhcnRUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpTdG9wUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbiA9IFwibWduOlN0b3BSZXBsaWNhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIG1nbjpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm1nbjpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VGVybWluYXRlVGFyZ2V0SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXMgPSBcIm1nbjpUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXNcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVuYXJjaGl2ZUFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVBcHBsaWNhdGlvbiA9IFwibWduOlVuYXJjaGl2ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVbmFyY2hpdmVXYXZlICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVXYXZlID0gXCJtZ246VW5hcmNoaXZlV2F2ZVwiO1xuXHQvKiogW1RhZ2dpbmddIG1nbjpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJtZ246VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlQWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgPSBcIm1nbjpVcGRhdGVBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVwZGF0ZUFnZW50QmFja2xvZ0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRCYWNrbG9nRm9yTWduID0gXCJtZ246VXBkYXRlQWdlbnRCYWNrbG9nRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduID1cblx0XHRcIm1nbjpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JNZ24gPVxuXHRcdFwibWduOlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduID1cblx0XHRcIm1nbjpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JNZ24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0Zvck1nbiA9XG5cdFx0XCJtZ246VXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yTWduXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwbGljYXRpb24gPSBcIm1nbjpVcGRhdGVBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3IgPSBcIm1nbjpVcGRhdGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gbWduOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gPSBcIm1nbjpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJtZ246VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnQgPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QgPVxuXHRcdFwibWduOlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0XCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJtZ246VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwibWduOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1nbjpVcGRhdGVTb3VyY2VTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNvdXJjZVNlcnZlciA9IFwibWduOlVwZGF0ZVNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlU291cmNlU2VydmVyUmVwbGljYXRpb25UeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTb3VyY2VTZXJ2ZXJSZXBsaWNhdGlvblR5cGUgPVxuXHRcdFwibWduOlVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBtZ246VXBkYXRlV2F2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV2F2ZSA9IFwibWduOlVwZGF0ZVdhdmVcIjtcblx0LyoqIFtSZWFkXSBtZ246VmVyaWZ5Q2xpZW50Um9sZUZvck1nbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5Q2xpZW50Um9sZUZvck1nbiA9IFwibWduOlZlcmlmeUNsaWVudFJvbGVGb3JNZ25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZ25BY3Rpb25zLkRlc2NyaWJlSm9iTG9nSXRlbXMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWNjb3VudFNldHRpbmdzLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb21tYW5kRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldENoYW5uZWxDb21tYW5kc0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldExhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5hY3Rpb25HZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbixcblx0XHRNZ25BY3Rpb25zLmFjdGlvbkdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0LFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdE1nbkFjdGlvbnMuYWN0aW9uR2V0VmNlbnRlckNsaWVudENvbW1hbmRzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuTGlzdENvbm5lY3RvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdE1nbkFjdGlvbnMuVmVyaWZ5Q2xpZW50Um9sZUZvck1nbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZ25BY3Rpb25zLkFyY2hpdmVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLkFyY2hpdmVXYXZlLFxuXHRcdE1nbkFjdGlvbnMuQXNzb2NpYXRlQXBwbGljYXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuQXNzb2NpYXRlU291cmNlU2VydmVycyxcblx0XHRNZ25BY3Rpb25zLkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvck1nbixcblx0XHRNZ25BY3Rpb25zLkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuQ2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGUsXG5cdFx0TWduQWN0aW9ucy5DcmVhdGVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZUNvbm5lY3Rvcixcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLkNyZWF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uLFxuXHRcdE1nbkFjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0TWduQWN0aW9ucy5DcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuQ3JlYXRlV2F2ZSxcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZUFwcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlQ29ubmVjdG9yLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdE1nbkFjdGlvbnMuRGVsZXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24sXG5cdFx0TWduQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZVNvdXJjZVNlcnZlcixcblx0XHRNZ25BY3Rpb25zLkRlbGV0ZVZjZW50ZXJDbGllbnQsXG5cdFx0TWduQWN0aW9ucy5EZWxldGVXYXZlLFxuXHRcdE1nbkFjdGlvbnMuRGlzYXNzb2NpYXRlQXBwbGljYXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuRGlzYXNzb2NpYXRlU291cmNlU2VydmVycyxcblx0XHRNZ25BY3Rpb25zLkRpc2Nvbm5lY3RGcm9tU2VydmljZSxcblx0XHRNZ25BY3Rpb25zLkZpbmFsaXplQ3V0b3Zlcixcblx0XHRNZ25BY3Rpb25zLkluaXRpYWxpemVTZXJ2aWNlLFxuXHRcdE1nbkFjdGlvbnMuSXNzdWVDbGllbnRDZXJ0aWZpY2F0ZUZvck1nbixcblx0XHRNZ25BY3Rpb25zLk1hcmtBc0FyY2hpdmVkLFxuXHRcdE1nbkFjdGlvbnMuTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvck1nbixcblx0XHRNZ25BY3Rpb25zLk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuTm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5Ob3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5Ob3RpZnlWY2VudGVyQ2xpZW50U3RhcnRlZEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlBhdXNlUmVwbGljYXRpb24sXG5cdFx0TWduQWN0aW9ucy5QdXRTb3VyY2VTZXJ2ZXJBY3Rpb24sXG5cdFx0TWduQWN0aW9ucy5QdXRUZW1wbGF0ZUFjdGlvbixcblx0XHRNZ25BY3Rpb25zLlJlZ2lzdGVyQWdlbnRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5SZW1vdmVTb3VyY2VTZXJ2ZXJBY3Rpb24sXG5cdFx0TWduQWN0aW9ucy5SZW1vdmVUZW1wbGF0ZUFjdGlvbixcblx0XHRNZ25BY3Rpb25zLlJlc3VtZVJlcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuUmV0cnlEYXRhUmVwbGljYXRpb24sXG5cdFx0TWduQWN0aW9ucy5TZW5kQWdlbnRMb2dzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuU2VuZEFnZW50TWV0cmljc0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlNlbmRDbGllbnRMb2dzRm9yTWduLFxuXHRcdE1nbkFjdGlvbnMuU2VuZENsaWVudE1ldHJpY3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudENvbW1hbmRSZXN1bHRGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudExvZ3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TZW5kVmNlbnRlckNsaWVudE1ldHJpY3NGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5TdGFydEN1dG92ZXIsXG5cdFx0TWduQWN0aW9ucy5TdGFydEV4cG9ydCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0SW1wb3J0LFxuXHRcdE1nbkFjdGlvbnMuU3RhcnRJbXBvcnRGaWxlRW5yaWNobWVudCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5TdGFydE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrc0RlbGV0aW9uLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudCxcblx0XHRNZ25BY3Rpb25zLlN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmcsXG5cdFx0TWduQWN0aW9ucy5TdGFydE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlLFxuXHRcdE1nbkFjdGlvbnMuU3RhcnRSZXBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlN0YXJ0U25hcHNob3RHcm91cEZvck1nbixcblx0XHRNZ25BY3Rpb25zLlN0YXJ0VGVzdCxcblx0XHRNZ25BY3Rpb25zLlN0b3BSZXBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlRlcm1pbmF0ZVRhcmdldEluc3RhbmNlcyxcblx0XHRNZ25BY3Rpb25zLlVuYXJjaGl2ZUFwcGxpY2F0aW9uLFxuXHRcdE1nbkFjdGlvbnMuVW5hcmNoaXZlV2F2ZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFjY291bnRTZXR0aW5ncyxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50QmFja2xvZ0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50Q29udmVyc2lvbkluZm9Gb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0Zvck1nbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUFnZW50UmVwbGljYXRpb25Qcm9jZXNzU3RhdGVGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JNZ24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVBcHBsaWNhdGlvbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUNvbm5lY3Rvcixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50LFxuXHRcdE1nbkFjdGlvbnMuVXBkYXRlTmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QsXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0TWduQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVNvdXJjZVNlcnZlcixcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVNvdXJjZVNlcnZlclJlcGxpY2F0aW9uVHlwZSxcblx0XHRNZ25BY3Rpb25zLlVwZGF0ZVdhdmUsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVKb2JzLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzLFxuXHRcdE1nbkFjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVNvdXJjZVNlcnZlcnMsXG5cdFx0TWduQWN0aW9ucy5EZXNjcmliZVZjZW50ZXJDbGllbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdEFwcGxpY2F0aW9ucyxcblx0XHRNZ25BY3Rpb25zLkxpc3RFeHBvcnRFcnJvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0RXhwb3J0cyxcblx0XHRNZ25BY3Rpb25zLkxpc3RJbXBvcnRFcnJvcnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdEltcG9ydHMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TWFuYWdlZEFjY291bnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlcyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNSZXN1bHRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25zLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrcyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3NEZWxldGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25BcnRpZmFjdHMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbkV4ZWN1dGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3RzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50cyxcblx0XHRNZ25BY3Rpb25zLkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ1VwZGF0ZXMsXG5cdFx0TWduQWN0aW9ucy5MaXN0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdzLFxuXHRcdE1nbkFjdGlvbnMuTGlzdFNvdXJjZVNlcnZlckFjdGlvbnMsXG5cdFx0TWduQWN0aW9ucy5MaXN0VGVtcGxhdGVBY3Rpb25zLFxuXHRcdE1nbkFjdGlvbnMuTGlzdFdhdmVzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZ25BY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdE1nbkFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFwcGxpY2F0aW9uUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkFwcGxpY2F0aW9uUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwbGljYXRpb25JRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEFwcGxpY2F0aW9uUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkFwcGxpY2F0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcGxpY2F0aW9uSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBsaWNhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0b3JSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduQ29ubmVjdG9yUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29ubmVjdG9ySUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdG9yUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkNvbm5lY3RvclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBFeHBvcnRSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduRXhwb3J0UmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXhwb3J0SUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4cG9ydElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRXhwb3J0UmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkV4cG9ydFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cG9ydElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBJbXBvcnRSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduSW1wb3J0UmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW1wb3J0SUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltcG9ydElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSW1wb3J0UmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkltcG9ydFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbXBvcnRJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltcG9ydElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBKb2JSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduSm9iUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSm9iUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkpvYlJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbkxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25OZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25OZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25Tb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBTb3VyY2VTZXJ2ZXJJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduU291cmNlU2VydmVyUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNvdXJjZVNlcnZlcklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFZjZW50ZXJDbGllbnRSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWduVmNlbnRlckNsaWVudFJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFZjZW50ZXJDbGllbnRJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmNlbnRlckNsaWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVmNlbnRlckNsaWVudFJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25WY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFZjZW50ZXJDbGllbnRJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHZjZW50ZXJDbGllbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgV2F2ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZ25XYXZlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV2F2ZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3YXZlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBXYXZlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1nbldhdmVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV2F2ZUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd2F2ZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFwcGxpY2F0aW9uUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwbGljYXRpb25cXC8oPzxhcHBsaWNhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0b3JSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25uZWN0b3JcXC8oPzxjb25uZWN0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgRXhwb3J0UmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwb3J0XFwvKD88ZXhwb3J0SWQ+W146Lz9dKykkLztcbmNvbnN0IEltcG9ydFJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1nbjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltcG9ydFxcLyg/PGltcG9ydElkPlteOi8/XSspJC87XG5jb25zdCBKb2JSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGF1bmNoLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGVcXC8oPzxsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpuZXR3b3JrLW1pZ3JhdGlvbi1kZWZpbml0aW9uXFwvKD88bmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXBsaWNhdGlvbi1jb25maWd1cmF0aW9uLXRlbXBsYXRlXFwvKD88cmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c291cmNlLXNlcnZlclxcLyg/PHNvdXJjZVNlcnZlcklkPlteOi8/XSspJC87XG5jb25zdCBWY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWduOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dmNlbnRlci1jbGllbnRcXC8oPzx2Y2VudGVyQ2xpZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFdhdmVSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZ246KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3YXZlXFwvKD88d2F2ZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgbWduIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1nblJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQXBwbGljYXRpb25SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBsaWNhdGlvblJlc291cmNlKHByb3BzOiBNZ25BcHBsaWNhdGlvblJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi8ke3Byb3BzLmFwcGxpY2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcGxpY2F0aW9uUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25SZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBcHBsaWNhdGlvblJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcGxpY2F0aW9uUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1nbkFwcGxpY2F0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcGxpY2F0aW9uUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQXBwbGljYXRpb25SZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBsaWNhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFwcGxpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdG9yUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdG9yUmVzb3VyY2UocHJvcHM6IE1nbkNvbm5lY3RvclJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25uZWN0b3IvJHtwcm9wcy5jb25uZWN0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29ubmVjdG9yUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3RvclJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3RvclJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbm5lY3RvclJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3RvclJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25Db25uZWN0b3JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdG9yUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdG9yUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuY29ubmVjdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRXhwb3J0UmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwb3J0UmVzb3VyY2UocHJvcHM6IE1nbkV4cG9ydFJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1nbjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBvcnQvJHtwcm9wcy5leHBvcnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRXhwb3J0UmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cG9ydFJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cG9ydFJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEV4cG9ydFJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cG9ydFJlc291cmNlQXJuKGFybjogc3RyaW5nKTogTWduRXhwb3J0UmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cG9ydFJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEV4cG9ydFJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV4cG9ydElkOiBtYXRjaC5ncm91cHMhLmV4cG9ydElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEltcG9ydFJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltcG9ydFJlc291cmNlKHByb3BzOiBNZ25JbXBvcnRSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1wb3J0LyR7cHJvcHMuaW1wb3J0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEltcG9ydFJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbXBvcnRSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbXBvcnRSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBJbXBvcnRSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbXBvcnRSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IE1nbkltcG9ydFJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbXBvcnRSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJbXBvcnRSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbXBvcnRJZDogbWF0Y2guZ3JvdXBzIS5pbXBvcnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBKb2JSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2JSZXNvdXJjZShwcm9wczogTWduSm9iUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBKb2JSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSm9iUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBNZ25Kb2JSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSm9iUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UoXG5cdFx0cHJvcHM6IE1nbkxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxhdW5jaC1jb25maWd1cmF0aW9uLXRlbXBsYXRlLyR7cHJvcHMubGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTWduTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5sYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2UoXG5cdFx0cHJvcHM6IE1nbk5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bmV0d29yay1taWdyYXRpb24tZGVmaW5pdGlvbi8ke3Byb3BzLm5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1nbk5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25SZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRuZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbklkOiBtYXRjaC5ncm91cHMhLm5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlKFxuXHRcdHByb3BzOiBNZ25SZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1nblJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvdXJjZVNlcnZlclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNvdXJjZVNlcnZlclJlc291cmNlKHByb3BzOiBNZ25Tb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c291cmNlLXNlcnZlci8ke3Byb3BzLnNvdXJjZVNlcnZlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU291cmNlU2VydmVyUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU291cmNlU2VydmVyUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1nblNvdXJjZVNlcnZlclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzb3VyY2VTZXJ2ZXJJZDogbWF0Y2guZ3JvdXBzIS5zb3VyY2VTZXJ2ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBWY2VudGVyQ2xpZW50UmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdmNlbnRlckNsaWVudFJlc291cmNlKFxuXHRcdHByb3BzOiBNZ25WY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZ246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dmNlbnRlci1jbGllbnQvJHtwcm9wcy52Y2VudGVyQ2xpZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFZjZW50ZXJDbGllbnRSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVmNlbnRlckNsaWVudFJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFZjZW50ZXJDbGllbnRSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBWY2VudGVyQ2xpZW50UmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVmNlbnRlckNsaWVudFJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZ25WY2VudGVyQ2xpZW50UmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFZjZW50ZXJDbGllbnRSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBWY2VudGVyQ2xpZW50UmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dmNlbnRlckNsaWVudElkOiBtYXRjaC5ncm91cHMhLnZjZW50ZXJDbGllbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBXYXZlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd2F2ZVJlc291cmNlKHByb3BzOiBNZ25XYXZlUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWduOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OndhdmUvJHtwcm9wcy53YXZlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFdhdmVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV2F2ZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdhdmVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBXYXZlUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV2F2ZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogTWduV2F2ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXYXZlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgV2F2ZVJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdhdmVJZDogbWF0Y2guZ3JvdXBzIS53YXZlSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgbWduLlxuICovXG5leHBvcnQgY2xhc3MgTWduT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFyY2hpdmVBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFyY2hpdmVBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246QXJjaGl2ZUFwcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcmNoaXZlV2F2ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFyY2hpdmVXYXZlOiBzdHJpbmdbXSA9IFtcIm1nbjpBcmNoaXZlV2F2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQXBwbGljYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpBc3NvY2lhdGVBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlU291cmNlU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVNvdXJjZVNlcnZlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkFzc29jaWF0ZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDaGFuZ2VTZXJ2ZXJMaWZlQ3ljbGVTdGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246Q2hhbmdlU2VydmVyTGlmZUN5Y2xlU3RhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246Q3JlYXRlQXBwbGljYXRpb25cIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkNyZWF0ZUNvbm5lY3RvclwiLFxuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246Q3JlYXRlTmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdhdmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXYXZlOiBzdHJpbmdbXSA9IFtcIm1nbjpDcmVhdGVXYXZlXCIsIFwibWduOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpEZWxldGVBcHBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcIm1nbjpEZWxldGVDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYjogc3RyaW5nW10gPSBbXCJtZ246RGVsZXRlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEZWxldGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTb3VyY2VTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1wibWduOkRlbGV0ZVNvdXJjZVNlcnZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVmNlbnRlckNsaWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZjZW50ZXJDbGllbnQ6IHN0cmluZ1tdID0gW1wibWduOkRlbGV0ZVZjZW50ZXJDbGllbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdhdmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXYXZlOiBzdHJpbmdbXSA9IFtcIm1nbjpEZWxldGVXYXZlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYkxvZ0l0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JMb2dJdGVtczogc3RyaW5nW10gPSBbXCJtZ246RGVzY3JpYmVKb2JMb2dJdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JzOiBzdHJpbmdbXSA9IFtcIm1nbjpEZXNjcmliZUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU291cmNlU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVmNlbnRlckNsaWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVZjZW50ZXJDbGllbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEZXNjcmliZVZjZW50ZXJDbGllbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFwcGxpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGlzYXNzb2NpYXRlQXBwbGljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVNvdXJjZVNlcnZlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpEaXNhc3NvY2lhdGVTb3VyY2VTZXJ2ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Nvbm5lY3RGcm9tU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RGcm9tU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246RGlzY29ubmVjdEZyb21TZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEZpbmFsaXplQ3V0b3ZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEZpbmFsaXplQ3V0b3Zlcjogc3RyaW5nW10gPSBbXCJtZ246RmluYWxpemVDdXRvdmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMYXVuY2hDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMYXVuY2hDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpHZXRMYXVuY2hDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246R2V0TmV0d29ya01pZ3JhdGlvbkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TmV0d29ya01pZ3JhdGlvbk1hcHBlclNlZ21lbnRDb25zdHJ1Y3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpHZXROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluaXRpYWxpemVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhbGl6ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wibWduOkluaXRpYWxpemVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwbGljYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcGxpY2F0aW9uczogc3RyaW5nW10gPSBbXCJtZ246TGlzdEFwcGxpY2F0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yczogc3RyaW5nW10gPSBbXCJtZ246TGlzdENvbm5lY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFeHBvcnRFcnJvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwb3J0RXJyb3JzOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0RXhwb3J0RXJyb3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHBvcnRzOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0RXhwb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltcG9ydEVycm9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRFcnJvcnM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RJbXBvcnRFcnJvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbXBvcnRGaWxlRW5yaWNobWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0SW1wb3J0RmlsZUVucmljaG1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydHM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RJbXBvcnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFuYWdlZEFjY291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWRBY2NvdW50czogc3RyaW5nW10gPSBbXCJtZ246TGlzdE1hbmFnZWRBY2NvdW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uQW5hbHlzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNpc1Jlc3VsdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkFuYWx5c2lzUmVzdWx0czogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25BbmFseXNpc1Jlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvblNlZ21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uU2VnbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TmV0d29ya01pZ3JhdGlvbkNvZGVHZW5lcmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3llZFN0YWNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95ZWRTdGFja3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25EZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5ldHdvcmtNaWdyYXRpb25FeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpMaXN0TmV0d29ya01pZ3JhdGlvbkV4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50Q29uc3RydWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudENvbnN0cnVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5nVXBkYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ1VwZGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ1VwZGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5ldHdvcmtNaWdyYXRpb25NYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOkxpc3ROZXR3b3JrTWlncmF0aW9uTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNvdXJjZVNlcnZlckFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U291cmNlU2VydmVyQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246TGlzdFNvdXJjZVNlcnZlckFjdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibWduOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZW1wbGF0ZUFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVtcGxhdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcIm1nbjpMaXN0VGVtcGxhdGVBY3Rpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V2F2ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V2F2ZXM6IHN0cmluZ1tdID0gW1wibWduOkxpc3RXYXZlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWFya0FzQXJjaGl2ZWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNYXJrQXNBcmNoaXZlZDogc3RyaW5nW10gPSBbXCJtZ246TWFya0FzQXJjaGl2ZWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFBhdXNlUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQYXVzZVJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpQYXVzZVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRTb3VyY2VTZXJ2ZXJBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTb3VyY2VTZXJ2ZXJBY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlB1dFNvdXJjZVNlcnZlckFjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRUZW1wbGF0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRlbXBsYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpQdXRUZW1wbGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlU291cmNlU2VydmVyQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlU291cmNlU2VydmVyQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpSZW1vdmVTb3VyY2VTZXJ2ZXJBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGVtcGxhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUZW1wbGF0ZUFjdGlvbjogc3RyaW5nW10gPSBbXCJtZ246UmVtb3ZlVGVtcGxhdGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc3VtZVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdW1lUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOlJlc3VtZVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeURhdGFSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5RGF0YVJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcIm1nbjpSZXRyeURhdGFSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDdXRvdmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDdXRvdmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydEN1dG92ZXJcIixcblx0XHRcIm1nbjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEV4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXhwb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpTdGFydEV4cG9ydFwiLFxuXHRcdFwibWduOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0SW1wb3J0XCIsXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbXBvcnRGaWxlRW5yaWNobWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0SW1wb3J0RmlsZUVucmljaG1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25BbmFseXNpczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246U3RhcnROZXR3b3JrTWlncmF0aW9uQW5hbHlzaXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5ldHdvcmtNaWdyYXRpb25Db2RlR2VuZXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246U3RhcnROZXR3b3JrTWlncmF0aW9uQ29kZUdlbmVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROZXR3b3JrTWlncmF0aW9uRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbkRlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROZXR3b3JrTWlncmF0aW9uTWFwcGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROZXR3b3JrTWlncmF0aW9uTWFwcGluZ1VwZGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlN0YXJ0TmV0d29ya01pZ3JhdGlvbk1hcHBpbmdVcGRhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOlN0YXJ0UmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0VGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVzdDogc3RyaW5nW10gPSBbXCJtZ246U3RhcnRUZXN0XCIsIFwibWduOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wibWduOlN0b3BSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJtZ246VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZVRhcmdldEluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVRhcmdldEluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VGFnUmVzb3VyY2VcIixcblx0XHRcIm1nbjpUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW5hcmNoaXZlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246VW5hcmNoaXZlQXBwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVuYXJjaGl2ZVdhdmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVXYXZlOiBzdHJpbmdbXSA9IFtcIm1nbjpVbmFyY2hpdmVXYXZlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJtZ246VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJtZ246VXBkYXRlQXBwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJtZ246VXBkYXRlQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZ246VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5ldHdvcmtNaWdyYXRpb25EZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5ldHdvcmtNaWdyYXRpb25NYXBwZXJTZWdtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVOZXR3b3JrTWlncmF0aW9uTWFwcGVyU2VnbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibWduOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTb3VyY2VTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1wibWduOlVwZGF0ZVNvdXJjZVNlcnZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU291cmNlU2VydmVyUmVwbGljYXRpb25UeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU291cmNlU2VydmVyUmVwbGljYXRpb25UeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1nbjpVcGRhdGVTb3VyY2VTZXJ2ZXJSZXBsaWNhdGlvblR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV2F2ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdhdmU6IHN0cmluZ1tdID0gW1wibWduOlVwZGF0ZVdhdmVcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBtZ24uXG4gKi9cbmV4cG9ydCBjbGFzcyBNZ25Db25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOZXR3b3JrTWlncmF0aW9uRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVWY2VudGVyQ2xpZW50Rm9yTWduIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVZjZW50ZXJDbGllbnRGb3JNZ25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdhdmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV2F2ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJBZ2VudEZvck1nbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckFnZW50Rm9yTWduQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEN1dG92ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDdXRvdmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEV4cG9ydCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEV4cG9ydENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRJbXBvcnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbXBvcnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0VGVzdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJtZ246Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXJtaW5hdGVUYXJnZXRJbnN0YW5jZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlVGFyZ2V0SW5zdGFuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IG1nbjpDcmVhdGVBY3Rpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENSRUFURV9BQ1RJT04gPSBcIm1nbjpDcmVhdGVBY3Rpb25cIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgbWduOkNyZWF0ZUFjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgY3JlYXRlQWN0aW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwibWduOkNyZWF0ZUFjdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==