@cdk_utils/iam 1.7.0 → 1.8.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 (458) hide show
  1. package/.jsii +1623 -1462
  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 +9 -5
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +9 -6
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +4 -4
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.js +4 -4
  134. package/lib/generated/services/discovery.js +3 -3
  135. package/lib/generated/services/dlm.js +4 -4
  136. package/lib/generated/services/dms.js +4 -4
  137. package/lib/generated/services/docdb-elastic.js +4 -4
  138. package/lib/generated/services/drs.js +4 -4
  139. package/lib/generated/services/ds-data.js +4 -4
  140. package/lib/generated/services/ds.js +4 -4
  141. package/lib/generated/services/dsql.js +4 -4
  142. package/lib/generated/services/dynamodb.js +4 -4
  143. package/lib/generated/services/ebs.js +4 -4
  144. package/lib/generated/services/ec2-instance-connect.js +4 -4
  145. package/lib/generated/services/ec2.js +4 -4
  146. package/lib/generated/services/ec2messages.js +2 -2
  147. package/lib/generated/services/ecr-public.js +4 -4
  148. package/lib/generated/services/ecr.js +4 -4
  149. package/lib/generated/services/ecs-mcp.js +1 -1
  150. package/lib/generated/services/ecs.js +4 -4
  151. package/lib/generated/services/eks-auth.js +4 -4
  152. package/lib/generated/services/eks-mcp.js +1 -1
  153. package/lib/generated/services/eks.js +4 -4
  154. package/lib/generated/services/elasticache.js +4 -4
  155. package/lib/generated/services/elasticbeanstalk.js +4 -4
  156. package/lib/generated/services/elasticfilesystem.js +4 -4
  157. package/lib/generated/services/elasticloadbalancing.js +4 -4
  158. package/lib/generated/services/elasticmapreduce.js +4 -4
  159. package/lib/generated/services/elastictranscoder.js +2 -2
  160. package/lib/generated/services/elemental-activations.js +1 -1
  161. package/lib/generated/services/elemental-appliances-software.js +2 -2
  162. package/lib/generated/services/elemental-inference.js +4 -4
  163. package/lib/generated/services/elemental-support-cases.js +3 -3
  164. package/lib/generated/services/elemental-support-content.js +1 -1
  165. package/lib/generated/services/emr-containers.js +4 -4
  166. package/lib/generated/services/emr-serverless.js +4 -4
  167. package/lib/generated/services/entityresolution.js +4 -4
  168. package/lib/generated/services/es.js +4 -4
  169. package/lib/generated/services/events.js +4 -4
  170. package/lib/generated/services/eventsbilltoaws.js +3 -3
  171. package/lib/generated/services/evidently.js +3 -3
  172. package/lib/generated/services/evs.js +4 -4
  173. package/lib/generated/services/execute-api.js +4 -4
  174. package/lib/generated/services/finops-agent.js +1 -1
  175. package/lib/generated/services/finspace-api.js +3 -3
  176. package/lib/generated/services/finspace.js +4 -4
  177. package/lib/generated/services/firehose.js +4 -4
  178. package/lib/generated/services/fis.js +4 -4
  179. package/lib/generated/services/fms.js +4 -4
  180. package/lib/generated/services/forecast.js +4 -4
  181. package/lib/generated/services/frauddetector.js +4 -4
  182. package/lib/generated/services/freertos.js +3 -3
  183. package/lib/generated/services/freetier.js +2 -2
  184. package/lib/generated/services/fsx.js +4 -4
  185. package/lib/generated/services/gamelift.js +4 -4
  186. package/lib/generated/services/gameliftstreams.js +4 -4
  187. package/lib/generated/services/geo-maps.js +3 -3
  188. package/lib/generated/services/geo-places.js +3 -3
  189. package/lib/generated/services/geo-routes.js +3 -3
  190. package/lib/generated/services/geo.js +4 -4
  191. package/lib/generated/services/glacier.js +4 -4
  192. package/lib/generated/services/globalaccelerator.js +4 -4
  193. package/lib/generated/services/glue.js +4 -4
  194. package/lib/generated/services/grafana.js +4 -4
  195. package/lib/generated/services/greengrass.js +4 -4
  196. package/lib/generated/services/groundstation.js +4 -4
  197. package/lib/generated/services/groundtruthlabeling.js +1 -1
  198. package/lib/generated/services/guardduty.js +4 -4
  199. package/lib/generated/services/health-agent.js +4 -4
  200. package/lib/generated/services/health.js +4 -4
  201. package/lib/generated/services/healthlake.js +4 -4
  202. package/lib/generated/services/honeycode.js +2 -2
  203. package/lib/generated/services/iam.js +4 -4
  204. package/lib/generated/services/identity-sync.js +2 -2
  205. package/lib/generated/services/identitystore-auth.js +1 -1
  206. package/lib/generated/services/identitystore.js +4 -4
  207. package/lib/generated/services/imagebuilder.js +4 -4
  208. package/lib/generated/services/importexport.js +2 -2
  209. package/lib/generated/services/inspector-scan.js +2 -2
  210. package/lib/generated/services/inspector.js +2 -2
  211. package/lib/generated/services/inspector2-telemetry.js +1 -1
  212. package/lib/generated/services/inspector2.js +4 -4
  213. package/lib/generated/services/interconnect.js +4 -4
  214. package/lib/generated/services/internetmonitor.js +4 -4
  215. package/lib/generated/services/invoicing.js +4 -4
  216. package/lib/generated/services/iot-device-tester.js +1 -1
  217. package/lib/generated/services/iot.js +4 -4
  218. package/lib/generated/services/iotanalytics.js +3 -3
  219. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  220. package/lib/generated/services/iotevents.js +3 -3
  221. package/lib/generated/services/iotfleethub.js +3 -3
  222. package/lib/generated/services/iotfleetwise.js +4 -4
  223. package/lib/generated/services/iotjobsdata.js +4 -4
  224. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  225. package/lib/generated/services/iotsitewise.js +4 -4
  226. package/lib/generated/services/iottwinmaker.js +4 -4
  227. package/lib/generated/services/iotwireless.js +4 -4
  228. package/lib/generated/services/iq-permission.js +2 -2
  229. package/lib/generated/services/iq.js +2 -2
  230. package/lib/generated/services/ivs.js +4 -4
  231. package/lib/generated/services/ivschat.js +4 -4
  232. package/lib/generated/services/kafka-cluster.js +3 -3
  233. package/lib/generated/services/kafka.js +4 -4
  234. package/lib/generated/services/kafkaconnect.js +4 -4
  235. package/lib/generated/services/kendra-ranking.js +4 -4
  236. package/lib/generated/services/kendra.js +4 -4
  237. package/lib/generated/services/kinesis.js +4 -4
  238. package/lib/generated/services/kinesisanalytics.js +4 -4
  239. package/lib/generated/services/kinesisvideo.js +4 -4
  240. package/lib/generated/services/kms.js +4 -4
  241. package/lib/generated/services/lakeformation.js +3 -3
  242. package/lib/generated/services/lambda.d.ts +16 -0
  243. package/lib/generated/services/lambda.js +38 -5
  244. package/lib/generated/services/launchwizard.js +4 -4
  245. package/lib/generated/services/lex.js +4 -4
  246. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager.js +4 -4
  249. package/lib/generated/services/lightsail.js +4 -4
  250. package/lib/generated/services/logs.js +4 -4
  251. package/lib/generated/services/lookoutequipment.js +4 -4
  252. package/lib/generated/services/lookoutmetrics.js +3 -3
  253. package/lib/generated/services/lookoutvision.js +3 -3
  254. package/lib/generated/services/m2.js +4 -4
  255. package/lib/generated/services/machinelearning.js +3 -3
  256. package/lib/generated/services/macie2.js +4 -4
  257. package/lib/generated/services/managedblockchain-query.js +2 -2
  258. package/lib/generated/services/managedblockchain.js +4 -4
  259. package/lib/generated/services/mapcredits.js +2 -2
  260. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  261. package/lib/generated/services/mechanicalturk.js +2 -2
  262. package/lib/generated/services/mediaconnect.js +4 -4
  263. package/lib/generated/services/mediaconvert.js +4 -4
  264. package/lib/generated/services/mediaimport.js +1 -1
  265. package/lib/generated/services/medialive.js +4 -4
  266. package/lib/generated/services/mediapackage-vod.js +4 -4
  267. package/lib/generated/services/mediapackage.js +4 -4
  268. package/lib/generated/services/mediapackagev2.js +4 -4
  269. package/lib/generated/services/mediastore.js +4 -4
  270. package/lib/generated/services/mediatailor.js +4 -4
  271. package/lib/generated/services/medical-imaging.js +4 -4
  272. package/lib/generated/services/memorydb.js +4 -4
  273. package/lib/generated/services/mgh.js +4 -4
  274. package/lib/generated/services/mgn.js +4 -4
  275. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  276. package/lib/generated/services/migrationhub-strategy.js +2 -2
  277. package/lib/generated/services/mobileanalytics.js +1 -1
  278. package/lib/generated/services/mobiletargeting.js +4 -4
  279. package/lib/generated/services/monitron.js +3 -3
  280. package/lib/generated/services/mpa.js +4 -4
  281. package/lib/generated/services/mq.js +4 -4
  282. package/lib/generated/services/neptune-db.js +4 -4
  283. package/lib/generated/services/neptune-graph.js +4 -4
  284. package/lib/generated/services/network-firewall.js +4 -4
  285. package/lib/generated/services/network-security-director.js +1 -1
  286. package/lib/generated/services/networkflowmonitor.js +4 -4
  287. package/lib/generated/services/networkmanager-chat.js +1 -1
  288. package/lib/generated/services/networkmanager.js +4 -4
  289. package/lib/generated/services/networkmonitor.js +4 -4
  290. package/lib/generated/services/nimble.js +3 -3
  291. package/lib/generated/services/notifications-contacts.js +4 -4
  292. package/lib/generated/services/notifications.js +4 -4
  293. package/lib/generated/services/nova-act.js +3 -3
  294. package/lib/generated/services/oam.js +4 -4
  295. package/lib/generated/services/observabilityadmin.js +4 -4
  296. package/lib/generated/services/odb.js +6 -5
  297. package/lib/generated/services/omics.js +4 -4
  298. package/lib/generated/services/one.js +3 -3
  299. package/lib/generated/services/opensearch.js +3 -3
  300. package/lib/generated/services/opsworks-cm.js +2 -2
  301. package/lib/generated/services/opsworks.js +2 -2
  302. package/lib/generated/services/organizations.js +4 -4
  303. package/lib/generated/services/osis.js +4 -4
  304. package/lib/generated/services/outposts.js +4 -4
  305. package/lib/generated/services/panorama.js +3 -3
  306. package/lib/generated/services/partnercentral-account-management.js +2 -2
  307. package/lib/generated/services/partnercentral.js +4 -4
  308. package/lib/generated/services/payment-cryptography.js +4 -4
  309. package/lib/generated/services/payments.js +3 -3
  310. package/lib/generated/services/pca-connector-ad.js +4 -4
  311. package/lib/generated/services/pca-connector-scep.js +4 -4
  312. package/lib/generated/services/pcs.js +4 -4
  313. package/lib/generated/services/personalize.js +4 -4
  314. package/lib/generated/services/pi.js +4 -4
  315. package/lib/generated/services/pipes.js +4 -4
  316. package/lib/generated/services/polly.js +3 -3
  317. package/lib/generated/services/pricing.js +2 -2
  318. package/lib/generated/services/pricingplanmanager.js +3 -3
  319. package/lib/generated/services/private-networks.js +3 -3
  320. package/lib/generated/services/profile.js +6 -5
  321. package/lib/generated/services/proton.js +4 -4
  322. package/lib/generated/services/purchase-orders.js +3 -3
  323. package/lib/generated/services/q.js +3 -3
  324. package/lib/generated/services/qapps.js +4 -4
  325. package/lib/generated/services/qbusiness.js +4 -4
  326. package/lib/generated/services/qdeveloper.js +3 -3
  327. package/lib/generated/services/qldb.js +3 -3
  328. package/lib/generated/services/quicksight.js +4 -4
  329. package/lib/generated/services/ram.js +4 -4
  330. package/lib/generated/services/rbin.js +4 -4
  331. package/lib/generated/services/rds-data.js +4 -4
  332. package/lib/generated/services/rds-db.js +2 -2
  333. package/lib/generated/services/rds.js +4 -4
  334. package/lib/generated/services/redshift-data.js +4 -4
  335. package/lib/generated/services/redshift-serverless.js +4 -4
  336. package/lib/generated/services/redshift.js +4 -4
  337. package/lib/generated/services/refactor-spaces.js +4 -4
  338. package/lib/generated/services/rekognition.js +4 -4
  339. package/lib/generated/services/repostspace.js +4 -4
  340. package/lib/generated/services/researchstudio.js +1 -1
  341. package/lib/generated/services/resiliencehub.js +4 -4
  342. package/lib/generated/services/resource-explorer-2.js +4 -4
  343. package/lib/generated/services/resource-explorer.js +1 -1
  344. package/lib/generated/services/resource-groups.js +4 -4
  345. package/lib/generated/services/rhelkb.js +1 -1
  346. package/lib/generated/services/robomaker.js +3 -3
  347. package/lib/generated/services/rolesanywhere.js +4 -4
  348. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  349. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  350. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  351. package/lib/generated/services/route53.js +4 -4
  352. package/lib/generated/services/route53domains.js +2 -2
  353. package/lib/generated/services/route53globalresolver.js +4 -4
  354. package/lib/generated/services/route53profiles.js +4 -4
  355. package/lib/generated/services/route53resolver.js +4 -4
  356. package/lib/generated/services/rtbfabric.js +4 -4
  357. package/lib/generated/services/rum.js +4 -4
  358. package/lib/generated/services/s3-object-lambda.js +3 -3
  359. package/lib/generated/services/s3-outposts.js +4 -4
  360. package/lib/generated/services/s3.js +4 -4
  361. package/lib/generated/services/s3express.js +3 -3
  362. package/lib/generated/services/s3files.js +4 -4
  363. package/lib/generated/services/s3tables.js +4 -4
  364. package/lib/generated/services/s3vectors.js +4 -4
  365. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  366. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  367. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  368. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  369. package/lib/generated/services/sagemaker.js +4 -4
  370. package/lib/generated/services/savingsplans.js +4 -4
  371. package/lib/generated/services/scheduler.js +4 -4
  372. package/lib/generated/services/schemas.js +4 -4
  373. package/lib/generated/services/scn.js +4 -4
  374. package/lib/generated/services/sdb.js +3 -3
  375. package/lib/generated/services/secretsmanager.js +4 -4
  376. package/lib/generated/services/security-ir.js +4 -4
  377. package/lib/generated/services/securityagent.js +4 -4
  378. package/lib/generated/services/securityhub.js +4 -4
  379. package/lib/generated/services/securitylake.js +4 -4
  380. package/lib/generated/services/serverlessrepo.js +4 -4
  381. package/lib/generated/services/servicecatalog.js +4 -4
  382. package/lib/generated/services/servicediscovery.js +4 -4
  383. package/lib/generated/services/serviceextract.js +1 -1
  384. package/lib/generated/services/servicequotas.js +4 -4
  385. package/lib/generated/services/ses.js +4 -4
  386. package/lib/generated/services/shield.js +4 -4
  387. package/lib/generated/services/signer.js +4 -4
  388. package/lib/generated/services/signin.js +4 -4
  389. package/lib/generated/services/simspaceweaver.js +3 -3
  390. package/lib/generated/services/sms-voice.js +4 -4
  391. package/lib/generated/services/sms.js +1 -1
  392. package/lib/generated/services/snow-device-management.js +4 -4
  393. package/lib/generated/services/snowball.js +2 -2
  394. package/lib/generated/services/sns.js +4 -4
  395. package/lib/generated/services/social-messaging.js +4 -4
  396. package/lib/generated/services/sqlworkbench.js +3 -3
  397. package/lib/generated/services/sqs.js +4 -4
  398. package/lib/generated/services/ssm-contacts.js +4 -4
  399. package/lib/generated/services/ssm-guiconnect.js +2 -2
  400. package/lib/generated/services/ssm-incidents.js +4 -4
  401. package/lib/generated/services/ssm-quicksetup.js +4 -4
  402. package/lib/generated/services/ssm-sap.js +4 -4
  403. package/lib/generated/services/ssm.js +4 -4
  404. package/lib/generated/services/ssmmessages.js +2 -2
  405. package/lib/generated/services/sso-directory.js +1 -1
  406. package/lib/generated/services/sso-oauth.js +3 -3
  407. package/lib/generated/services/sso.js +4 -4
  408. package/lib/generated/services/states.js +4 -4
  409. package/lib/generated/services/storagegateway.js +4 -4
  410. package/lib/generated/services/sts.js +4 -4
  411. package/lib/generated/services/support-console.js +1 -1
  412. package/lib/generated/services/support.js +2 -2
  413. package/lib/generated/services/supportapp.js +2 -2
  414. package/lib/generated/services/supportauthz.js +4 -4
  415. package/lib/generated/services/supportplans.js +1 -1
  416. package/lib/generated/services/sustainability.js +2 -2
  417. package/lib/generated/services/swf.js +4 -4
  418. package/lib/generated/services/synthetics.js +4 -4
  419. package/lib/generated/services/tag.js +2 -2
  420. package/lib/generated/services/tax.js +2 -2
  421. package/lib/generated/services/textract.js +4 -4
  422. package/lib/generated/services/thinclient.js +4 -4
  423. package/lib/generated/services/timestream-influxdb.js +4 -4
  424. package/lib/generated/services/timestream.js +4 -4
  425. package/lib/generated/services/tiros.js +1 -1
  426. package/lib/generated/services/tnb.js +4 -4
  427. package/lib/generated/services/transcribe.js +4 -4
  428. package/lib/generated/services/transfer.js +4 -4
  429. package/lib/generated/services/transform-custom.js +3 -3
  430. package/lib/generated/services/transform.js +3 -3
  431. package/lib/generated/services/translate.js +4 -4
  432. package/lib/generated/services/trustedadvisor.js +3 -3
  433. package/lib/generated/services/ts.js +3 -3
  434. package/lib/generated/services/user-subscriptions.js +2 -2
  435. package/lib/generated/services/uxc.js +2 -2
  436. package/lib/generated/services/vendor-insights.js +3 -3
  437. package/lib/generated/services/verified-access.js +1 -1
  438. package/lib/generated/services/verifiedpermissions.js +4 -4
  439. package/lib/generated/services/voiceid.js +4 -4
  440. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  441. package/lib/generated/services/vpc-lattice.js +6 -17
  442. package/lib/generated/services/vpce.js +2 -2
  443. package/lib/generated/services/waf-regional.js +4 -4
  444. package/lib/generated/services/waf.js +4 -4
  445. package/lib/generated/services/wafv2.js +4 -4
  446. package/lib/generated/services/wam.js +1 -1
  447. package/lib/generated/services/wellarchitected.js +4 -4
  448. package/lib/generated/services/wickr.js +4 -4
  449. package/lib/generated/services/wisdom.js +4 -4
  450. package/lib/generated/services/workdocs.js +3 -3
  451. package/lib/generated/services/worklink.js +3 -3
  452. package/lib/generated/services/workmail.js +4 -4
  453. package/lib/generated/services/workmailmessageflow.js +3 -3
  454. package/lib/generated/services/workspaces-instances.js +4 -4
  455. package/lib/generated/services/workspaces-web.js +4 -4
  456. package/lib/generated/services/workspaces.js +4 -4
  457. package/lib/generated/services/xray.js +4 -4
  458. package/package.json +2 -2
