@cdk_utils/iam 1.21.0 → 1.23.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 (466) hide show
  1. package/.jsii +5378 -4374
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.d.ts +32 -0
  15. package/lib/generated/services/aidevops.js +71 -5
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +5 -6
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.d.ts +6 -0
  60. package/lib/generated/services/batch.js +14 -5
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.d.ts +51 -0
  66. package/lib/generated/services/bedrock-agentcore.js +67 -9
  67. package/lib/generated/services/bedrock-mantle.js +3 -3
  68. package/lib/generated/services/bedrock-websearch.js +2 -2
  69. package/lib/generated/services/bedrock.js +4 -4
  70. package/lib/generated/services/billing.js +4 -4
  71. package/lib/generated/services/billingconductor.js +4 -4
  72. package/lib/generated/services/braket.js +4 -4
  73. package/lib/generated/services/budgets.js +4 -4
  74. package/lib/generated/services/bugbust.js +3 -3
  75. package/lib/generated/services/cases.js +4 -4
  76. package/lib/generated/services/cassandra.js +4 -4
  77. package/lib/generated/services/ce.js +4 -4
  78. package/lib/generated/services/chatbot.js +4 -4
  79. package/lib/generated/services/chime.js +25 -15
  80. package/lib/generated/services/cleanrooms-ml.js +4 -4
  81. package/lib/generated/services/cleanrooms.js +4 -4
  82. package/lib/generated/services/cloud9.js +4 -4
  83. package/lib/generated/services/clouddirectory.js +3 -3
  84. package/lib/generated/services/cloudformation.js +4 -4
  85. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  86. package/lib/generated/services/cloudfront.js +4 -4
  87. package/lib/generated/services/cloudhsm.js +4 -4
  88. package/lib/generated/services/cloudsearch.js +3 -3
  89. package/lib/generated/services/cloudshell.js +3 -3
  90. package/lib/generated/services/cloudtrail-data.js +4 -4
  91. package/lib/generated/services/cloudtrail.js +4 -4
  92. package/lib/generated/services/cloudwatch.js +4 -4
  93. package/lib/generated/services/codeartifact.js +4 -4
  94. package/lib/generated/services/codebuild.js +4 -4
  95. package/lib/generated/services/codecatalyst.js +4 -4
  96. package/lib/generated/services/codecommit.js +4 -4
  97. package/lib/generated/services/codeconnections.js +4 -4
  98. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  99. package/lib/generated/services/codedeploy.js +4 -4
  100. package/lib/generated/services/codeguru-profiler.js +4 -4
  101. package/lib/generated/services/codeguru-reviewer.js +4 -4
  102. package/lib/generated/services/codeguru-security.js +4 -4
  103. package/lib/generated/services/codeguru.js +1 -1
  104. package/lib/generated/services/codepipeline.js +4 -4
  105. package/lib/generated/services/codestar-connections.js +4 -4
  106. package/lib/generated/services/codestar-notifications.js +4 -4
  107. package/lib/generated/services/codestar.js +3 -3
  108. package/lib/generated/services/codewhisperer.js +3 -3
  109. package/lib/generated/services/cognito-identity.js +4 -4
  110. package/lib/generated/services/cognito-idp.js +4 -4
  111. package/lib/generated/services/cognito-sync.js +3 -3
  112. package/lib/generated/services/comprehend.js +4 -4
  113. package/lib/generated/services/comprehendmedical.js +3 -3
  114. package/lib/generated/services/compute-optimizer.js +3 -3
  115. package/lib/generated/services/config.js +4 -4
  116. package/lib/generated/services/connect-campaigns.js +4 -4
  117. package/lib/generated/services/connect.d.ts +4 -0
  118. package/lib/generated/services/connect.js +19 -7
  119. package/lib/generated/services/consoleapp.js +2 -2
  120. package/lib/generated/services/consolidatedbilling.js +1 -1
  121. package/lib/generated/services/controlcatalog.js +3 -3
  122. package/lib/generated/services/controltower.js +4 -4
  123. package/lib/generated/services/cost-optimization-hub.js +2 -2
  124. package/lib/generated/services/cur.js +4 -4
  125. package/lib/generated/services/customer-verification.js +1 -1
  126. package/lib/generated/services/databrew.js +4 -4
  127. package/lib/generated/services/dataexchange.js +4 -4
  128. package/lib/generated/services/datapipeline.js +4 -4
  129. package/lib/generated/services/datasync.js +4 -4
  130. package/lib/generated/services/datazone.js +4 -4
  131. package/lib/generated/services/dax.js +4 -4
  132. package/lib/generated/services/dbqms.js +1 -1
  133. package/lib/generated/services/deadline.js +4 -4
  134. package/lib/generated/services/detective.js +4 -4
  135. package/lib/generated/services/devicefarm.js +4 -4
  136. package/lib/generated/services/devops-guru.js +4 -4
  137. package/lib/generated/services/directconnect.js +4 -4
  138. package/lib/generated/services/discovery.js +3 -3
  139. package/lib/generated/services/dlm.js +4 -4
  140. package/lib/generated/services/dms.js +4 -4
  141. package/lib/generated/services/docdb-elastic.js +4 -4
  142. package/lib/generated/services/drs.js +4 -4
  143. package/lib/generated/services/ds-data.js +4 -4
  144. package/lib/generated/services/ds.js +4 -4
  145. package/lib/generated/services/dsql.js +4 -4
  146. package/lib/generated/services/dynamodb.js +4 -4
  147. package/lib/generated/services/ebs.js +4 -4
  148. package/lib/generated/services/ec2-instance-connect.js +4 -4
  149. package/lib/generated/services/ec2.js +6 -6
  150. package/lib/generated/services/ec2messages.js +2 -2
  151. package/lib/generated/services/ecr-public.js +4 -4
  152. package/lib/generated/services/ecr.js +4 -4
  153. package/lib/generated/services/ecs-mcp.js +1 -1
  154. package/lib/generated/services/ecs.js +7 -5
  155. package/lib/generated/services/eks-auth.js +4 -4
  156. package/lib/generated/services/eks-mcp.js +1 -1
  157. package/lib/generated/services/eks.js +4 -4
  158. package/lib/generated/services/elasticache.js +4 -4
  159. package/lib/generated/services/elasticbeanstalk.js +4 -4
  160. package/lib/generated/services/elasticfilesystem.js +4 -4
  161. package/lib/generated/services/elasticloadbalancing.js +4 -4
  162. package/lib/generated/services/elasticmapreduce.js +4 -4
  163. package/lib/generated/services/elastictranscoder.js +2 -2
  164. package/lib/generated/services/elemental-activations.js +1 -1
  165. package/lib/generated/services/elemental-appliances-software.js +2 -2
  166. package/lib/generated/services/elemental-inference.js +4 -4
  167. package/lib/generated/services/elemental-support-cases.js +3 -3
  168. package/lib/generated/services/elemental-support-content.js +1 -1
  169. package/lib/generated/services/emr-containers.js +4 -4
  170. package/lib/generated/services/emr-serverless.js +4 -4
  171. package/lib/generated/services/entityresolution.js +4 -4
  172. package/lib/generated/services/es.js +4 -4
  173. package/lib/generated/services/events.js +4 -4
  174. package/lib/generated/services/eventsbilltoaws.js +3 -3
  175. package/lib/generated/services/evidently.js +3 -3
  176. package/lib/generated/services/evs.js +4 -4
  177. package/lib/generated/services/execute-api.js +4 -4
  178. package/lib/generated/services/finops-agent.js +1 -1
  179. package/lib/generated/services/finspace-api.js +3 -3
  180. package/lib/generated/services/finspace.js +4 -4
  181. package/lib/generated/services/firehose.js +4 -4
  182. package/lib/generated/services/fis.js +4 -4
  183. package/lib/generated/services/fms.js +4 -4
  184. package/lib/generated/services/forecast.js +4 -4
  185. package/lib/generated/services/frauddetector.js +4 -4
  186. package/lib/generated/services/freertos.js +3 -3
  187. package/lib/generated/services/freetier.js +2 -2
  188. package/lib/generated/services/fsx.js +4 -4
  189. package/lib/generated/services/gamelift.js +4 -4
  190. package/lib/generated/services/gameliftstreams.js +4 -4
  191. package/lib/generated/services/geo-maps.js +3 -3
  192. package/lib/generated/services/geo-places.js +3 -3
  193. package/lib/generated/services/geo-routes.js +3 -3
  194. package/lib/generated/services/geo.js +4 -4
  195. package/lib/generated/services/glacier.js +4 -4
  196. package/lib/generated/services/globalaccelerator.js +4 -4
  197. package/lib/generated/services/glue.d.ts +2 -0
  198. package/lib/generated/services/glue.js +7 -5
  199. package/lib/generated/services/grafana.js +4 -4
  200. package/lib/generated/services/greengrass.js +4 -4
  201. package/lib/generated/services/groundstation.js +4 -4
  202. package/lib/generated/services/groundtruthlabeling.js +1 -1
  203. package/lib/generated/services/guardduty.js +4 -4
  204. package/lib/generated/services/health-agent.js +4 -4
  205. package/lib/generated/services/health.js +4 -4
  206. package/lib/generated/services/healthlake.js +4 -4
  207. package/lib/generated/services/honeycode.js +2 -2
  208. package/lib/generated/services/iam.js +4 -4
  209. package/lib/generated/services/identity-sync.js +2 -2
  210. package/lib/generated/services/identitystore-auth.js +1 -1
  211. package/lib/generated/services/identitystore.js +4 -4
  212. package/lib/generated/services/imagebuilder.js +4 -4
  213. package/lib/generated/services/importexport.js +2 -2
  214. package/lib/generated/services/inspector-scan.js +2 -2
  215. package/lib/generated/services/inspector.js +2 -2
  216. package/lib/generated/services/inspector2-telemetry.js +1 -1
  217. package/lib/generated/services/inspector2.js +4 -4
  218. package/lib/generated/services/interconnect.js +4 -4
  219. package/lib/generated/services/internetmonitor.js +4 -4
  220. package/lib/generated/services/invoicing.d.ts +4 -0
  221. package/lib/generated/services/invoicing.js +13 -5
  222. package/lib/generated/services/iot-device-tester.js +1 -1
  223. package/lib/generated/services/iot.js +4 -4
  224. package/lib/generated/services/iotanalytics.js +3 -3
  225. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  226. package/lib/generated/services/iotevents.js +3 -3
  227. package/lib/generated/services/iotfleethub.js +3 -3
  228. package/lib/generated/services/iotfleetwise.js +4 -4
  229. package/lib/generated/services/iotjobsdata.js +4 -4
  230. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  231. package/lib/generated/services/iotsitewise.js +4 -4
  232. package/lib/generated/services/iottwinmaker.js +4 -4
  233. package/lib/generated/services/iotwireless.js +4 -4
  234. package/lib/generated/services/iq-permission.js +2 -2
  235. package/lib/generated/services/iq.js +2 -2
  236. package/lib/generated/services/ivs.js +4 -4
  237. package/lib/generated/services/ivschat.js +4 -4
  238. package/lib/generated/services/kafka-cluster.js +3 -3
  239. package/lib/generated/services/kafka.js +4 -4
  240. package/lib/generated/services/kafkaconnect.js +4 -4
  241. package/lib/generated/services/kendra-ranking.js +4 -4
  242. package/lib/generated/services/kendra.js +4 -4
  243. package/lib/generated/services/kinesis.js +4 -4
  244. package/lib/generated/services/kinesisanalytics.js +4 -4
  245. package/lib/generated/services/kinesisvideo.js +4 -4
  246. package/lib/generated/services/kms.js +4 -4
  247. package/lib/generated/services/lakeformation.js +3 -3
  248. package/lib/generated/services/lambda.js +4 -4
  249. package/lib/generated/services/launchwizard.js +4 -4
  250. package/lib/generated/services/lex.js +4 -4
  251. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  252. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  253. package/lib/generated/services/license-manager.js +4 -4
  254. package/lib/generated/services/lightsail.js +4 -4
  255. package/lib/generated/services/logs.js +4 -4
  256. package/lib/generated/services/lookoutequipment.js +4 -4
  257. package/lib/generated/services/lookoutmetrics.js +3 -3
  258. package/lib/generated/services/lookoutvision.js +3 -3
  259. package/lib/generated/services/m2.js +4 -4
  260. package/lib/generated/services/machinelearning.js +3 -3
  261. package/lib/generated/services/macie2.js +4 -4
  262. package/lib/generated/services/managedblockchain-query.js +2 -2
  263. package/lib/generated/services/managedblockchain.js +4 -4
  264. package/lib/generated/services/mapcredits.js +2 -2
  265. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  266. package/lib/generated/services/mechanicalturk.js +2 -2
  267. package/lib/generated/services/mediaconnect.js +4 -4
  268. package/lib/generated/services/mediaconvert.js +4 -4
  269. package/lib/generated/services/mediaimport.js +1 -1
  270. package/lib/generated/services/medialive.js +4 -4
  271. package/lib/generated/services/mediapackage-vod.js +4 -4
  272. package/lib/generated/services/mediapackage.js +4 -4
  273. package/lib/generated/services/mediapackagev2.js +4 -4
  274. package/lib/generated/services/mediastore.js +4 -4
  275. package/lib/generated/services/mediatailor.js +4 -4
  276. package/lib/generated/services/medical-imaging.js +4 -4
  277. package/lib/generated/services/memorydb.js +4 -4
  278. package/lib/generated/services/mgh.js +4 -4
  279. package/lib/generated/services/mgn.js +4 -4
  280. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  281. package/lib/generated/services/migrationhub-strategy.js +2 -2
  282. package/lib/generated/services/mobileanalytics.js +1 -1
  283. package/lib/generated/services/mobiletargeting.js +4 -4
  284. package/lib/generated/services/monitron.js +3 -3
  285. package/lib/generated/services/mpa.js +4 -4
  286. package/lib/generated/services/mq.js +4 -4
  287. package/lib/generated/services/neptune-db.js +4 -4
  288. package/lib/generated/services/neptune-graph.js +4 -4
  289. package/lib/generated/services/network-firewall.js +4 -4
  290. package/lib/generated/services/network-security-director.js +1 -1
  291. package/lib/generated/services/networkflowmonitor.js +4 -4
  292. package/lib/generated/services/networkmanager-chat.js +1 -1
  293. package/lib/generated/services/networkmanager.js +4 -4
  294. package/lib/generated/services/networkmonitor.js +4 -4
  295. package/lib/generated/services/nimble.js +3 -3
  296. package/lib/generated/services/notifications-contacts.js +4 -4
  297. package/lib/generated/services/notifications.js +4 -4
  298. package/lib/generated/services/nova-act.js +3 -3
  299. package/lib/generated/services/oam.js +4 -4
  300. package/lib/generated/services/observabilityadmin.js +4 -4
  301. package/lib/generated/services/odb.js +4 -4
  302. package/lib/generated/services/omics.js +4 -4
  303. package/lib/generated/services/one.js +3 -3
  304. package/lib/generated/services/opensearch.js +3 -3
  305. package/lib/generated/services/opsworks-cm.js +2 -2
  306. package/lib/generated/services/opsworks.js +2 -2
  307. package/lib/generated/services/organizations.js +4 -4
  308. package/lib/generated/services/osis.js +4 -4
  309. package/lib/generated/services/outposts.js +4 -4
  310. package/lib/generated/services/panorama.js +3 -3
  311. package/lib/generated/services/partnercentral-account-management.js +2 -2
  312. package/lib/generated/services/partnercentral.js +4 -4
  313. package/lib/generated/services/payment-cryptography.js +4 -4
  314. package/lib/generated/services/payments.js +3 -3
  315. package/lib/generated/services/pca-connector-ad.js +4 -4
  316. package/lib/generated/services/pca-connector-scep.js +4 -4
  317. package/lib/generated/services/pcs.js +4 -4
  318. package/lib/generated/services/personalize.js +4 -4
  319. package/lib/generated/services/pi.js +4 -4
  320. package/lib/generated/services/pipes.js +4 -4
  321. package/lib/generated/services/polly.js +3 -3
  322. package/lib/generated/services/pricing.js +2 -2
  323. package/lib/generated/services/pricingplanmanager.js +3 -3
  324. package/lib/generated/services/private-networks.js +3 -3
  325. package/lib/generated/services/profile.js +4 -4
  326. package/lib/generated/services/proton.js +4 -4
  327. package/lib/generated/services/purchase-orders.js +3 -3
  328. package/lib/generated/services/q.js +3 -3
  329. package/lib/generated/services/qapps.js +4 -4
  330. package/lib/generated/services/qbusiness.js +4 -4
  331. package/lib/generated/services/qdeveloper.js +3 -3
  332. package/lib/generated/services/qldb.js +3 -3
  333. package/lib/generated/services/quicksight.js +4 -4
  334. package/lib/generated/services/ram.js +4 -4
  335. package/lib/generated/services/rbin.js +4 -4
  336. package/lib/generated/services/rds-data.js +4 -4
  337. package/lib/generated/services/rds-db.js +2 -2
  338. package/lib/generated/services/rds.js +4 -4
  339. package/lib/generated/services/redshift-data.js +4 -4
  340. package/lib/generated/services/redshift-serverless.js +4 -4
  341. package/lib/generated/services/redshift.js +4 -4
  342. package/lib/generated/services/refactor-spaces.js +4 -4
  343. package/lib/generated/services/rekognition.js +4 -4
  344. package/lib/generated/services/repostspace.js +4 -4
  345. package/lib/generated/services/researchstudio.js +1 -1
  346. package/lib/generated/services/resiliencehub.d.ts +8 -0
  347. package/lib/generated/services/resiliencehub.js +19 -5
  348. package/lib/generated/services/resource-explorer-2.js +4 -4
  349. package/lib/generated/services/resource-explorer.js +1 -1
  350. package/lib/generated/services/resource-groups.js +4 -4
  351. package/lib/generated/services/rhelkb.js +1 -1
  352. package/lib/generated/services/robomaker.js +3 -3
  353. package/lib/generated/services/rolesanywhere.js +4 -4
  354. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  355. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  356. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  357. package/lib/generated/services/route53.js +4 -4
  358. package/lib/generated/services/route53domains.js +2 -2
  359. package/lib/generated/services/route53globalresolver.js +4 -4
  360. package/lib/generated/services/route53profiles.js +4 -4
  361. package/lib/generated/services/route53resolver.js +4 -4
  362. package/lib/generated/services/rtbfabric.js +4 -4
  363. package/lib/generated/services/rum.js +4 -4
  364. package/lib/generated/services/s3-object-lambda.js +3 -3
  365. package/lib/generated/services/s3-outposts.js +4 -4
  366. package/lib/generated/services/s3.js +4 -4
  367. package/lib/generated/services/s3express.js +3 -3
  368. package/lib/generated/services/s3files.js +4 -4
  369. package/lib/generated/services/s3tables.js +4 -4
  370. package/lib/generated/services/s3vectors.js +4 -4
  371. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  372. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  373. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  374. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  375. package/lib/generated/services/sagemaker.d.ts +2 -0
  376. package/lib/generated/services/sagemaker.js +7 -6
  377. package/lib/generated/services/savingsplans.js +4 -4
  378. package/lib/generated/services/scheduler.js +4 -4
  379. package/lib/generated/services/schemas.js +4 -4
  380. package/lib/generated/services/scn.js +4 -4
  381. package/lib/generated/services/sdb.js +3 -3
  382. package/lib/generated/services/secretsmanager.js +4 -4
  383. package/lib/generated/services/security-ir.js +4 -4
  384. package/lib/generated/services/securityagent.js +4 -4
  385. package/lib/generated/services/securityhub.js +4 -4
  386. package/lib/generated/services/securitylake.js +4 -4
  387. package/lib/generated/services/serverlessrepo.js +4 -4
  388. package/lib/generated/services/servicecatalog.js +4 -4
  389. package/lib/generated/services/servicediscovery.js +4 -4
  390. package/lib/generated/services/serviceextract.js +1 -1
  391. package/lib/generated/services/servicequotas.js +4 -4
  392. package/lib/generated/services/ses.js +4 -4
  393. package/lib/generated/services/shield.js +4 -4
  394. package/lib/generated/services/signer.js +4 -4
  395. package/lib/generated/services/signin.js +4 -4
  396. package/lib/generated/services/simspaceweaver.js +3 -3
  397. package/lib/generated/services/sms-voice.js +4 -4
  398. package/lib/generated/services/sms.js +1 -1
  399. package/lib/generated/services/snow-device-management.js +4 -4
  400. package/lib/generated/services/snowball.js +2 -2
  401. package/lib/generated/services/sns.js +4 -4
  402. package/lib/generated/services/social-messaging.js +4 -4
  403. package/lib/generated/services/sqlworkbench.js +3 -3
  404. package/lib/generated/services/sqs.js +4 -4
  405. package/lib/generated/services/ssm-contacts.js +4 -4
  406. package/lib/generated/services/ssm-guiconnect.js +2 -2
  407. package/lib/generated/services/ssm-incidents.js +4 -4
  408. package/lib/generated/services/ssm-quicksetup.js +4 -4
  409. package/lib/generated/services/ssm-sap.js +4 -4
  410. package/lib/generated/services/ssm.js +4 -4
  411. package/lib/generated/services/ssmmessages.js +2 -2
  412. package/lib/generated/services/sso-directory.js +1 -1
  413. package/lib/generated/services/sso-oauth.js +3 -3
  414. package/lib/generated/services/sso.js +4 -4
  415. package/lib/generated/services/states.js +4 -4
  416. package/lib/generated/services/storagegateway.js +4 -4
  417. package/lib/generated/services/sts.js +4 -4
  418. package/lib/generated/services/support-console.js +1 -1
  419. package/lib/generated/services/support.js +2 -2
  420. package/lib/generated/services/supportapp.js +2 -2
  421. package/lib/generated/services/supportauthz.js +4 -4
  422. package/lib/generated/services/supportplans.js +1 -1
  423. package/lib/generated/services/sustainability.js +2 -2
  424. package/lib/generated/services/swf.js +4 -4
  425. package/lib/generated/services/synthetics.js +4 -4
  426. package/lib/generated/services/tag.js +2 -2
  427. package/lib/generated/services/tax.js +2 -2
  428. package/lib/generated/services/textract.js +4 -4
  429. package/lib/generated/services/thinclient.js +4 -4
  430. package/lib/generated/services/timestream-influxdb.js +4 -4
  431. package/lib/generated/services/timestream.js +4 -4
  432. package/lib/generated/services/tiros.js +1 -1
  433. package/lib/generated/services/tnb.js +4 -4
  434. package/lib/generated/services/transcribe.js +4 -4
  435. package/lib/generated/services/transfer.js +4 -4
  436. package/lib/generated/services/transform-custom.js +3 -3
  437. package/lib/generated/services/transform.js +3 -3
  438. package/lib/generated/services/translate.js +4 -4
  439. package/lib/generated/services/trustedadvisor.js +3 -3
  440. package/lib/generated/services/ts.js +3 -3
  441. package/lib/generated/services/user-subscriptions.js +2 -2
  442. package/lib/generated/services/uxc.js +2 -2
  443. package/lib/generated/services/vendor-insights.js +3 -3
  444. package/lib/generated/services/verified-access.js +1 -1
  445. package/lib/generated/services/verifiedpermissions.js +4 -4
  446. package/lib/generated/services/voiceid.js +4 -4
  447. package/lib/generated/services/vpc-lattice-svcs.d.ts +6 -0
  448. package/lib/generated/services/vpc-lattice-svcs.js +12 -4
  449. package/lib/generated/services/vpc-lattice.js +4 -4
  450. package/lib/generated/services/vpce.js +2 -2
  451. package/lib/generated/services/waf-regional.js +4 -4
  452. package/lib/generated/services/waf.js +4 -4
  453. package/lib/generated/services/wafv2.js +4 -4
  454. package/lib/generated/services/wam.js +1 -1
  455. package/lib/generated/services/wellarchitected.js +4 -4
  456. package/lib/generated/services/wickr.js +4 -4
  457. package/lib/generated/services/wisdom.js +4 -4
  458. package/lib/generated/services/workdocs.js +3 -3
  459. package/lib/generated/services/worklink.js +3 -3
  460. package/lib/generated/services/workmail.js +4 -4
  461. package/lib/generated/services/workmailmessageflow.js +3 -3
  462. package/lib/generated/services/workspaces-instances.js +4 -4
  463. package/lib/generated/services/workspaces-web.js +4 -4
  464. package/lib/generated/services/workspaces.js +4 -4
  465. package/lib/generated/services/xray.js +4 -4
  466. package/package.json +6 -6
