@cdk_utils/iam 1.12.0 → 1.14.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.
- package/.jsii +5423 -4792
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.d.ts +2 -0
- package/lib/generated/services/bedrock-agentcore.js +7 -5
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +9 -6
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.d.ts +6 -0
- package/lib/generated/services/cognito-idp.js +11 -5
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +2 -0
- package/lib/generated/services/ec2.js +7 -5
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.d.ts +6 -0
- package/lib/generated/services/healthlake.js +18 -5
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +5 -6
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.d.ts +14 -0
- package/lib/generated/services/profile.js +26 -5
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +7 -5
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.d.ts +28 -0
- package/lib/generated/services/sagemaker.js +61 -9
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.d.ts +10 -0
- package/lib/generated/services/support.js +18 -3
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,11 +16,13 @@ class ProfileActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.ProfileActions = ProfileActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
ProfileActions[_a] = { fqn: "@cdk_utils/iam.profile.ProfileActions", version: "1.
|
|
19
|
+
ProfileActions[_a] = { fqn: "@cdk_utils/iam.profile.ProfileActions", version: "1.14.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
ProfileActions.SERVICE_PREFIX = "profile";
|
|
22
22
|
/** [Write] profile:AddProfileKey */
|
|
23
23
|
ProfileActions.AddProfileKey = "profile:AddProfileKey";
|
|
24
|
+
/** [Write] profile:AssociateStreamForSegments */
|
|
25
|
+
ProfileActions.AssociateStreamForSegments = "profile:AssociateStreamForSegments";
|
|
24
26
|
/** [Read] profile:BatchGetCalculatedAttributeForProfile */
|
|
25
27
|
ProfileActions.BatchGetCalculatedAttributeForProfile = "profile:BatchGetCalculatedAttributeForProfile";
|
|
26
28
|
/** [Read] profile:BatchGetProfile */
|
|
@@ -85,10 +87,14 @@ ProfileActions.DeleteRecommenderFilter = "profile:DeleteRecommenderFilter";
|
|
|
85
87
|
ProfileActions.DeleteRecommenderSchema = "profile:DeleteRecommenderSchema";
|
|
86
88
|
/** [Write] profile:DeleteSegmentDefinition */
|
|
87
89
|
ProfileActions.DeleteSegmentDefinition = "profile:DeleteSegmentDefinition";
|
|
90
|
+
/** [Write] profile:DeleteSegmentSubscription */
|
|
91
|
+
ProfileActions.DeleteSegmentSubscription = "profile:DeleteSegmentSubscription";
|
|
88
92
|
/** [Write] profile:DeleteWorkflow */
|
|
89
93
|
ProfileActions.DeleteWorkflow = "profile:DeleteWorkflow";
|
|
90
94
|
/** [Read] profile:DetectProfileObjectType */
|
|
91
95
|
ProfileActions.DetectProfileObjectType = "profile:DetectProfileObjectType";
|
|
96
|
+
/** [Write] profile:DisassociateStreamForSegments */
|
|
97
|
+
ProfileActions.DisassociateStreamForSegments = "profile:DisassociateStreamForSegments";
|
|
92
98
|
/** [Read] profile:GetAutoMergingPreview */
|
|
93
99
|
ProfileActions.actionGetAutoMergingPreview = "profile:GetAutoMergingPreview";
|
|
94
100
|
/** [Read] profile:GetCalculatedAttributeDefinition */
|
|
@@ -137,10 +143,14 @@ ProfileActions.actionGetSegmentEstimate = "profile:GetSegmentEstimate";
|
|
|
137
143
|
ProfileActions.actionGetSegmentMembership = "profile:GetSegmentMembership";
|
|
138
144
|
/** [Read] profile:GetSegmentSnapshot */
|
|
139
145
|
ProfileActions.actionGetSegmentSnapshot = "profile:GetSegmentSnapshot";
|
|
146
|
+
/** [Read] profile:GetSegmentSubscription */
|
|
147
|
+
ProfileActions.actionGetSegmentSubscription = "profile:GetSegmentSubscription";
|
|
140
148
|
/** [List] profile:GetSimilarProfiles */
|
|
141
149
|
ProfileActions.actionGetSimilarProfiles = "profile:GetSimilarProfiles";
|
|
142
150
|
/** [Read] profile:GetSnapshot */
|
|
143
151
|
ProfileActions.actionGetSnapshot = "profile:GetSnapshot";
|
|
152
|
+
/** [Read] profile:GetStreamForSegments */
|
|
153
|
+
ProfileActions.actionGetStreamForSegments = "profile:GetStreamForSegments";
|
|
144
154
|
/** [Read] profile:GetUploadJob */
|
|
145
155
|
ProfileActions.actionGetUploadJob = "profile:GetUploadJob";
|
|
146
156
|
/** [Read] profile:GetUploadJobPath */
|
|
@@ -197,6 +207,8 @@ ProfileActions.ListRecommenders = "profile:ListRecommenders";
|
|
|
197
207
|
ProfileActions.ListRuleBasedMatches = "profile:ListRuleBasedMatches";
|
|
198
208
|
/** [List] profile:ListSegmentDefinitions */
|
|
199
209
|
ProfileActions.ListSegmentDefinitions = "profile:ListSegmentDefinitions";
|
|
210
|
+
/** [Read] profile:ListSegmentSubscriptionEvents */
|
|
211
|
+
ProfileActions.ListSegmentSubscriptionEvents = "profile:ListSegmentSubscriptionEvents";
|
|
200
212
|
/** [Read] profile:ListTagsForResource */
|
|
201
213
|
ProfileActions.ListTagsForResource = "profile:ListTagsForResource";
|
|
202
214
|
/** [List] profile:ListUploadJobs */
|
|
@@ -213,6 +225,8 @@ ProfileActions.PutIntegration = "profile:PutIntegration";
|
|
|
213
225
|
ProfileActions.PutProfileObject = "profile:PutProfileObject";
|
|
214
226
|
/** [Write] profile:PutProfileObjectType */
|
|
215
227
|
ProfileActions.PutProfileObjectType = "profile:PutProfileObjectType";
|
|
228
|
+
/** [Write] profile:PutSegmentSubscription */
|
|
229
|
+
ProfileActions.PutSegmentSubscription = "profile:PutSegmentSubscription";
|
|
216
230
|
/** [Read] profile:SearchProfiles */
|
|
217
231
|
ProfileActions.SearchProfiles = "profile:SearchProfiles";
|
|
218
232
|
/** [Write] profile:StartRecommender */
|
|
@@ -267,17 +281,21 @@ ProfileActions.AllReadActions = [
|
|
|
267
281
|
ProfileActions.actionGetSegmentEstimate,
|
|
268
282
|
ProfileActions.actionGetSegmentMembership,
|
|
269
283
|
ProfileActions.actionGetSegmentSnapshot,
|
|
284
|
+
ProfileActions.actionGetSegmentSubscription,
|
|
270
285
|
ProfileActions.actionGetSnapshot,
|
|
286
|
+
ProfileActions.actionGetStreamForSegments,
|
|
271
287
|
ProfileActions.actionGetUploadJob,
|
|
272
288
|
ProfileActions.actionGetUploadJobPath,
|
|
273
289
|
ProfileActions.actionGetWorkflow,
|
|
274
290
|
ProfileActions.actionGetWorkflowSteps,
|
|
291
|
+
ProfileActions.ListSegmentSubscriptionEvents,
|
|
275
292
|
ProfileActions.ListTagsForResource,
|
|
276
293
|
ProfileActions.SearchProfiles,
|
|
277
294
|
];
|
|
278
295
|
/** All write-level actions. */
|
|
279
296
|
ProfileActions.AllWriteActions = [
|
|
280
297
|
ProfileActions.AddProfileKey,
|
|
298
|
+
ProfileActions.AssociateStreamForSegments,
|
|
281
299
|
ProfileActions.CreateCalculatedAttributeDefinition,
|
|
282
300
|
ProfileActions.CreateDomain,
|
|
283
301
|
ProfileActions.CreateDomainLayout,
|
|
@@ -308,12 +326,15 @@ ProfileActions.AllWriteActions = [
|
|
|
308
326
|
ProfileActions.DeleteRecommenderFilter,
|
|
309
327
|
ProfileActions.DeleteRecommenderSchema,
|
|
310
328
|
ProfileActions.DeleteSegmentDefinition,
|
|
329
|
+
ProfileActions.DeleteSegmentSubscription,
|
|
311
330
|
ProfileActions.DeleteWorkflow,
|
|
331
|
+
ProfileActions.DisassociateStreamForSegments,
|
|
312
332
|
ProfileActions.MergeProfiles,
|
|
313
333
|
ProfileActions.PutDomainObjectType,
|
|
314
334
|
ProfileActions.PutIntegration,
|
|
315
335
|
ProfileActions.PutProfileObject,
|
|
316
336
|
ProfileActions.PutProfileObjectType,
|
|
337
|
+
ProfileActions.PutSegmentSubscription,
|
|
317
338
|
ProfileActions.StartRecommender,
|
|
318
339
|
ProfileActions.StartUploadJob,
|
|
319
340
|
ProfileActions.StopRecommender,
|
|
@@ -729,7 +750,7 @@ class ProfileResources {
|
|
|
729
750
|
}
|
|
730
751
|
exports.ProfileResources = ProfileResources;
|
|
731
752
|
_b = JSII_RTTI_SYMBOL_1;
|
|
732
|
-
ProfileResources[_b] = { fqn: "@cdk_utils/iam.profile.ProfileResources", version: "1.
|
|
753
|
+
ProfileResources[_b] = { fqn: "@cdk_utils/iam.profile.ProfileResources", version: "1.14.0" };
|
|
733
754
|
/**
|
|
734
755
|
* API operation to required IAM actions mapping for profile.
|
|
735
756
|
*/
|
|
@@ -737,7 +758,7 @@ class ProfileOperations {
|
|
|
737
758
|
}
|
|
738
759
|
exports.ProfileOperations = ProfileOperations;
|
|
739
760
|
_c = JSII_RTTI_SYMBOL_1;
|
|
740
|
-
ProfileOperations[_c] = { fqn: "@cdk_utils/iam.profile.ProfileOperations", version: "1.
|
|
761
|
+
ProfileOperations[_c] = { fqn: "@cdk_utils/iam.profile.ProfileOperations", version: "1.14.0" };
|
|
741
762
|
/** IAM actions required for the AddProfileKey API call. */
|
|
742
763
|
ProfileOperations.AddProfileKey = ["profile:AddProfileKey"];
|
|
743
764
|
/** IAM actions required for the BatchGetCalculatedAttributeForProfile API call. */
|
|
@@ -1106,7 +1127,7 @@ class ProfileConditions {
|
|
|
1106
1127
|
}
|
|
1107
1128
|
exports.ProfileConditions = ProfileConditions;
|
|
1108
1129
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1109
|
-
ProfileConditions[_d] = { fqn: "@cdk_utils/iam.profile.ProfileConditions", version: "1.
|
|
1130
|
+
ProfileConditions[_d] = { fqn: "@cdk_utils/iam.profile.ProfileConditions", version: "1.14.0" };
|
|
1110
1131
|
/** Condition keys applicable to the CreateRecommenderFilter action. */
|
|
1111
1132
|
ProfileConditions.CreateRecommenderFilterConditionKeys = [
|
|
1112
1133
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1130,4 +1151,4 @@ ProfileConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
1130
1151
|
ProfileConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
1131
1152
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
1132
1153
|
ProfileConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
1133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0FnWEM7OztBQS9XQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCwyREFBMkQ7QUFDM0Msb0RBQXFDLEdBQ3BELCtDQUErQyxDQUFDO0FBQ2pELHFDQUFxQztBQUNyQiw4QkFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELDBEQUEwRDtBQUMxQyxrREFBbUMsR0FDbEQsNkNBQTZDLENBQUM7QUFDL0MsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLDhDQUE4QztBQUM5QixzQ0FBdUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM1RSw4Q0FBOEM7QUFDOUIsc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUs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TSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDOztBQTdDRiw4Q0E4Q0M7OztBQTdDQSx1RUFBdUU7QUFDdkQsc0RBQW9DLEdBQWE7SUFDaEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELHNEQUFvQyxHQUFhO0lBQ2hFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywwQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNENBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsaUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsa0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDhCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvcHJvZmlsZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgcHJvZmlsZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJwcm9maWxlXCI7XG5cblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpBZGRQcm9maWxlS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRQcm9maWxlS2V5ID0gXCJwcm9maWxlOkFkZFByb2ZpbGVLZXlcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpCYXRjaEdldFByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UHJvZmlsZSA9IFwicHJvZmlsZTpCYXRjaEdldFByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJwcm9maWxlOkNyZWF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOkNyZWF0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN0cmVhbSA9IFwicHJvZmlsZTpDcmVhdGVFdmVudFN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uV29ya2Zsb3cgPVxuXHRcdFwicHJvZmlsZTpDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZmlsZSA9IFwicHJvZmlsZTpDcmVhdGVQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlUmVjb21tZW5kZXJTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hID0gXCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnREZWZpbml0aW9uID0gXCJwcm9maWxlOkNyZWF0ZVNlZ21lbnREZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50RXN0aW1hdGUgPSBcInByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU2VnbWVudFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50U25hcHNob3QgPSBcInByb2ZpbGU6Q3JlYXRlU2VnbWVudFNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNuYXBzaG90ID0gXCJwcm9maWxlOkNyZWF0ZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlVXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVcGxvYWRKb2IgPSBcInByb2ZpbGU6Q3JlYXRlVXBsb2FkSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uID1cblx0XHRcInByb2ZpbGU6RGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbiA9IFwicHJvZmlsZTpEZWxldGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW5MYXlvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbkxheW91dCA9IFwicHJvZmlsZTpEZWxldGVEb21haW5MYXlvdXRcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVEb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVFdmVudFN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRTdHJlYW0gPSBcInByb2ZpbGU6RGVsZXRlRXZlbnRTdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50VHJpZ2dlciA9IFwicHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb24gPSBcInByb2ZpbGU6RGVsZXRlSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlS2V5ID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXlcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0ID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVPYmplY3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXIgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlckZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXJGaWx0ZXIgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVSZWNvbW1lbmRlclNjaGVtYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgPSBcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJTY2hlbWFcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudERlZmluaXRpb24gPSBcInByb2ZpbGU6RGVsZXRlU2VnbWVudERlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2Zsb3cgPSBcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkRldGVjdFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0QXV0b01lcmdpbmdQcmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvTWVyZ2luZ1ByZXZpZXcgPSBcInByb2ZpbGU6R2V0QXV0b01lcmdpbmdQcmV2aWV3XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlID1cblx0XHRcInByb2ZpbGU6R2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9tYWluID0gXCJwcm9maWxlOkdldERvbWFpblwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RG9tYWluTGF5b3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5MYXlvdXQgPSBcInByb2ZpbGU6R2V0RG9tYWluTGF5b3V0XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXREb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOkdldERvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldEV2ZW50U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudFN0cmVhbSA9IFwicHJvZmlsZTpHZXRFdmVudFN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RXZlbnRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudFRyaWdnZXIgPSBcInByb2ZpbGU6R2V0RXZlbnRUcmlnZ2VyXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRJZGVudGl0eVJlc29sdXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldElkZW50aXR5UmVzb2x1dGlvbkpvYiA9XG5cdFx0XCJwcm9maWxlOkdldElkZW50aXR5UmVzb2x1dGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0SW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludGVncmF0aW9uID0gXCJwcm9maWxlOkdldEludGVncmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpHZXRNYXRjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXRjaGVzID0gXCJwcm9maWxlOkdldE1hdGNoZXNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyA9XG5cdFx0XCJwcm9maWxlOkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZUhpc3RvcnlSZWNvcmQgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UHJvZmlsZUluc2lnaHRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlSW5zaWdodHMgPSBcInByb2ZpbGU6R2V0UHJvZmlsZUluc2lnaHRzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGUgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlUmVjb21tZW5kYXRpb25zID1cblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZVJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGVyID0gXCJwcm9maWxlOkdldFJlY29tbWVuZGVyXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRSZWNvbW1lbmRlckZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kZXJGaWx0ZXIgPSBcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJGaWx0ZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFJlY29tbWVuZGVyU2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvbW1lbmRlclNjaGVtYSA9IFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlclNjaGVtYVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnREZWZpbml0aW9uID0gXCJwcm9maWxlOkdldFNlZ21lbnREZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRFc3RpbWF0ZSA9IFwicHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNlZ21lbnRNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWdtZW50TWVtYmVyc2hpcCA9IFwicHJvZmlsZTpHZXRTZWdtZW50TWVtYmVyc2hpcFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWdtZW50U25hcHNob3QgPSBcInByb2ZpbGU6R2V0U2VnbWVudFNuYXBzaG90XCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyA9IFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTbmFwc2hvdCA9IFwicHJvZmlsZTpHZXRTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0VXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVcGxvYWRKb2IgPSBcInByb2ZpbGU6R2V0VXBsb2FkSm9iXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRVcGxvYWRKb2JQYXRoICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVcGxvYWRKb2JQYXRoID0gXCJwcm9maWxlOkdldFVwbG9hZEpvYlBhdGhcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrZmxvdyA9IFwicHJvZmlsZTpHZXRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0V29ya2Zsb3dTdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2Zsb3dTdGVwcyA9IFwicHJvZmlsZTpHZXRXb3JrZmxvd1N0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnMgPSBcInByb2ZpbGU6TGlzdEFjY291bnRJbnRlZ3JhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnMgPVxuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlID1cblx0XHRcInByb2ZpbGU6TGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZVwiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbkxheW91dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5MYXlvdXRzID0gXCJwcm9maWxlOkxpc3REb21haW5MYXlvdXRzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0VHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5PYmplY3RUeXBlcyA9IFwicHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3REb21haW5PYmplY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluT2JqZWN0cyA9IFwicHJvZmlsZTpMaXN0RG9tYWluT2JqZWN0c1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zID0gXCJwcm9maWxlOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RXZlbnRTdHJlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRTdHJlYW1zID0gXCJwcm9maWxlOkxpc3RFdmVudFN0cmVhbXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RFdmVudFRyaWdnZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRUcmlnZ2VycyA9IFwicHJvZmlsZTpMaXN0RXZlbnRUcmlnZ2Vyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzID1cblx0XHRcInByb2ZpbGU6TGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RJbnRlZ3JhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlZ3JhdGlvbnMgPSBcInByb2ZpbGU6TGlzdEludGVncmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzID1cblx0XHRcInByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzID0gXCJwcm9maWxlOkxpc3RPYmplY3RUeXBlQXR0cmlidXRlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzID1cblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgPVxuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyA9XG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVPYmplY3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RUeXBlcyA9IFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0cyA9IFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlckZpbHRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlckZpbHRlcnMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyRmlsdGVyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVyUmVjaXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyUmVjaXBlcyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJSZWNpcGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UmVjb21tZW5kZXJTY2hlbWFzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzID0gXCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlcnMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlQmFzZWRNYXRjaGVzID0gXCJwcm9maWxlOkxpc3RSdWxlQmFzZWRNYXRjaGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0U2VnbWVudERlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VnbWVudERlZmluaXRpb25zID0gXCJwcm9maWxlOkxpc3RTZWdtZW50RGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFVwbG9hZEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzID0gXCJwcm9maWxlOkxpc3RVcGxvYWRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0V29ya2Zsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzID0gXCJwcm9maWxlOkxpc3RXb3JrZmxvd3NcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpNZXJnZVByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVByb2ZpbGVzID0gXCJwcm9maWxlOk1lcmdlUHJvZmlsZXNcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXREb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW50ZWdyYXRpb24gPSBcInByb2ZpbGU6UHV0SW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0ID0gXCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOlNlYXJjaFByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQcm9maWxlcyA9IFwicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0UmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXIgPSBcInByb2ZpbGU6U3RhcnRSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0VXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFVwbG9hZEpvYiA9IFwicHJvZmlsZTpTdGFydFVwbG9hZEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlY29tbWVuZGVyID0gXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2IgPSBcInByb2ZpbGU6U3RvcFVwbG9hZEpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIHByb2ZpbGU6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcHJvZmlsZTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2ZpbGUgPSBcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpVcGRhdGVSZWNvbW1lbmRlclwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQmF0Y2hHZXRQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRldGVjdFByb2ZpbGVPYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldEF1dG9NZXJnaW5nUHJldmlldyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXREb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldERvbWFpbk9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRTdHJlYW0sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRUcmlnZ2VyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldElkZW50aXR5UmVzb2x1dGlvbkpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSGlzdG9yeVJlY29yZCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSW5zaWdodHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlUmVjb21tZW5kYXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyRmlsdGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyU2NoZW1hLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnREZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnRFc3RpbWF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50TWVtYmVyc2hpcCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0VXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFVwbG9hZEpvYlBhdGgsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3csXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3dTdGVwcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlNlYXJjaFByb2ZpbGVzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLkFkZFByb2ZpbGVLZXksXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlRG9tYWluLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZURvbWFpbkxheW91dCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVFdmVudFN0cmVhbSxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVFdmVudFRyaWdnZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdyxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnREZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnRFc3RpbWF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVTZWdtZW50U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlVXBsb2FkSm9iLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZURvbWFpbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVEb21haW5MYXlvdXQsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlRG9tYWluT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVFdmVudFN0cmVhbSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVFdmVudFRyaWdnZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlSW50ZWdyYXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlS2V5LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZVByb2ZpbGVPYmplY3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXJGaWx0ZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlU2VnbWVudERlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlV29ya2Zsb3csXG5cdFx0UHJvZmlsZUFjdGlvbnMuTWVyZ2VQcm9maWxlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5QdXREb21haW5PYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dEludGVncmF0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dFByb2ZpbGVPYmplY3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuUHV0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RhcnRSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5TdGFydFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5TdG9wUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RvcFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVEb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuVXBkYXRlRG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZVJlY29tbWVuZGVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRNYXRjaGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0QWNjb3VudEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbkxheW91dHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbk9iamVjdFR5cGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5PYmplY3RzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RFdmVudFN0cmVhbXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEV2ZW50VHJpZ2dlcnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVPYmplY3RUeXBlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVyRmlsdGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UmVjb21tZW5kZXJSZWNpcGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RSZWNvbW1lbmRlclNjaGVtYXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UnVsZUJhc2VkTWF0Y2hlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0U2VnbWVudERlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RVcGxvYWRKb2JzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RXb3JrZmxvd3MsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWxjdWxhdGVkQXR0cmlidXRlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluLW9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbk9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb21haW4tb2JqZWN0LXR5cGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRG9tYWluT2JqZWN0VHlwZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgT2JqZWN0VHlwZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvYmplY3RUeXBlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWlucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVEb21haW5zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtc3RyZWFtcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRTdHJlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmVudC1zdHJlYW1zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRXZlbnRTdHJlYW1zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50U3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50U3RyZWFtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudFRyaWdnZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50VHJpZ2dlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbnRlZ3JhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW50ZWdyYXRpb25zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVyaTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGF5b3V0cyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUxheW91dHNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYXlvdXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxheW91dHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVMYXlvdXRzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGF5b3V0RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvYmplY3QtdHlwZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9iamVjdFR5cGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1maWx0ZXJzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlckZpbHRlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyRmlsdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLWZpbHRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJGaWx0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJGaWx0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJTY2hlbWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlclNjaGVtYU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyU2NoZW1hTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJTY2hlbWFOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJTY2hlbWFOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGVyVHlwZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlZ21lbnREZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VnbWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VnbWVudC1kZWZpbml0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZWdtZW50RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZWdtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvY2FsY3VsYXRlZC1hdHRyaWJ1dGVzXFwvKD88Y2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2RvbWFpbi1vYmplY3QtdHlwZXNcXC8oPzxvYmplY3RUeXBlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV2ZW50U3RyZWFtc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9ldmVudC1zdHJlYW1zXFwvKD88ZXZlbnRTdHJlYW1OYW1lPlteOi8/XSspJC87XG5jb25zdCBFdmVudFRyaWdnZXJzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2V2ZW50LXRyaWdnZXJzXFwvKD88ZXZlbnRUcmlnZ2VyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW50ZWdyYXRpb25zQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2ludGVncmF0aW9uc1xcLyg/PHVyaT5bXjovP10rKSQvO1xuY29uc3QgTGF5b3V0c0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9sYXlvdXRzXFwvKD88bGF5b3V0RGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL29iamVjdC10eXBlc1xcLyg/PG9iamVjdFR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvcmVjb21tZW5kZXItZmlsdGVyc1xcLyg/PHJlY29tbWVuZGVyRmlsdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL3JlY29tbWVuZGVyLXNjaGVtYXNcXC8oPzxyZWNvbW1lbmRlclNjaGVtYU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGVyc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9yZWNvbW1lbmRlcnNcXC8oPzxyZWNvbW1lbmRlclR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZWdtZW50RGVmaW5pdGlvbnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvc2VnbWVudC1kZWZpbml0aW9uc1xcLyg/PHNlZ21lbnREZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHByb2ZpbGUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNhbGN1bGF0ZWRBdHRyaWJ1dGVzKFxuXHRcdHByb3BzOiBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9jYWxjdWxhdGVkLWF0dHJpYnV0ZXMvJHtwcm9wcy5jYWxjdWxhdGVkQXR0cmlidXRlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYWxjdWxhdGVkQXR0cmlidXRlc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDYWxjdWxhdGVkQXR0cmlidXRlc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBtYXRjaC5ncm91cHMhLmNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluT2JqZWN0VHlwZXMocHJvcHM6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9kb21haW4tb2JqZWN0LXR5cGVzLyR7cHJvcHMub2JqZWN0VHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbk9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbi1vYmplY3QtdHlwZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluT2JqZWN0VHlwZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9tYWluLW9iamVjdC10eXBlcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRvYmplY3RUeXBlTmFtZTogbWF0Y2guZ3JvdXBzIS5vYmplY3RUeXBlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW5zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbnMocHJvcHM6IFByb2ZpbGVEb21haW5zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb21haW5zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlRG9tYWluc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW5zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50U3RyZWFtcyhwcm9wczogUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC1zdHJlYW1zLyR7cHJvcHMuZXZlbnRTdHJlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFN0cmVhbXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRTdHJlYW1zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2ZW50LXN0cmVhbXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRTdHJlYW1zQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZUV2ZW50U3RyZWFtc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZlbnRTdHJlYW1zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXN0cmVhbXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0ZXZlbnRTdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLmV2ZW50U3RyZWFtTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC10cmlnZ2VycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBldmVudFRyaWdnZXJzKHByb3BzOiBQcm9maWxlRXZlbnRUcmlnZ2Vyc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC10cmlnZ2Vycy8ke3Byb3BzLmV2ZW50VHJpZ2dlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2ZW50LXRyaWdnZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFRyaWdnZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2ZW50VHJpZ2dlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZlbnQtdHJpZ2dlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRUcmlnZ2Vyc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFRyaWdnZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXRyaWdnZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGV2ZW50VHJpZ2dlck5hbWU6IG1hdGNoLmdyb3VwcyEuZXZlbnRUcmlnZ2VyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnRlZ3JhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZWdyYXRpb25zKHByb3BzOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2ludGVncmF0aW9ucy8ke3Byb3BzLnVyaX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW50ZWdyYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW50ZWdyYXRpb25zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGludGVncmF0aW9ucyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnRlZ3JhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZWdyYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHVyaTogbWF0Y2guZ3JvdXBzIS51cmksXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGF5b3V0cyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYXlvdXRzKHByb3BzOiBQcm9maWxlTGF5b3V0c0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9sYXlvdXRzLyR7cHJvcHMubGF5b3V0RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxheW91dHMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGF5b3V0c0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsYXlvdXRzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlTGF5b3V0c0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGF5b3V0c0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYXlvdXRzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGxheW91dERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmxheW91dERlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvYmplY3RUeXBlcyhwcm9wczogUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L29iamVjdC10eXBlcy8ke3Byb3BzLm9iamVjdFR5cGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9iamVjdC10eXBlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPYmplY3RUeXBlc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb2JqZWN0LXR5cGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdG9iamVjdFR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLm9iamVjdFR5cGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJGaWx0ZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVyLWZpbHRlcnMvJHtwcm9wcy5yZWNvbW1lbmRlckZpbHRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY29tbWVuZGVyRmlsdGVyc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVjb21tZW5kZXItZmlsdGVycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRlckZpbHRlcnNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY29tbWVuZGVyRmlsdGVyc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWNvbW1lbmRlci1maWx0ZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHJlY29tbWVuZGVyRmlsdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5yZWNvbW1lbmRlckZpbHRlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRlclNjaGVtYXMocHJvcHM6IFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vcmVjb21tZW5kZXItc2NoZW1hcy8ke3Byb3BzLnJlY29tbWVuZGVyU2NoZW1hTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJTY2hlbWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyU2NoZW1hc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGVyU2NoZW1hc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVJlY29tbWVuZGVyU2NoZW1hc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0cmVjb21tZW5kZXJTY2hlbWFOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyU2NoZW1hTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVycy8ke3Byb3BzLnJlY29tbWVuZGVyVHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZVJlY29tbWVuZGVyc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVycyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRyZWNvbW1lbmRlclR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyVHlwZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZWdtZW50RGVmaW5pdGlvbnMocHJvcHM6IFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vc2VnbWVudC1kZWZpbml0aW9ucy8ke3Byb3BzLnNlZ21lbnREZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VnbWVudERlZmluaXRpb25zQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlZ21lbnREZWZpbml0aW9uc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZWdtZW50LWRlZmluaXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlZ21lbnREZWZpbml0aW9uc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VnbWVudERlZmluaXRpb25zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0c2VnbWVudERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLnNlZ21lbnREZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBwcm9maWxlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkFkZFByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6QmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpCYXRjaEdldFByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUHV0UHJvZmlsZU9iamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUHV0UHJvZmlsZU9iamVjdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZURvbWFpblwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVEb21haW5MYXlvdXRcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlclwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3dcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZmlsZTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlckZpbHRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWE6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclNjaGVtYVwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZWdtZW50RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb25cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudEVzdGltYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlZ21lbnRTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnRTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVNlZ21lbnRTbmFwc2hvdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwbG9hZEpvYjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVVwbG9hZEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZUV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvbW1lbmRlckZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlclNjaGVtYTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyU2NoZW1hXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlZ21lbnREZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudERlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdFByb2ZpbGVPYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvTWVyZ2luZ1ByZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9NZXJnaW5nUHJldmlldzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldEF1dG9NZXJnaW5nUHJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldERvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXREb21haW5MYXlvdXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbk9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbk9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXREb21haW5PYmplY3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2ZW50U3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50VHJpZ2dlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJZGVudGl0eVJlc29sdXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRJZGVudGl0eVJlc29sdXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0SW50ZWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hdGNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hdGNoZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRNYXRjaGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlSGlzdG9yeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZUhpc3RvcnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZVJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyU2NoZW1hOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJTY2hlbWFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudERlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50RXN0aW1hdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudE1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnRNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudE1lbWJlcnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudFNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2ltaWxhclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaW1pbGFyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFVwbG9hZEpvYlBhdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVwbG9hZEpvYlBhdGg6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JQYXRoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRXb3JrZmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2Zsb3dTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3dTdGVwczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFdvcmtmbG93U3RlcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5MYXlvdXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbkxheW91dHM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluTGF5b3V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpbk9iamVjdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbk9iamVjdFR5cGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdERvbWFpbk9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFN0cmVhbXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RXZlbnRTdHJlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFRyaWdnZXJzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdEV2ZW50VHJpZ2dlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RJbnRlZ3JhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVPYmplY3RUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlT2JqZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0czogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVyRmlsdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlckZpbHRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJGaWx0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRlclJlY2lwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJSZWNpcGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyUmVjaXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyU2NoZW1hczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlcnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UnVsZUJhc2VkTWF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlQmFzZWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlZ21lbnREZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50RGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0U2VnbWVudERlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXBsb2FkSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFVwbG9hZEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZmxvd3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFdvcmtmbG93c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWVyZ2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1lcmdlUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpNZXJnZVByb2ZpbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dEludGVncmF0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UHJvZmlsZU9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RUeXBlXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaFByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdGFydFJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VXBsb2FkSm9iOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6U3RhcnRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdG9wVXBsb2FkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVcGRhdGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9maWxlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcHJvZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|
|
1154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwWUM7OztBQXpZQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCxpREFBaUQ7QUFDakMseUNBQTBCLEdBQ3pDLG9DQUFvQyxDQUFDO0FBQ3RDLDJEQUEyRDtBQUMzQyxvREFBcUMsR0FDcEQsK0NBQStDLENBQUM7QUFDakQscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsMERBQTBEO0FBQzFDLGtEQUFtQyxHQUNsRCw2Q0FBNkMsQ0FBQztBQUMvQyxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHlDQUF5QztBQUN6QixpQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxnREFBZ0Q7QUFDaEMsd0NBQXlCLEdBQ3hDLG1DQUFtQyxDQUFDO0FBQ3JDLG9DQUFvQztBQUNwQiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSw4Q0FBOEM7QUFDOUIsc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVF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LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9wcm9maWxlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBwcm9maWxlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9maWxlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInByb2ZpbGVcIjtcblxuXHQvKiogW1dyaXRlXSBwcm9maWxlOkFkZFByb2ZpbGVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFByb2ZpbGVLZXkgPSBcInByb2ZpbGU6QWRkUHJvZmlsZUtleVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkFzc29jaWF0ZVN0cmVhbUZvclNlZ21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTdHJlYW1Gb3JTZWdtZW50cyA9XG5cdFx0XCJwcm9maWxlOkFzc29jaWF0ZVN0cmVhbUZvclNlZ21lbnRzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlID1cblx0XHRcInByb2ZpbGU6QmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6QmF0Y2hHZXRQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFByb2ZpbGUgPSBcInByb2ZpbGU6QmF0Y2hHZXRQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6Q3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uID1cblx0XHRcInByb2ZpbGU6Q3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbiA9IFwicHJvZmlsZTpDcmVhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVEb21haW5MYXlvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbkxheW91dCA9IFwicHJvZmlsZTpDcmVhdGVEb21haW5MYXlvdXRcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVFdmVudFN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRTdHJlYW0gPSBcInByb2ZpbGU6Q3JlYXRlRXZlbnRTdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVFdmVudFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50VHJpZ2dlciA9IFwicHJvZmlsZTpDcmVhdGVFdmVudFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93ID1cblx0XHRcInByb2ZpbGU6Q3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2ZpbGUgPSBcInByb2ZpbGU6Q3JlYXRlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlckZpbHRlciA9IFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlckZpbHRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyU2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYSA9IFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclNjaGVtYVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVNlZ21lbnREZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWdtZW50RGVmaW5pdGlvbiA9IFwicHJvZmlsZTpDcmVhdGVTZWdtZW50RGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVNlZ21lbnRFc3RpbWF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudEVzdGltYXRlID0gXCJwcm9maWxlOkNyZWF0ZVNlZ21lbnRFc3RpbWF0ZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVNlZ21lbnRTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudFNuYXBzaG90ID0gXCJwcm9maWxlOkNyZWF0ZVNlZ21lbnRTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdCA9IFwicHJvZmlsZTpDcmVhdGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkNyZWF0ZVVwbG9hZEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXBsb2FkSm9iID0gXCJwcm9maWxlOkNyZWF0ZVVwbG9hZEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiA9XG5cdFx0XCJwcm9maWxlOkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW4gPSBcInByb2ZpbGU6RGVsZXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlRG9tYWluTGF5b3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5MYXlvdXQgPSBcInByb2ZpbGU6RGVsZXRlRG9tYWluTGF5b3V0XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlRG9tYWluT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpEZWxldGVEb21haW5PYmplY3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlRXZlbnRTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50U3RyZWFtID0gXCJwcm9maWxlOkRlbGV0ZUV2ZW50U3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlRXZlbnRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFRyaWdnZXIgPSBcInByb2ZpbGU6RGVsZXRlRXZlbnRUcmlnZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVncmF0aW9uID0gXCJwcm9maWxlOkRlbGV0ZUludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZSA9IFwicHJvZmlsZTpEZWxldGVQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUHJvZmlsZUtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZUtleSA9IFwicHJvZmlsZTpEZWxldGVQcm9maWxlS2V5XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZU9iamVjdCA9IFwicHJvZmlsZTpEZWxldGVQcm9maWxlT2JqZWN0XCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3RUeXBlID0gXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVPYmplY3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyID0gXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyRmlsdGVyID0gXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyRmlsdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyU2NoZW1hID0gXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyU2NoZW1hXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlU2VnbWVudERlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlZ21lbnREZWZpbml0aW9uID0gXCJwcm9maWxlOkRlbGV0ZVNlZ21lbnREZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHByb2ZpbGU6RGVsZXRlU2VnbWVudFN1YnNjcmlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudFN1YnNjcmlwdGlvbiA9XG5cdFx0XCJwcm9maWxlOkRlbGV0ZVNlZ21lbnRTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpEZWxldGVXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2Zsb3cgPSBcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkRldGVjdFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOkRpc2Fzc29jaWF0ZVN0cmVhbUZvclNlZ21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVTdHJlYW1Gb3JTZWdtZW50cyA9XG5cdFx0XCJwcm9maWxlOkRpc2Fzc29jaWF0ZVN0cmVhbUZvclNlZ21lbnRzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRBdXRvTWVyZ2luZ1ByZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9NZXJnaW5nUHJldmlldyA9IFwicHJvZmlsZTpHZXRBdXRvTWVyZ2luZ1ByZXZpZXdcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiA9XG5cdFx0XCJwcm9maWxlOkdldENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW4gPSBcInByb2ZpbGU6R2V0RG9tYWluXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXREb21haW5MYXlvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpbkxheW91dCA9IFwicHJvZmlsZTpHZXREb21haW5MYXlvdXRcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldERvbWFpbk9iamVjdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpbk9iamVjdFR5cGUgPSBcInByb2ZpbGU6R2V0RG9tYWluT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0RXZlbnRTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50U3RyZWFtID0gXCJwcm9maWxlOkdldEV2ZW50U3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRFdmVudFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50VHJpZ2dlciA9IFwicHJvZmlsZTpHZXRFdmVudFRyaWdnZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldElkZW50aXR5UmVzb2x1dGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iID1cblx0XHRcInByb2ZpbGU6R2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZWdyYXRpb24gPSBcInByb2ZpbGU6R2V0SW50ZWdyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkdldE1hdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hdGNoZXMgPSBcInByb2ZpbGU6R2V0TWF0Y2hlc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9iamVjdFR5cGVBdHRyaWJ1dGVTdGF0aXN0aWNzID1cblx0XHRcInByb2ZpbGU6R2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlSGlzdG9yeVJlY29yZCA9XG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVIaXN0b3J5UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRQcm9maWxlSW5zaWdodHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVJbnNpZ2h0cyA9IFwicHJvZmlsZTpHZXRQcm9maWxlSW5zaWdodHNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlT2JqZWN0VHlwZSA9IFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSA9XG5cdFx0XCJwcm9maWxlOkdldFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kZXIgPSBcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFJlY29tbWVuZGVyRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvbW1lbmRlckZpbHRlciA9IFwicHJvZmlsZTpHZXRSZWNvbW1lbmRlckZpbHRlclwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0UmVjb21tZW5kZXJTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGVyU2NoZW1hID0gXCJwcm9maWxlOkdldFJlY29tbWVuZGVyU2NoZW1hXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VnbWVudERlZmluaXRpb24gPSBcInByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNlZ21lbnRFc3RpbWF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VnbWVudEVzdGltYXRlID0gXCJwcm9maWxlOkdldFNlZ21lbnRFc3RpbWF0ZVwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U2VnbWVudE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRNZW1iZXJzaGlwID0gXCJwcm9maWxlOkdldFNlZ21lbnRNZW1iZXJzaGlwXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRTbmFwc2hvdCA9IFwicHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNlZ21lbnRTdWJzY3JpcHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlZ21lbnRTdWJzY3JpcHRpb24gPVxuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50U3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyA9IFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTbmFwc2hvdCA9IFwicHJvZmlsZTpHZXRTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0U3RyZWFtRm9yU2VnbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN0cmVhbUZvclNlZ21lbnRzID0gXCJwcm9maWxlOkdldFN0cmVhbUZvclNlZ21lbnRzXCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVwbG9hZEpvYiA9IFwicHJvZmlsZTpHZXRVcGxvYWRKb2JcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkdldFVwbG9hZEpvYlBhdGggKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVwbG9hZEpvYlBhdGggPSBcInByb2ZpbGU6R2V0VXBsb2FkSm9iUGF0aFwiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6R2V0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtmbG93ID0gXCJwcm9maWxlOkdldFdvcmtmbG93XCI7XG5cdC8qKiBbUmVhZF0gcHJvZmlsZTpHZXRXb3JrZmxvd1N0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrZmxvd1N0ZXBzID0gXCJwcm9maWxlOkdldFdvcmtmbG93U3RlcHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RBY2NvdW50SW50ZWdyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudEludGVncmF0aW9ucyA9IFwicHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9ucyA9XG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUgPVxuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWluTGF5b3V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbkxheW91dHMgPSBcInByb2ZpbGU6TGlzdERvbWFpbkxheW91dHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3REb21haW5PYmplY3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbk9iamVjdFR5cGVzID0gXCJwcm9maWxlOkxpc3REb21haW5PYmplY3RUeXBlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdERvbWFpbk9iamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5PYmplY3RzID0gXCJwcm9maWxlOkxpc3REb21haW5PYmplY3RzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnMgPSBcInByb2ZpbGU6TGlzdERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RFdmVudFN0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFN0cmVhbXMgPSBcInByb2ZpbGU6TGlzdEV2ZW50U3RyZWFtc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdEV2ZW50VHJpZ2dlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFRyaWdnZXJzID0gXCJwcm9maWxlOkxpc3RFdmVudFRyaWdnZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMgPVxuXHRcdFwicHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdEludGVncmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9ucyA9IFwicHJvZmlsZTpMaXN0SW50ZWdyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXMgPVxuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMgPSBcInByb2ZpbGU6TGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgPVxuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFByb2ZpbGVIaXN0b3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3JkcyA9XG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlSGlzdG9yeVJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVzID1cblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVPYmplY3RUeXBlVGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZU9iamVjdFR5cGVzID0gXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2ZpbGVPYmplY3RzID0gXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0c1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVyRmlsdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyRmlsdGVycyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJGaWx0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UmVjb21tZW5kZXJSZWNpcGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJSZWNpcGVzID0gXCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclJlY2lwZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlclNjaGVtYXMgPSBcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyU2NoZW1hc1wiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFJlY29tbWVuZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVycyA9IFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0UnVsZUJhc2VkTWF0Y2hlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bGVCYXNlZE1hdGNoZXMgPSBcInByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXNcIjtcblx0LyoqIFtMaXN0XSBwcm9maWxlOkxpc3RTZWdtZW50RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50RGVmaW5pdGlvbnMgPSBcInByb2ZpbGU6TGlzdFNlZ21lbnREZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHByb2ZpbGU6TGlzdFNlZ21lbnRTdWJzY3JpcHRpb25FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50U3Vic2NyaXB0aW9uRXZlbnRzID1cblx0XHRcInByb2ZpbGU6TGlzdFNlZ21lbnRTdWJzY3JpcHRpb25FdmVudHNcIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHByb2ZpbGU6TGlzdFVwbG9hZEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzID0gXCJwcm9maWxlOkxpc3RVcGxvYWRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gcHJvZmlsZTpMaXN0V29ya2Zsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzID0gXCJwcm9maWxlOkxpc3RXb3JrZmxvd3NcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpNZXJnZVByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVByb2ZpbGVzID0gXCJwcm9maWxlOk1lcmdlUHJvZmlsZXNcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXREb21haW5PYmplY3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREb21haW5PYmplY3RUeXBlID0gXCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW50ZWdyYXRpb24gPSBcInByb2ZpbGU6UHV0SW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0ID0gXCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRQcm9maWxlT2JqZWN0VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZU9iamVjdFR5cGUgPSBcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpQdXRTZWdtZW50U3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZWdtZW50U3Vic2NyaXB0aW9uID0gXCJwcm9maWxlOlB1dFNlZ21lbnRTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtSZWFkXSBwcm9maWxlOlNlYXJjaFByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQcm9maWxlcyA9IFwicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0UmVjb21tZW5kZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXIgPSBcInByb2ZpbGU6U3RhcnRSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0YXJ0VXBsb2FkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFVwbG9hZEpvYiA9IFwicHJvZmlsZTpTdGFydFVwbG9hZEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BSZWNvbW1lbmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlY29tbWVuZGVyID0gXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlN0b3BVcGxvYWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2IgPSBcInByb2ZpbGU6U3RvcFVwbG9hZEpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIHByb2ZpbGU6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcHJvZmlsZTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwcm9maWxlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gPVxuXHRcdFwicHJvZmlsZTpVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0ID0gXCJwcm9maWxlOlVwZGF0ZURvbWFpbkxheW91dFwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZlbnRUcmlnZ2VyID0gXCJwcm9maWxlOlVwZGF0ZUV2ZW50VHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2ZpbGUgPSBcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlciA9IFwicHJvZmlsZTpVcGRhdGVSZWNvbW1lbmRlclwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLkJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQmF0Y2hHZXRQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRldGVjdFByb2ZpbGVPYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldEF1dG9NZXJnaW5nUHJldmlldyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXREb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldERvbWFpbk9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRTdHJlYW0sXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnRUcmlnZ2VyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldElkZW50aXR5UmVzb2x1dGlvbkpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSGlzdG9yeVJlY29yZCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlSW5zaWdodHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlUmVjb21tZW5kYXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyRmlsdGVyLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGVyU2NoZW1hLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnREZWZpbml0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNlZ21lbnRFc3RpbWF0ZSxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50TWVtYmVyc2hpcCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTZWdtZW50U25hcHNob3QsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0U2VnbWVudFN1YnNjcmlwdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRTdHJlYW1Gb3JTZWdtZW50cyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRVcGxvYWRKb2IsXG5cdFx0UHJvZmlsZUFjdGlvbnMuYWN0aW9uR2V0VXBsb2FkSm9iUGF0aCxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRXb3JrZmxvdyxcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRXb3JrZmxvd1N0ZXBzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RTZWdtZW50U3Vic2NyaXB0aW9uRXZlbnRzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU2VhcmNoUHJvZmlsZXMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UHJvZmlsZUFjdGlvbnMuQWRkUHJvZmlsZUtleSxcblx0XHRQcm9maWxlQWN0aW9ucy5Bc3NvY2lhdGVTdHJlYW1Gb3JTZWdtZW50cyxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVEb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlRG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZUV2ZW50U3RyZWFtLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWEsXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU2VnbWVudERlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuQ3JlYXRlU2VnbWVudEVzdGltYXRlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkNyZWF0ZVNlZ21lbnRTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVTbmFwc2hvdCxcblx0XHRQcm9maWxlQWN0aW9ucy5DcmVhdGVVcGxvYWRKb2IsXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZURvbWFpbkxheW91dCxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVEb21haW5PYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUV2ZW50U3RyZWFtLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZVByb2ZpbGVLZXksXG5cdFx0UHJvZmlsZUFjdGlvbnMuRGVsZXRlUHJvZmlsZU9iamVjdCxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVQcm9maWxlT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlckZpbHRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRlclNjaGVtYSxcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVTZWdtZW50RGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5EZWxldGVTZWdtZW50U3Vic2NyaXB0aW9uLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRlbGV0ZVdvcmtmbG93LFxuXHRcdFByb2ZpbGVBY3Rpb25zLkRpc2Fzc29jaWF0ZVN0cmVhbUZvclNlZ21lbnRzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLk1lcmdlUHJvZmlsZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuUHV0RG9tYWluT2JqZWN0VHlwZSxcblx0XHRQcm9maWxlQWN0aW9ucy5QdXRJbnRlZ3JhdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5QdXRQcm9maWxlT2JqZWN0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dFByb2ZpbGVPYmplY3RUeXBlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlB1dFNlZ21lbnRTdWJzY3JpcHRpb24sXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RhcnRSZWNvbW1lbmRlcixcblx0XHRQcm9maWxlQWN0aW9ucy5TdGFydFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5TdG9wUmVjb21tZW5kZXIsXG5cdFx0UHJvZmlsZUFjdGlvbnMuU3RvcFVwbG9hZEpvYixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVEb21haW4sXG5cdFx0UHJvZmlsZUFjdGlvbnMuVXBkYXRlRG9tYWluTGF5b3V0LFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZUV2ZW50VHJpZ2dlcixcblx0XHRQcm9maWxlQWN0aW9ucy5VcGRhdGVQcm9maWxlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVwZGF0ZVJlY29tbWVuZGVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQcm9maWxlQWN0aW9ucy5hY3Rpb25HZXRNYXRjaGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLmFjdGlvbkdldFNpbWlsYXJQcm9maWxlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0QWNjb3VudEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGUsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbkxheW91dHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdERvbWFpbk9iamVjdFR5cGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5PYmplY3RzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RFdmVudFN0cmVhbXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEV2ZW50VHJpZ2dlcnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdEludGVncmF0aW9ucyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFByb2ZpbGVPYmplY3RUeXBlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UHJvZmlsZU9iamVjdHMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVyRmlsdGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UmVjb21tZW5kZXJSZWNpcGVzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RSZWNvbW1lbmRlclNjaGVtYXMsXG5cdFx0UHJvZmlsZUFjdGlvbnMuTGlzdFJlY29tbWVuZGVycyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0UnVsZUJhc2VkTWF0Y2hlcyxcblx0XHRQcm9maWxlQWN0aW9ucy5MaXN0U2VnbWVudERlZmluaXRpb25zLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RVcGxvYWRKb2JzLFxuXHRcdFByb2ZpbGVBY3Rpb25zLkxpc3RXb3JrZmxvd3MsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFByb2ZpbGVBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFByb2ZpbGVBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWxjdWxhdGVkQXR0cmlidXRlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluLW9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbk9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb21haW4tb2JqZWN0LXR5cGVzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRG9tYWluT2JqZWN0VHlwZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgT2JqZWN0VHlwZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvYmplY3RUeXBlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWlucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZURvbWFpbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVEb21haW5zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtc3RyZWFtcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRTdHJlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmVudC1zdHJlYW1zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlRXZlbnRTdHJlYW1zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50U3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50U3RyZWFtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudFRyaWdnZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXZlbnQtdHJpZ2dlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50VHJpZ2dlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudFRyaWdnZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbnRlZ3JhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVJbnRlZ3JhdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW50ZWdyYXRpb25zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVyaSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVyaTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGF5b3V0cyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUxheW91dHNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYXlvdXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxheW91dHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVMYXlvdXRzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExheW91dERlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGF5b3V0RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9iamVjdC10eXBlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2JqZWN0VHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvYmplY3QtdHlwZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBPYmplY3RUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9iamVjdFR5cGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1maWx0ZXJzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlckZpbHRlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyRmlsdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLWZpbHRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJGaWx0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJGaWx0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlUmVjb21tZW5kZXJTY2hlbWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRlclNjaGVtYU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyU2NoZW1hTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJTY2hlbWFOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kZXJTY2hlbWFOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGVyVHlwZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWNvbW1lbmRlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVSZWNvbW1lbmRlcnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kZXJUeXBlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGVyVHlwZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlZ21lbnREZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VnbWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VnbWVudC1kZWZpbml0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZWdtZW50RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZWdtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvY2FsY3VsYXRlZC1hdHRyaWJ1dGVzXFwvKD88Y2FsY3VsYXRlZEF0dHJpYnV0ZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2RvbWFpbi1vYmplY3QtdHlwZXNcXC8oPzxvYmplY3RUeXBlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV2ZW50U3RyZWFtc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9ldmVudC1zdHJlYW1zXFwvKD88ZXZlbnRTdHJlYW1OYW1lPlteOi8/XSspJC87XG5jb25zdCBFdmVudFRyaWdnZXJzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2V2ZW50LXRyaWdnZXJzXFwvKD88ZXZlbnRUcmlnZ2VyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW50ZWdyYXRpb25zQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL2ludGVncmF0aW9uc1xcLyg/PHVyaT5bXjovP10rKSQvO1xuY29uc3QgTGF5b3V0c0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9sYXlvdXRzXFwvKD88bGF5b3V0RGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE9iamVjdFR5cGVzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL29iamVjdC10eXBlc1xcLyg/PG9iamVjdFR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvcmVjb21tZW5kZXItZmlsdGVyc1xcLyg/PHJlY29tbWVuZGVyRmlsdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnByb2ZpbGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5zXFwvKD88ZG9tYWluTmFtZT5bXjovP10rKVxcL3JlY29tbWVuZGVyLXNjaGVtYXNcXC8oPzxyZWNvbW1lbmRlclNjaGVtYU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGVyc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwcm9maWxlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluc1xcLyg/PGRvbWFpbk5hbWU+W146Lz9dKylcXC9yZWNvbW1lbmRlcnNcXC8oPzxyZWNvbW1lbmRlclR5cGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZWdtZW50RGVmaW5pdGlvbnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cHJvZmlsZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnNcXC8oPzxkb21haW5OYW1lPlteOi8/XSspXFwvc2VnbWVudC1kZWZpbml0aW9uc1xcLyg/PHNlZ21lbnREZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHByb2ZpbGUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNhbGN1bGF0ZWRBdHRyaWJ1dGVzKFxuXHRcdHByb3BzOiBQcm9maWxlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9jYWxjdWxhdGVkLWF0dHJpYnV0ZXMvJHtwcm9wcy5jYWxjdWxhdGVkQXR0cmlidXRlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYWxjdWxhdGVkQXR0cmlidXRlc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDYWxjdWxhdGVkQXR0cmlidXRlc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjYWxjdWxhdGVkLWF0dHJpYnV0ZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVDYWxjdWxhdGVkQXR0cmlidXRlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FsY3VsYXRlZEF0dHJpYnV0ZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2FsY3VsYXRlZC1hdHRyaWJ1dGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lOiBtYXRjaC5ncm91cHMhLmNhbGN1bGF0ZWRBdHRyaWJ1dGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluT2JqZWN0VHlwZXMocHJvcHM6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9kb21haW4tb2JqZWN0LXR5cGVzLyR7cHJvcHMub2JqZWN0VHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbi1vYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbk9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbk9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbi1vYmplY3QtdHlwZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluT2JqZWN0VHlwZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVEb21haW5PYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9tYWluLW9iamVjdC10eXBlcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRvYmplY3RUeXBlTmFtZTogbWF0Y2guZ3JvdXBzIS5vYmplY3RUeXBlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW5zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbnMocHJvcHM6IFByb2ZpbGVEb21haW5zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb21haW5zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlRG9tYWluc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW5zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50U3RyZWFtcyhwcm9wczogUHJvZmlsZUV2ZW50U3RyZWFtc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC1zdHJlYW1zLyR7cHJvcHMuZXZlbnRTdHJlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmVudC1zdHJlYW1zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFN0cmVhbXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRTdHJlYW1zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2ZW50LXN0cmVhbXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRTdHJlYW1zQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZUV2ZW50U3RyZWFtc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZlbnRTdHJlYW1zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXN0cmVhbXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0ZXZlbnRTdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLmV2ZW50U3RyZWFtTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmVudC10cmlnZ2VycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBldmVudFRyaWdnZXJzKHByb3BzOiBQcm9maWxlRXZlbnRUcmlnZ2Vyc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9ldmVudC10cmlnZ2Vycy8ke3Byb3BzLmV2ZW50VHJpZ2dlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2ZW50LXRyaWdnZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFRyaWdnZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2ZW50VHJpZ2dlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZlbnQtdHJpZ2dlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRUcmlnZ2Vyc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVFdmVudFRyaWdnZXJzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFRyaWdnZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50LXRyaWdnZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGV2ZW50VHJpZ2dlck5hbWU6IG1hdGNoLmdyb3VwcyEuZXZlbnRUcmlnZ2VyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnRlZ3JhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZWdyYXRpb25zKHByb3BzOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L2ludGVncmF0aW9ucy8ke3Byb3BzLnVyaX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW50ZWdyYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW50ZWdyYXRpb25zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGludGVncmF0aW9ucyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnRlZ3JhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlSW50ZWdyYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnRlZ3JhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZWdyYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHVyaTogbWF0Y2guZ3JvdXBzIS51cmksXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGF5b3V0cyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYXlvdXRzKHByb3BzOiBQcm9maWxlTGF5b3V0c0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwcm9maWxlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnMvJHtwcm9wcy5kb21haW5OYW1lfS9sYXlvdXRzLyR7cHJvcHMubGF5b3V0RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxheW91dHMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGF5b3V0c0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsYXlvdXRzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxheW91dHNBcm4oYXJuOiBzdHJpbmcpOiBQcm9maWxlTGF5b3V0c0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGF5b3V0c0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYXlvdXRzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdGxheW91dERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmxheW91dERlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9iamVjdC10eXBlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvYmplY3RUeXBlcyhwcm9wczogUHJvZmlsZU9iamVjdFR5cGVzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L29iamVjdC10eXBlcy8ke3Byb3BzLm9iamVjdFR5cGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvYmplY3QtdHlwZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9iamVjdFR5cGVzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9iamVjdFR5cGVzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9iamVjdC10eXBlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPYmplY3RUeXBlc0Fybihhcm46IHN0cmluZyk6IFByb2ZpbGVPYmplY3RUeXBlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT2JqZWN0VHlwZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb2JqZWN0LXR5cGVzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdG9iamVjdFR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLm9iamVjdFR5cGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJGaWx0ZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJGaWx0ZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVyLWZpbHRlcnMvJHtwcm9wcy5yZWNvbW1lbmRlckZpbHRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVyLWZpbHRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY29tbWVuZGVyRmlsdGVyc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRlckZpbHRlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVjb21tZW5kZXItZmlsdGVycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRlckZpbHRlcnNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFByb2ZpbGVSZWNvbW1lbmRlckZpbHRlcnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY29tbWVuZGVyRmlsdGVyc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWNvbW1lbmRlci1maWx0ZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbk5hbWU6IG1hdGNoLmdyb3VwcyEuZG9tYWluTmFtZSxcblx0XHRcdHJlY29tbWVuZGVyRmlsdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5yZWNvbW1lbmRlckZpbHRlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRlclNjaGVtYXMocHJvcHM6IFByb2ZpbGVSZWNvbW1lbmRlclNjaGVtYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vcmVjb21tZW5kZXItc2NoZW1hcy8ke3Byb3BzLnJlY29tbWVuZGVyU2NoZW1hTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kZXItc2NoZW1hcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJTY2hlbWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyU2NoZW1hc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlci1zY2hlbWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGVyU2NoZW1hc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVJlY29tbWVuZGVyU2NoZW1hc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJTY2hlbWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVyLXNjaGVtYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0cmVjb21tZW5kZXJTY2hlbWFOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyU2NoZW1hTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kZXJzKHByb3BzOiBQcm9maWxlUmVjb21tZW5kZXJzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnByb2ZpbGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWlucy8ke3Byb3BzLmRvbWFpbk5hbWV9L3JlY29tbWVuZGVycy8ke3Byb3BzLnJlY29tbWVuZGVyVHlwZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGVycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGVyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb21tZW5kZXJzQXJuKGFybjogc3RyaW5nKTogUHJvZmlsZVJlY29tbWVuZGVyc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGVycyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5OYW1lOiBtYXRjaC5ncm91cHMhLmRvbWFpbk5hbWUsXG5cdFx0XHRyZWNvbW1lbmRlclR5cGVOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGVyVHlwZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZWdtZW50RGVmaW5pdGlvbnMocHJvcHM6IFByb2ZpbGVTZWdtZW50RGVmaW5pdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cHJvZmlsZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW5zLyR7cHJvcHMuZG9tYWluTmFtZX0vc2VnbWVudC1kZWZpbml0aW9ucy8ke3Byb3BzLnNlZ21lbnREZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VnbWVudC1kZWZpbml0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VnbWVudERlZmluaXRpb25zQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlZ21lbnREZWZpbml0aW9uc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZWdtZW50LWRlZmluaXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlZ21lbnREZWZpbml0aW9uc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUHJvZmlsZVNlZ21lbnREZWZpbml0aW9uc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VnbWVudERlZmluaXRpb25zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlZ21lbnQtZGVmaW5pdGlvbnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluTmFtZTogbWF0Y2guZ3JvdXBzIS5kb21haW5OYW1lLFxuXHRcdFx0c2VnbWVudERlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLnNlZ21lbnREZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBwcm9maWxlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvZmlsZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkFkZFByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENhbGN1bGF0ZWRBdHRyaWJ1dGVGb3JQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6QmF0Y2hHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpCYXRjaEdldFByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUHV0UHJvZmlsZU9iamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUHV0UHJvZmlsZU9iamVjdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZURvbWFpblwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW5MYXlvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVEb21haW5MYXlvdXRcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50U3RyZWFtXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUV2ZW50VHJpZ2dlclwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbldvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZWdyYXRpb25Xb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZUludGVncmF0aW9uV29ya2Zsb3dcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZmlsZTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlckZpbHRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVJlY29tbWVuZGVyRmlsdGVyXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGVyU2NoZW1hIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kZXJTY2hlbWE6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpDcmVhdGVSZWNvbW1lbmRlclNjaGVtYVwiLFxuXHRcdFwicHJvZmlsZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZWdtZW50RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudERlZmluaXRpb25cIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VnbWVudEVzdGltYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6Q3JlYXRlU2VnbWVudEVzdGltYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlZ21lbnRTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlZ21lbnRTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkNyZWF0ZVNlZ21lbnRTbmFwc2hvdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwbG9hZEpvYjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkNyZWF0ZVVwbG9hZEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZURvbWFpbk9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnRTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZUV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVJbnRlZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGU6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpEZWxldGVQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZmlsZUtleTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVByb2ZpbGVLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2ZpbGVPYmplY3RUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUHJvZmlsZU9iamVjdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvbW1lbmRlckZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6RGVsZXRlUmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRlclNjaGVtYTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkRlbGV0ZVJlY29tbWVuZGVyU2NoZW1hXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlZ21lbnREZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VnbWVudERlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZWxldGVTZWdtZW50RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6RGVsZXRlV29ya2Zsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdFByb2ZpbGVPYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpEZXRlY3RQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvTWVyZ2luZ1ByZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9NZXJnaW5nUHJldmlldzogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkdldEF1dG9NZXJnaW5nUHJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsY3VsYXRlZEF0dHJpYnV0ZUZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRDYWxjdWxhdGVkQXR0cmlidXRlRm9yUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldERvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb21haW5MYXlvdXQ6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXREb21haW5MYXlvdXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbk9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbk9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXREb21haW5PYmplY3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2ZW50U3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmVudFN0cmVhbTogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50U3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50VHJpZ2dlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldEV2ZW50VHJpZ2dlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWRlbnRpdHlSZXNvbHV0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJZGVudGl0eVJlc29sdXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRJZGVudGl0eVJlc29sdXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6R2V0SW50ZWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hdGNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hdGNoZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRNYXRjaGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T2JqZWN0VHlwZUF0dHJpYnV0ZVN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRPYmplY3RUeXBlQXR0cmlidXRlU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlSGlzdG9yeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZUhpc3RvcnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlSGlzdG9yeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZU9iamVjdFR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRQcm9maWxlT2JqZWN0VHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlT2JqZWN0VHlwZVRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UHJvZmlsZVJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyRmlsdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJGaWx0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZXJTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVyU2NoZW1hOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0UmVjb21tZW5kZXJTY2hlbWFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudERlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnREZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudERlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudEVzdGltYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50RXN0aW1hdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50RXN0aW1hdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudE1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlZ21lbnRNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6R2V0U2VnbWVudE1lbWJlcnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VnbWVudFNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWdtZW50U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTZWdtZW50U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2ltaWxhclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaW1pbGFyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpHZXRTaW1pbGFyUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXBsb2FkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFVwbG9hZEpvYlBhdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVwbG9hZEpvYlBhdGg6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRVcGxvYWRKb2JQYXRoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpHZXRXb3JrZmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2Zsb3dTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2Zsb3dTdGVwczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkdldFdvcmtmbG93U3RlcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRJbnRlZ3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0QWNjb3VudEludGVncmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENhbGN1bGF0ZWRBdHRyaWJ1dGVzRm9yUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYWxjdWxhdGVkQXR0cmlidXRlc0ZvclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0Q2FsY3VsYXRlZEF0dHJpYnV0ZXNGb3JQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5MYXlvdXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbkxheW91dHM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluTGF5b3V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpbk9iamVjdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbk9iamVjdFR5cGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdERvbWFpbk9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RG9tYWluc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFN0cmVhbXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0RXZlbnRTdHJlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFRyaWdnZXJzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdEV2ZW50VHJpZ2dlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJZGVudGl0eVJlc29sdXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkZW50aXR5UmVzb2x1dGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0SWRlbnRpdHlSZXNvbHV0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RJbnRlZ3JhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPYmplY3RUeXBlQXR0cmlidXRlVmFsdWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9iamVjdFR5cGVBdHRyaWJ1dGVWYWx1ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZVZhbHVlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0T2JqZWN0VHlwZUF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVBdHRyaWJ1dGVWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUF0dHJpYnV0ZVZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RQcm9maWxlQXR0cmlidXRlVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlSGlzdG9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZUhpc3RvcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFByb2ZpbGVIaXN0b3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2ZpbGVPYmplY3RUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0VHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UHJvZmlsZU9iamVjdFR5cGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9maWxlT2JqZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9maWxlT2JqZWN0czogc3RyaW5nW10gPSBbXCJwcm9maWxlOkxpc3RQcm9maWxlT2JqZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVyRmlsdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlckZpbHRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJGaWx0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRlclJlY2lwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZXJSZWNpcGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJlY29tbWVuZGVyUmVjaXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kZXJTY2hlbWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGVyU2NoZW1hczogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOkxpc3RSZWNvbW1lbmRlclNjaGVtYXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlcnM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpMaXN0UmVjb21tZW5kZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UnVsZUJhc2VkTWF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlQmFzZWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFJ1bGVCYXNlZE1hdGNoZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlZ21lbnREZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWdtZW50RGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicHJvZmlsZTpMaXN0U2VnbWVudERlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInByb2ZpbGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXBsb2FkSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVcGxvYWRKb2JzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFVwbG9hZEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZmxvd3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dzOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6TGlzdFdvcmtmbG93c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWVyZ2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1lcmdlUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpNZXJnZVByb2ZpbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREb21haW5PYmplY3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RG9tYWluT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dERvbWFpbk9iamVjdFR5cGVcIixcblx0XHRcInByb2ZpbGU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dEludGVncmF0aW9uXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFByb2ZpbGVPYmplY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6UHV0UHJvZmlsZU9iamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UHJvZmlsZU9iamVjdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlT2JqZWN0VHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlB1dFByb2ZpbGVPYmplY3RUeXBlXCIsXG5cdFx0XCJwcm9maWxlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaFByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTZWFyY2hQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdGFydFJlY29tbWVuZGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VXBsb2FkSm9iOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6U3RhcnRVcGxvYWRKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZWNvbW1lbmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlN0b3BSZWNvbW1lbmRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFVwbG9hZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BVcGxvYWRKb2I6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpTdG9wVXBsb2FkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FsY3VsYXRlZEF0dHJpYnV0ZURlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYWxjdWxhdGVkQXR0cmlidXRlRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwcm9maWxlOlVwZGF0ZUNhbGN1bGF0ZWRBdHRyaWJ1dGVEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluTGF5b3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluTGF5b3V0OiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlRG9tYWluTGF5b3V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFdmVudFRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudFRyaWdnZXI6IHN0cmluZ1tdID0gW1wicHJvZmlsZTpVcGRhdGVFdmVudFRyaWdnZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9maWxlOiBzdHJpbmdbXSA9IFtcInByb2ZpbGU6VXBkYXRlUHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb21tZW5kZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvbW1lbmRlcjogc3RyaW5nW10gPSBbXCJwcm9maWxlOlVwZGF0ZVJlY29tbWVuZGVyXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcHJvZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGVyRmlsdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRlclNjaGVtYUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|