@@ -16,7 +16,7 @@ class ProfileActions {
16
16
  }
17
17
  exports.ProfileActions = ProfileActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ProfileActions[_a] = { fqn: "@cdk_utils/iam.profile.ProfileActions", version: "1.7.0" };
19
+ ProfileActions[_a] = { fqn: "@cdk_utils/iam.profile.ProfileActions", version: "1.8.0" };
20
20
  /** The IAM service prefix. */
21
21
  ProfileActions.SERVICE_PREFIX = "profile";
22
22
  /** [Write] profile:AddProfileKey */
@@ -729,7 +729,7 @@ class ProfileResources {
729
729
  }
730
730
  exports.ProfileResources = ProfileResources;
731
731
  _b = JSII_RTTI_SYMBOL_1;
732
- ProfileResources[_b] = { fqn: "@cdk_utils/iam.profile.ProfileResources", version: "1.7.0" };
732
+ ProfileResources[_b] = { fqn: "@cdk_utils/iam.profile.ProfileResources", version: "1.8.0" };
733
733
  /**
734
734
  * API operation to required IAM actions mapping for profile.
735
735
  */
@@ -737,7 +737,7 @@ class ProfileOperations {
737
737
  }
738
738
  exports.ProfileOperations = ProfileOperations;
739
739
  _c = JSII_RTTI_SYMBOL_1;