@@ -16,7 +16,7 @@ class SageMakerActions {
16
16
  }
17
17
  exports.SageMakerActions = SageMakerActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.21.0" };
19
+ SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.23.0" };
20
20
  /** The IAM service prefix. */
21
21
  SageMakerActions.SERVICE_PREFIX = "sagemaker";
22
22
  /** [Read] sagemaker:AccessModelPackage */
@@ -3514,7 +3514,7 @@ class SageMakerResources {
3514
3514
  }
3515
3515
  exports.SageMakerResources = SageMakerResources;
3516
3516
  _b = JSII_RTTI_SYMBOL_1;
3517
- SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.21.0" };
3517
+ SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.23.0" };
3518
3518
  /**
3519
3519
  * API operation to required IAM actions mapping for sagemaker.
3520
3520
  */
@@ -3522,7 +3522,7 @@ class SageMakerOperations {
3522
3522
  }
3523
3523
  exports.SageMakerOperations = SageMakerOperations;
3524
3524
  _c = JSII_RTTI_SYMBOL_1;
3525
- SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.21.0" };
3525
+ SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.23.0" };
3526
3526
  /** IAM actions required for the AddAssociation API call. */
3527
3527
  SageMakerOperations.AddAssociation = ["sagemaker:AddAssociation"];
3528
3528
  /** IAM actions required for the AddTags API call. */
@@ -3531,6 +3531,8 @@ SageMakerOperations.AddTags = ["sagemaker:AddTags"];
3531
3531
  SageMakerOperations.AssociateTrialComponent = [
3532
3532
  "sagemaker:AssociateTrialComponent",
3533
3533
  ];
3534
+ /** IAM actions required for the AttachClusterNodeNetworkInterface API call. */
3535
+ SageMakerOperations.AttachClusterNodeNetworkInterface = [];
3534
3536
  /** IAM actions required for the AttachClusterNodeVolume API call. */
3535
3537
  SageMakerOperations.AttachClusterNodeVolume = [
3536
3538
  "sagemaker:AttachClusterNodeVolume",
@@ -3855,7 +3857,6 @@ SageMakerOperations.CreateOptimizationJob = [
3855
3857
  ];
3856
3858
  /** IAM actions required for the CreatePartnerApp API call. */
3857
3859
  SageMakerOperations.CreatePartnerApp = [
3858
- "sagemaker:AddTags",
3859
3860
  "sagemaker:CreatePartnerApp",
3860
3861
  "iam:PassRole",
3861
3862
  ];
@@ -5490,7 +5491,7 @@ class SageMakerConditions {
5490
5491
  }
5491
5492
  exports.SageMakerConditions = SageMakerConditions;
5492
5493
  _d = JSII_RTTI_SYMBOL_1;
5493
- SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.21.0" };
5494
+ SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.23.0" };
5494
5495
  /** Condition keys applicable to the AddTags action. */
5495
5496
  SageMakerConditions.AddTagsConditionKeys = [
5496
5497
  "aws:RequestTag/${TagKey}",
@@ -6248,4 +6249,4 @@ SageMakerConditions.VPC_SUBNETS = "sagemaker:VpcSubnets";
6248
6249
  SageMakerConditions.WORKTEAM_ARN = "sagemaker:WorkteamArn";
6249
6250
  /** Condition key: sagemaker:WorkteamType (String) */
6250
6251
  SageMakerConditions.WORKTEAM_TYPE = "sagemaker:WorkteamType";
6251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7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QyxzREFBc0Q7QUFDdEMsa0NBQWMsR0FBRyx5QkFBeUIsQ0FBQztBQUMzRCxvREFBb0Q7QUFDcEMsZ0NBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUN2RCxpRUFBaUU7QUFDakQsc0NBQWtCLEdBQUcsNkJBQTZCLENBQUM7QUFDbkUsd0RBQXdEO0FBQ3hDLHFDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGtEQUFrRDtBQUNsQyxrQ0FBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELHFEQUFxRDtBQUNyQyxzQ0FBa0IsR0FBRywyQkFBMkIsQ0FBQztBQUNqRSxtRUFBbUU7QUFDbkQsMENBQXNCLEdBQUcsK0JBQStCLENBQUM7QUFDekUsMERBQTBEO0FBQzFDLCtCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsaURBQWlEO0FBQ2pDLGdDQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQscURBQXFEO0FBQ3JDLGlDQUFhLEdBQUcsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9zYWdlbWFrZXIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHNhZ2VtYWtlciBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNhZ2VtYWtlclwiO1xuXG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkFjY2Vzc01vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXNzTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6QWNjZXNzTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXNzb2NpYXRpb24gPSBcInNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIHNhZ2VtYWtlcjpBZGRUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzID0gXCJzYWdlbWFrZXI6QWRkVGFnc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSA9IFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSA9XG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljcyA9IFwic2FnZW1ha2VyOkJhdGNoR2V0TWV0cmljc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hQdXRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dE1ldHJpY3MgPSBcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlYm9vdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyA9XG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q2FsbE1sZmxvd0FwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbE1sZmxvd0FwcEFwaSA9IFwic2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxQYXJ0bmVyQXBwQXBpICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsUGFydG5lckFwcEFwaSA9IFwic2FnZW1ha2VyOkNhbGxQYXJ0bmVyQXBwQXBpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW4gPSBcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dCA9IFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJV29ya2xvYWRDb25maWcgPSBcInNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbGdvcml0aG0gPSBcInNhZ2VtYWtlcjpDcmVhdGVBbGdvcml0aG1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpDcmVhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjIgPSBcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkNyZWF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpDcmVhdGVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkNyZWF0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViID0gXCJzYWdlbWFrZXI6Q3JlYXRlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWREb21haW5VcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3QgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU2hhcmVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6Q3JlYXRlU2hhcmVkTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpEZWxldGVDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpEZWxldGVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW4gPSBcInNhZ2VtYWtlcjpEZWxldGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWIgPSBcInNhZ2VtYWtlcjpEZWxldGVIdWJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuVGFza1VpID0gXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5UYXNrVWlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOkRlbGV0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvcmQgPSBcInNhZ2VtYWtlcjpEZWxldGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1RhZ2dpbmddIHNhZ2VtYWtlcjpEZWxldGVUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzID0gXCJzYWdlbWFrZXI6RGVsZXRlVGFnc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbCA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVwbG95SHViTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcGxveUh1Yk1vZGVsID0gXCJzYWdlbWFrZXI6RGVwbG95SHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlcyA9IFwic2FnZW1ha2VyOkRlcmVnaXN0ZXJEZXZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJV29ya2xvYWRDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3Rpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFjdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG0gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJFdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyRXZlbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJFdmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckluZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21waWxhdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURldmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZURldmljZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb21haW4gPSBcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5Mb29wID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hbkxvb3BcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbmVhZ2VHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU2hhcmVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlV29ya2ZvcmNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgPSBcInNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gPVxuXHRcdFwic2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvID1cblx0XHRcInNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHRlbmRUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpFeHRlbmRUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERlcGxveW1lbnRzID0gXCJzYWdlbWFrZXI6R2V0RGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGV2aWNlRmxlZXRSZXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERldmljZUZsZWV0UmVwb3J0ID0gXCJzYWdlbWFrZXI6R2V0RGV2aWNlRmxlZXRSZXBvcnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGV2aWNlUmVnaXN0cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJzYWdlbWFrZXI6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzID1cblx0XHRcInNhZ2VtYWtlcjpHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWFyY2hTdWdnZXN0aW9ucyA9IFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpJbXBvcnRIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludEFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludEFzeW5jID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVJlY29tbWVuZGF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlXb3JrbG9hZENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY3Rpb25zID0gXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFsZ29yaXRobXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGdvcml0aG1zID0gXCJzYWdlbWFrZXI6TGlzdEFsZ29yaXRobXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzID0gXCJzYWdlbWFrZXI6TGlzdEFsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFwcEltYWdlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEltYWdlQ29uZmlncyA9IFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFwcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBzID0gXCJzYWdlbWFrZXI6TGlzdEFwcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFydGlmYWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFydGlmYWN0cyA9IFwic2FnZW1ha2VyOkxpc3RBcnRpZmFjdHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvTUxKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYlwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJlcG9zaXRvcmllcyA9IFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb21waWxhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21waWxhdGlvbkpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcHV0ZVF1b3RhcyA9IFwic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb250ZXh0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRleHRzID0gXCJzYWdlbWFrZXI6TGlzdENvbnRleHRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERldmljZUZsZWV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZUZsZWV0cyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdERldmljZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zID0gXCJzYWdlbWFrZXI6TGlzdERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VEZXBsb3ltZW50UGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0RWRnZVBhY2thZ2luZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVuZHBvaW50Q29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50Q29uZmlncyA9IFwic2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50cyA9IFwic2FnZW1ha2VyOkxpc3RFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHMgPSBcInNhZ2VtYWtlcjpMaXN0RXhwZXJpbWVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGZWF0dXJlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEZsb3dEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dEZWZpbml0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudHMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzID0gXCJzYWdlbWFrZXI6TGlzdEh1YnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hbkxvb3BzID0gXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1bWFuVGFza1VpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuVGFza1VpcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW1hZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VzID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RKb2JTY2hlbWFWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFBhY2thZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVscyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyA9IFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90ZWJvb2tJbnN0YW5jZXMgPSBcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHRpbWl6YXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lckFwcHMgPSBcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZXMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2Nlc3NpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdFByb2Nlc3NpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQcm9qZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2plY3RzID0gXCJzYWdlbWFrZXI6TGlzdFByb2plY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3JkcyA9IFwic2FnZW1ha2VyOkxpc3RSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VDYXRhbG9ncyA9IFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTcGFjZXMgPSBcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdGFnZURldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFnZURldmljZXMgPSBcInNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdWJzY3JpYmVkV29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzID0gXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nUGxhbnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhbnNmb3JtSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYW5zZm9ybUpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhbnNmb3JtSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJpYWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzID0gXCJzYWdlbWFrZXI6TGlzdFRyaWFsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5ID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5XCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RVc2VyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VyUHJvZmlsZXMgPSBcInNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlcyA9IFwic2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RXb3JrdGVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrdGVhbXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dExpbmVhZ2VHcm91cFBvbGljeSA9IFwic2FnZW1ha2VyOlB1dExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOlF1ZXJ5TGluZWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlID0gXCJzYWdlbWFrZXI6UXVlcnlMaW5lYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlcyA9IFwic2FnZW1ha2VyOlJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpSZW5kZXJVaVRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJVaVRlbXBsYXRlID0gXCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNhbXBsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlID0gXCJzYWdlbWFrZXI6U2FtcGxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOlNlYXJjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoID0gXCJzYWdlbWFrZXI6U2VhcmNoXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzID1cblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNlbmRIZWFydGJlYXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRIZWFydGJlYXQgPSBcInNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgPVxuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgPVxuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kU2hhcmVkTW9kZWxFdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFNoYXJlZE1vZGVsRXZlbnQgPSBcInNhZ2VtYWtlcjpTZW5kU2hhcmVkTW9kZWxFdmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrID0gXCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0SHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOlN0YXJ0SHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydE1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgPSBcInNhZ2VtYWtlcjpTdGFydE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbiA9IFwic2FnZW1ha2VyOlN0YXJ0U2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiA9IFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSA9IFwic2FnZW1ha2VyOlN0b3BFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZVBhY2thZ2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VQYWNrYWdpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOlN0b3BIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSm9iID0gXCJzYWdlbWFrZXI6U3RvcEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb25pdG9yaW5nU2NoZWR1bGUgPSBcInNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RvcFBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpUcmFpbkh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFpbkh1Yk1vZGVsID0gXCJzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpVcGRhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvZGVSZXBvc2l0b3J5ID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZXMgPSBcInNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbiA9IFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlTWV0YWRhdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViID0gXCJzYWdlbWFrZXI6VXBkYXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlID0gXCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydCA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdBbGVydFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUmV3YXJkICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXdhcmQgPSBcInNhZ2VtYWtlcjpVcGRhdGVSZXdhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOlVwZGF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbCA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya2ZvcmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpVcGRhdGVXb3JrdGVhbVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQWNjZXNzTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoR2V0TWV0cmljcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoR2V0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbFdpdGhCZWFyZXJUb2tlbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUF1dG9NTEpvYlYyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyRXZlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJOb2RlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZlYXR1cmVNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUpvYlNjaGVtYVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUxhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMaW5lYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nUGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGVwbG95bWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERldmljZVJlZ2lzdHJhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldExpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTZWFyY2hTdWdnZXN0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW52b2tlRW5kcG9pbnRBc3luYyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmVuZGVyVWlUZW1wbGF0ZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlYXJjaCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFkZEFzc29jaWF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXNzb2NpYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoQWRkQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFB1dE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFJlYm9vdENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoV3JpdGVSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DYWxsTWxmbG93QXBwQXBpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbFBhcnRuZXJBcHBBcGksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5Db21wbGV0ZVJvbGxvdXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUF1dG9NTEpvYlYyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFBhY2thZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWREb21haW5VcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFuc2Zvcm1Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXNzb2NpYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlcGxveUh1Yk1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVyZWdpc3RlckRldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5FeHRlbmRUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbXBvcnRIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0TGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlZ2lzdGVyRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJldHJ5UGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TYW1wbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kSGVhcnRiZWF0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRTaGFyZWRNb2RlbEV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2ssXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0UGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydFNlc3Npb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVHJhaW5IdWJNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlckluZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyU29mdHdhcmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRmVhdHVyZU1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb25pdG9yaW5nQWxlcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmVWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVJld2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVdvcmt0ZWFtLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSUJlbmNobWFya0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlXb3JrbG9hZENvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWN0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBbGdvcml0aG1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFsaWFzZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXBwSW1hZ2VDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXJ0aWZhY3RzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFzc29jaWF0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBdXRvTUxKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlckV2ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlcnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29kZVJlcG9zaXRvcmllcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb21waWxhdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29tcHV0ZVF1b3Rhcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb250ZXh0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERldmljZUZsZWV0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERvbWFpbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RWRnZURlcGxveW1lbnRQbGFucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFZGdlUGFja2FnaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFbmRwb2ludENvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RW5kcG9pbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEV4cGVyaW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEZlYXR1cmVHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Rmxvd0RlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YkNvbnRlbnRWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJDb250ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1bWFuTG9vcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVtYW5UYXNrVWlzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbWFnZVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEltYWdlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VDb21wb25lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Sm9iU2NoZW1hVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Sm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMYWJlbGluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGluZWFnZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNbGZsb3dBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRFeHBvcnRKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxQYWNrYWdlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUGFja2FnZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0FsZXJ0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE5vdGVib29rSW5zdGFuY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE9wdGltaXphdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGFydG5lckFwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZUV4ZWN1dGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFByb2Nlc3NpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFByb2plY3RzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFJlY29yZHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UmVzb3VyY2VDYXRhbG9ncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbEV2ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTcGFjZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3RhZ2VEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUYWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ1BsYW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYW5zZm9ybUpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJpYWxDb21wb25lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyaWFscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VXNlclByb2ZpbGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFdvcmtmb3JjZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0V29ya3RlYW1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUXVlcnlMaW5lYWdlLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFkZFRhZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUYWdzLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWN0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBY3Rpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktYmVuY2htYXJrLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlCZW5jaG1hcmtKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaUJlbmNobWFya0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS1iZW5jaG1hcmstam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlCZW5jaG1hcmtKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlCZW5jaG1hcmtKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlSZWNvbW1lbmRhdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSVJlY29tbWVuZGF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlXb3JrbG9hZENvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpV29ya2xvYWRDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSVdvcmtsb2FkQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpV29ya2xvYWRDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhbGdvcml0aG0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFsZ29yaXRobUFyblByb3BzIHtcblx0LyoqIFRoZSBBbGdvcml0aG1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhbGdvcml0aG1OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWxnb3JpdGhtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFsZ29yaXRobU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbGdvcml0aG1OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcFR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBUeXBlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJbWFnZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcEltYWdlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcC1pbWFnZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBJbWFnZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJbWFnZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFydGlmYWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcnRpZmFjdEFyblByb3BzIHtcblx0LyoqIFRoZSBIYXNoT2ZBcnRpZmFjdFNvdXJjZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaGFzaE9mQXJ0aWZhY3RTb3VyY2U6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcnRpZmFjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXJ0aWZhY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEhhc2hPZkFydGlmYWN0U291cmNlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaGFzaE9mQXJ0aWZhY3RTb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tbC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckF1dG9tbEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvTUxKb2JKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvTWxKb2JKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21sLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXV0b21sSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvTUxKb2JKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b01sSm9iSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvZGUtcmVwb3NpdG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29kZVJlcG9zaXRvcnlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb2RlUmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb2RlLXJlcG9zaXRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb2RlUmVwb3NpdG9yeU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb2RlUmVwb3NpdG9yeU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbXBpbGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcGlsYXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21waWxhdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21waWxhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21waWxhdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb21waWxhdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbXB1dGUtcXVvdGEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXB1dGVRdW90YUFyblByb3BzIHtcblx0LyoqIFRoZSBDb21wdXRlUXVvdGFJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZVF1b3RhSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21wdXRlLXF1b3RhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXB1dGVRdW90YUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZVF1b3RhSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbnRleHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbnRleHRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29udGV4dE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnRleHROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29udGV4dCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29udGV4dEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29udGV4dE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb250ZXh0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGV2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZXZpY2UtZmxlZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUZsZWV0QXJuUHJvcHMge1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGV2aWNlLWZsZWV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VGbGVldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRvbWFpbkFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRvbWFpbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBFZGdlRGVwbG95bWVudFBsYW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRWRnZURlcGxveW1lbnRQbGFuTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBFZGdlUGFja2FnaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZWRnZVBhY2thZ2luZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVkZ2VQYWNrYWdpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZWRnZVBhY2thZ2luZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIFRoZSBFbmRwb2ludE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5kcG9pbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmRwb2ludC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEVuZHBvaW50Q29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnRDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5kcG9pbnQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5kcG9pbnRDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnRDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEV4cGVyaW1lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBlcmltZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV4cGVyaW1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhwZXJpbWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFyblByb3BzIHtcblx0LyoqIFRoZSBUcmlhbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWFsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpYWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpYWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFRyaWFsQ29tcG9uZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJpYWxDb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpYWxDb21wb25lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpYWxDb21wb25lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmZWF0dXJlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmVhdHVyZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmVhdHVyZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZlYXR1cmUtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZlYXR1cmVHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmVhdHVyZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZlYXR1cmVHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0RlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93LWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1YiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1Yi1jb250ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJDb250ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50VHlwZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWItY29udGVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQ29udGVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50VHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHVtYW4tbG9vcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5Mb29wQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1bWFuTG9vcE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1bWFuTG9vcE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodW1hbi1sb29wIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1bWFuTG9vcE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodW1hbkxvb3BOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodW1hbi10YXNrLXVpIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hblRhc2tVaUFyblByb3BzIHtcblx0LyoqIFRoZSBIdW1hblRhc2tVaU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1bWFuVGFza1VpTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1bWFuLXRhc2stdWkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdW1hblRhc2tVaU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodW1hblRhc2tVaU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1hZ2UtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltYWdlLXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlVmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VDb21wb25lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VDb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VDb21wb25lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlQ29tcG9uZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlRXhwZXJpbWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZUV4cGVyaW1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBqb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JDYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iQ2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYkNhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iQ2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGFiZWxpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMYWJlbGluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBMYWJlbGluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxhYmVsaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxhYmVsaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExhYmVsaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxhYmVsaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGluZWFnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIExpbmVhZ2VHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpbmVhZ2VHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaW5lYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExpbmVhZ2VHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaW5lYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtbGZsb3ctYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTUxmbG93QXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1MZmxvd0FwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWxmbG93LWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93QXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNTGZsb3dBcHBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1MZmxvd0FwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFyblByb3BzIHtcblx0LyoqIFRoZSBNbGZsb3dUcmFja2luZ1NlcnZlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNbGZsb3dUcmFja2luZ1NlcnZlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNhcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV4cG9ydEpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4cG9ydEpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhwb3J0Sm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXBhY2thZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcGFja2FnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgT3B0aW1pemF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3B0aW1pemF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3B0aW1pemF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9wdGltaXphdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBhcnRuZXItYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBhcnRuZXItYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwaXBlbGluZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwaXBlbGluZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9jZXNzaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9jZXNzaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvY2Vzc2luZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9jZXNzaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvY2Vzc2luZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9jZXNzaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9qZWN0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9qZWN0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFyblByb3BzIHtcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlQ2F0YWxvZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ2F0YWxvZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VDYXRhbG9nTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ2F0YWxvZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNoYXJlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2hhcmVkTW9kZWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2hhcmVkTW9kZWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNoYXJlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNoYXJlZE1vZGVsSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzaGFyZWRNb2RlbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXZlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTcGFjZUFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBTcGFjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNwYWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTcGFjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFNwYWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNwYWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBTdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYWluaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhaW5pbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFpbmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFpbmluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYWluaW5nLXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nUGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFpbmluZ1BsYW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ1BsYW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhaW5pbmctcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFpbmluZ1BsYW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdQbGFuTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhbnNmb3JtLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYW5zZm9ybUpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYW5zZm9ybUpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFuc2Zvcm0tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYW5zZm9ybUpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFuc2Zvcm1Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB1c2VyLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdXNlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJVc2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2ZvcmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV29ya2ZvcmNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya2ZvcmNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtmb3JjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya2ZvcmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrZm9yY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya2ZvcmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3RlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmt0ZWFtQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmt0ZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya3RlYW1OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya3RlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmt0ZWFtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrdGVhbU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrdGVhbU5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFjdGlvblxcLyg/PGFjdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpQmVuY2htYXJrSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLWJlbmNobWFyay1qb2JcXC8oPzxhaUJlbmNobWFya0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktcmVjb21tZW5kYXRpb24tam9iXFwvKD88YWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpV29ya2xvYWRDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktd29ya2xvYWQtY29uZmlnXFwvKD88YWlXb3JrbG9hZENvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEFsZ29yaXRobUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphbGdvcml0aG1cXC8oPzxhbGdvcml0aG1OYW1lPlteOi8/XSspJC87XG5jb25zdCBBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzx1c2VyUHJvZmlsZU5hbWU+W146Lz9dKylcXC8oPzxhcHBUeXBlPlteOi8/XSspXFwvKD88YXBwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXBwSW1hZ2VDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwLWltYWdlLWNvbmZpZ1xcLyg/PGFwcEltYWdlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXJ0aWZhY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXJ0aWZhY3RcXC8oPzxoYXNoT2ZBcnRpZmFjdFNvdXJjZT5bXjovP10rKSQvO1xuY29uc3QgQXV0b21sSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tbC1qb2JcXC8oPzxhdXRvTWxKb2JKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXJcXC8oPzxjbHVzdGVySWQ+W146Lz9dKykkLztcbmNvbnN0IENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3Rlci1zY2hlZHVsZXItY29uZmlnXFwvKD88Y2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkPlteOi8/XSspJC87XG5jb25zdCBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb2RlLXJlcG9zaXRvcnlcXC8oPzxjb2RlUmVwb3NpdG9yeU5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbXBpbGF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbXBpbGF0aW9uLWpvYlxcLyg/PGNvbXBpbGF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29tcHV0ZVF1b3RhQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbXB1dGUtcXVvdGFcXC8oPzxjb21wdXRlUXVvdGFJZD5bXjovP10rKSQvO1xuY29uc3QgQ29udGV4dEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb250ZXh0XFwvKD88Y29udGV4dE5hbWU+W146Lz9dKykkLztcbmNvbnN0IERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBEZXZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV2aWNlLWZsZWV0XFwvKD88ZGV2aWNlRmxlZXROYW1lPlteOi8/XSspXFwvZGV2aWNlXFwvKD88ZGV2aWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGV2aWNlRmxlZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV2aWNlLWZsZWV0XFwvKD88ZGV2aWNlRmxlZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBEb21haW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluXFwvKD88ZG9tYWluSWQ+W146Lz9dKykkLztcbmNvbnN0IEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplZGdlLWRlcGxveW1lbnRcXC8oPzxlZGdlRGVwbG95bWVudFBsYW5OYW1lPlteOi8/XSspJC87XG5jb25zdCBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVkZ2UtcGFja2FnaW5nLWpvYlxcLyg/PGVkZ2VQYWNrYWdpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbmRwb2ludFxcLyg/PGVuZHBvaW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRW5kcG9pbnRDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnQtY29uZmlnXFwvKD88ZW5kcG9pbnRDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnRcXC8oPzxleHBlcmltZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudFRyaWFsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnQtdHJpYWxcXC8oPzx0cmlhbE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudFxcLyg/PHRyaWFsQ29tcG9uZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmVhdHVyZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZlYXR1cmUtZ3JvdXBcXC8oPzxmZWF0dXJlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBGbG93RGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93LWRlZmluaXRpb25cXC8oPzxmbG93RGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1YkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWJcXC8oPzxodWJOYW1lPlteOi8/XSspJC87XG5jb25zdCBIdWJDb250ZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1Yi1jb250ZW50XFwvKD88aHViTmFtZT5bXjovP10rKVxcLyg/PGh1YkNvbnRlbnRUeXBlPlteOi8/XSspXFwvKD88aHViQ29udGVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1bWFuTG9vcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodW1hbi1sb29wXFwvKD88aHVtYW5Mb29wTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHVtYW5UYXNrVWlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVtYW4tdGFzay11aVxcLyg/PGh1bWFuVGFza1VpTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2JcXC8oPzxoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEltYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltYWdlXFwvKD88aW1hZ2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbWFnZVZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW1hZ2UtdmVyc2lvblxcLyg/PGltYWdlTmFtZT5bXjovP10rKVxcLyg/PHZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtY29tcG9uZW50XFwvKD88aW5mZXJlbmNlQ29tcG9uZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtZXhwZXJpbWVudFxcLyg/PGluZmVyZW5jZUV4cGVyaW1lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2JcXC8oPzxpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iQ2F0ZWdvcnk+W146Lz9dKylcXC8oPzxqb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBMYWJlbGluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsYWJlbGluZy1qb2JcXC8oPzxsYWJlbGluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IExpbmVhZ2VHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsaW5lYWdlLWdyb3VwXFwvKD88bGluZWFnZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTWxmbG93QXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1sZmxvdy1hcHBcXC8oPzxtTGZsb3dBcHBJZD5bXjovP10rKSQvO1xuY29uc3QgTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWxmbG93LXRyYWNraW5nLXNlcnZlclxcLyg/PG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWxcXC8oPzxtb2RlbE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENhcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY2FyZFxcLyg/PG1vZGVsQ2FyZE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jYXJkXFwvKD88bW9kZWxDYXJkTmFtZT5bXjovP10rKVxcL2V4cG9ydC1qb2JcXC8oPzxleHBvcnRKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxQYWNrYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXBhY2thZ2VcXC8oPzxtb2RlbFBhY2thZ2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1wYWNrYWdlLWdyb3VwXFwvKD88bW9kZWxQYWNrYWdlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vbml0b3Jpbmctc2NoZWR1bGVcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb25pdG9yaW5nLXNjaGVkdWxlXFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlTmFtZT5bXjovP10rKVxcL2FsZXJ0XFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lPlteOi8/XSspJC87XG5jb25zdCBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGVib29rLWluc3RhbmNlXFwvKD88bm90ZWJvb2tJbnN0YW5jZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZ1xcLyg/PG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3B0aW1pemF0aW9uLWpvYlxcLyg/PG9wdGltaXphdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBhcnRuZXJBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGFydG5lci1hcHBcXC8oPzxhcHBJZD5bXjovP10rKSQvO1xuY29uc3QgUGlwZWxpbmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGlwZWxpbmVcXC8oPzxwaXBlbGluZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpcGVsaW5lXFwvKD88cGlwZWxpbmVOYW1lPlteOi8/XSspXFwvZXhlY3V0aW9uXFwvKD88cmFuZG9tU3RyaW5nPlteOi8/XSspJC87XG5jb25zdCBQcm9jZXNzaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2Nlc3Npbmctam9iXFwvKD88cHJvY2Vzc2luZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvamVjdFxcLyg/PHByb2plY3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc2VydmVkLWNhcGFjaXR5XFwvKD88cmFuZG9tU3RyaW5nPlteOi8/XSspJC87XG5jb25zdCBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNhZ2VtYWtlci1jYXRhbG9nXFwvKD88cmVzb3VyY2VDYXRhbG9nTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2hhcmVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2hhcmVkLW1vZGVsXFwvKD88c2hhcmVkTW9kZWxJZD5bXjovP10rKSQvO1xuY29uc3QgU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzaGFyZWQtbW9kZWwtZXZlbnRcXC8oPzxldmVudElkPlteOi8/XSspJC87XG5jb25zdCBTcGFjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzcGFjZVxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88c3BhY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3R1ZGlvLWxpZmVjeWNsZS1jb25maWdcXC8oPzxzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFpbmluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFpbmluZy1qb2JcXC8oPzx0cmFpbmluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYWluaW5nUGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFpbmluZy1wbGFuXFwvKD88dHJhaW5pbmdQbGFuTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhbnNmb3JtSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYW5zZm9ybS1qb2JcXC8oPzx0cmFuc2Zvcm1Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBVc2VyUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp1c2VyLXByb2ZpbGVcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHVzZXJQcm9maWxlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya2ZvcmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtmb3JjZVxcLyg/PHdvcmtmb3JjZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmt0ZWFtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmt0ZWFtXFwvKD88d29ya3RlYW1OYW1lPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igc2FnZW1ha2VyIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlclJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFjdGlvbihwcm9wczogU2FnZU1ha2VyQWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphY3Rpb24vJHtwcm9wcy5hY3Rpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFjdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFjdGlvbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFjdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWN0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhY3Rpb25OYW1lOiBtYXRjaC5ncm91cHMhLmFjdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktYmVuY2htYXJrLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaUJlbmNobWFya0pvYihwcm9wczogU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLWJlbmNobWFyay1qb2IvJHtwcm9wcy5haUJlbmNobWFya0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLWJlbmNobWFyay1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpQmVuY2htYXJrSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpQmVuY2htYXJrSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLWJlbmNobWFyay1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlCZW5jaG1hcmtKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaUJlbmNobWFya0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS1iZW5jaG1hcmstam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpQmVuY2htYXJrSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5haUJlbmNobWFya0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktcmVjb21tZW5kYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpUmVjb21tZW5kYXRpb25Kb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktcmVjb21tZW5kYXRpb24tam9iLyR7cHJvcHMuYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLXJlY29tbWVuZGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlSZWNvbW1lbmRhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaVJlY29tbWVuZGF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5haVJlY29tbWVuZGF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS13b3JrbG9hZC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlXb3JrbG9hZENvbmZpZyhwcm9wczogU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktd29ya2xvYWQtY29uZmlnLyR7cHJvcHMuYWlXb3JrbG9hZENvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLXdvcmtsb2FkLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlXb3JrbG9hZENvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaVdvcmtsb2FkQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaVdvcmtsb2FkQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5haVdvcmtsb2FkQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhbGdvcml0aG0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWxnb3JpdGhtKHByb3BzOiBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFsZ29yaXRobS8ke3Byb3BzLmFsZ29yaXRobU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFsZ29yaXRobSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWxnb3JpdGhtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsZ29yaXRobUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhbGdvcml0aG0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWxnb3JpdGhtQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQWxnb3JpdGhtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBbGdvcml0aG1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWxnb3JpdGhtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFsZ29yaXRobU5hbWU6IG1hdGNoLmdyb3VwcyEuYWxnb3JpdGhtTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwKHByb3BzOiBTYWdlTWFrZXJBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnVzZXJQcm9maWxlTmFtZX0vJHtwcm9wcy5hcHBUeXBlfS8ke3Byb3BzLmFwcE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0dXNlclByb2ZpbGVOYW1lOiBtYXRjaC5ncm91cHMhLnVzZXJQcm9maWxlTmFtZSxcblx0XHRcdGFwcFR5cGU6IG1hdGNoLmdyb3VwcyEuYXBwVHlwZSxcblx0XHRcdGFwcE5hbWU6IG1hdGNoLmdyb3VwcyEuYXBwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAtaW1hZ2UtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcEltYWdlQ29uZmlnKHByb3BzOiBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLWltYWdlLWNvbmZpZy8ke3Byb3BzLmFwcEltYWdlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwLWltYWdlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwSW1hZ2VDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwSW1hZ2VDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBJbWFnZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcEltYWdlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcC1pbWFnZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSW1hZ2VDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmFwcEltYWdlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcnRpZmFjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcnRpZmFjdChwcm9wczogU2FnZU1ha2VyQXJ0aWZhY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFydGlmYWN0LyR7cHJvcHMuaGFzaE9mQXJ0aWZhY3RTb3VyY2V9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFydGlmYWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcnRpZmFjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcnRpZmFjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcnRpZmFjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcnRpZmFjdEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFydGlmYWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcnRpZmFjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnRpZmFjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoYXNoT2ZBcnRpZmFjdFNvdXJjZTogbWF0Y2guZ3JvdXBzIS5oYXNoT2ZBcnRpZmFjdFNvdXJjZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWwtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tbEpvYihwcm9wczogU2FnZU1ha2VyQXV0b21sSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWwtam9iLyR7cHJvcHMuYXV0b01sSm9iSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21sLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21sSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tbEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWwtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tbEpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckF1dG9tbEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21sSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tbC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b01sSm9iSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5hdXRvTWxKb2JKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcihwcm9wczogU2FnZU1ha2VyQ2x1c3RlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlci8ke3Byb3BzLmNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVySWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZy8ke3Byb3BzLmNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29kZS1yZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvZGVSZXBvc2l0b3J5KHByb3BzOiBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29kZS1yZXBvc2l0b3J5LyR7cHJvcHMuY29kZVJlcG9zaXRvcnlOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb2RlLXJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvZGVSZXBvc2l0b3J5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvZGVSZXBvc2l0b3J5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvZGUtcmVwb3NpdG9yeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb2RlUmVwb3NpdG9yeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvZGVSZXBvc2l0b3J5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvZGUtcmVwb3NpdG9yeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb2RlUmVwb3NpdG9yeU5hbWU6IG1hdGNoLmdyb3VwcyEuY29kZVJlcG9zaXRvcnlOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbXBpbGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21waWxhdGlvbkpvYihwcm9wczogU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbXBpbGF0aW9uLWpvYi8ke3Byb3BzLmNvbXBpbGF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29tcGlsYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21waWxhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb21waWxhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21waWxhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcGlsYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb21waWxhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21waWxhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcGlsYXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLmNvbXBpbGF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21wdXRlLXF1b3RhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbXB1dGVRdW90YShwcm9wczogU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21wdXRlLXF1b3RhLyR7cHJvcHMuY29tcHV0ZVF1b3RhSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXB1dGUtcXVvdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbXB1dGVRdW90YUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb21wdXRlUXVvdGFBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29tcHV0ZS1xdW90YSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb21wdXRlUXVvdGFBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXB1dGVRdW90YUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21wdXRlLXF1b3RhIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXB1dGVRdW90YUlkOiBtYXRjaC5ncm91cHMhLmNvbXB1dGVRdW90YUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnRleHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29udGV4dChwcm9wczogU2FnZU1ha2VyQ29udGV4dEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29udGV4dC8ke3Byb3BzLmNvbnRleHROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb250ZXh0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb250ZXh0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnRleHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29udGV4dCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb250ZXh0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ29udGV4dEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29udGV4dEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb250ZXh0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbnRleHROYW1lOiBtYXRjaC5ncm91cHMhLmNvbnRleHROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5kYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZXZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGV2aWNlKHByb3BzOiBTYWdlTWFrZXJEZXZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldmljZS1mbGVldC8ke3Byb3BzLmRldmljZUZsZWV0TmFtZX0vZGV2aWNlLyR7cHJvcHMuZGV2aWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGV2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZXZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGV2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXZpY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEZXZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERldmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV2aWNlRmxlZXROYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZUZsZWV0TmFtZSxcblx0XHRcdGRldmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZXZpY2UtZmxlZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGV2aWNlRmxlZXQocHJvcHM6IFNhZ2VNYWtlckRldmljZUZsZWV0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXZpY2UtZmxlZXQvJHtwcm9wcy5kZXZpY2VGbGVldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldmljZS1mbGVldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGV2aWNlRmxlZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGV2aWNlRmxlZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGV2aWNlLWZsZWV0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURldmljZUZsZWV0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERldmljZUZsZWV0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRldmljZS1mbGVldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXZpY2VGbGVldE5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlRmxlZXROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21haW4ocHJvcHM6IFNhZ2VNYWtlckRvbWFpbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWluLyR7cHJvcHMuZG9tYWluSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9tYWluQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb21haW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb21haW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9tYWluIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVkZ2UtZGVwbG95bWVudC1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVkZ2VEZXBsb3ltZW50UGxhbihcblx0XHRwcm9wczogU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVkZ2UtZGVwbG95bWVudC8ke3Byb3BzLmVkZ2VEZXBsb3ltZW50UGxhbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVkZ2UtZGVwbG95bWVudC1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFZGdlRGVwbG95bWVudFBsYW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVkZ2VEZXBsb3ltZW50UGxhbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZWRnZURlcGxveW1lbnRQbGFuTmFtZTogbWF0Y2guZ3JvdXBzIS5lZGdlRGVwbG95bWVudFBsYW5OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVkZ2UtcGFja2FnaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlZGdlUGFja2FnaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplZGdlLXBhY2thZ2luZy1qb2IvJHtwcm9wcy5lZGdlUGFja2FnaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZWRnZS1wYWNrYWdpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFZGdlUGFja2FnaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVkZ2VQYWNrYWdpbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWRnZS1wYWNrYWdpbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmVkZ2VQYWNrYWdpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50KHByb3BzOiBTYWdlTWFrZXJFbmRwb2ludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW5kcG9pbnQvJHtwcm9wcy5lbmRwb2ludE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmRwb2ludEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbmRwb2ludE5hbWU6IG1hdGNoLmdyb3VwcyEuZW5kcG9pbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZHBvaW50LWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmRwb2ludENvbmZpZyhwcm9wczogU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVuZHBvaW50LWNvbmZpZy8ke3Byb3BzLmVuZHBvaW50Q29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5kcG9pbnQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmRwb2ludENvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmRwb2ludENvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmRwb2ludC1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmRwb2ludENvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmRwb2ludC1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW5kcG9pbnRDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmVuZHBvaW50Q29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnQocHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQvJHtwcm9wcy5leHBlcmltZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRleHBlcmltZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5leHBlcmltZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnRUcmlhbChwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LXRyaWFsLyR7cHJvcHMudHJpYWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50VHJpYWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudFRyaWFsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudFRyaWFsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50LXRyaWFsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyaWFsTmFtZTogbWF0Y2guZ3JvdXBzIS50cmlhbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudFRyaWFsQ29tcG9uZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQvJHtwcm9wcy50cmlhbENvbXBvbmVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJpYWxDb21wb25lbnROYW1lOiBtYXRjaC5ncm91cHMhLnRyaWFsQ29tcG9uZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmZWF0dXJlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cChwcm9wczogU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmZWF0dXJlLWdyb3VwLyR7cHJvcHMuZmVhdHVyZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmVhdHVyZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmVhdHVyZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZlYXR1cmVHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmZWF0dXJlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZlYXR1cmVHcm91cEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckZlYXR1cmVHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmVhdHVyZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZlYXR1cmUtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZmVhdHVyZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5mZWF0dXJlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3ctZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93RGVmaW5pdGlvbihwcm9wczogU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3ctZGVmaW5pdGlvbi8ke3Byb3BzLmZsb3dEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdy1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93RGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93RGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93LWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0RlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93RGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93LWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0RlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmZsb3dEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodWIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHViKHByb3BzOiBTYWdlTWFrZXJIdWJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1Yi8ke3Byb3BzLmh1Yk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodWIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHViQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHViQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHViIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1Yk5hbWU6IG1hdGNoLmdyb3VwcyEuaHViTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodWItY29udGVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodWJDb250ZW50KHByb3BzOiBTYWdlTWFrZXJIdWJDb250ZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodWItY29udGVudC8ke3Byb3BzLmh1Yk5hbWV9LyR7cHJvcHMuaHViQ29udGVudFR5cGV9LyR7cHJvcHMuaHViQ29udGVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1Yi1jb250ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdWJDb250ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YkNvbnRlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHViLWNvbnRlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHViQ29udGVudEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1YkNvbnRlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHViLWNvbnRlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHViTmFtZTogbWF0Y2guZ3JvdXBzIS5odWJOYW1lLFxuXHRcdFx0aHViQ29udGVudFR5cGU6IG1hdGNoLmdyb3VwcyEuaHViQ29udGVudFR5cGUsXG5cdFx0XHRodWJDb250ZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5odWJDb250ZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodW1hbi1sb29wIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1bWFuTG9vcChwcm9wczogU2FnZU1ha2VySHVtYW5Mb29wQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodW1hbi1sb29wLyR7cHJvcHMuaHVtYW5Mb29wTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVtYW4tbG9vcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVtYW5Mb29wQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1bWFuTG9vcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodW1hbi1sb29wIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1bWFuTG9vcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1bWFuTG9vcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHVtYW5Mb29wQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1bWFuLWxvb3AgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHVtYW5Mb29wTmFtZTogbWF0Y2guZ3JvdXBzIS5odW1hbkxvb3BOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1bWFuLXRhc2stdWkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHVtYW5UYXNrVWkocHJvcHM6IFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodW1hbi10YXNrLXVpLyR7cHJvcHMuaHVtYW5UYXNrVWlOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodW1hbi10YXNrLXVpIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdW1hblRhc2tVaUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdW1hblRhc2tVaUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodW1hbi10YXNrLXVpIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1bWFuVGFza1VpQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1bWFuVGFza1VpQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1bWFuLXRhc2stdWkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHVtYW5UYXNrVWlOYW1lOiBtYXRjaC5ncm91cHMhLmh1bWFuVGFza1VpTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBoeXBlclBhcmFtZXRlclR1bmluZ0pvYihcblx0XHRwcm9wczogU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IvJHtwcm9wcy5oeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5oeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2UocHJvcHM6IFNhZ2VNYWtlckltYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbWFnZS8ke3Byb3BzLmltYWdlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltYWdlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySW1hZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5pbWFnZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW1hZ2UtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbWFnZVZlcnNpb24ocHJvcHM6IFNhZ2VNYWtlckltYWdlVmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1hZ2UtdmVyc2lvbi8ke3Byb3BzLmltYWdlTmFtZX0vJHtwcm9wcy52ZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbWFnZS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbWFnZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1hZ2VWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltYWdlLXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1hZ2VWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbWFnZVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1hZ2UtdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbWFnZU5hbWU6IG1hdGNoLmdyb3VwcyEuaW1hZ2VOYW1lLFxuXHRcdFx0dmVyc2lvbjogbWF0Y2guZ3JvdXBzIS52ZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlQ29tcG9uZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLWNvbXBvbmVudC8ke3Byb3BzLmluZmVyZW5jZUNvbXBvbmVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZUNvbXBvbmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VDb21wb25lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1jb21wb25lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlQ29tcG9uZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VDb21wb25lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1leHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZUV4cGVyaW1lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLWV4cGVyaW1lbnQvJHtwcm9wcy5pbmZlcmVuY2VFeHBlcmltZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLWV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZUV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VFeHBlcmltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1leHBlcmltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBtYXRjaC5ncm91cHMhLmluZmVyZW5jZUV4cGVyaW1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYihcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iLyR7cHJvcHMuaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYihwcm9wczogU2FnZU1ha2VySm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2IvJHtwcm9wcy5qb2JDYXRlZ29yeX0vJHtwcm9wcy5qb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBqb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JDYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5qb2JDYXRlZ29yeSxcblx0XHRcdGpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuam9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsYWJlbGluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGFiZWxpbmdKb2IocHJvcHM6IFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsYWJlbGluZy1qb2IvJHtwcm9wcy5sYWJlbGluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxhYmVsaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGFiZWxpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGFiZWxpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGFiZWxpbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxhYmVsaW5nSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExhYmVsaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxhYmVsaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsYWJlbGluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEubGFiZWxpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxpbmVhZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGluZWFnZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxpbmVhZ2UtZ3JvdXAvJHtwcm9wcy5saW5lYWdlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaW5lYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaW5lYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGluZWFnZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxpbmVhZ2UtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGluZWFnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaW5lYWdlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGluZWFnZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsaW5lYWdlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmxpbmVhZ2VHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWxmbG93LWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtbGZsb3dBcHAocHJvcHM6IFNhZ2VNYWtlck1sZmxvd0FwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWxmbG93LWFwcC8ke3Byb3BzLm1MZmxvd0FwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtbGZsb3ctYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNbGZsb3dBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWxmbG93QXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1sZmxvdy1hcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWxmbG93QXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTWxmbG93QXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNbGZsb3dBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWxmbG93LWFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtTGZsb3dBcHBJZDogbWF0Y2guZ3JvdXBzIS5tTGZsb3dBcHBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1sZmxvd1RyYWNraW5nU2VydmVyKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptbGZsb3ctdHJhY2tpbmctc2VydmVyLyR7cHJvcHMubWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNbGZsb3dUcmFja2luZ1NlcnZlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1sZmxvd1RyYWNraW5nU2VydmVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IG1hdGNoLmdyb3VwcyEubWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsKHByb3BzOiBTYWdlTWFrZXJNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwvJHtwcm9wcy5tb2RlbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ2FyZChwcm9wczogU2FnZU1ha2VyTW9kZWxDYXJkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jYXJkLyR7cHJvcHMubW9kZWxDYXJkTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDYXJkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ2FyZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jYXJkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ2FyZEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsQ2FyZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDYXJkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNhcmQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxDYXJkTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbENhcmROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENhcmRFeHBvcnRKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jYXJkLyR7cHJvcHMubW9kZWxDYXJkTmFtZX0vZXhwb3J0LWpvYi8ke3Byb3BzLmV4cG9ydEpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDYXJkRXhwb3J0Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDYXJkRXhwb3J0Sm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxDYXJkTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbENhcmROYW1lLFxuXHRcdFx0ZXhwb3J0Sm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5leHBvcnRKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5tb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFBhY2thZ2UocHJvcHM6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcGFja2FnZS8ke3Byb3BzLm1vZGVsUGFja2FnZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUGFja2FnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFBhY2thZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcGFja2FnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFBhY2thZ2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUGFja2FnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1wYWNrYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUGFja2FnZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxQYWNrYWdlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUGFja2FnZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcGFja2FnZS1ncm91cC8ke3Byb3BzLm1vZGVsUGFja2FnZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxQYWNrYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFBhY2thZ2VHcm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsUGFja2FnZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb25pdG9yaW5nU2NoZWR1bGUoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb25pdG9yaW5nLXNjaGVkdWxlLyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9uaXRvcmluZ1NjaGVkdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vbml0b3JpbmdTY2hlZHVsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb25pdG9yaW5nU2NoZWR1bGVBbGVydChcblx0XHRwcm9wczogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9uaXRvcmluZy1zY2hlZHVsZS8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZU5hbWV9L2FsZXJ0LyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZU5hbWUsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2UocHJvcHM6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5vdGVib29rLWluc3RhbmNlLyR7cHJvcHMubm90ZWJvb2tJbnN0YW5jZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROb3RlYm9va0luc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5vdGVib29rSW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90ZWJvb2tJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub3RlYm9vay1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RlYm9va0luc3RhbmNlTmFtZTogbWF0Y2guZ3JvdXBzIS5ub3RlYm9va0luc3RhbmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZy8ke3Byb3BzLm5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHRpbWl6YXRpb25Kb2IocHJvcHM6IFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3B0aW1pemF0aW9uLWpvYi8ke3Byb3BzLm9wdGltaXphdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wdGltaXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHRpbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3B0aW1pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9wdGltaXphdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3B0aW1pemF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5vcHRpbWl6YXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBhcnRuZXItYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhcnRuZXJBcHAocHJvcHM6IFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBhcnRuZXItYXBwLyR7cHJvcHMuYXBwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBhcnRuZXItYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJ0bmVyQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcnRuZXJBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGFydG5lci1hcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGFydG5lckFwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhcnRuZXJBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFydG5lci1hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSWQ6IG1hdGNoLmdyb3VwcyEuYXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGlwZWxpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmUocHJvcHM6IFNhZ2VNYWtlclBpcGVsaW5lQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwaXBlbGluZS8ke3Byb3BzLnBpcGVsaW5lTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGlwZWxpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBpcGVsaW5lQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBpcGVsaW5lQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBpcGVsaW5lIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpcGVsaW5lQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUGlwZWxpbmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBpcGVsaW5lQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBpcGVsaW5lIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBpcGVsaW5lTmFtZTogbWF0Y2guZ3JvdXBzIS5waXBlbGluZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGlwZWxpbmUtZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lRXhlY3V0aW9uKHByb3BzOiBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlwZWxpbmUvJHtwcm9wcy5waXBlbGluZU5hbWV9L2V4ZWN1dGlvbi8ke3Byb3BzLnJhbmRvbVN0cmluZ31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGlwZWxpbmUtZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaXBlbGluZUV4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGlwZWxpbmVFeGVjdXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaXBlbGluZS1leGVjdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGlwZWxpbmVOYW1lOiBtYXRjaC5ncm91cHMhLnBpcGVsaW5lTmFtZSxcblx0XHRcdHJhbmRvbVN0cmluZzogbWF0Y2guZ3JvdXBzIS5yYW5kb21TdHJpbmcsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvY2Vzc2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvY2Vzc2luZ0pvYihwcm9wczogU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvY2Vzc2luZy1qb2IvJHtwcm9wcy5wcm9jZXNzaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvY2Vzc2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2Nlc3NpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvY2Vzc2luZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9jZXNzaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9jZXNzaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9jZXNzaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2Nlc3Npbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2Nlc3NpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLnByb2Nlc3NpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvamVjdChwcm9wczogU2FnZU1ha2VyUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvamVjdC8ke3Byb3BzLnByb2plY3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9qZWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2plY3ROYW1lOiBtYXRjaC5ncm91cHMhLnByb2plY3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc2VydmVkLWNhcGFjaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc2VydmVkQ2FwYWNpdHkocHJvcHM6IFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc2VydmVkLWNhcGFjaXR5LyR7cHJvcHMucmFuZG9tU3RyaW5nfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNlcnZlZC1jYXBhY2l0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzZXJ2ZWRDYXBhY2l0eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc2VydmVkQ2FwYWNpdHlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmFuZG9tU3RyaW5nOiBtYXRjaC5ncm91cHMhLnJhbmRvbVN0cmluZyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzYWdlbWFrZXItY2F0YWxvZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzYWdlbWFrZXJDYXRhbG9nKHByb3BzOiBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzYWdlbWFrZXItY2F0YWxvZy8ke3Byb3BzLnJlc291cmNlQ2F0YWxvZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNhZ2VtYWtlci1jYXRhbG9nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTYWdlbWFrZXJDYXRhbG9nQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2FnZW1ha2VyQ2F0YWxvZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWdlbWFrZXItY2F0YWxvZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUNhdGFsb2dOYW1lOiBtYXRjaC5ncm91cHMhLnJlc291cmNlQ2F0YWxvZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNoYXJlZE1vZGVsKHByb3BzOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2hhcmVkLW1vZGVsLyR7cHJvcHMuc2hhcmVkTW9kZWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTaGFyZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTaGFyZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzaGFyZWQtbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2hhcmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2hhcmVkTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2hhcmVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNoYXJlZE1vZGVsSWQ6IG1hdGNoLmdyb3VwcyEuc2hhcmVkTW9kZWxJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwtZXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2hhcmVkTW9kZWxFdmVudChwcm9wczogU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2hhcmVkLW1vZGVsLWV2ZW50LyR7cHJvcHMuZXZlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsLWV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTaGFyZWRNb2RlbEV2ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNoYXJlZE1vZGVsRXZlbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV2ZW50SWQ6IG1hdGNoLmdyb3VwcyEuZXZlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzcGFjZShwcm9wczogU2FnZU1ha2VyU3BhY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNwYWNlLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMuc3BhY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3BhY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3BhY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3BhY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3BhY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJTcGFjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3BhY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHRzcGFjZU5hbWU6IG1hdGNoLmdyb3VwcyEuc3BhY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0dWRpb0xpZmVjeWNsZUNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN0dWRpby1saWZlY3ljbGUtY29uZmlnLyR7cHJvcHMuc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLnN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhaW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYWluaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJUcmFpbmluZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhaW5pbmctam9iLyR7cHJvcHMudHJhaW5pbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFpbmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYWluaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYWluaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYWluaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFpbmluZ0pvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFpbmluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFpbmluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhaW5pbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLnRyYWluaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFpbmluZy1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYWluaW5nUGxhbihwcm9wczogU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFpbmluZy1wbGFuLyR7cHJvcHMudHJhaW5pbmdQbGFuTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhaW5pbmctcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhaW5pbmdQbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYWluaW5nUGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFpbmluZy1wbGFuIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYWluaW5nUGxhbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYWluaW5nUGxhbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhaW5pbmdQbGFuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYWluaW5nLXBsYW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhaW5pbmdQbGFuTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFpbmluZ1BsYW5OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYW5zZm9ybS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhbnNmb3JtSm9iKHByb3BzOiBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYW5zZm9ybS1qb2IvJHtwcm9wcy50cmFuc2Zvcm1Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFuc2Zvcm0tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFuc2Zvcm1Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhbnNmb3JtSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYW5zZm9ybS1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhbnNmb3JtSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFuc2Zvcm1Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNmb3JtLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFuc2Zvcm1Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLnRyYW5zZm9ybUpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdXNlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHVzZXJQcm9maWxlKHByb3BzOiBTYWdlTWFrZXJVc2VyUHJvZmlsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dXNlci1wcm9maWxlLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMudXNlclByb2ZpbGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB1c2VyLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFVzZXJQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHVzZXItcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VVc2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBVc2VyUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB1c2VyLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHR1c2VyUHJvZmlsZU5hbWU6IG1hdGNoLmdyb3VwcyEudXNlclByb2ZpbGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtmb3JjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrZm9yY2UocHJvcHM6IFNhZ2VNYWtlcldvcmtmb3JjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2ZvcmNlLyR7cHJvcHMud29ya2ZvcmNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya2ZvcmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3JrZm9yY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2ZvcmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtmb3JjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrZm9yY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtmb3JjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrZm9yY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya2ZvcmNlTmFtZTogbWF0Y2guZ3JvdXBzIS53b3JrZm9yY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmt0ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmt0ZWFtKHByb3BzOiBTYWdlTWFrZXJXb3JrdGVhbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3RlYW0vJHtwcm9wcy53b3JrdGVhbU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmt0ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3JrdGVhbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrdGVhbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrdGVhbSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrdGVhbUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlcldvcmt0ZWFtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrdGVhbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrdGVhbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrdGVhbU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya3RlYW1OYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNhZ2VtYWtlci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlck9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkFkZFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQWRkQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVib290Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoV3JpdGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6UHV0UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlUm9sbG91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIixcblx0XHRcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZERvbWFpblVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZERvbWFpblVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJvY2Vzc2luZ0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVXNlclByb2ZpbGVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJQmVuY2htYXJrSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJV29ya2xvYWRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVdvcmtsb2FkQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbGdvcml0aG0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW46IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50Q29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdW1hblRhc2tVaSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuVGFza1VpOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hblRhc2tVaVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltYWdlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQcm9qZWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTcGFjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBdXRvTUxKb2JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlckV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyRXZlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckV2ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3Rlck5vZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGV4dDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURldmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50Q29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmVhdHVyZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmVhdHVyZU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmxvd0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdW1hblRhc2tVaSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxhYmVsaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxpbmVhZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGluZWFnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWw6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm9jZXNzaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHRlbmRUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHRlbmRUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGVwbG95bWVudHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERldmljZUZsZWV0UmVwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXZpY2VGbGVldFJlcG9ydDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXZpY2VSZWdpc3RyYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExpbmVhZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TGluZWFnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRMaW5lYWdlR3JvdXBQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VhcmNoU3VnZ2VzdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlYXJjaFN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRW5kcG9pbnRBc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50QXN5bmM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSUJlbmNobWFya0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSVdvcmtsb2FkQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVdvcmtsb2FkQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxnb3JpdGhtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGdvcml0aG1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxnb3JpdGhtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBJbWFnZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwSW1hZ2VDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXJ0aWZhY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFydGlmYWN0czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFydGlmYWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvTUxKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9NTEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3RlckV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29kZVJlcG9zaXRvcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmVwb3NpdG9yaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tcGlsYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBpbGF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tcHV0ZVF1b3RhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wdXRlUXVvdGFzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbnRleHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRleHRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q29udGV4dHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VGbGVldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlRmxlZXRzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9tYWlucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RG9tYWluc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFuczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5kcG9pbnRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50Q29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50Q29uZmlnc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4cGVyaW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RXhwZXJpbWVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGZWF0dXJlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZlYXR1cmVHcm91cHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEZsb3dEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHViQ29udGVudFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHViQ29udGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RIdWJDb250ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1YnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hbkxvb3BzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuTG9vcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVtYW5UYXNrVWlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuVGFza1Vpczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuVGFza1Vpc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VWZXJzaW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbWFnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlQ29tcG9uZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RKb2JTY2hlbWFWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Sm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RMaW5lYWdlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93QXBwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbE1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGE6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZUdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxQYWNrYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFBhY2thZ2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydEhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nQWxlcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nU2NoZWR1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RlYm9va0luc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHRpbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wdGltaXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXJ0bmVyQXBwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyQXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2Nlc3NpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2Nlc3NpbmdKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2plY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2plY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UHJvamVjdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RSZWNvcmRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VDYXRhbG9ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNhdGFsb2dzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNwYWNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0YWdlRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFnZURldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdWJzY3JpYmVkV29ya3RlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYWluaW5nUGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdQbGFuczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFuc2Zvcm1Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYW5zZm9ybUpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RUcmFuc2Zvcm1Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJpYWxDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJpYWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyaWFsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RVc2VyUHJvZmlsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZm9yY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya3RlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFF1ZXJ5TGluZWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6UXVlcnlMaW5lYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbmRlclVpVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJVaVRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2ggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2g6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlNlYXJjaFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZEhlYXJ0YmVhdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRIZWFydGJlYXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRIdW1hbkxvb3AgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RhcnRIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Tm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RhcnRTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEVkZ2VQYWNrYWdpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTGFiZWxpbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUHJvY2Vzc2luZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIixcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDb2RlUmVwb3NpdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQ29udGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlTWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdBbGVydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmVWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29yZDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV3YXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJQmVuY2htYXJrSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJV29ya2xvYWRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWxnb3JpdGhtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXJ0aWZhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYlYyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXBpbGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb21wdXRlUXVvdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURldmljZUZsZWV0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpBdXRoTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmRwb2ludENvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1bWFuVGFza1VpIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1bWFuVGFza1VpQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW1hZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhYmVsaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd0FwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxDYXJkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiLFxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQYXJ0bmVyQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9jZXNzaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhaW5pbmdQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nUGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhbnNmb3JtSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJpYWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyaWFsQ29tcG9uZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrZm9yY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2ZvcmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrdGVhbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW1wb3J0SHViQ29udGVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZWNvcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJEZXZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VhcmNoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBQ0NFTEVSQVRPUl9UWVBFUyA9IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVBQX05FVFdPUktfQUNDRVNTX1RZUEUgPSBcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkF1dGhNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRIX01PREUgPSBcInNhZ2VtYWtlcjpBdXRoTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQkVBUkVSX1RPS0VOX1RZUEUgPSBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFU19UT19SRU1PVkUgPVxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVJFQ1RfR0FURURfTU9ERUxfQUNDRVNTID1cblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9JTlRFUk5FVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fSUQgPSBcInNhZ2VtYWtlcjpEb21haW5JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9TSEFSSU5HX09VVFBVVF9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkFCTEVfUkVNT1RFX0RFQlVHID0gXCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0RJU0FCTEVfR0xVRV9UQUJMRV9DUkVBVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmUgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0VOQUJMRV9PTkxJTkVfU1RPUkUgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0NPTkZJRyA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfUzNfVVJJID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fQUNDRVNTX01PREUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9ESVJFQ1RPUllfUEFUSCA9XG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0lEID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX1RZUEUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBIT01FX0VGU19GSUxFX1NZU1RFTV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZUFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfVkVSU0lPTl9BUk5TID0gXCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkluc3RhbmNlVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9UWVBFUyA9IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5URVJfQ09OVEFJTkVSX1RSQUZGSUNfRU5DUllQVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSVNfVVBEQVRFX1JFQ09SRCA9IFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgS0VFUF9BTElWRV9QRVJJT0QgPSBcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUFYX1JVTlRJTUVfSU5fU0VDT05EUyA9IFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNSU5JTVVNX0lOU1RBTkNFX01FVEFEQVRBX1NFUlZJQ0VfVkVSU0lPTiA9XG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0FQUFJPVkFMX1NUQVRVUyA9IFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfQVJOID0gXCJzYWdlbWFrZXI6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0xJRkVfQ1lDTEVfU1RBR0VfU1RBVFVTID1cblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBORVRXT1JLX0lTT0xBVElPTiA9IFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5PVEVCT09LX0lOU1RBTkNFX0xJRkVDWUNMRV9DT05GSUdfQVJOUyA9XG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZID0gXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPVVRQVVRfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPV05FUl9VU0VSX1BST0ZJTEVfQVJOID0gXCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQSVBFTElORV9WRVJTSU9OX0lEID0gXCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFTU9URV9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZXNvdXJjZVRhZy8gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1RBRyA9IFwic2FnZW1ha2VyOlJlc291cmNlVGFnL1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJvb3RBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJPT1RfQUNDRVNTID0gXCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUFSQ0hfVklTSUJJTElUWV9DT05ESVRJT04gPVxuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NQVhfQ09OQ1VSUkVOQ1kgPVxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NRU1PUllfU0laRSA9IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1BBQ0VfU0hBUklOR19UWVBFID0gXCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBTVFVESU9fTElGRUNZQ0xFX0NPTkZJR19BUk5TID1cblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFHR0lOR19BQ1RJT04gPSBcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFyZ2V0TW9kZWwgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBUkdFVF9NT0RFTCA9IFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVUERBVEFCTEVfRkVBVFVSRVMgPSBcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9GSUxFX05BTUUgPSBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZID0gXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBWT0xVTUVfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NFQ1VSSVRZX0dST1VQX0lEUyA9IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTdWJuZXRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NVQk5FVFMgPSBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX0FSTiA9IFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBXT1JLVEVBTV9UWVBFID0gXCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBhY2NlbGVyYXRvclR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBhcHBOZXR3b3JrQWNjZXNzVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QXV0aE1vZGVgLlxuXHQgKi9cblx0c3RhdGljIGF1dGhNb2RlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkF1dGhNb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlYC5cblx0ICovXG5cdHN0YXRpYyBjdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlYC5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0R2F0ZWRNb2RlbEFjY2Vzcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0SW50ZXJuZXRBY2Nlc3MoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpbklkYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpblNoYXJpbmdPdXRwdXRLTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluU2hhcmluZ091dHB1dEtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlUmVtb3RlRGVidWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZShcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VSSShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9ubGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1BY2Nlc3NNb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbURpcmVjdG9yeVBhdGgoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbUlkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBob21lRUZTRmlsZVN5c3RlbUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW1hZ2VBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZUFybnModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkltYWdlQXJuc1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZVZlcnNpb25Bcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkluc3RhbmNlVHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlVHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZGAuXG5cdCAqL1xuXHRzdGF0aWMgaXNVcGRhdGVSZWNvcmQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZGAuXG5cdCAqL1xuXHRzdGF0aWMga2VlcEFsaXZlUGVyaW9kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNgLlxuXHQgKi9cblx0c3RhdGljIG1heFJ1bnRpbWVJblNlY29uZHMoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25gLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb24oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBcHByb3ZhbFN0YXR1cyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxMaWZlQ3ljbGVTdGFnZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIG5ldHdvcmtJc29sYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNgLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk91dHB1dEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgb3V0cHV0S01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk91dHB1dEttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk91dHB1dEttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgb3V0cHV0S01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgb3duZXJVc2VyUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZGAuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmVWZXJzaW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlJlbW90ZUFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgcmVtb3RlQWNjZXNzKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlJvb3RBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIHJvb3RBY2Nlc3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBzZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lgLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc01lbW9yeVNpemUoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBzcGFjZVNoYXJpbmdUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNgLlxuXHQgKi9cblx0c3RhdGljIHN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyB0YWdnaW5nQWN0aW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpUYXJnZXRNb2RlbGAuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0TW9kZWwodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc2AuXG5cdCAqL1xuXHRzdGF0aWMgdXBkYXRhYmxlRmVhdHVyZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlclByb2ZpbGVOYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyB2b2x1bWVLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyB2b2x1bWVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzYC5cblx0ICovXG5cdHN0YXRpYyB2cGNTZWN1cml0eUdyb3VwSWRzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZwY1N1Ym5ldHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1N1Ym5ldHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpXb3JrdGVhbUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW1BUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHdvcmt0ZWFtVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
6252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7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REFBNEIsR0FDM0MscUNBQXFDLENBQUM7QUFDdkMsc0RBQXNEO0FBQ3RDLGtDQUFjLEdBQUcseUJBQXlCLENBQUM7QUFDM0Qsb0RBQW9EO0FBQ3BDLGdDQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQsaUVBQWlFO0FBQ2pELHNDQUFrQixHQUFHLDZCQUE2QixDQUFDO0FBQ25FLHdEQUF3RDtBQUN4QyxxQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSxrREFBa0Q7QUFDbEMsa0NBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCxxREFBcUQ7QUFDckMsc0NBQWtCLEdBQUcsMkJBQTJCLENBQUM7QUFDakUsbUVBQW1FO0FBQ25ELDBDQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLDBEQUEwRDtBQUMxQywrQkFBVyxHQUFHLHNCQUFzQixDQUFDO0FBQ3JELGlEQUFpRDtBQUNqQyxnQ0FBWSxHQUFHLHVCQUF1QixDQUFDO0FBQ3ZELHFEQUFxRDtBQUNyQyxpQ0FBYSxHQUFHLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc2FnZW1ha2VyLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzYWdlbWFrZXIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlckFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzYWdlbWFrZXJcIjtcblxuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpBY2Nlc3NNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2Vzc01vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkFjY2Vzc01vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6QWRkVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFncyA9IFwic2FnZW1ha2VyOkFkZFRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgPSBcInNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQWRkQ2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldE1ldHJpY3MgPSBcInNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3NcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzID0gXCJzYWdlbWFrZXI6QmF0Y2hQdXRNZXRyaWNzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hXcml0ZVJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxNbGZsb3dBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsTWxmbG93QXBwQXBpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFBhcnRuZXJBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZVJvbGxvdXQgPSBcInNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJzYWdlbWFrZXI6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YiA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSA9IFwic2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6RGVsZXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFncyA9IFwic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lIdWJNb2RlbCA9IFwic2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckV2ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3QgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lID0gXCJzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvID1cblx0XHRcInNhZ2VtYWtlcjpEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyA9XG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXh0ZW5kVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXBsb3ltZW50cyA9IFwic2FnZW1ha2VyOkdldERlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCA9IFwic2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV2aWNlUmVnaXN0cmF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXREZXZpY2VSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMgPSBcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudCA9IFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYyA9IFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEFJQmVuY2htYXJrSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVdvcmtsb2FkQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxnb3JpdGhtcyA9IFwic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlcyA9IFwic2FnZW1ha2VyOkxpc3RBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcnRpZmFjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcnRpZmFjdHMgPSBcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9icyA9IFwic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVycyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3RhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29udGV4dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250ZXh0cyA9IFwic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHMgPSBcInNhZ2VtYWtlcjpMaXN0RGV2aWNlRmxlZXRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlcyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWlucyA9IFwic2FnZW1ha2VyOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyA9IFwic2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlUGFja2FnaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludHMgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFeHBlcmltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RGVmaW5pdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50VmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRzID0gXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVicyA9IFwic2FnZW1ha2VyOkxpc3RIdWJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hblRhc2tVaXMgPSBcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RJbWFnZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHMgPSBcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRzID0gXCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzID0gXCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9icyA9IFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQYXJ0bmVyQXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzID0gXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9jZXNzaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9qZWN0cyA9IFwic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHMgPSBcInNhZ2VtYWtlcjpMaXN0UmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3MgPSBcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbEV2ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzID0gXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2VEZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdFN0YWdlRGV2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyA9IFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFncyA9IFwic2FnZW1ha2VyOkxpc3RUYWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zID0gXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFuc2Zvcm1Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50cyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFscyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlclByb2ZpbGVzID0gXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMaW5lYWdlR3JvdXBQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJzYWdlbWFrZXI6UHV0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZSA9IFwic2FnZW1ha2VyOlF1ZXJ5TGluZWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVuZGVyVWlUZW1wbGF0ZSA9IFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpSZXRyeVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZSA9IFwic2FnZW1ha2VyOlNhbXBsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaCA9IFwic2FnZW1ha2VyOlNlYXJjaFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kSGVhcnRiZWF0ID0gXCJzYWdlbWFrZXI6U2VuZEhlYXJ0YmVhdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRTaGFyZWRNb2RlbEV2ZW50ID0gXCJzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjayA9IFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RhcnRQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb24gPSBcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOlN0b3BBdXRvTUxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdG9wSHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEpvYiA9IFwic2FnZW1ha2VyOlN0b3BKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcExhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhaW5IdWJNb2RlbCA9IFwic2FnZW1ha2VyOlRyYWluSHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVySW5mZXJlbmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VzID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YiA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6VXBkYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVJld2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlID0gXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFjY2Vzc01vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxXaXRoQmVhcmVyVG9rZW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlckV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyTm9kZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGV2aWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTGluZWFnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERlcGxveW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGV2aWNlRmxlZXRSZXBvcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50QXN5bmMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlbmRlclVpVGVtcGxhdGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2gsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEFkZENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hQdXRNZXRyaWNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFdyaXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbE1sZmxvd0FwcEFwaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxQYXJ0bmVyQXBwQXBpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ29tcGxldGVSb2xsb3V0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFzc29jaWF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXBsb3lIdWJNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlcmVnaXN0ZXJEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRXh0ZW5kVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW1wb3J0SHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dExpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZWdpc3RlckRldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZXRyeVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZEhlYXJ0YmVhdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kU2hhcmVkTW9kZWxFdmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydFBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRTZXNzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcENvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcExhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlRyYWluSHViTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlclNvZnR3YXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ0FsZXJ0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVSZXdhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrdGVhbSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlCZW5jaG1hcmtKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJV29ya2xvYWRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFjdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWxnb3JpdGhtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBbGlhc2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFwcEltYWdlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFydGlmYWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBc3NvY2lhdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXV0b01MSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvZGVSZXBvc2l0b3JpZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29tcGlsYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbXB1dGVRdW90YXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29udGV4dHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REZXZpY2VGbGVldHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RWRnZVBhY2thZ2luZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RW5kcG9pbnRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVuZHBvaW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RGZWF0dXJlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEZsb3dEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJDb250ZW50VmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHViQ29udGVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVicyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdW1hbkxvb3BzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1bWFuVGFza1Vpcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW1hZ2VWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbWFnZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYlNjaGVtYVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGFiZWxpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExpbmVhZ2VHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TWxmbG93QXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbE1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUGFja2FnZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFBhY2thZ2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdBbGVydHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RPcHRpbWl6YXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBhcnRuZXJBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVFeGVjdXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9jZXNzaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9qZWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RSZWNvcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFJlc291cmNlQ2F0YWxvZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3BhY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN0YWdlRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VGFncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdQbGFucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFuc2Zvcm1Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyaWFsQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmlhbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFVzZXJQcm9maWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RXb3JrZm9yY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFdvcmt0ZWFtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlF1ZXJ5TGluZWFnZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRUYWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVGFncyxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFjdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWN0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLWJlbmNobWFyay1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlCZW5jaG1hcmtKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktYmVuY2htYXJrLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpQmVuY2htYXJrSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJUmVjb21tZW5kYXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlSZWNvbW1lbmRhdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJV29ya2xvYWRDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlXb3JrbG9hZENvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWxnb3JpdGhtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWxnb3JpdGhtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFsZ29yaXRobSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWxnb3JpdGhtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbGdvcml0aG1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJbWFnZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSW1hZ2VDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcnRpZmFjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXJ0aWZhY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSGFzaE9mQXJ0aWZhY3RTb3VyY2UgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXJ0aWZhY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFydGlmYWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIYXNoT2ZBcnRpZmFjdFNvdXJjZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWwtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b01sSm9iSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tbC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckF1dG9tbEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9NbEpvYkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb2RlLXJlcG9zaXRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuUHJvcHMge1xuXHQvKiogVGhlIENvZGVSZXBvc2l0b3J5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29kZS1yZXBvc2l0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29kZVJlcG9zaXRvcnlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21waWxhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXBpbGF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcGlsYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcGlsYXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21wdXRlLXF1b3RhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcHV0ZVF1b3RhSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcHV0ZS1xdW90YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21wdXRlUXVvdGFJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb250ZXh0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb250ZXh0QXJuUHJvcHMge1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb250ZXh0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnRleHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29udGV4dE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV2aWNlLWZsZWV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZS1mbGVldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZURlcGxveW1lbnRQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZWRnZURlcGxveW1lbnRQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVkZ2VEZXBsb3ltZW50UGxhbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZVBhY2thZ2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFZGdlUGFja2FnaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW5kcG9pbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5kcG9pbnQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBFbmRwb2ludENvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZHBvaW50LWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50Q29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhwZXJpbWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJpYWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlhbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBUcmlhbENvbXBvbmVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmVhdHVyZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZlYXR1cmVHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmZWF0dXJlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmZWF0dXJlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0RlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWItY29udGVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViLWNvbnRlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50VHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1bWFuLWxvb3AgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzIHtcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hbkxvb3BOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVtYW4tbG9vcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5Mb29wQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5Mb29wTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHVtYW4tdGFzay11aSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hblRhc2tVaU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodW1hbi10YXNrLXVpIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hblRhc2tVaUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5UYXNrVWlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltYWdlLXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlVmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbWFnZS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZUV4cGVyaW1lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iQ2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JDYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxhYmVsaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGFiZWxpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsYWJlbGluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYWJlbGluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpbmVhZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaW5lYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGluZWFnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGluZWFnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93QXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1MZmxvd0FwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1sZmxvdy1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTUxmbG93QXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNhcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBvcnRKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0Sm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cG9ydEpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1wYWNrYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXBhY2thZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMge1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9wdGltaXphdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcHRpbWl6YXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuUHJvcHMge1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvY2Vzc2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2Nlc3NpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2Nlc3NpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvY2Vzc2luZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUNhdGFsb2dOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlQ2F0YWxvZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFNoYXJlZE1vZGVsSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNoYXJlZE1vZGVsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTaGFyZWRNb2RlbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2hhcmVkTW9kZWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3BhY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBTcGFjZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYWluaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhaW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYWluaW5nLXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nUGxhbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYWluaW5nUGxhbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYW5zZm9ybS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFuc2Zvcm1Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhbnNmb3JtLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhbnNmb3JtSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdXNlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJVc2VyUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmtmb3JjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya2ZvcmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtmb3JjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrZm9yY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmtmb3JjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2ZvcmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFyblByb3BzIHtcblx0LyoqIFRoZSBXb3JrdGVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmt0ZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya3RlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya3RlYW1OYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphY3Rpb25cXC8oPzxhY3Rpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBBaUJlbmNobWFya0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS1iZW5jaG1hcmstam9iXFwvKD88YWlCZW5jaG1hcmtKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXJlY29tbWVuZGF0aW9uLWpvYlxcLyg/PGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXdvcmtsb2FkLWNvbmZpZ1xcLyg/PGFpV29ya2xvYWRDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBBbGdvcml0aG1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWxnb3JpdGhtXFwvKD88YWxnb3JpdGhtTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcFxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88dXNlclByb2ZpbGVOYW1lPlteOi8/XSspXFwvKD88YXBwVHlwZT5bXjovP10rKVxcLyg/PGFwcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFwcEltYWdlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcC1pbWFnZS1jb25maWdcXC8oPzxhcHBJbWFnZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEFydGlmYWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFydGlmYWN0XFwvKD88aGFzaE9mQXJ0aWZhY3RTb3VyY2U+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tbEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWwtam9iXFwvKD88YXV0b01sSm9iSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyXFwvKD88Y2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZ1xcLyg/PGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZD5bXjovP10rKSQvO1xuY29uc3QgQ29kZVJlcG9zaXRvcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29kZS1yZXBvc2l0b3J5XFwvKD88Y29kZVJlcG9zaXRvcnlOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb21waWxhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21waWxhdGlvbi1qb2JcXC8oPzxjb21waWxhdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbXB1dGVRdW90YUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21wdXRlLXF1b3RhXFwvKD88Y29tcHV0ZVF1b3RhSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbnRleHRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29udGV4dFxcLyg/PGNvbnRleHROYW1lPlteOi8/XSspJC87XG5jb25zdCBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88ZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGV2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKVxcL2RldmljZVxcLyg/PGRldmljZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERldmljZUZsZWV0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpblxcLyg/PGRvbWFpbklkPlteOi8/XSspJC87XG5jb25zdCBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZWRnZS1kZXBsb3ltZW50XFwvKD88ZWRnZURlcGxveW1lbnRQbGFuTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplZGdlLXBhY2thZ2luZy1qb2JcXC8oPzxlZGdlUGFja2FnaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnRcXC8oPzxlbmRwb2ludE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVuZHBvaW50Q29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50LWNvbmZpZ1xcLyg/PGVuZHBvaW50Q29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50XFwvKD88ZXhwZXJpbWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50LXRyaWFsXFwvKD88dHJpYWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnRcXC8oPzx0cmlhbENvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZlYXR1cmVHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmZWF0dXJlLWdyb3VwXFwvKD88ZmVhdHVyZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmxvd0RlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvdy1kZWZpbml0aW9uXFwvKD88Zmxvd0RlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBIdWJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViXFwvKD88aHViTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHViQ29udGVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWItY29udGVudFxcLyg/PGh1Yk5hbWU+W146Lz9dKylcXC8oPzxodWJDb250ZW50VHlwZT5bXjovP10rKVxcLyg/PGh1YkNvbnRlbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBIdW1hbkxvb3BBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVtYW4tbG9vcFxcLyg/PGh1bWFuTG9vcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1bWFuVGFza1VpQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1bWFuLXRhc2stdWlcXC8oPzxodW1hblRhc2tVaU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iXFwvKD88aHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbWFnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbWFnZVxcLyg/PGltYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW1hZ2VWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltYWdlLXZlcnNpb25cXC8oPzxpbWFnZU5hbWU+W146Lz9dKylcXC8oPzx2ZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWNvbXBvbmVudFxcLyg/PGluZmVyZW5jZUNvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWV4cGVyaW1lbnRcXC8oPzxpbmZlcmVuY2VFeHBlcmltZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iXFwvKD88aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlxcLyg/PGpvYkNhdGVnb3J5PlteOi8/XSspXFwvKD88am9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTGFiZWxpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGFiZWxpbmctam9iXFwvKD88bGFiZWxpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBMaW5lYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGluZWFnZS1ncm91cFxcLyg/PGxpbmVhZ2VHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd0FwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptbGZsb3ctYXBwXFwvKD88bUxmbG93QXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1sZmxvdy10cmFja2luZy1zZXJ2ZXJcXC8oPzxtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsXFwvKD88bW9kZWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWJpYXMtam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDYXJkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNhcmRcXC8oPzxtb2RlbENhcmROYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY2FyZFxcLyg/PG1vZGVsQ2FyZE5hbWU+W146Lz9dKylcXC9leHBvcnQtam9iXFwvKD88ZXhwb3J0Sm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUGFja2FnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1wYWNrYWdlXFwvKD88bW9kZWxQYWNrYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcGFja2FnZS1ncm91cFxcLyg/PG1vZGVsUGFja2FnZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb25pdG9yaW5nLXNjaGVkdWxlXFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9uaXRvcmluZy1zY2hlZHVsZVxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZU5hbWU+W146Lz9dKylcXC9hbGVydFxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpub3RlYm9vay1pbnN0YW5jZVxcLyg/PG5vdGVib29rSW5zdGFuY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWdcXC8oPzxub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgT3B0aW1pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wdGltaXphdGlvbi1qb2JcXC8oPzxvcHRpbWl6YXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQYXJ0bmVyQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcnRuZXItYXBwXFwvKD88YXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IFBpcGVsaW5lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpcGVsaW5lXFwvKD88cGlwZWxpbmVOYW1lPlteOi8/XSspJC87XG5jb25zdCBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaXBlbGluZVxcLyg/PHBpcGVsaW5lTmFtZT5bXjovP10rKVxcL2V4ZWN1dGlvblxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgUHJvY2Vzc2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9jZXNzaW5nLWpvYlxcLyg/PHByb2Nlc3NpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQcm9qZWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2plY3RcXC8oPzxwcm9qZWN0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNlcnZlZC1jYXBhY2l0eVxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzYWdlbWFrZXItY2F0YWxvZ1xcLyg/PHJlc291cmNlQ2F0YWxvZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNoYXJlZC1tb2RlbFxcLyg/PHNoYXJlZE1vZGVsSWQ+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2hhcmVkLW1vZGVsLWV2ZW50XFwvKD88ZXZlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3BhY2VcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHNwYWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0dWRpby1saWZlY3ljbGUtY29uZmlnXFwvKD88c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhaW5pbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctam9iXFwvKD88dHJhaW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFpbmluZ1BsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctcGxhblxcLyg/PHRyYWluaW5nUGxhbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYW5zZm9ybUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFuc2Zvcm0tam9iXFwvKD88dHJhbnNmb3JtSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVXNlclByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlci1wcm9maWxlXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzx1c2VyUHJvZmlsZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmtmb3JjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrZm9yY2VcXC8oPzx3b3JrZm9yY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrdGVhbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrdGVhbVxcLyg/PHdvcmt0ZWFtTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNhZ2VtYWtlciByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhY3Rpb24ocHJvcHM6IFNhZ2VNYWtlckFjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWN0aW9uLyR7cHJvcHMuYWN0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWN0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hY3Rpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLWJlbmNobWFyay1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlCZW5jaG1hcmtKb2IocHJvcHM6IFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS1iZW5jaG1hcmstam9iLyR7cHJvcHMuYWlCZW5jaG1hcmtKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1iZW5jaG1hcmstam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaUJlbmNobWFya0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaUJlbmNobWFya0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1iZW5jaG1hcmstam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpQmVuY2htYXJrSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlCZW5jaG1hcmtKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktYmVuY2htYXJrLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaUJlbmNobWFya0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlCZW5jaG1hcmtKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLXJlY29tbWVuZGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaVJlY29tbWVuZGF0aW9uSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXJlY29tbWVuZGF0aW9uLWpvYi8ke3Byb3BzLmFpUmVjb21tZW5kYXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpUmVjb21tZW5kYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlSZWNvbW1lbmRhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktd29ya2xvYWQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpV29ya2xvYWRDb25maWcocHJvcHM6IFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXdvcmtsb2FkLWNvbmZpZy8ke3Byb3BzLmFpV29ya2xvYWRDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS13b3JrbG9hZC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpV29ya2xvYWRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlXb3JrbG9hZENvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS13b3JrbG9hZC1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlXb3JrbG9hZENvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuYWlXb3JrbG9hZENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWxnb3JpdGhtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsZ29yaXRobShwcm9wczogU2FnZU1ha2VyQWxnb3JpdGhtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphbGdvcml0aG0vJHtwcm9wcy5hbGdvcml0aG1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhbGdvcml0aG0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGdvcml0aG1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWxnb3JpdGhtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFsZ29yaXRobUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxnb3JpdGhtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFsZ29yaXRobSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbGdvcml0aG1OYW1lOiBtYXRjaC5ncm91cHMhLmFsZ29yaXRobU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcChwcm9wczogU2FnZU1ha2VyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy51c2VyUHJvZmlsZU5hbWV9LyR7cHJvcHMuYXBwVHlwZX0vJHtwcm9wcy5hcHBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHVzZXJQcm9maWxlTmFtZTogbWF0Y2guZ3JvdXBzIS51c2VyUHJvZmlsZU5hbWUsXG5cdFx0XHRhcHBUeXBlOiBtYXRjaC5ncm91cHMhLmFwcFR5cGUsXG5cdFx0XHRhcHBOYW1lOiBtYXRjaC5ncm91cHMhLmFwcE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwLWltYWdlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBJbWFnZUNvbmZpZyhwcm9wczogU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC1pbWFnZS1jb25maWcvJHtwcm9wcy5hcHBJbWFnZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcC1pbWFnZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEltYWdlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEltYWdlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcC1pbWFnZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwSW1hZ2VDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAtaW1hZ2UtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcEltYWdlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5hcHBJbWFnZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXJ0aWZhY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXJ0aWZhY3QocHJvcHM6IFNhZ2VNYWtlckFydGlmYWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcnRpZmFjdC8ke3Byb3BzLmhhc2hPZkFydGlmYWN0U291cmNlfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcnRpZmFjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXJ0aWZhY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXJ0aWZhY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBcnRpZmFjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXJ0aWZhY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXJ0aWZhY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aGFzaE9mQXJ0aWZhY3RTb3VyY2U6IG1hdGNoLmdyb3VwcyEuaGFzaE9mQXJ0aWZhY3RTb3VyY2UsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21sLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWxKb2IocHJvcHM6IFNhZ2VNYWtlckF1dG9tbEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21sLWpvYi8ke3Byb3BzLmF1dG9NbEpvYkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tbC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tbEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWxKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21sLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWxKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tbEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWwtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9NbEpvYkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYXV0b01sSm9iSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3RlcklkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3RlclNjaGVkdWxlckNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLXNjaGVkdWxlci1jb25maWcvJHtwcm9wcy5jbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvZGUtcmVwb3NpdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb2RlUmVwb3NpdG9yeShwcm9wczogU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvZGUtcmVwb3NpdG9yeS8ke3Byb3BzLmNvZGVSZXBvc2l0b3J5TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29kZS1yZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb2RlUmVwb3NpdG9yeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb2RlLXJlcG9zaXRvcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29kZVJlcG9zaXRvcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2RlLXJlcG9zaXRvcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29kZVJlcG9zaXRvcnlOYW1lOiBtYXRjaC5ncm91cHMhLmNvZGVSZXBvc2l0b3J5TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21waWxhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcGlsYXRpb25Kb2IocHJvcHM6IFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21waWxhdGlvbi1qb2IvJHtwcm9wcy5jb21waWxhdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXBpbGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcGlsYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29tcGlsYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXBpbGF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcGlsYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXBpbGF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5jb21waWxhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcHV0ZS1xdW90YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlUXVvdGEocHJvcHM6IFNhZ2VNYWtlckNvbXB1dGVRdW90YUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29tcHV0ZS1xdW90YS8ke3Byb3BzLmNvbXB1dGVRdW90YUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21wdXRlLXF1b3RhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21wdXRlUXVvdGFBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcHV0ZVF1b3RhQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXB1dGUtcXVvdGEgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcHV0ZVF1b3RhQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb21wdXRlUXVvdGFBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcHV0ZS1xdW90YSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21wdXRlUXVvdGFJZDogbWF0Y2guZ3JvdXBzIS5jb21wdXRlUXVvdGFJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb250ZXh0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRleHQocHJvcHM6IFNhZ2VNYWtlckNvbnRleHRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbnRleHQvJHtwcm9wcy5jb250ZXh0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29udGV4dCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGV4dEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250ZXh0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnRleHQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGV4dEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRleHRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29udGV4dCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb250ZXh0TmFtZTogbWF0Y2guZ3JvdXBzIS5jb250ZXh0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMuZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZShwcm9wczogU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXZpY2UtZmxlZXQvJHtwcm9wcy5kZXZpY2VGbGVldE5hbWV9L2RldmljZS8ke3Byb3BzLmRldmljZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGV2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGV2aWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGV2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldmljZUZsZWV0TmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VGbGVldE5hbWUsXG5cdFx0XHRkZXZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlLWZsZWV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZUZsZWV0KHByb3BzOiBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV2aWNlLWZsZWV0LyR7cHJvcHMuZGV2aWNlRmxlZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZXZpY2UtZmxlZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldmljZUZsZWV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUZsZWV0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldmljZS1mbGVldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXZpY2VGbGVldEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRldmljZUZsZWV0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VGbGVldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXZpY2UtZmxlZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV2aWNlRmxlZXROYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZUZsZWV0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluKHByb3BzOiBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbi8ke3Byb3BzLmRvbWFpbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21haW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9tYWluIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRvbWFpbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvbWFpbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlZGdlRGVwbG95bWVudFBsYW4oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplZGdlLWRlcGxveW1lbnQvJHtwcm9wcy5lZGdlRGVwbG95bWVudFBsYW5OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZURlcGxveW1lbnRQbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlRGVwbG95bWVudFBsYW5Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEuZWRnZURlcGxveW1lbnRQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLXBhY2thZ2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZWRnZVBhY2thZ2luZ0pvYihwcm9wczogU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZWRnZS1wYWNrYWdpbmctam9iLyR7cHJvcHMuZWRnZVBhY2thZ2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVkZ2UtcGFja2FnaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZVBhY2thZ2luZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlUGFja2FnaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlZGdlUGFja2FnaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5lZGdlUGFja2FnaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmRwb2ludChwcm9wczogU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVuZHBvaW50LyR7cHJvcHMuZW5kcG9pbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW5kcG9pbnROYW1lOiBtYXRjaC5ncm91cHMhLmVuZHBvaW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnRDb25maWcocHJvcHM6IFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludC1jb25maWcvJHtwcm9wcy5lbmRwb2ludENvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZHBvaW50LWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZHBvaW50Q29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVuZHBvaW50Q29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5lbmRwb2ludENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50KHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LyR7cHJvcHMuZXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXhwZXJpbWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwZXJpbWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50VHJpYWwocHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC10cmlhbC8ke3Byb3BzLnRyaWFsTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRUcmlhbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50VHJpYWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudC10cmlhbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmlhbE5hbWU6IG1hdGNoLmdyb3VwcyEudHJpYWxOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnRUcmlhbENvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50LyR7cHJvcHMudHJpYWxDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyaWFsQ29tcG9uZW50TmFtZTogbWF0Y2guZ3JvdXBzIS50cmlhbENvbXBvbmVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmVhdHVyZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXAocHJvcHM6IFNhZ2VNYWtlckZlYXR1cmVHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZmVhdHVyZS1ncm91cC8ke3Byb3BzLmZlYXR1cmVHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZlYXR1cmUtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZlYXR1cmVHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGZWF0dXJlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmVhdHVyZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGZWF0dXJlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZlYXR1cmVHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmZWF0dXJlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZlYXR1cmVHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuZmVhdHVyZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0RlZmluaXRpb24ocHJvcHM6IFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LWRlZmluaXRpb24vJHtwcm9wcy5mbG93RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5mbG93RGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1Yihwcm9wczogU2FnZU1ha2VySHViQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodWIvJHtwcm9wcy5odWJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHViIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1YkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1YiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJOYW1lOiBtYXRjaC5ncm91cHMhLmh1Yk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViLWNvbnRlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHViQ29udGVudChwcm9wczogU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViLWNvbnRlbnQvJHtwcm9wcy5odWJOYW1lfS8ke3Byb3BzLmh1YkNvbnRlbnRUeXBlfS8ke3Byb3BzLmh1YkNvbnRlbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWItY29udGVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQ29udGVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJDb250ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1Yi1jb250ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkNvbnRlbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdWJDb250ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJDb250ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1Yi1jb250ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1Yk5hbWU6IG1hdGNoLmdyb3VwcyEuaHViTmFtZSxcblx0XHRcdGh1YkNvbnRlbnRUeXBlOiBtYXRjaC5ncm91cHMhLmh1YkNvbnRlbnRUeXBlLFxuXHRcdFx0aHViQ29udGVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaHViQ29udGVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVtYW4tbG9vcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodW1hbkxvb3AocHJvcHM6IFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tbG9vcC8ke3Byb3BzLmh1bWFuTG9vcE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1bWFuLWxvb3AgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1bWFuTG9vcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdW1hbkxvb3BBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tbG9vcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hbkxvb3BBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1bWFuTG9vcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi1sb29wIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuTG9vcE5hbWU6IG1hdGNoLmdyb3VwcyEuaHVtYW5Mb29wTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodW1hbi10YXNrLXVpIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1bWFuVGFza1VpKHByb3BzOiBTYWdlTWFrZXJIdW1hblRhc2tVaUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tdGFzay11aS8ke3Byb3BzLmh1bWFuVGFza1VpTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVtYW4tdGFzay11aSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVtYW5UYXNrVWlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVtYW5UYXNrVWlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tdGFzay11aSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hblRhc2tVaUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdW1hblRhc2tVaUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi10YXNrLXVpIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuVGFza1VpTmFtZTogbWF0Y2guZ3JvdXBzIS5odW1hblRhc2tVaU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iLyR7cHJvcHMuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltYWdlKHByb3BzOiBTYWdlTWFrZXJJbWFnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1hZ2UvJHtwcm9wcy5pbWFnZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbWFnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbWFnZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbWFnZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbWFnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbWFnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbWFnZU5hbWU6IG1hdGNoLmdyb3VwcyEuaW1hZ2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlLXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2VWZXJzaW9uKHByb3BzOiBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltYWdlLXZlcnNpb24vJHtwcm9wcy5pbWFnZU5hbWV9LyR7cHJvcHMudmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1hZ2UtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1hZ2VWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltYWdlVmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZS12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltYWdlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlVmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1hZ2VWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltYWdlLXZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1hZ2VOYW1lOiBtYXRjaC5ncm91cHMhLmltYWdlTmFtZSxcblx0XHRcdHZlcnNpb246IG1hdGNoLmdyb3VwcyEudmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZUNvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1jb21wb25lbnQvJHtwcm9wcy5pbmZlcmVuY2VDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VDb21wb25lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlQ29tcG9uZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlQ29tcG9uZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VFeHBlcmltZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1leHBlcmltZW50LyR7cHJvcHMuaW5mZXJlbmNlRXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1leHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlRXhwZXJpbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VFeHBlcmltZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYi8ke3Byb3BzLmluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2IocHJvcHM6IFNhZ2VNYWtlckpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iQ2F0ZWdvcnl9LyR7cHJvcHMuam9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iQ2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuam9iQ2F0ZWdvcnksXG5cdFx0XHRqb2JOYW1lOiBtYXRjaC5ncm91cHMhLmpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGFiZWxpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJMYWJlbGluZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGFiZWxpbmctam9iLyR7cHJvcHMubGFiZWxpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsYWJlbGluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExhYmVsaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExhYmVsaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxhYmVsaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMYWJlbGluZ0pvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYWJlbGluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYWJlbGluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGFiZWxpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmxhYmVsaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaW5lYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpbmVhZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaW5lYWdlLWdyb3VwLyR7cHJvcHMubGluZWFnZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGluZWFnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGluZWFnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpbmVhZ2VHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaW5lYWdlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpbmVhZ2VHcm91cEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGluZWFnZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpbmVhZ2UtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGluZWFnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5saW5lYWdlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1sZmxvdy1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWxmbG93QXBwKHByb3BzOiBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1sZmxvdy1hcHAvJHtwcm9wcy5tTGZsb3dBcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93QXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1sZmxvd0FwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtbGZsb3ctYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1sZmxvd0FwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWxmbG93QXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy1hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bUxmbG93QXBwSWQ6IG1hdGNoLmdyb3VwcyEubUxmbG93QXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtbGZsb3dUcmFja2luZ1NlcnZlcihcblx0XHRwcm9wczogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWxmbG93LXRyYWNraW5nLXNlcnZlci8ke3Byb3BzLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNbGZsb3dUcmFja2luZ1NlcnZlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBtYXRjaC5ncm91cHMhLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbChwcm9wczogU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLyR7cHJvcHMubW9kZWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQmlhc0pvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENhcmQocHJvcHM6IFNhZ2VNYWtlck1vZGVsQ2FyZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENhcmRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbENhcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ2FyZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jYXJkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDYXJkRXhwb3J0Sm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9L2V4cG9ydC1qb2IvJHtwcm9wcy5leHBvcnRKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEV4cG9ydEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ2FyZEV4cG9ydEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHRcdGV4cG9ydEpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwb3J0Sm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxQYWNrYWdlKHByb3BzOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UvJHtwcm9wcy5tb2RlbFBhY2thZ2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFBhY2thZ2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxQYWNrYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcGFja2FnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFBhY2thZ2VOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsUGFja2FnZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFBhY2thZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UtZ3JvdXAvJHtwcm9wcy5tb2RlbFBhY2thZ2VHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUGFja2FnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlR3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUGFja2FnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbFBhY2thZ2VHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9uaXRvcmluZy1zY2hlZHVsZS8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vbml0b3JpbmdTY2hlZHVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vbml0b3Jpbmctc2NoZWR1bGUvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVOYW1lfS9hbGVydC8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlKHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RlYm9vay1pbnN0YW5jZS8ke3Byb3BzLm5vdGVib29rSW5zdGFuY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGVib29rSW5zdGFuY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGVib29rSW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbm90ZWJvb2staW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90ZWJvb2tJbnN0YW5jZU5hbWU6IG1hdGNoLmdyb3VwcyEubm90ZWJvb2tJbnN0YW5jZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcvJHtwcm9wcy5ub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3B0aW1pemF0aW9uSm9iKHByb3BzOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wdGltaXphdGlvbi1qb2IvJHtwcm9wcy5vcHRpbWl6YXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHRpbWl6YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9wdGltaXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9wdGltaXphdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEub3B0aW1pemF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJ0bmVyQXBwKHByb3BzOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXJ0bmVyLWFwcC8ke3Byb3BzLmFwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGFydG5lckFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJ0bmVyQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcnRuZXItYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcnRuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJ0bmVyQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcnRuZXItYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcElkOiBtYXRjaC5ncm91cHMhLmFwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lKHByb3BzOiBTYWdlTWFrZXJQaXBlbGluZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlwZWxpbmUvJHtwcm9wcy5waXBlbGluZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaXBlbGluZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaXBlbGluZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaXBlbGluZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaXBlbGluZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaXBlbGluZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaXBlbGluZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwaXBlbGluZU5hbWU6IG1hdGNoLmdyb3VwcyEucGlwZWxpbmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZUV4ZWN1dGlvbihwcm9wczogU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpcGVsaW5lLyR7cHJvcHMucGlwZWxpbmVOYW1lfS9leGVjdXRpb24vJHtwcm9wcy5yYW5kb21TdHJpbmd9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGlwZWxpbmVFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpcGVsaW5lRXhlY3V0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBpcGVsaW5lTmFtZTogbWF0Y2guZ3JvdXBzIS5waXBlbGluZU5hbWUsXG5cdFx0XHRyYW5kb21TdHJpbmc6IG1hdGNoLmdyb3VwcyEucmFuZG9tU3RyaW5nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2Nlc3NpbmdKb2IocHJvcHM6IFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2Nlc3Npbmctam9iLyR7cHJvcHMucHJvY2Vzc2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9jZXNzaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2Nlc3NpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvY2Vzc2luZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvY2Vzc2luZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvY2Vzc2luZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9jZXNzaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9jZXNzaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9jZXNzaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3QocHJvcHM6IFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5wcm9qZWN0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvamVjdEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0TmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9qZWN0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNlcnZlZC1jYXBhY2l0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNlcnZlZENhcGFjaXR5KHByb3BzOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNlcnZlZC1jYXBhY2l0eS8ke3Byb3BzLnJhbmRvbVN0cmluZ31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzZXJ2ZWQtY2FwYWNpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc2VydmVkQ2FwYWNpdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNlcnZlZENhcGFjaXR5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2VydmVkLWNhcGFjaXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJhbmRvbVN0cmluZzogbWF0Y2guZ3JvdXBzIS5yYW5kb21TdHJpbmcsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2FnZW1ha2VyLWNhdGFsb2cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2FnZW1ha2VyQ2F0YWxvZyhwcm9wczogU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2FnZW1ha2VyLWNhdGFsb2cvJHtwcm9wcy5yZXNvdXJjZUNhdGFsb2dOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzYWdlbWFrZXItY2F0YWxvZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2FnZW1ha2VyQ2F0YWxvZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNhZ2VtYWtlckNhdGFsb2dBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FnZW1ha2VyLWNhdGFsb2cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VDYXRhbG9nTmFtZTogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUNhdGFsb2dOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzaGFyZWRNb2RlbChwcm9wczogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC8ke3Byb3BzLnNoYXJlZE1vZGVsSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2hhcmVkTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2hhcmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNoYXJlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNoYXJlZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzaGFyZWRNb2RlbElkOiBtYXRjaC5ncm91cHMhLnNoYXJlZE1vZGVsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsLWV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNoYXJlZE1vZGVsRXZlbnQocHJvcHM6IFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC1ldmVudC8ke3Byb3BzLmV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbC1ldmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxFdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTaGFyZWRNb2RlbEV2ZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbC1ldmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRldmVudElkOiBtYXRjaC5ncm91cHMhLmV2ZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3BhY2UocHJvcHM6IFNhZ2VNYWtlclNwYWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzcGFjZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnNwYWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNwYWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNwYWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNwYWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0c3BhY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNwYWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdHVkaW9MaWZlY3ljbGVDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZy8ke3Byb3BzLnN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdHVkaW9MaWZlY3ljbGVDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYWluaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ0pvYihwcm9wczogU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYWluaW5nLWpvYi8ke3Byb3BzLnRyYWluaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhaW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFpbmluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFpbmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhaW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhaW5pbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhaW5pbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFpbmluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhaW5pbmctcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ1BsYW4ocHJvcHM6IFNhZ2VNYWtlclRyYWluaW5nUGxhbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhaW5pbmctcGxhbi8ke3Byb3BzLnRyYWluaW5nUGxhbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYWluaW5nLXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYWluaW5nUGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ1BsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhaW5pbmctcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFpbmluZ1BsYW5Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYWluaW5nUGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFpbmluZy1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nUGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhaW5pbmdQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFuc2Zvcm0tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zZm9ybUpvYihwcm9wczogU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFuc2Zvcm0tam9iLyR7cHJvcHMudHJhbnNmb3JtSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhbnNmb3JtLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhbnNmb3JtSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYW5zZm9ybUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFuc2Zvcm0tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYW5zZm9ybUpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhbnNmb3JtSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zZm9ybS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhbnNmb3JtSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFuc2Zvcm1Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZShwcm9wczogU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXItcHJvZmlsZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnVzZXJQcm9maWxlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdXNlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVXNlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJVc2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlclByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlci1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0dXNlclByb2ZpbGVOYW1lOiBtYXRjaC5ncm91cHMhLnVzZXJQcm9maWxlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZm9yY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya2ZvcmNlKHByb3BzOiBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtmb3JjZS8ke3Byb3BzLndvcmtmb3JjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtmb3JjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtmb3JjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrZm9yY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyV29ya2ZvcmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZm9yY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya2ZvcmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmtmb3JjZU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya2ZvcmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbShwcm9wczogU2FnZU1ha2VyV29ya3RlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmt0ZWFtLyR7cHJvcHMud29ya3RlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya3RlYW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya3RlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3RlYW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya3RlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya3RlYW1OYW1lOiBtYXRjaC5ncm91cHMhLndvcmt0ZWFtTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzYWdlbWFrZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpBZGRUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQWRkQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVib290Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoV3JpdGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6UHV0UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlUm9sbG91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIixcblx0XHRcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJFdmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyTm9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGluZWFnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4dGVuZFRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4dGVuZFRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3ltZW50czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlRmxlZXRSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZUZsZWV0UmVwb3J0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXZpY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGluZWFnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaW5lYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWFyY2hTdWdnZXN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VhcmNoU3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludEFzeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJQmVuY2htYXJrSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJV29ya2xvYWRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGdvcml0aG1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEltYWdlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9NTEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmVwb3NpdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21waWxhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wdXRlUXVvdGFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGV4dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldmljZUZsZWV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludENvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZlYXR1cmVHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1bWFuTG9vcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hblRhc2tVaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1hZ2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RJbWFnZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JTY2hlbWFWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGFiZWxpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExpbmVhZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNbGZsb3dBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvY2Vzc2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvamVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNhdGFsb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhZ2VEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFpbmluZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYW5zZm9ybUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbENvbXBvbmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmb3JjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlB1dFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUXVlcnlMaW5lYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVuZGVyVWlUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYW1wbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U2VhcmNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kSGVhcnRiZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdBbGVydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXdhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXdhcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVSZXdhcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTcGFjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzYWdlbWFrZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbGxXaXRoQmVhcmVyVG9rZW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFdpdGhCZWFyZXJUb2tlbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQUlCZW5jaG1hcmtKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlCZW5jaG1hcmtKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbGdvcml0aG0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcEltYWdlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcnRpZmFjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b01MSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b01MSm9iVjIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmVwb3NpdG9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcGlsYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXB1dGVRdW90YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlUXVvdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbnRleHQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGV2aWNlRmxlZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV2aWNlRmxlZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkF1dGhNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5kcG9pbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIixcblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFeHBlcmltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cGVyaW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZlYXR1cmVHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ1wiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1YiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHVtYW5UYXNrVWkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbWFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTGFiZWxpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGFiZWxpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWxmbG93QXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd0FwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENhcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIiwgXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRpbWl6YXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBhcnRuZXJBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGlwZWxpbmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2Nlc3NpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvY2Vzc2luZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc2VydmVkQ2FwYWNpdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYWluaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFuc2Zvcm1Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhbnNmb3JtSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmlhbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb21wb25lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmtmb3JjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmt0ZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGZWF0dXJlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUGlwZWxpbmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRIdWJDb250ZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEh1YkNvbnRlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFJlY29yZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZFwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckRldmljZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEZXZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZWFyY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZURvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9kZWxQYWNrYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIixcblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVXNlclByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ0VMRVJBVE9SX1RZUEVTID0gXCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBUFBfTkVUV09SS19BQ0NFU1NfVFlQRSA9IFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QXV0aE1vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVEhfTU9ERSA9IFwic2FnZW1ha2VyOkF1dGhNb2RlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCRUFSRVJfVE9LRU5fVFlQRSA9IFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9DVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVJSRU5UX01PREVMX0xJRkVfQ1lDTEVfU1RBR0VfU1RBVFVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmUgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTX1RPX1JFTU9WRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9HQVRFRF9NT0RFTF9BQ0NFU1MgPVxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRElSRUNUX0lOVEVSTkVUX0FDQ0VTUyA9IFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9JRCA9IFwic2FnZW1ha2VyOkRvbWFpbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fU0hBUklOR19PVVRQVVRfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1ZyAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9SRU1PVEVfREVCVUcgPSBcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbiAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfRElTQUJMRV9HTFVFX1RBQkxFX0NSRUFUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZSAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfRU5BQkxFX09OTElORV9TVE9SRSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfQ09ORklHID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmkgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9TM19VUkkgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT05MSU5FX1NUT1JFX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT05MSU5FX1NUT1JFX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9BQ0NFU1NfTU9ERSA9IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGggKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0RJUkVDVE9SWV9QQVRIID1cblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fSUQgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fVFlQRSA9IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEhPTUVfRUZTX0ZJTEVfU1lTVEVNX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW1hZ2VBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfQVJOUyA9IFwic2FnZW1ha2VyOkltYWdlQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBJTUFHRV9WRVJTSU9OX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW5zdGFuY2VUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOU1RBTkNFX1RZUEVTID0gXCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlRFUl9DT05UQUlORVJfVFJBRkZJQ19FTkNSWVBUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJU19VUERBVEVfUkVDT1JEID0gXCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2QgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBLRUVQX0FMSVZFX1BFUklPRCA9IFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHMgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhfUlVOVElNRV9JTl9TRUNPTkRTID0gXCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1JTklNVU1fSU5TVEFOQ0VfTUVUQURBVEFfU0VSVklDRV9WRVJTSU9OID1cblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfQVBQUk9WQUxfU1RBVFVTID0gXCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcInNhZ2VtYWtlcjpNb2RlbEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9MSUZFX0NZQ0xFX1NUQUdFID0gXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfTElGRV9DWUNMRV9TVEFHRV9TVEFUVVMgPVxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvbiAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5FVFdPUktfSVNPTEFUSU9OID0gXCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTk9URUJPT0tfSU5TVEFOQ0VfTElGRUNZQ0xFX0NPTkZJR19BUk5TID1cblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk91dHB1dEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1VUUFVUX0tNU19LRVkgPSBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZX0FSTiA9IFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9XTkVSX1VTRVJfUFJPRklMRV9BUk4gPSBcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBJUEVMSU5FX1ZFUlNJT05fSUQgPSBcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJlbW90ZUFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVNT1RFX0FDQ0VTUyA9IFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJlc291cmNlVGFnLyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHID0gXCJzYWdlbWFrZXI6UmVzb3VyY2VUYWcvXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Um9vdEFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUk9PVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpSb290QWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQVJDSF9WSVNJQklMSVRZX0NPTkRJVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3kgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTX01BWF9DT05DVVJSRU5DWSA9XG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemUgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTX01FTU9SWV9TSVpFID0gXCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTUEFDRV9TSEFSSU5HX1RZUEUgPSBcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNUVURJT19MSUZFQ1lDTEVfQ09ORklHX0FSTlMgPVxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQUdHSU5HX0FDVElPTiA9IFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpUYXJnZXRNb2RlbCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX01PREVMID0gXCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVQREFUQUJMRV9GRUFUVVJFUyA9IFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSX1BST0ZJTEVfTkFNRSA9IFwic2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZvbHVtZUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0tNU19LRVkgPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZX0FSTiA9IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU0VDVVJJVFlfR1JPVVBfSURTID0gXCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZwY1N1Ym5ldHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU1VCTkVUUyA9IFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpXb3JrdGVhbUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgV09SS1RFQU1fQVJOID0gXCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpXb3JrdGVhbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX1RZUEUgPSBcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGFjY2VsZXJhdG9yVHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIGFwcE5ldHdvcmtBY2Nlc3NUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBdXRoTW9kZWAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0aE1vZGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6QXV0aE1vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGJlYXJlclRva2VuVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VgLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgY3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVgLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmUoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyBkaXJlY3RHYXRlZE1vZGVsQWNjZXNzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyBkaXJlY3RJbnRlcm5ldEFjY2Vzcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluSWRgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluU2hhcmluZ091dHB1dEtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5TaGFyaW5nT3V0cHV0S01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVSZW1vdGVEZWJ1Zyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEJvb2w6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVVJJKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9ubGluZVN0b3JlS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT25saW5lU3RvcmVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbUFjY2Vzc01vZGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtRGlyZWN0b3J5UGF0aChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbUlkYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1UeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGhvbWVFRlNGaWxlU3lzdGVtS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbWFnZUFybnNgLlxuXHQgKi9cblx0c3RhdGljIGltYWdlQXJucyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNgLlxuXHQgKi9cblx0c3RhdGljIGltYWdlVmVyc2lvbkFybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc2AuXG5cdCAqL1xuXHRzdGF0aWMgaW5zdGFuY2VUeXBlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBpbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkYC5cblx0ICovXG5cdHN0YXRpYyBpc1VwZGF0ZVJlY29yZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kYC5cblx0ICovXG5cdHN0YXRpYyBrZWVwQWxpdmVQZXJpb2QoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc2AuXG5cdCAqL1xuXHRzdGF0aWMgbWF4UnVudGltZUluU2Vjb25kcyhcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbmAuXG5cdCAqL1xuXHRzdGF0aWMgbWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEFwcHJvdmFsU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsQXJuYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbEFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbExpZmVDeWNsZVN0YWdlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgbmV0d29ya0lzb2xhdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3V0cHV0S21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBvdXRwdXRLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBvdXRwdXRLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuYC5cblx0ICovXG5cdHN0YXRpYyBvd25lclVzZXJQcm9maWxlQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkYC5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZVZlcnNpb25JZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6UmVtb3RlQWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyByZW1vdGVBY2Nlc3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Um9vdEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgcm9vdEFjY2Vzcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpSb290QWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1gLlxuXHQgKi9cblx0c3RhdGljIHNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc01heENvbmN1cnJlbmN5KFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzTWVtb3J5U2l6ZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIHNwYWNlU2hhcmluZ1R5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIHRhZ2dpbmdBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlRhcmdldE1vZGVsYC5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXRNb2RlbCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzYC5cblx0ICovXG5cdHN0YXRpYyB1cGRhdGFibGVGZWF0dXJlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZU5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1NlY3VyaXR5R3JvdXBJZHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VnBjU3VibmV0c2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU3VibmV0cyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtQXJuYC5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbUFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW1UeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==