740
- ProfileOperations[_c] = { fqn: "@cdk_utils/iam.profile.ProfileOperations", version: "1.7.0" };
740
+ ProfileOperations[_c] = { fqn: "@cdk_utils/iam.profile.ProfileOperations", version: "1.8.0" };
741
741
  /** IAM actions required for the AddProfileKey API call. */
742
742
  ProfileOperations.AddProfileKey = ["profile:AddProfileKey"];
743
743
  /** IAM actions required for the BatchGetCalculatedAttributeForProfile API call. */
@@ -790,6 +790,7 @@ ProfileOperations.CreateRecommenderFilter = [
790
790
  /** IAM actions required for the CreateRecommenderSchema API call. */
791
791
  ProfileOperations.CreateRecommenderSchema = [
792
792
  "profile:CreateRecommenderSchema",
793
+ "profile:TagResource",
793
794
  ];
794
795
  /** IAM actions required for the CreateSegmentDefinition API call. */
795
796
  ProfileOperations.CreateSegmentDefinition = [
@@ -1105,7 +1106,7 @@ class ProfileConditions {
1105
1106
  }
1106
1107
  exports.ProfileConditions = ProfileConditions;
1107
1108
  _d = JSII_RTTI_SYMBOL_1;
1108
- ProfileConditions[_d] = { fqn: "@cdk_utils/iam.profile.ProfileConditions", version: "1.7.0" };
1109
+ ProfileConditions[_d] = { fqn: "@cdk_utils/iam.profile.ProfileConditions", version: "1.8.0" };
1109
1110
  /** Condition keys applicable to the CreateRecommenderFilter action. */
1110
1111
  ProfileConditions.CreateRecommenderFilterConditionKeys = [
1111
1112
  "aws:RequestTag/${TagKey}",
@@ -1129,4 +1130,4 @@ ProfileConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1129
1130
  ProfileConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1130
1131
  /** Condition key: aws:TagKeys (ArrayOfString) */
1131
1132
  ProfileConditions.AWS_TAG_KEYS = "aws:TagKeys";
1132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0FnWEM7OztBQS9XQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCwyREFBMkQ7QUFDM0Msb0RBQXFDLEdBQ3BELCtDQUErQyxDQUFDO0FBQ2pELHFDQUFxQztBQUNyQiw4QkFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELDBEQUEwRDtBQUMxQyxrREFBbUMsR0FDbEQsNkNBQTZDLENBQUM7QUFDL0MsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLDhDQUE4QztBQUM5QixzQ0FBdUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM1RSw4Q0FBOEM7QUFDOUIsc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUs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QUFDO0lBQ25FLENBQUM7O0FBN0NGLDhDQThDQzs7O0FBN0NBLHVFQUF1RTtBQUN2RCxzREFBb0MsR0FBYTtJQUNoRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix1RUFBdUU7QUFDdkQsc0RBQW9DLEdBQWE7SUFDaEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDBDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw0Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxpQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxrQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsOEJBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9wcm9maWxlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBwcm9maWxlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9maWxlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInByb2ZpbGVcIjtcblxuXHQvKiogW1dyaXRlXSBwcm9maWxlOkFkZFByb2ZpbGVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFByb2ZpbGVLZXkgPSBcInByb2ZpbGU6QWRkUHJvZmlsZUtleVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6QmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSA9XG5cdFx0XCJwcm9maWxlOkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkJhdGNoR2V0UHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRQcm9maWxlID0gXCJwcm9maWxlOkJhdGNoR2V0UHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiA9XG5cdFx0XCJwcm9maWxlOkNyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW4gPSBcInByb2ZpbGU6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlRG9tYWluTGF5b3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5MYXlvdXQgPSBcInByb2ZpbGU6Q3JlYXRlRG9tYWluTGF5b3V0XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlRXZlbnRTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50U3RyZWFtID0gXCJwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlRXZlbnRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFRyaWdnZXIgPSBcInByb2ZpbGU6Q3JlYXRlRXZlbnRUcmlnZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdyA9XG5cdFx0XCJwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9maWxlID0gXCJwcm9maWxlOkNyZWF0ZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXIgPSBcInByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlckZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgPSBcInByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJGaWx0ZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclNjaGVtYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWEgPSBcInByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJTY2hlbWFcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVTZWdtZW50RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudERlZmluaXRpb24gPSBcInByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVTZWdtZW50RXN0aW1hdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnRFc3RpbWF0ZSA9IFwicHJvZmlsZTpDcmVhdGVTZWdtZW50RXN0aW1hdGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVTZWdtZW50U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnRTbmFwc2hvdCA9IFwicHJvZmlsZTpDcmVhdGVTZWdtZW50U25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU25hcHNob3QgPSBcInByb2ZpbGU6Q3JlYXRlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwbG9hZEpvYiA9IFwicHJvZmlsZTpDcmVhdGVVcGxvYWRKb2JcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluID0gXCJwcm9maWxlOkRlbGV0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOkRlbGV0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbk9iamVjdFR5cGUgPSBcInByb2ZpbGU6RGVsZXRlRG9tYWluT2JqZWN0VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZUV2ZW50U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFN0cmVhbSA9IFwicHJvZmlsZTpEZWxldGVFdmVudFN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOkRlbGV0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZUludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlZ3JhdGlvbiA9IFwicHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGUgPSBcInByb2ZpbGU6RGVsZXRlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVLZXkgPSBcInByb2ZpbGU6RGVsZXRlUHJvZmlsZUtleVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVByb2ZpbGVPYmplY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3QgPSBcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlckZpbHRlciA9IFwicHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlckZpbHRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyU2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlclNjaGVtYSA9IFwicHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlclNjaGVtYVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVNlZ21lbnREZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZWdtZW50RGVmaW5pdGlvbiA9IFwicHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZVdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZmxvdyA9IFwicHJvZmlsZTpEZWxldGVXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6RGV0ZWN0UHJvZmlsZU9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFByb2ZpbGVPYmplY3RUeXBlID0gXCJwcm9maWxlOkRldGVjdFByb2ZpbGVPYmplY3RUeXBlXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRBdXRvTWVyZ2luZ1ByZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9NZXJnaW5nUHJldmlldyA9IFwicHJvZmlsZTpHZXRBdXRvTWVyZ2luZ1ByZXZpZXdcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiA9XG5cdFx0XCJwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW4gPSBcInByb2ZpbGU6R2V0RG9tYWluXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXREb21haW5MYXlvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpbkxheW91dCA9IFwicHJvZmlsZTpHZXREb21haW5MYXlvdXRcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldERvbWFpbk9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpbk9iamVjdFR5cGUgPSBcInByb2ZpbGU6R2V0RG9tYWluT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RXZlbnRTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50U3RyZWFtID0gXCJwcm9maWxlOkdldEV2ZW50U3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRFdmVudFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50VHJpZ2dlciA9IFwicHJvZmlsZTpHZXRFdmVudFRyaWdnZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldElkZW50aXR5UmVzb2x1dGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iID1cblx0XHRcInByb2ZpbGU6R2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZWdyYXRpb24gPSBcInByb2ZpbGU6R2V0SW50ZWdyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkdldE1hdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hdGNoZXMgPSBcInByb2ZpbGU6R2V0TWF0Y2hlc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzID1cblx0XHRcInByb2ZpbGU6R2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlSGlzdG9yeVJlY29yZCA9XG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlSW5zaWdodHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVJbnNpZ2h0cyA9IFwicHJvZmlsZTpHZXRQcm9maWxlSW5zaWdodHNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSA9XG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kZXIgPSBcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFJlY29tbWVuZGVyRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvbW1lbmRlckZpbHRlciA9IFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlckZpbHRlclwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UmVjb21tZW5kZXJTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGVyU2NoZW1hID0gXCJwcm9maWxlOkdldFJlY29tbWVuZGVyU2NoZW1hXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VnbWVudERlZmluaXRpb24gPSBcInByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNlZ21lbnRFc3RpbWF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VnbWVudEVzdGltYXRlID0gXCJwcm9maWxlOkdldFNlZ21lbnRFc3RpbWF0ZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRNZW1iZXJzaGlwID0gXCJwcm9maWxlOkdldFNlZ21lbnRNZW1iZXJzaGlwXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRTbmFwc2hvdCA9IFwicHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3RcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkdldFNpbWlsYXJQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2ltaWxhclByb2ZpbGVzID0gXCJwcm9maWxlOkdldFNpbWlsYXJQcm9maWxlc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNuYXBzaG90ID0gXCJwcm9maWxlOkdldFNuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVwbG9hZEpvYiA9IFwicHJvZmlsZTpHZXRVcGxvYWRKb2JcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFVwbG9hZEpvYlBhdGggKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVwbG9hZEpvYlBhdGggPSBcInByb2ZpbGU6R2V0VXBsb2FkSm9iUGF0aFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtmbG93ID0gXCJwcm9maWxlOkdldFdvcmtmbG93XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRXb3JrZmxvd1N0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrZmxvd1N0ZXBzID0gXCJwcm9maWxlOkdldFdvcmtmbG93U3RlcHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RBY2NvdW50SW50ZWdyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudEludGVncmF0aW9ucyA9IFwicHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9ucyA9XG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWluTGF5b3V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbkxheW91dHMgPSBcInByb2ZpbGU6TGlzdERvbWFpbkxheW91dHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3REb21haW5PYmplY3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbk9iamVjdFR5cGVzID0gXCJwcm9maWxlOkxpc3REb21haW5PYmplY3RUeXBlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbk9iamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5PYmplY3RzID0gXCJwcm9maWxlOkxpc3REb21haW5PYmplY3RzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnMgPSBcInByb2ZpbGU6TGlzdERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RFdmVudFN0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFN0cmVhbXMgPSBcInByb2ZpbGU6TGlzdEV2ZW50U3RyZWFtc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdEV2ZW50VHJpZ2dlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFRyaWdnZXJzID0gXCJwcm9maWxlOkxpc3RFdmVudFRyaWdnZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMgPVxuXHRcdFwicHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdEludGVncmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9ucyA9IFwicHJvZmlsZTpMaXN0SW50ZWdyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXMgPVxuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMgPSBcInByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgPVxuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVIaXN0b3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3JkcyA9XG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlSGlzdG9yeVJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVzID1cblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZU9iamVjdFR5cGVzID0gXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RzID0gXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0c1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVyRmlsdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyRmlsdGVycyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJGaWx0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UmVjb21tZW5kZXJSZWNpcGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJSZWNpcGVzID0gXCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclJlY2lwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlclNjaGVtYXMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyU2NoZW1hc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVycyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UnVsZUJhc2VkTWF0Y2hlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bGVCYXNlZE1hdGNoZXMgPSBcInByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RTZWdtZW50RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50RGVmaW5pdGlvbnMgPSBcInByb2ZpbGU6TGlzdFNlZ21lbnREZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwicHJvZmlsZTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0VXBsb2FkSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVwbG9hZEpvYnMgPSBcInByb2ZpbGU6TGlzdFVwbG9hZEpvYnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RXb3JrZmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd3MgPSBcInByb2ZpbGU6TGlzdFdvcmtmbG93c1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOk1lcmdlUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1lcmdlUHJvZmlsZXMgPSBcInByb2ZpbGU6TWVyZ2VQcm9maWxlc1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERvbWFpbk9iamVjdFR5cGUgPSBcInByb2ZpbGU6UHV0RG9tYWluT2JqZWN0VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlB1dEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlZ3JhdGlvbiA9IFwicHJvZmlsZTpQdXRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlB1dFByb2ZpbGVPYmplY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVPYmplY3QgPSBcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6U2VhcmNoUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFByb2ZpbGVzID0gXCJwcm9maWxlOlNlYXJjaFByb2ZpbGVzXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6U3RhcnRSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpTdGFydFJlY29tbWVuZGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6U3RhcnRVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VXBsb2FkSm9iID0gXCJwcm9maWxlOlN0YXJ0VXBsb2FkSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6U3RvcFJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVjb21tZW5kZXIgPSBcInByb2ZpbGU6U3RvcFJlY29tbWVuZGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6U3RvcFVwbG9hZEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFVwbG9hZEpvYiA9IFwicHJvZmlsZTpTdG9wVXBsb2FkSm9iXCI7XG5cdC8qKiBbVGFnZ2luZ10gcHJvZmlsZTpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInByb2ZpbGU6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBwcm9maWxlOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInByb2ZpbGU6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiA9XG5cdFx0XCJwcm9maWxlOlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6VXBkYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW4gPSBcInByb2ZpbGU6VXBkYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6VXBkYXRlRG9tYWluTGF5b3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5MYXlvdXQgPSBcInByb2ZpbGU6VXBkYXRlRG9tYWluTGF5b3V0XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6VXBkYXRlRXZlbnRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudFRyaWdnZXIgPSBcInByb2ZpbGU6VXBkYXRlRXZlbnRUcmlnZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6VXBkYXRlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZmlsZSA9IFwicHJvZmlsZTpVcGRhdGVQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6VXBkYXRlUmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29tbWVuZGVyID0gXCJwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UHJvZmlsZUFjdGlvbnMuQmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5CYXRjaEdldFByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGV0ZWN0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0QXV0b01lcmdpbmdQcmV2aWV3LFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldERvbWFpbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXREb21haW5MYXlvdXQsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RG9tYWluT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRFdmVudFN0cmVhbSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRFdmVudFRyaWdnZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldEludGVncmF0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVJbnNpZ2h0cyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kZXJGaWx0ZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kZXJTY2hlbWEsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U2VnbWVudERlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U2VnbWVudEVzdGltYXRlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnRNZW1iZXJzaGlwLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnRTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRVcGxvYWRKb2IsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0VXBsb2FkSm9iUGF0aCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRXb3JrZmxvdyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRXb3JrZmxvd1N0ZXBzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU2VhcmNoUHJvZmlsZXMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UHJvZmlsZUFjdGlvbnMuQWRkUHJvZmlsZUtleSxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVEb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlRG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZUV2ZW50U3RyZWFtLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWEsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU2VnbWVudERlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU2VnbWVudEVzdGltYXRlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnRTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVVcGxvYWRKb2IsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZURvbWFpbkxheW91dCxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVEb21haW5PYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUV2ZW50U3RyZWFtLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZVByb2ZpbGVLZXksXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZU9iamVjdCxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlckZpbHRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlclNjaGVtYSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVTZWdtZW50RGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVXb3JrZmxvdyxcblx0XHRQcm9maWxlQWN0aW9ucy5NZXJnZVByb2ZpbGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dERvbWFpbk9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuUHV0SW50ZWdyYXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuUHV0UHJvZmlsZU9iamVjdCxcblx0XHRQcm9maWxlQWN0aW9ucy5QdXRQcm9maWxlT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5TdGFydFJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlN0YXJ0VXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlN0b3BSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5TdG9wVXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZURvbWFpbixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVEb21haW5MYXlvdXQsXG5cdFx0UHJvZmlsZUFjdGlvbnMuVXBkYXRlRXZlbnRUcmlnZ2VyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZVByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuVXBkYXRlUmVjb21tZW5kZXIsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldE1hdGNoZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U2ltaWxhclByb2ZpbGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RBY2NvdW50SW50ZWdyYXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0RG9tYWluTGF5b3V0cyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0RG9tYWluT2JqZWN0VHlwZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbk9iamVjdHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEV2ZW50U3RyZWFtcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0RXZlbnRUcmlnZ2Vycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9icyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0SW50ZWdyYXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RPYmplY3RUeXBlQXR0cmlidXRlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdFR5cGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RQcm9maWxlT2JqZWN0cyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UmVjb21tZW5kZXJGaWx0ZXJzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RSZWNvbW1lbmRlclJlY2lwZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVyU2NoZW1hcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UmVjb21tZW5kZXJzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RSdWxlQmFzZWRNYXRjaGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RTZWdtZW50RGVmaW5pdGlvbnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFVwbG9hZEpvYnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFdvcmtmbG93cyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UHJvZmlsZUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0UHJvZmlsZUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNhbGN1bGF0ZWQtYXR0cmlidXRlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUNhbGN1bGF0ZWRBdHRyaWJ1dGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDYWxjdWxhdGVkQXR0cmlidXRlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDYWxjdWxhdGVkQXR0cmlidXRlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb21haW4tb2JqZWN0LXR5cGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRG9tYWluT2JqZWN0VHlwZXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE9iamVjdFR5cGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvYmplY3RUeXBlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbi1vYmplY3QtdHlwZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9iamVjdFR5cGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb21haW5zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRG9tYWluc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9tYWlucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmVudC1zdHJlYW1zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRXZlbnRTdHJlYW1zQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudFN0cmVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2ZW50U3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV2ZW50LXN0cmVhbXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFN0cmVhbXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRTdHJlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXZlbnRTdHJlYW1OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmVudC10cmlnZ2VycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUV2ZW50VHJpZ2dlcnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50VHJpZ2dlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2ZW50VHJpZ2dlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmVudC10cmlnZ2VycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUV2ZW50VHJpZ2dlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRUcmlnZ2VyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50VHJpZ2dlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGludGVncmF0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUludGVncmF0aW9uc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXJpIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1cmk6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbnRlZ3JhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXJpIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXJpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsYXlvdXRzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlTGF5b3V0c0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGF5b3V0RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxheW91dERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGF5b3V0cyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUxheW91dHNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGF5b3V0RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYXlvdXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb2JqZWN0LXR5cGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlT2JqZWN0VHlwZXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE9iamVjdFR5cGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvYmplY3RUeXBlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZU9iamVjdFR5cGVzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE9iamVjdFR5cGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlY29tbWVuZGVyLWZpbHRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGVyRmlsdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJGaWx0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVjb21tZW5kZXItZmlsdGVycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVJlY29tbWVuZGVyRmlsdGVyc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlckZpbHRlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRlckZpbHRlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGVyU2NoZW1hTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJTY2hlbWFOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVjb21tZW5kZXItc2NoZW1hcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVJlY29tbWVuZGVyU2NoZW1hc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlclNjaGVtYU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRlclNjaGVtYU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlY29tbWVuZGVycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVJlY29tbWVuZGVyc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJUeXBlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVJlY29tbWVuZGVyc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlclR5cGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJUeXBlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VnbWVudC1kZWZpbml0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VnbWVudERlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZWdtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZWdtZW50LWRlZmluaXRpb25zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlU2VnbWVudERlZmluaXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlZ21lbnREZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlZ21lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG5jb25zdCBDYWxjdWxhdGVkQXR0cmlidXRlc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9jYWxjdWxhdGVkLWF0dHJpYnV0ZXNcXC8oPzxjYWxjdWxhdGVkQXR0cmlidXRlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluT2JqZWN0VHlwZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvZG9tYWluLW9iamVjdC10eXBlc1xcLyg/PG9iamVjdFR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBEb21haW5zQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXZlbnRTdHJlYW1zQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2V2ZW50LXN0cmVhbXNcXC8oPzxldmVudFN0cmVhbU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV2ZW50VHJpZ2dlcnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvZXZlbnQtdHJpZ2dlcnNcXC8oPzxldmVudFRyaWdnZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbnRlZ3JhdGlvbnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvaW50ZWdyYXRpb25zXFwvKD88dXJpPlteOi8/XSspJC87XG5jb25zdCBMYXlvdXRzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2xheW91dHNcXC8oPzxsYXlvdXREZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgT2JqZWN0VHlwZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvb2JqZWN0LXR5cGVzXFwvKD88b2JqZWN0VHlwZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGVyRmlsdGVyc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9yZWNvbW1lbmRlci1maWx0ZXJzXFwvKD88cmVjb21tZW5kZXJGaWx0ZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRlclNjaGVtYXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvcmVjb21tZW5kZXItc2NoZW1hc1xcLyg/PHJlY29tbWVuZGVyU2NoZW1hTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kZXJzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL3JlY29tbWVuZGVyc1xcLyg/PHJlY29tbWVuZGVyVHlwZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlZ21lbnREZWZpbml0aW9uc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9zZWdtZW50LWRlZmluaXRpb25zXFwvKD88c2VnbWVudERlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgcHJvZmlsZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9maWxlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2FsY3VsYXRlZEF0dHJpYnV0ZXMoXG5cdFx0cHJvcHM6IFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2NhbGN1bGF0ZWQtYXR0cmlidXRlcy8ke3Byb3BzLmNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENhbGN1bGF0ZWRBdHRyaWJ1dGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENhbGN1bGF0ZWRBdHRyaWJ1dGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNhbGN1bGF0ZWQtYXR0cmlidXRlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDYWxjdWxhdGVkQXR0cmlidXRlc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZUNhbGN1bGF0ZWRBdHRyaWJ1dGVzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDYWxjdWxhdGVkQXR0cmlidXRlc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0Y2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWU6IG1hdGNoLmdyb3VwcyEuY2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZG9tYWluLW9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21haW5PYmplY3RUeXBlcyhwcm9wczogUHJvZmlsZURvbWFpbk9iamVjdFR5cGVzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2RvbWFpbi1vYmplY3QtdHlwZXMvJHtwcm9wcy5vYmplY3RUeXBlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9tYWluLW9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9tYWluT2JqZWN0VHlwZXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluT2JqZWN0VHlwZXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9tYWluLW9iamVjdC10eXBlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21haW5PYmplY3RUeXBlc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZURvbWFpbk9iamVjdFR5cGVzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb21haW5PYmplY3RUeXBlc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW4tb2JqZWN0LXR5cGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdG9iamVjdFR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLm9iamVjdFR5cGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWlucyhwcm9wczogUHJvZmlsZURvbWFpbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9tYWlucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9tYWluc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21haW5zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVEb21haW5zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb21haW5zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvbWFpbnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV2ZW50LXN0cmVhbXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZlbnRTdHJlYW1zKHByb3BzOiBQcm9maWxlRXZlbnRTdHJlYW1zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2V2ZW50LXN0cmVhbXMvJHtwcm9wcy5ldmVudFN0cmVhbU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2ZW50LXN0cmVhbXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2ZW50U3RyZWFtc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmVudFN0cmVhbXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZlbnQtc3RyZWFtcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmVudFN0cmVhbXNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlRXZlbnRTdHJlYW1zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFN0cmVhbXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXZlbnQtc3RyZWFtcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRldmVudFN0cmVhbU5hbWU6IG1hdGNoLmdyb3VwcyEuZXZlbnRTdHJlYW1OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV2ZW50LXRyaWdnZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50VHJpZ2dlcnMocHJvcHM6IFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2V2ZW50LXRyaWdnZXJzLyR7cHJvcHMuZXZlbnRUcmlnZ2VyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXZlbnQtdHJpZ2dlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2ZW50VHJpZ2dlcnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRUcmlnZ2Vyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBldmVudC10cmlnZ2VycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmVudFRyaWdnZXJzQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZUV2ZW50VHJpZ2dlcnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2ZW50VHJpZ2dlcnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXZlbnQtdHJpZ2dlcnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0ZXZlbnRUcmlnZ2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5ldmVudFRyaWdnZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGludGVncmF0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbnRlZ3JhdGlvbnMocHJvcHM6IFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vaW50ZWdyYXRpb25zLyR7cHJvcHMudXJpfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbnRlZ3JhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEludGVncmF0aW9uc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnRlZ3JhdGlvbnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW50ZWdyYXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUludGVncmF0aW9uc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEludGVncmF0aW9uc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlZ3JhdGlvbnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0dXJpOiBtYXRjaC5ncm91cHMhLnVyaSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsYXlvdXRzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxheW91dHMocHJvcHM6IFByb2ZpbGVMYXlvdXRzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2xheW91dHMvJHtwcm9wcy5sYXlvdXREZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGF5b3V0cyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGF5b3V0c0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMYXlvdXRzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxheW91dHMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGF5b3V0c0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVMYXlvdXRzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYXlvdXRzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxheW91dHMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0bGF5b3V0RGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEubGF5b3V0RGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb2JqZWN0LXR5cGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9iamVjdFR5cGVzKHByb3BzOiBQcm9maWxlT2JqZWN0VHlwZXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vb2JqZWN0LXR5cGVzLyR7cHJvcHMub2JqZWN0VHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT2JqZWN0VHlwZXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT2JqZWN0VHlwZXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb2JqZWN0LXR5cGVzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZU9iamVjdFR5cGVzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPYmplY3RUeXBlc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvYmplY3QtdHlwZXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0b2JqZWN0VHlwZU5hbWU6IG1hdGNoLmdyb3VwcyEub2JqZWN0VHlwZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kZXItZmlsdGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRlckZpbHRlcnMocHJvcHM6IFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vcmVjb21tZW5kZXItZmlsdGVycy8ke3Byb3BzLnJlY29tbWVuZGVyRmlsdGVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kZXItZmlsdGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJGaWx0ZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyRmlsdGVyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlci1maWx0ZXJzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGVyRmlsdGVyc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVJlY29tbWVuZGVyRmlsdGVyc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJGaWx0ZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVyLWZpbHRlcnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0cmVjb21tZW5kZXJGaWx0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyRmlsdGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRlci1zY2hlbWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY29tbWVuZGVyU2NoZW1hcyhwcm9wczogUHJvZmlsZVJlY29tbWVuZGVyU2NoZW1hc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9yZWNvbW1lbmRlci1zY2hlbWFzLyR7cHJvcHMucmVjb21tZW5kZXJTY2hlbWFOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZWNvbW1lbmRlci1zY2hlbWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvbW1lbmRlclNjaGVtYXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb21tZW5kZXJTY2hlbWFzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQcm9maWxlUmVjb21tZW5kZXJTY2hlbWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvbW1lbmRlclNjaGVtYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVjb21tZW5kZXItc2NoZW1hcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRyZWNvbW1lbmRlclNjaGVtYU5hbWU6IG1hdGNoLmdyb3VwcyEucmVjb21tZW5kZXJTY2hlbWFOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRlcnMocHJvcHM6IFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vcmVjb21tZW5kZXJzLyR7cHJvcHMucmVjb21tZW5kZXJUeXBlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvbW1lbmRlcnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb21tZW5kZXJzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlY29tbWVuZGVycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRlcnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlUmVjb21tZW5kZXJzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvbW1lbmRlcnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVjb21tZW5kZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHJlY29tbWVuZGVyVHlwZU5hbWU6IG1hdGNoLmdyb3VwcyEucmVjb21tZW5kZXJUeXBlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZWdtZW50LWRlZmluaXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlZ21lbnREZWZpbml0aW9ucyhwcm9wczogUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9zZWdtZW50LWRlZmluaXRpb25zLyR7cHJvcHMuc2VnbWVudERlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZWdtZW50LWRlZmluaXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZWdtZW50RGVmaW5pdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VnbWVudERlZmluaXRpb25zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VnbWVudERlZmluaXRpb25zQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQcm9maWxlU2VnbWVudERlZmluaXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZWdtZW50RGVmaW5pdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VnbWVudC1kZWZpbml0aW9ucyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRzZWdtZW50RGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuc2VnbWVudERlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHByb2ZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9maWxlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFByb2ZpbGVLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRQcm9maWxlS2V5OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6QWRkUHJvZmlsZUtleVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0UHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UHJvZmlsZTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkJhdGNoR2V0UHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRQcm9maWxlT2JqZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlRG9tYWluXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbkxheW91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbkxheW91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZURvbWFpbkxheW91dFwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFdmVudFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50U3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlRXZlbnRTdHJlYW1cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnRUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRUcmlnZ2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlRXZlbnRUcmlnZ2VyXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUludGVncmF0aW9uV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvd1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9maWxlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6Q3JlYXRlUHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvbW1lbmRlckZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlZ21lbnREZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudERlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVTZWdtZW50RGVmaW5pdGlvblwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZWdtZW50RXN0aW1hdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50RXN0aW1hdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVTZWdtZW50RXN0aW1hdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VnbWVudFNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudFNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudFNuYXBzaG90XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXBsb2FkSm9iOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6Q3JlYXRlVXBsb2FkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVEb21haW5MYXlvdXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbk9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5PYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlRG9tYWluT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmVudFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50U3RyZWFtOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlRXZlbnRTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZUV2ZW50VHJpZ2dlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZUludGVncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2ZpbGVLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlS2V5OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlUHJvZmlsZUtleVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvZmlsZU9iamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2ZpbGVPYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29tbWVuZGVyRmlsdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXJGaWx0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlckZpbHRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvbW1lbmRlclNjaGVtYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyU2NoZW1hOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJTY2hlbWFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VnbWVudERlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZWdtZW50RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZVNlZ21lbnREZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2Zsb3c6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVXb3JrZmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0UHJvZmlsZU9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RQcm9maWxlT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRldGVjdFByb2ZpbGVPYmplY3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9NZXJnaW5nUHJldmlldyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b01lcmdpbmdQcmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0QXV0b01lcmdpbmdQcmV2aWV3XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9tYWluOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0RG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbkxheW91dDogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldERvbWFpbkxheW91dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9tYWluT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldERvbWFpbk9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50U3RyZWFtOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0RXZlbnRTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RXZlbnRUcmlnZ2VyOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0RXZlbnRUcmlnZ2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJZGVudGl0eVJlc29sdXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldElkZW50aXR5UmVzb2x1dGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldElkZW50aXR5UmVzb2x1dGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnRlZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRJbnRlZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWF0Y2hlczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldE1hdGNoZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVIaXN0b3J5UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlSGlzdG9yeVJlY29yZDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVPYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRlckZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZXJGaWx0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlckZpbHRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRlclNjaGVtYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZXJTY2hlbWE6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlclNjaGVtYVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWdtZW50RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VnbWVudERlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWdtZW50RXN0aW1hdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnRFc3RpbWF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldFNlZ21lbnRFc3RpbWF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWdtZW50TWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VnbWVudE1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50TWVtYmVyc2hpcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWdtZW50U25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnRTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldFNlZ21lbnRTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTaW1pbGFyUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNpbWlsYXJQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldFNpbWlsYXJQcm9maWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRVcGxvYWRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVwbG9hZEpvYjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFVwbG9hZEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXBsb2FkSm9iUGF0aCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VXBsb2FkSm9iUGF0aDogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFVwbG9hZEpvYlBhdGhcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRXb3JrZmxvdzogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvd1N0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRXb3JrZmxvd1N0ZXBzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0V29ya2Zsb3dTdGVwc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RBY2NvdW50SW50ZWdyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpbkxheW91dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluTGF5b3V0czogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3REb21haW5MYXlvdXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9tYWluT2JqZWN0VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluT2JqZWN0VHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0VHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRTdHJlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50U3RyZWFtczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RFdmVudFN0cmVhbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFdmVudFRyaWdnZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50VHJpZ2dlcnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RXZlbnRUcmlnZ2Vyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnRlZ3JhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZWdyYXRpb25zOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdEludGVncmF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPYmplY3RUeXBlQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPYmplY3RUeXBlQXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZmlsZU9iamVjdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RUeXBlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVPYmplY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFByb2ZpbGVPYmplY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kZXJGaWx0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyRmlsdGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlckZpbHRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVyUmVjaXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlclJlY2lwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJSZWNpcGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRlclNjaGVtYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyU2NoZW1hc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdWxlQmFzZWRNYXRjaGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bGVCYXNlZE1hdGNoZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UnVsZUJhc2VkTWF0Y2hlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VnbWVudERlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlZ21lbnREZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RTZWdtZW50RGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RVcGxvYWRKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVwbG9hZEpvYnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0VXBsb2FkSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd3M6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0V29ya2Zsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNZXJnZVByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVyZ2VQcm9maWxlczogc3RyaW5nW10gPSBbXCJwcm9maWxlOk1lcmdlUHJvZmlsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dERvbWFpbk9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREb21haW5PYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6UHV0RG9tYWluT2JqZWN0VHlwZVwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRJbnRlZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6UHV0SW50ZWdyYXRpb25cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UHJvZmlsZU9iamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVPYmplY3Q6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVPYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFR5cGVcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQcm9maWxlczogc3RyaW5nW10gPSBbXCJwcm9maWxlOlNlYXJjaFByb2ZpbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlN0YXJ0UmVjb21tZW5kZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0VXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdGFydFVwbG9hZEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlY29tbWVuZGVyOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6U3RvcFJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFVwbG9hZEpvYjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlN0b3BVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6VXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVcGRhdGVEb21haW5MYXlvdXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVcGRhdGVQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29tbWVuZGVyOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlUmVjb21tZW5kZXJcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBwcm9maWxlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
1133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0FnWEM7OztBQS9XQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCwyREFBMkQ7QUFDM0Msb0RBQXFDLEdBQ3BELCtDQUErQyxDQUFDO0FBQ2pELHFDQUFxQztBQUNyQiw4QkFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELDBEQUEwRDtBQUMxQyxrREFBbUMsR0FDbEQsNkNBQTZDLENBQUM7QUFDL0MsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLDhDQUE4QztBQUM5QixzQ0FBdUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM1RSw4Q0FBOEM7QUFDOUIsc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUs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TSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDOztBQTdDRiw4Q0E4Q0M7OztBQTdDQSx1RUFBdUU7QUFDdkQsc0RBQW9DLEdBQWE7SUFDaEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELHNEQUFvQyxHQUFhO0lBQ2hFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywwQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNENBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsaUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsa0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDhCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvcHJvZmlsZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgcHJvZmlsZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJwcm9maWxlXCI7XG5cblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpBZGRQcm9maWxlS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRQcm9maWxlS2V5ID0gXCJwcm9maWxlOkFkZFByb2ZpbGVLZXlcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpCYXRjaEdldFByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UHJvZmlsZSA9IFwicHJvZmlsZTpCYXRjaEdldFByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJwcm9maWxlOkNyZWF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOkNyZWF0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN0cmVhbSA9IFwicHJvZmlsZTpDcmVhdGVFdmVudFN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uV29ya2Zsb3cgPVxuXHRcdFwicHJvZmlsZTpDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZmlsZSA9IFwicHJvZmlsZTpDcmVhdGVQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnREZWZpbml0aW9uID0gXCJwcm9maWxlOkNyZWF0ZVNlZ21lbnREZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50RXN0aW1hdGUgPSBcInByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50U25hcHNob3QgPSBcInByb2ZpbGU6Q3JlYXRlU2VnbWVudFNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNuYXBzaG90ID0gXCJwcm9maWxlOkNyZWF0ZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlVXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVcGxvYWRKb2IgPSBcInByb2ZpbGU6Q3JlYXRlVXBsb2FkSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uID1cblx0XHRcInByb2ZpbGU6RGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbiA9IFwicHJvZmlsZTpEZWxldGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW5MYXlvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbkxheW91dCA9IFwicHJvZmlsZTpEZWxldGVEb21haW5MYXlvdXRcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVFdmVudFN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRTdHJlYW0gPSBcInByb2ZpbGU6RGVsZXRlRXZlbnRTdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50VHJpZ2dlciA9IFwicHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb24gPSBcInByb2ZpbGU6RGVsZXRlSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlS2V5ID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXlcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0ID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVPYmplY3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXIgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlckZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXJGaWx0ZXIgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlclNjaGVtYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJTY2hlbWFcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudERlZmluaXRpb24gPSBcInByb2ZpbGU6RGVsZXRlU2VnbWVudERlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2Zsb3cgPSBcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkRldGVjdFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0QXV0b01lcmdpbmdQcmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvTWVyZ2luZ1ByZXZpZXcgPSBcInByb2ZpbGU6R2V0QXV0b01lcmdpbmdQcmV2aWV3XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlID1cblx0XHRcInByb2ZpbGU6R2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9tYWluID0gXCJwcm9maWxlOkdldERvbWFpblwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RG9tYWluTGF5b3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5MYXlvdXQgPSBcInByb2ZpbGU6R2V0RG9tYWluTGF5b3V0XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXREb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOkdldERvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldEV2ZW50U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudFN0cmVhbSA9IFwicHJvZmlsZTpHZXRFdmVudFN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RXZlbnRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudFRyaWdnZXIgPSBcInByb2ZpbGU6R2V0RXZlbnRUcmlnZ2VyXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRJZGVudGl0eVJlc29sdXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldElkZW50aXR5UmVzb2x1dGlvbkpvYiA9XG5cdFx0XCJwcm9maWxlOkdldElkZW50aXR5UmVzb2x1dGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0SW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludGVncmF0aW9uID0gXCJwcm9maWxlOkdldEludGVncmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpHZXRNYXRjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXRjaGVzID0gXCJwcm9maWxlOkdldE1hdGNoZXNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyA9XG5cdFx0XCJwcm9maWxlOkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZUhpc3RvcnlSZWNvcmQgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UHJvZmlsZUluc2lnaHRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlSW5zaWdodHMgPSBcInByb2ZpbGU6R2V0UHJvZmlsZUluc2lnaHRzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGUgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlUmVjb21tZW5kYXRpb25zID1cblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZVJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGVyID0gXCJwcm9maWxlOkdldFJlY29tbWVuZGVyXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRSZWNvbW1lbmRlckZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kZXJGaWx0ZXIgPSBcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJGaWx0ZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFJlY29tbWVuZGVyU2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvbW1lbmRlclNjaGVtYSA9IFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlclNjaGVtYVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnREZWZpbml0aW9uID0gXCJwcm9maWxlOkdldFNlZ21lbnREZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRFc3RpbWF0ZSA9IFwicHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNlZ21lbnRNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWdtZW50TWVtYmVyc2hpcCA9IFwicHJvZmlsZTpHZXRTZWdtZW50TWVtYmVyc2hpcFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWdtZW50U25hcHNob3QgPSBcInByb2ZpbGU6R2V0U2VnbWVudFNuYXBzaG90XCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyA9IFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTbmFwc2hvdCA9IFwicHJvZmlsZTpHZXRTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0VXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVcGxvYWRKb2IgPSBcInByb2ZpbGU6R2V0VXBsb2FkSm9iXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRVcGxvYWRKb2JQYXRoICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVcGxvYWRKb2JQYXRoID0gXCJwcm9maWxlOkdldFVwbG9hZEpvYlBhdGhcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrZmxvdyA9IFwicHJvZmlsZTpHZXRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0V29ya2Zsb3dTdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2Zsb3dTdGVwcyA9IFwicHJvZmlsZTpHZXRXb3JrZmxvd1N0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnMgPSBcInByb2ZpbGU6TGlzdEFjY291bnRJbnRlZ3JhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMgPVxuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlID1cblx0XHRcInByb2ZpbGU6TGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZVwiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbkxheW91dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5MYXlvdXRzID0gXCJwcm9maWxlOkxpc3REb21haW5MYXlvdXRzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0VHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5PYmplY3RUeXBlcyA9IFwicHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3REb21haW5PYmplY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluT2JqZWN0cyA9IFwicHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0c1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zID0gXCJwcm9maWxlOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RXZlbnRTdHJlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRTdHJlYW1zID0gXCJwcm9maWxlOkxpc3RFdmVudFN0cmVhbXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RFdmVudFRyaWdnZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRUcmlnZ2VycyA9IFwicHJvZmlsZTpMaXN0RXZlbnRUcmlnZ2Vyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzID1cblx0XHRcInByb2ZpbGU6TGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RJbnRlZ3JhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlZ3JhdGlvbnMgPSBcInByb2ZpbGU6TGlzdEludGVncmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzID1cblx0XHRcInByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzID0gXCJwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzID1cblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgPVxuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyA9XG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVPYmplY3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RUeXBlcyA9IFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0cyA9IFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlckZpbHRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlckZpbHRlcnMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyRmlsdGVyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVyUmVjaXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyUmVjaXBlcyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJSZWNpcGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UmVjb21tZW5kZXJTY2hlbWFzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzID0gXCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlcnMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlQmFzZWRNYXRjaGVzID0gXCJwcm9maWxlOkxpc3RSdWxlQmFzZWRNYXRjaGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0U2VnbWVudERlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VnbWVudERlZmluaXRpb25zID0gXCJwcm9maWxlOkxpc3RTZWdtZW50RGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFVwbG9hZEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzID0gXCJwcm9maWxlOkxpc3RVcGxvYWRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0V29ya2Zsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzID0gXCJwcm9maWxlOkxpc3RXb3JrZmxvd3NcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpNZXJnZVByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVByb2ZpbGVzID0gXCJwcm9maWxlOk1lcmdlUHJvZmlsZXNcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXREb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW50ZWdyYXRpb24gPSBcInByb2ZpbGU6UHV0SW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0ID0gXCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOlNlYXJjaFByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQcm9maWxlcyA9IFwicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0UmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXIgPSBcInByb2ZpbGU6U3RhcnRSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0VXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFVwbG9hZEpvYiA9IFwicHJvZmlsZTpTdGFydFVwbG9hZEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlY29tbWVuZGVyID0gXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2IgPSBcInByb2ZpbGU6U3RvcFVwbG9hZEpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIHByb2ZpbGU6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcHJvZmlsZTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2ZpbGUgPSBcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpVcGRhdGVSZWNvbW1lbmRlclwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQmF0Y2hHZXRQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRldGVjdFByb2ZpbGVPYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldEF1dG9NZXJnaW5nUHJldmlldyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXREb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldERvbWFpbk9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRTdHJlYW0sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRUcmlnZ2VyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldElkZW50aXR5UmVzb2x1dGlvbkpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSGlzdG9yeVJlY29yZCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSW5zaWdodHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlUmVjb21tZW5kYXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyRmlsdGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyU2NoZW1hLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnREZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnRFc3RpbWF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50TWVtYmVyc2hpcCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0VXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFVwbG9hZEpvYlBhdGgsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3csXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3dTdGVwcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlNlYXJjaFByb2ZpbGVzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLkFkZFByb2ZpbGVLZXksXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlRG9tYWluLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZURvbWFpbkxheW91dCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVFdmVudFN0cmVhbSxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVFdmVudFRyaWdnZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdyxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnREZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnRFc3RpbWF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVTZWdtZW50U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlVXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZURvbWFpbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVEb21haW5MYXlvdXQsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlRG9tYWluT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVFdmVudFN0cmVhbSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVFdmVudFRyaWdnZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlSW50ZWdyYXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlS2V5LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZVByb2ZpbGVPYmplY3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXJGaWx0ZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlU2VnbWVudERlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlV29ya2Zsb3csXG5cdFx0UHJvZmlsZUFjdGlvbnMuTWVyZ2VQcm9maWxlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5QdXREb21haW5PYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dEludGVncmF0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dFByb2ZpbGVPYmplY3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuUHV0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RhcnRSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5TdGFydFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5TdG9wUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RvcFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVEb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuVXBkYXRlRG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZVJlY29tbWVuZGVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRNYXRjaGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0QWNjb3VudEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbkxheW91dHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbk9iamVjdFR5cGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5PYmplY3RzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RFdmVudFN0cmVhbXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEV2ZW50VHJpZ2dlcnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVPYmplY3RUeXBlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVyRmlsdGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UmVjb21tZW5kZXJSZWNpcGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RSZWNvbW1lbmRlclNjaGVtYXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UnVsZUJhc2VkTWF0Y2hlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0U2VnbWVudERlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RVcGxvYWRKb2JzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RXb3JrZmxvd3MsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWxjdWxhdGVkQXR0cmlidXRlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluLW9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbk9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb21haW4tb2JqZWN0LXR5cGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRG9tYWluT2JqZWN0VHlwZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgT2JqZWN0VHlwZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvYmplY3RUeXBlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWlucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVEb21haW5zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtc3RyZWFtcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRTdHJlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmVudC1zdHJlYW1zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRXZlbnRTdHJlYW1zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50U3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50U3RyZWFtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudFRyaWdnZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50VHJpZ2dlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbnRlZ3JhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW50ZWdyYXRpb25zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVyaTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGF5b3V0cyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUxheW91dHNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYXlvdXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxheW91dHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVMYXlvdXRzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGF5b3V0RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvYmplY3QtdHlwZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9iamVjdFR5cGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1maWx0ZXJzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlckZpbHRlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyRmlsdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLWZpbHRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJGaWx0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJGaWx0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJTY2hlbWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlclNjaGVtYU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyU2NoZW1hTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJTY2hlbWFOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJTY2hlbWFOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGVyVHlwZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlZ21lbnREZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VnbWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VnbWVudC1kZWZpbml0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZWdtZW50RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZWdtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvY2FsY3VsYXRlZC1hdHRyaWJ1dGVzXFwvKD88Y2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2RvbWFpbi1vYmplY3QtdHlwZXNcXC8oPzxvYmplY3RUeXBlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV2ZW50U3RyZWFtc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9ldmVudC1zdHJlYW1zXFwvKD88ZXZlbnRTdHJlYW1OYW1lPlteOi8/XSspJC87XG5jb25zdCBFdmVudFRyaWdnZXJzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2V2ZW50LXRyaWdnZXJzXFwvKD88ZXZlbnRUcmlnZ2VyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW50ZWdyYXRpb25zQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2ludGVncmF0aW9uc1xcLyg/PHVyaT5bXjovP10rKSQvO1xuY29uc3QgTGF5b3V0c0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9sYXlvdXRzXFwvKD88bGF5b3V0RGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL29iamVjdC10eXBlc1xcLyg/PG9iamVjdFR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvcmVjb21tZW5kZXItZmlsdGVyc1xcLyg/PHJlY29tbWVuZGVyRmlsdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL3JlY29tbWVuZGVyLXNjaGVtYXNcXC8oPzxyZWNvbW1lbmRlclNjaGVtYU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGVyc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9yZWNvbW1lbmRlcnNcXC8oPzxyZWNvbW1lbmRlclR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZWdtZW50RGVmaW5pdGlvbnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvc2VnbWVudC1kZWZpbml0aW9uc1xcLyg/PHNlZ21lbnREZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHByb2ZpbGUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNhbGN1bGF0ZWRBdHRyaWJ1dGVzKFxuXHRcdHByb3BzOiBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9jYWxjdWxhdGVkLWF0dHJpYnV0ZXMvJHtwcm9wcy5jYWxjdWxhdGVkQXR0cmlidXRlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYWxjdWxhdGVkQXR0cmlidXRlc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDYWxjdWxhdGVkQXR0cmlidXRlc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBtYXRjaC5ncm91cHMhLmNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluT2JqZWN0VHlwZXMocHJvcHM6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9kb21haW4tb2JqZWN0LXR5cGVzLyR7cHJvcHMub2JqZWN0VHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbk9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbi1vYmplY3QtdHlwZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluT2JqZWN0VHlwZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9tYWluLW9iamVjdC10eXBlcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRvYmplY3RUeXBlTmFtZTogbWF0Y2guZ3JvdXBzIS5vYmplY3RUeXBlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW5zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbnMocHJvcHM6IFByb2ZpbGVEb21haW5zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb21haW5zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlRG9tYWluc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW5zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50U3RyZWFtcyhwcm9wczogUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC1zdHJlYW1zLyR7cHJvcHMuZXZlbnRTdHJlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFN0cmVhbXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRTdHJlYW1zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2ZW50LXN0cmVhbXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRTdHJlYW1zQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZUV2ZW50U3RyZWFtc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZlbnRTdHJlYW1zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXN0cmVhbXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0ZXZlbnRTdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLmV2ZW50U3RyZWFtTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC10cmlnZ2VycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBldmVudFRyaWdnZXJzKHByb3BzOiBQcm9maWxlRXZlbnRUcmlnZ2Vyc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC10cmlnZ2Vycy8ke3Byb3BzLmV2ZW50VHJpZ2dlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2ZW50LXRyaWdnZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFRyaWdnZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2ZW50VHJpZ2dlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZlbnQtdHJpZ2dlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRUcmlnZ2Vyc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFRyaWdnZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXRyaWdnZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGV2ZW50VHJpZ2dlck5hbWU6IG1hdGNoLmdyb3VwcyEuZXZlbnRUcmlnZ2VyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnRlZ3JhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZWdyYXRpb25zKHByb3BzOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2ludGVncmF0aW9ucy8ke3Byb3BzLnVyaX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW50ZWdyYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW50ZWdyYXRpb25zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGludGVncmF0aW9ucyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnRlZ3JhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZWdyYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHVyaTogbWF0Y2guZ3JvdXBzIS51cmksXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGF5b3V0cyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYXlvdXRzKHByb3BzOiBQcm9maWxlTGF5b3V0c0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9sYXlvdXRzLyR7cHJvcHMubGF5b3V0RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxheW91dHMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGF5b3V0c0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsYXlvdXRzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlTGF5b3V0c0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGF5b3V0c0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYXlvdXRzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGxheW91dERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmxheW91dERlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvYmplY3RUeXBlcyhwcm9wczogUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L29iamVjdC10eXBlcy8ke3Byb3BzLm9iamVjdFR5cGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9iamVjdC10eXBlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPYmplY3RUeXBlc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb2JqZWN0LXR5cGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdG9iamVjdFR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLm9iamVjdFR5cGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJGaWx0ZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVyLWZpbHRlcnMvJHtwcm9wcy5yZWNvbW1lbmRlckZpbHRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY29tbWVuZGVyRmlsdGVyc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVjb21tZW5kZXItZmlsdGVycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRlckZpbHRlcnNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY29tbWVuZGVyRmlsdGVyc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWNvbW1lbmRlci1maWx0ZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHJlY29tbWVuZGVyRmlsdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5yZWNvbW1lbmRlckZpbHRlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRlclNjaGVtYXMocHJvcHM6IFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vcmVjb21tZW5kZXItc2NoZW1hcy8ke3Byb3BzLnJlY29tbWVuZGVyU2NoZW1hTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJTY2hlbWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyU2NoZW1hc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGVyU2NoZW1hc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVJlY29tbWVuZGVyU2NoZW1hc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0cmVjb21tZW5kZXJTY2hlbWFOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyU2NoZW1hTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVycy8ke3Byb3BzLnJlY29tbWVuZGVyVHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZVJlY29tbWVuZGVyc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVycyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRyZWNvbW1lbmRlclR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyVHlwZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZWdtZW50RGVmaW5pdGlvbnMocHJvcHM6IFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vc2VnbWVudC1kZWZpbml0aW9ucy8ke3Byb3BzLnNlZ21lbnREZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VnbWVudERlZmluaXRpb25zQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlZ21lbnREZWZpbml0aW9uc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZWdtZW50LWRlZmluaXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlZ21lbnREZWZpbml0aW9uc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VnbWVudERlZmluaXRpb25zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0c2VnbWVudERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLnNlZ21lbnREZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBwcm9maWxlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkFkZFByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6QmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpCYXRjaEdldFByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUHV0UHJvZmlsZU9iamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUHV0UHJvZmlsZU9iamVjdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZURvbWFpblwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVEb21haW5MYXlvdXRcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlclwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3dcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZmlsZTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlckZpbHRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWE6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclNjaGVtYVwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZWdtZW50RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb25cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudEVzdGltYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlZ21lbnRTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnRTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVNlZ21lbnRTbmFwc2hvdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwbG9hZEpvYjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVVwbG9hZEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZUV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvbW1lbmRlckZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlclNjaGVtYTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyU2NoZW1hXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlZ21lbnREZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudERlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdFByb2ZpbGVPYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvTWVyZ2luZ1ByZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9NZXJnaW5nUHJldmlldzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldEF1dG9NZXJnaW5nUHJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldERvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXREb21haW5MYXlvdXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbk9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbk9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXREb21haW5PYmplY3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2ZW50U3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50VHJpZ2dlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJZGVudGl0eVJlc29sdXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRJZGVudGl0eVJlc29sdXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0SW50ZWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hdGNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hdGNoZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRNYXRjaGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlSGlzdG9yeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZUhpc3RvcnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZVJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyU2NoZW1hOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJTY2hlbWFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudERlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50RXN0aW1hdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudE1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnRNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudE1lbWJlcnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudFNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2ltaWxhclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaW1pbGFyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFVwbG9hZEpvYlBhdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVwbG9hZEpvYlBhdGg6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JQYXRoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRXb3JrZmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2Zsb3dTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3dTdGVwczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFdvcmtmbG93U3RlcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5MYXlvdXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbkxheW91dHM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluTGF5b3V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpbk9iamVjdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbk9iamVjdFR5cGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdERvbWFpbk9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFN0cmVhbXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RXZlbnRTdHJlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFRyaWdnZXJzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdEV2ZW50VHJpZ2dlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RJbnRlZ3JhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVPYmplY3RUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlT2JqZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0czogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVyRmlsdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlckZpbHRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJGaWx0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRlclJlY2lwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJSZWNpcGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyUmVjaXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyU2NoZW1hczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlcnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UnVsZUJhc2VkTWF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlQmFzZWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlZ21lbnREZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50RGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0U2VnbWVudERlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXBsb2FkSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFVwbG9hZEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZmxvd3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFdvcmtmbG93c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWVyZ2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1lcmdlUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpNZXJnZVByb2ZpbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dEludGVncmF0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UHJvZmlsZU9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RUeXBlXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaFByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdGFydFJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VXBsb2FkSm9iOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6U3RhcnRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdG9wVXBsb2FkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVcGRhdGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9maWxlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcHJvZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19