@cdk_utils/iam 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +9732 -8330
- 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 +9 -5
- 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.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.d.ts +4 -0
- package/lib/generated/services/bedrock.js +11 -5
- 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 +4 -4
- 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.js +4 -4
- 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 +13 -7
- 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 +11 -6
- 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 +95 -0
- package/lib/generated/services/ec2.js +161 -19
- 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.d.ts +20 -0
- package/lib/generated/services/eks.js +40 -5
- 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.js +4 -4
- 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.d.ts +16 -0
- package/lib/generated/services/lambda.js +38 -5
- 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 +6 -5
- 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 +4 -4
- 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.js +6 -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 +9 -6
- 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.js +4 -4
- 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.d.ts +20 -0
- package/lib/generated/services/ssm.js +39 -5
- 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.js +2 -2
- 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 +6 -17
- 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.d.ts +4 -0
- package/lib/generated/services/workspaces.js +11 -5
- package/lib/generated/services/xray.js +4 -4
- package/package.json +2 -2
|
@@ -16,7 +16,7 @@ class BedrockActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BedrockActions = BedrockActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.
|
|
19
|
+
BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.8.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BedrockActions.SERVICE_PREFIX = "bedrock";
|
|
22
22
|
/** [Read] bedrock:AgenticRetrieveStream */
|
|
@@ -75,6 +75,8 @@ BedrockActions.CreateDataAutomationLibrary = "bedrock:CreateDataAutomationLibrar
|
|
|
75
75
|
BedrockActions.CreateDataAutomationProject = "bedrock:CreateDataAutomationProject";
|
|
76
76
|
/** [Write] bedrock:CreateDataSource */
|
|
77
77
|
BedrockActions.CreateDataSource = "bedrock:CreateDataSource";
|
|
78
|
+
/** [Write] bedrock:CreateDataSourceToken */
|
|
79
|
+
BedrockActions.CreateDataSourceToken = "bedrock:CreateDataSourceToken";
|
|
78
80
|
/** [Write] bedrock:CreateEvaluationJob */
|
|
79
81
|
BedrockActions.CreateEvaluationJob = "bedrock:CreateEvaluationJob";
|
|
80
82
|
/** [Write] bedrock:CreateFlow */
|
|
@@ -253,6 +255,8 @@ BedrockActions.actionGetDataAutomationProject = "bedrock:GetDataAutomationProjec
|
|
|
253
255
|
BedrockActions.actionGetDataAutomationStatus = "bedrock:GetDataAutomationStatus";
|
|
254
256
|
/** [Read] bedrock:GetDataSource */
|
|
255
257
|
BedrockActions.actionGetDataSource = "bedrock:GetDataSource";
|
|
258
|
+
/** [Read] bedrock:GetDataSourceAuthorizationUrl */
|
|
259
|
+
BedrockActions.actionGetDataSourceAuthorizationUrl = "bedrock:GetDataSourceAuthorizationUrl";
|
|
256
260
|
/** [Read] bedrock:GetDocumentContent */
|
|
257
261
|
BedrockActions.actionGetDocumentContent = "bedrock:GetDocumentContent";
|
|
258
262
|
/** [Read] bedrock:GetEvaluationJob */
|
|
@@ -577,6 +581,7 @@ BedrockActions.AllReadActions = [
|
|
|
577
581
|
BedrockActions.actionGetDataAutomationProject,
|
|
578
582
|
BedrockActions.actionGetDataAutomationStatus,
|
|
579
583
|
BedrockActions.actionGetDataSource,
|
|
584
|
+
BedrockActions.actionGetDataSourceAuthorizationUrl,
|
|
580
585
|
BedrockActions.actionGetDocumentContent,
|
|
581
586
|
BedrockActions.actionGetEvaluationJob,
|
|
582
587
|
BedrockActions.actionGetExecutionFlowSnapshot,
|
|
@@ -647,6 +652,7 @@ BedrockActions.AllWriteActions = [
|
|
|
647
652
|
BedrockActions.CreateDataAutomationLibrary,
|
|
648
653
|
BedrockActions.CreateDataAutomationProject,
|
|
649
654
|
BedrockActions.CreateDataSource,
|
|
655
|
+
BedrockActions.CreateDataSourceToken,
|
|
650
656
|
BedrockActions.CreateEvaluationJob,
|
|
651
657
|
BedrockActions.CreateFlow,
|
|
652
658
|
BedrockActions.CreateFlowAlias,
|
|
@@ -1985,7 +1991,7 @@ class BedrockResources {
|
|
|
1985
1991
|
}
|
|
1986
1992
|
exports.BedrockResources = BedrockResources;
|
|
1987
1993
|
_b = JSII_RTTI_SYMBOL_1;
|
|
1988
|
-
BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.
|
|
1994
|
+
BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.8.0" };
|
|
1989
1995
|
/**
|
|
1990
1996
|
* API operation to required IAM actions mapping for bedrock.
|
|
1991
1997
|
*/
|
|
@@ -1993,7 +1999,7 @@ class BedrockOperations {
|
|
|
1993
1999
|
}
|
|
1994
2000
|
exports.BedrockOperations = BedrockOperations;
|
|
1995
2001
|
_c = JSII_RTTI_SYMBOL_1;
|
|
1996
|
-
BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.
|
|
2002
|
+
BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.8.0" };
|
|
1997
2003
|
/** IAM actions required for the AgenticRetrieveStream API call. */
|
|
1998
2004
|
BedrockOperations.AgenticRetrieveStream = [
|
|
1999
2005
|
"bedrock:AgenticRetrieveStream",
|
|
@@ -3082,7 +3088,7 @@ class BedrockConditions {
|
|
|
3082
3088
|
}
|
|
3083
3089
|
exports.BedrockConditions = BedrockConditions;
|
|
3084
3090
|
_d = JSII_RTTI_SYMBOL_1;
|
|
3085
|
-
BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.
|
|
3091
|
+
BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.8.0" };
|
|
3086
3092
|
/** Condition keys applicable to the AssociateThirdPartyKnowledgeBase action. */
|
|
3087
3093
|
BedrockConditions.AssociateThirdPartyKnowledgeBaseConditionKeys = [
|
|
3088
3094
|
"bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn",
|
|
@@ -3299,4 +3305,4 @@ BedrockConditions.PROMPT_ROUTER_ARN = "bedrock:PromptRouterArn";
|
|
|
3299
3305
|
BedrockConditions.SERVICE_TIER = "bedrock:ServiceTier";
|
|
3300
3306
|
/** Condition key: bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn (ARN) */
|
|
3301
3307
|
BedrockConditions.THIRD_PARTY_KNOWLEDGE_BASE_CREDENTIALS_SECRET_ARN = "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn";
|
|
3302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0FtNEJDOzs7QUFsNEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7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R0FBRyx5QkFBeUIsQ0FBQztBQUM5RCxrREFBa0Q7QUFDbEMsOEJBQVksR0FBRyxxQkFBcUIsQ0FBQztBQUNyRCwrRUFBK0U7QUFDL0QsbUVBQWlELEdBQ2hFLHFEQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYmVkcm9jay5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgYmVkcm9jayBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJiZWRyb2NrXCI7XG5cblx0LyoqIFtSZWFkXSBiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWdlbnRpY1JldHJpZXZlU3RyZWFtID0gXCJiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImJlZHJvY2s6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpBcHBseUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlHdWFyZHJhaWwgPSBcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFdpdGhCZWFyZXJUb2tlbiA9IFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDYW5jZWxJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEludm9rZSA9IFwiYmVkcm9jazpDYW5jZWxJbnZva2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsID0gXCJiZWRyb2NrOkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weUJsdWVwcmludFN0YWdlID0gXCJiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q291bnRUb2tlbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvdW50VG9rZW5zID0gXCJiZWRyb2NrOkNvdW50VG9rZW5zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnQgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnRWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlID0gXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93ID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpDcmVhdGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlRmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgPSBcImJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUludm9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludm9jYXRpb24gPSBcImJlZHJvY2s6Q3JlYXRlSW52b2NhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvcHlKb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbXBvcnRKb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdCA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHRSb3V0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlciA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRSb3V0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlc3Npb24gPSBcImJlZHJvY2s6Q3JlYXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudCA9IFwiYmVkcm9jazpEZWxldGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudE1lbW9yeSA9IFwiYmVkcm9jazpEZWxldGVBZ2VudE1lbW9yeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRWZXJzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOkRlbGV0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvdyA9IFwiYmVkcm9jazpEZWxldGVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93QWxpYXMgPSBcImJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpEZWxldGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbXBvcnRlZE1vZGVsID0gXCJiZWRyb2NrOkRlbGV0ZUltcG9ydGVkTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkRlbGV0ZUluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludm9rZSA9IFwiYmVkcm9jazpEZWxldGVJbnZva2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0ID0gXCJiZWRyb2NrOkRlbGV0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkRlbGV0ZVByb21wdFJvdXRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpEZWxldGVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkRldGVjdEdlbmVyYXRlZENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdEdlbmVyYXRlZENvbnRlbnQgPSBcImJlZHJvY2s6RGV0ZWN0R2VuZXJhdGVkQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciA9XG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpFbmRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRTZXNzaW9uID0gXCJiZWRyb2NrOkVuZFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gPVxuXHRcdFwiYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVF1ZXJ5ID0gXCJiZWRyb2NrOkdlbmVyYXRlUXVlcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFjY291bnREYXRhUmV0ZW50aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2NvdW50RGF0YVJldGVudGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldEFjY291bnREYXRhUmV0ZW50aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50ID0gXCJiZWRyb2NrOkdldEFnZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50QWxpYXMgPSBcImJlZHJvY2s6R2V0QWdlbnRBbGlhc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29sbGFib3JhdG9yID0gXCJiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpHZXRBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50TWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudE1lbW9yeSA9IFwiYmVkcm9jazpHZXRBZ2VudE1lbW9yeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFZlcnNpb24gPSBcImJlZHJvY2s6R2V0QWdlbnRWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBc3luY0ludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXN5bmNJbnZva2UgPSBcImJlZHJvY2s6R2V0QXN5bmNJbnZva2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpb1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludCA9IFwiYmVkcm9jazpHZXRCbHVlcHJpbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzID1cblx0XHRcImJlZHJvY2s6R2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24gPVxuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Q3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvblN0YXR1cyA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhU291cmNlID0gXCJiZWRyb2NrOkdldERhdGFTb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERvY3VtZW50Q29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9jdW1lbnRDb250ZW50ID0gXCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCA9XG5cdFx0XCJiZWRyb2NrOkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmxvdyA9IFwiYmVkcm9jazpHZXRGbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dBbGlhcyA9IFwiYmVkcm9jazpHZXRGbG93QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkdldEZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbCA9IFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5ID1cblx0XHRcImJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEd1YXJkcmFpbCA9IFwiYmVkcm9jazpHZXRHdWFyZHJhaWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEltcG9ydGVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEltcG9ydGVkTW9kZWwgPSBcImJlZHJvY2s6R2V0SW1wb3J0ZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpHZXRJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmdlc3RlZERvY3VtZW50QWNsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3RlZERvY3VtZW50QWNsID1cblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbnZvY2F0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAgPSBcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2tlID0gXCJiZWRyb2NrOkdldEludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsQ29weUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxDb3B5Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsQ29weUpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW1wb3J0Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb21wdCA9IFwiYmVkcm9jazpHZXRQcm9tcHRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2Vzc2lvbiA9IFwiYmVkcm9jazpHZXRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9XG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJ1aWxkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJ1aWxkZXIgPSBcImJlZHJvY2s6SW52b2tlQnVpbGRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbiA9IFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3cgPSBcImJlZHJvY2s6SW52b2tlRmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3MgPSBcImJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VJbmxpbmVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbCA9IFwiYmVkcm9jazpJbnZva2VNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW1cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZVRvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVRvb2wgPSBcImJlZHJvY2s6SW52b2tlVG9vbFwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWN0aW9uR3JvdXBzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRDb2xsYWJvcmF0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzID0gXCJiZWRyb2NrOkxpc3RBZ2VudENvbGxhYm9yYXRvcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRLbm93bGVkZ2VCYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFZlcnNpb25zID0gXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRzID0gXCJiZWRyb2NrOkxpc3RBZ2VudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBc3luY0ludm9rZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3luY0ludm9rZXMgPSBcImJlZHJvY2s6TGlzdEFzeW5jSW52b2tlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RCbHVlcHJpbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50cyA9IFwiYmVkcm9jazpMaXN0Qmx1ZXByaW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhU291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzID0gXCJiZWRyb2NrOkxpc3REYXRhU291cmNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXMgPSBcImJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHMgPSBcImJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25FdmVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25zID0gXCJiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dWZXJzaW9ucyA9IFwiYmVkcm9jazpMaXN0Rmxvd1ZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93cyA9IFwiYmVkcm9jazpMaXN0Rmxvd3NcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RHdWFyZHJhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R3VhcmRyYWlscyA9IFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHMgPSBcImJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlcyA9IFwiYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbmdlc3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5nZXN0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEludm9jYXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludm9jYXRpb25TdGVwcyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW52b2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9ucyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxDb3B5Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsQ29weUpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsRXZhbHVhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEltcG9ydEpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsSW52b2NhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbEludm9jYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvbXB0Um91dGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb21wdFJvdXRlcnMgPSBcImJlZHJvY2s6TGlzdFByb21wdFJvdXRlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm9tcHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvbXB0cyA9IFwiYmVkcm9jazpMaXN0UHJvbXB0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RTZXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25zID0gXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYmVkcm9jazpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpPcHRpbWl6ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT3B0aW1pemVQcm9tcHQgPSBcImJlZHJvY2s6T3B0aW1pemVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXBhcmVBZ2VudCA9IFwiYmVkcm9jazpQcmVwYXJlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3cgPSBcImJlZHJvY2s6UHJlcGFyZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRBY2NvdW50RGF0YVJldGVudGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gPSBcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCA9XG5cdFx0XCJiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0SW52b2NhdGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludm9jYXRpb25TdGVwID0gXCJiZWRyb2NrOlB1dEludm9jYXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9IFwiYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6UmVuZGVyUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJQcm9tcHQgPSBcImJlZHJvY2s6UmVuZGVyUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UmVyYW5rICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbmsgPSBcImJlZHJvY2s6UmVyYW5rXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpSZXRyaWV2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmUgPSBcImJlZHJvY2s6UmV0cmlldmVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlID0gXCJiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wSW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0b3BJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6U3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcE1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIGJlZHJvY2s6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jazpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnQgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpVcGRhdGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhU291cmNlID0gXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93ID0gXCJiZWRyb2NrOlVwZGF0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpVcGRhdGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpVcGRhdGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOlVwZGF0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvbXB0ID0gXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpWYWxpZGF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uID0gXCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5BZ2VudGljUmV0cmlldmVTdHJlYW0sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXBwbHlHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FsbFdpdGhCZWFyZXJUb2tlbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ291bnRUb2tlbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGV0ZWN0R2VuZXJhdGVkQ29udGVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5FeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkdlbmVyYXRlUXVlcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudE1lbW9yeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXN5bmNJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREb2N1bWVudENvbnRlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRFeGVjdXRpb25GbG93U25hcHNob3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5nZXN0ZWREb2N1bWVudEFjbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxDb3B5Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbXBvcnRKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0U2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlR3VhcmRyYWlsQ2hlY2tzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUlubGluZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZVRvb2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5PcHRpbWl6ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZW5kZXJQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVmFsaWRhdGVGbG93RGVmaW5pdGlvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5CYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DYW5jZWxJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ29weUJsdWVwcmludFN0YWdlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQmx1ZXByaW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVHdWFyZHJhaWxWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlSW52b2NhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbENvcHlKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEltcG9ydEpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50TWVtb3J5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvbXB0Um91dGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRW5kU2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5Jbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQnVpbGRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5QcmVwYXJlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHJlcGFyZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEludm9jYXRpb25TdGVwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXJhbmssXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmVBbmRHZW5lcmF0ZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wSW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcE1vZGVsSW52b2NhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVNlc3Npb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50QWN0aW9uR3JvdXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEFsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50Q29sbGFib3JhdG9ycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBc3luY0ludm9rZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Qmx1ZXByaW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFTb3VyY2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFdmFsdWF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd0FsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25FdmVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZvdW5kYXRpb25Nb2RlbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEd1YXJkcmFpbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEltcG9ydGVkTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbmZlcmVuY2VQcm9maWxlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW5nZXN0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW52b2NhdGlvblN0ZXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbnZvY2F0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ29weUpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsSW1wb3J0Sm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxJbnZvY2F0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0Um91dGVycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RTZXNzaW9ucyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudC1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdlbnQtYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50QWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXN5bmMtaW52b2tlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXN5bmNJbnZva2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzeW5jLWludm9rZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmx1ZXByaW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmx1ZXByaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCbHVlcHJpbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFBdXRvbWF0aW9uTGlicmFyeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZ2VzdGlvbkpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmdlc3Rpb25Kb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvZmlsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QWxpYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dFeGVjdXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0V4ZWN1dGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsQXJuUHJvcHMge1xuXHQvKiogVGhlIEd1YXJkcmFpbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGd1YXJkcmFpbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgR3VhcmRyYWlsSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBndWFyZHJhaWwtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbXBvcnRlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltcG9ydGVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEtub3dsZWRnZUJhc2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkga25vd2xlZGdlQmFzZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLbm93bGVkZ2VCYXNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBrbm93bGVkZ2VCYXNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNvcHktam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jb3B5LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ29weUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEltcG9ydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtaW1wb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdC12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdFZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvdmlzaW9uZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Nlc3Npb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXNzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzeXN0ZW0tdG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1N5c3RlbVRvb2xBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3lzdGVtLXRvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTeXN0ZW1Ub29sQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50XFwvKD88YWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnQtYWxpYXNcXC8oPzxhZ2VudElkPlteOi8/XSspXFwvKD88YWdlbnRBbGlhc0lkPlteOi8/XSspJC87XG5jb25zdCBBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXN5bmNJbnZva2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFzeW5jLWludm9rZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKTooPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYXJrZXRwbGFjZVxcL21vZGVsLWVuZHBvaW50XFwvYWxsLWFjY2VzcyQvO1xuY29uc3QgQmx1ZXByaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpibHVlcHJpbnRcXC8oPzxibHVlcHJpbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ymx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnRcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnlcXC8oPzxkYXRhQXV0b21hdGlvbkxpYnJhcnlJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iXFwvKD88aW5nZXN0aW9uSm9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGVcXC8oPzxwcm9maWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2plY3RcXC8oPzxwcm9qZWN0SWQ+W146Lz9dKykkLztcbmNvbnN0IERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRlZmF1bHQtcHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FsaWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93XFwvKD88Zmxvd0lkPlteOi8/XSspXFwvYWxpYXNcXC8oPzxmbG93QWxpYXNJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0V4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKVxcL2FsaWFzXFwvKD88Zmxvd0FsaWFzSWQ+W146Lz9dKylcXC9leGVjdXRpb25cXC8oPzxmbG93RXhlY3V0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6OmZvdW5kYXRpb24tbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmd1YXJkcmFpbFxcLyg/PGd1YXJkcmFpbElkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpndWFyZHJhaWwtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEltcG9ydGVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltcG9ydGVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBLbm93bGVkZ2VCYXNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprbm93bGVkZ2UtYmFzZVxcLyg/PGtub3dsZWRnZUJhc2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDb3B5Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jb3B5LWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY3VzdG9taXphdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxJbXBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWltcG9ydC1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWludm9jYXRpb24tam9iXFwvKD88am9iSWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvamVjdFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0XFwvKD88cHJvbXB0SWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFJvdXRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdFxcLyg/PHByb21wdElkPlteOi8/XSspOig/PHByb21wdFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IFByb3Zpc2lvbmVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb3Zpc2lvbmVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgU2Vzc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2Vzc2lvblxcLyg/PHNlc3Npb25JZD5bXjovP10rKSQvO1xuY29uc3QgU3lzdGVtVG9vbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOjooPzxhY2NvdW50PlteOl0qKTpzeXN0ZW0tdG9vbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBiZWRyb2NrIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudChwcm9wczogQmVkcm9ja0FnZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnQvJHtwcm9wcy5hZ2VudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFnZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudC1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudEFsaWFzKHByb3BzOiBCZWRyb2NrQWdlbnRBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LWFsaWFzLyR7cHJvcHMuYWdlbnRJZH0vJHtwcm9wcy5hZ2VudEFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFnZW50LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudEFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQtYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBbGlhc0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudEFsaWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50LWFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHRcdGFnZW50QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudEFsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3luYy1pbnZva2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmNJbnZva2UocHJvcHM6IEJlZHJvY2tBc3luY0ludm9rZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFzeW5jLWludm9rZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzeW5jLWludm9rZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXN5bmNJbnZva2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXN5bmNJbnZva2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXN5bmMtaW52b2tlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzeW5jSW52b2tlQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3luY0ludm9rZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhc3luYy1pbnZva2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeShcblx0XHRwcm9wczogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uKFxuXHRcdHByb3BzOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH06JHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkLFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcblx0XHRwcm9wczogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hcmtldHBsYWNlL21vZGVsLWVuZHBvaW50L2FsbC1hY2Nlc3NgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludChwcm9wczogQmVkcm9ja0JsdWVwcmludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJsdWVwcmludC8ke3Byb3BzLmJsdWVwcmludElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCbHVlcHJpbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmx1ZXByaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJsdWVwcmludEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tCbHVlcHJpbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBibHVlcHJpbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ymx1ZXByaW50SWQ6IG1hdGNoLmdyb3VwcyEuYmx1ZXByaW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb24oXG5cdFx0cHJvcHM6IEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tTW9kZWwocHJvcHM6IEJlZHJvY2tDdXN0b21Nb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUN1c3RvbU1vZGVsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21Nb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbU1vZGVsRGVwbG95bWVudChcblx0XHRwcm9wczogQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnQvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21Nb2RlbERlcGxveW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25MaWJyYXJ5KFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS8ke3Byb3BzLmRhdGFBdXRvbWF0aW9uTGlicmFyeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogbWF0Y2guZ3JvdXBzIS5kYXRhQXV0b21hdGlvbkxpYnJhcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYi8ke3Byb3BzLmluZ2VzdGlvbkpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5nZXN0aW9uSm9iSWQ6IG1hdGNoLmdyb3VwcyEuaW5nZXN0aW9uSm9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25Qcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tcHJvZmlsZS8ke3Byb3BzLnByb2ZpbGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLnByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvblByb2plY3QoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1wcm9qZWN0LyR7cHJvcHMucHJvamVjdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvblByb2plY3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0SWQ6IG1hdGNoLmdyb3VwcyEucHJvamVjdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRlZmF1bHQtcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZWZhdWx0UHJvbXB0Um91dGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGVmYXVsdC1wcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGVmYXVsdC1wcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZWZhdWx0UHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURlZmF1bHRQcm9tcHRSb3V0ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZhbHVhdGlvbkpvYihwcm9wczogQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpldmFsdWF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2YWx1YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZhbHVhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmFsdWF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2YWx1YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3cocHJvcHM6IEJlZHJvY2tGbG93QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dBbGlhcyhwcm9wczogQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9L2FsaWFzLyR7cHJvcHMuZmxvd0FsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1hbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0FsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1hbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdFx0Zmxvd0FsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0FsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0V4ZWN1dGlvbihwcm9wczogQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfS9hbGlhcy8ke3Byb3BzLmZsb3dBbGlhc0lkfS9leGVjdXRpb24vJHtwcm9wcy5mbG93RXhlY3V0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93RXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1leGVjdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0V4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93RXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0XHRmbG93QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5mbG93QWxpYXNJZCxcblx0XHRcdGZsb3dFeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5mbG93RXhlY3V0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZm91bmRhdGlvbi1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmb3VuZGF0aW9uTW9kZWwocHJvcHM6IEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmZvdW5kYXRpb24tbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmb3VuZGF0aW9uLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGb3VuZGF0aW9uTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRm91bmRhdGlvbk1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZvdW5kYXRpb24tbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRm91bmRhdGlvbk1vZGVsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZm91bmRhdGlvbi1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGd1YXJkcmFpbChwcm9wczogQmVkcm9ja0d1YXJkcmFpbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omd1YXJkcmFpbC8ke3Byb3BzLmd1YXJkcmFpbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBndWFyZHJhaWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHdWFyZHJhaWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tHdWFyZHJhaWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBndWFyZHJhaWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3VhcmRyYWlsSWQ6IG1hdGNoLmdyb3VwcyEuZ3VhcmRyYWlsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZ3VhcmRyYWlsUHJvZmlsZShwcm9wczogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpndWFyZHJhaWwtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGd1YXJkcmFpbC1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHdWFyZHJhaWxQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR3VhcmRyYWlsUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltcG9ydGVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltcG9ydGVkTW9kZWwocHJvcHM6IEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1wb3J0ZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbXBvcnRlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1wb3J0ZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbXBvcnRlZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltcG9ydGVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltcG9ydGVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1wb3J0ZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbXBvcnRlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZShwcm9wczogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGtub3dsZWRnZUJhc2UocHJvcHM6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06a25vd2xlZGdlLWJhc2UvJHtwcm9wcy5rbm93bGVkZ2VCYXNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLbm93bGVkZ2VCYXNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEtub3dsZWRnZUJhc2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga25vd2xlZGdlLWJhc2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlS25vd2xlZGdlQmFzZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLbm93bGVkZ2VCYXNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGtub3dsZWRnZS1iYXNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtub3dsZWRnZUJhc2VJZDogbWF0Y2guZ3JvdXBzIS5rbm93bGVkZ2VCYXNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY29weS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDb3B5Sm9iKHByb3BzOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY29weS1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jb3B5LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDb3B5Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ29weUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jb3B5LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENvcHlKb2JBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENvcHlKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY29weS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ3VzdG9taXphdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY3VzdG9taXphdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxFdmFsdWF0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXZhbHVhdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1ldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV2YWx1YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW1wb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEltcG9ydEpvYihwcm9wczogQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW1wb3J0LWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWltcG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsSW1wb3J0Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxJbXBvcnRKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEltcG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxJbXBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtaW1wb3J0LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxJbnZvY2F0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW52b2NhdGlvbi1qb2IvJHtwcm9wcy5qb2JJZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxJbnZvY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmpvYklkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9qZWN0KHByb3BzOiBCZWRyb2NrUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb21wdChwcm9wczogQmVkcm9ja1Byb21wdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvbXB0SWQ6IG1hdGNoLmdyb3VwcyEucHJvbXB0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXIocHJvcHM6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFJvdXRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdFJvdXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQtcm91dGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9tcHQtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRWZXJzaW9uKHByb3BzOiBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfToke3Byb3BzLnByb21wdFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdC12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0LXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvbXB0VmVyc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb21wdC12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb21wdElkOiBtYXRjaC5ncm91cHMhLnByb21wdElkLFxuXHRcdFx0cHJvbXB0VmVyc2lvbjogbWF0Y2guZ3JvdXBzIS5wcm9tcHRWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb3Zpc2lvbmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb3Zpc2lvbmVkTW9kZWwocHJvcHM6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvdmlzaW9uZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm92aXNpb25lZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvdmlzaW9uZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3Zpc2lvbmVkTW9kZWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb3Zpc2lvbmVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXNzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlc3Npb24ocHJvcHM6IEJlZHJvY2tTZXNzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2Vzc2lvbi8ke3Byb3BzLnNlc3Npb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXNzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlc3Npb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tTZXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXNzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlc3Npb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2Vzc2lvbklkOiBtYXRjaC5ncm91cHMhLnNlc3Npb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzeXN0ZW0tdG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzeXN0ZW1Ub29sKHByb3BzOiBCZWRyb2NrU3lzdGVtVG9vbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN5c3RlbS10b29sLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3lzdGVtLXRvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN5c3RlbVRvb2xBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtVG9vbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzeXN0ZW0tdG9vbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTeXN0ZW1Ub29sQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1N5c3RlbVRvb2xBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN5c3RlbVRvb2xBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3lzdGVtLXRvb2wgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFnZW50aWNSZXRyaWV2ZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFnZW50aWNSZXRyaWV2ZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcHBseUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5R3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2w6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udmVyc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb252ZXJzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6SW52b2tlVG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb252ZXJzZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnZlcnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlCbHVlcHJpbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlCbHVlcHJpbnRTdGFnZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ291bnRUb2tlbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3VudFRva2Vuczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q291bnRUb2tlbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhc1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVGbG93XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3dWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW52b2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludm9jYXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29weUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRSb3V0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlclwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVTZXNzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRNZW1vcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQmx1ZXByaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhU291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbXBvcnRlZE1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ZWRNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbmZlcmVuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCIsXG5cdFx0XCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVQcm9tcHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb21wdFJvdXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdFJvdXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuZFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RW5kU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5XCIsXG5cdFx0XCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjY291bnREYXRhUmV0ZW50aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBbGlhczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50Q29sbGFib3JhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50TWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXN5bmNJbnZva2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzeW5jSW52b2tlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBc3luY0ludm9rZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHM6IHN0cmluZ1tdID1cblx0XHRbXCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Qmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFBdXRvbWF0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldERhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvY3VtZW50Q29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9jdW1lbnRDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50XCIsXG5cdFx0XCJiZWRyb2NrOlJldHJpZXZlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19
|
|
3308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwNEJDOzs7QUF6NEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7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Q0FBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUM5RCw0Q0FBNEM7QUFDNUIsMkJBQVMsR0FBRyxrQkFBa0IsQ0FBQztBQUMvQyw4Q0FBOEM7QUFDOUIsNkJBQVcsR0FBRyxvQkFBb0IsQ0FBQztBQUNuRCxtREFBbUQ7QUFDbkMsbUNBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDOUQsa0RBQWtEO0FBQ2xDLDhCQUFZLEdBQUcscUJBQXFCLENBQUM7QUFDckQsK0VBQStFO0FBQy9ELG1FQUFpRCxHQUNoRSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2JlZHJvY2suanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGJlZHJvY2sgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYmVkcm9ja1wiO1xuXG5cdC8qKiBbUmVhZF0gYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFnZW50aWNSZXRyaWV2ZVN0cmVhbSA9IFwiYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW1cIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jazpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJiZWRyb2NrOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6QXBwbHlHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5R3VhcmRyYWlsID0gXCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW4gPSBcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q2FuY2VsSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxJbnZva2UgPSBcImJlZHJvY2s6Q2FuY2VsSW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IENoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCA9IFwiYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2xcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlCbHVlcHJpbnRTdGFnZSA9IFwiYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNvdW50VG9rZW5zICovXG5cdHN0YXRpYyByZWFkb25seSBDb3VudFRva2VucyA9IFwiYmVkcm9jazpDb3VudFRva2Vuc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50ID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBbGlhcyA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnQgPSBcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZSA9IFwiYmVkcm9jazpDcmVhdGVEYXRhU291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlVG9rZW4gPSBcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvdyA9IFwiYmVkcm9jazpDcmVhdGVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXMgPSBcImJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnZvY2F0aW9uID0gXCJiZWRyb2NrOkNyZWF0ZUludm9jYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsQ29weUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ29weUpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW1wb3J0Sm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHQgPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnQgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudE1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRNZW1vcnkgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50VmVyc2lvbiA9IFwiYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpEZWxldGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhU291cmNlID0gXCJiZWRyb2NrOkRlbGV0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3cgPSBcImJlZHJvY2s6RGVsZXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93VmVyc2lvbiA9IFwiYmVkcm9jazpEZWxldGVGbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHdWFyZHJhaWwgPSBcImJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ZWRNb2RlbCA9IFwiYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZva2UgPSBcImJlZHJvY2s6RGVsZXRlSW52b2tlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdCA9IFwiYmVkcm9jazpEZWxldGVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdFJvdXRlciA9IFwiYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlc3Npb24gPSBcImJlZHJvY2s6RGVsZXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpEZXRlY3RHZW5lcmF0ZWRDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RHZW5lcmF0ZWRDb250ZW50ID0gXCJiZWRyb2NrOkRldGVjdEdlbmVyYXRlZENvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgPVxuXHRcdFwiYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RW5kU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5kU2Vzc2lvbiA9IFwiYmVkcm9jazpFbmRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uID1cblx0XHRcImJlZHJvY2s6RXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2VuZXJhdGVRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVRdWVyeSA9IFwiYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWNjb3VudERhdGFSZXRlbnRpb24gPVxuXHRcdFwiYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudCA9IFwiYmVkcm9jazpHZXRBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkdldEFnZW50QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbGxhYm9yYXRvciA9IFwiYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudE1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRNZW1vcnkgPSBcImJlZHJvY2s6R2V0QWdlbnRNZW1vcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRWZXJzaW9uID0gXCJiZWRyb2NrOkdldEFnZW50VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXN5bmNJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzeW5jSW52b2tlID0gXCJiZWRyb2NrOkdldEFzeW5jSW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW9cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnQgPSBcImJlZHJvY2s6R2V0Qmx1ZXByaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1cyA9XG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uID1cblx0XHRcImJlZHJvY2s6R2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YVNvdXJjZSA9IFwiYmVkcm9jazpHZXREYXRhU291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmwgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb2N1bWVudENvbnRlbnQgPSBcImJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90ID1cblx0XHRcImJlZHJvY2s6R2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGbG93ID0gXCJiZWRyb2NrOkdldEZsb3dcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd0FsaWFzID0gXCJiZWRyb2NrOkdldEZsb3dBbGlhc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpHZXRGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsID0gXCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHkgPVxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0R3VhcmRyYWlsID0gXCJiZWRyb2NrOkdldEd1YXJkcmFpbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW1wb3J0ZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW1wb3J0ZWRNb2RlbCA9IFwiYmVkcm9jazpHZXRJbXBvcnRlZE1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkdldEluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEluZ2VzdGVkRG9jdW1lbnRBY2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZ2VzdGVkRG9jdW1lbnRBY2wgPVxuXHRcdFwiYmVkcm9jazpHZXRJbmdlc3RlZERvY3VtZW50QWNsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZ2VzdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEludm9jYXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZvY2F0aW9uU3RlcCA9IFwiYmVkcm9jazpHZXRJbnZvY2F0aW9uU3RlcFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZva2UgPSBcImJlZHJvY2s6R2V0SW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxDb3B5Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbENvcHlKb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxDb3B5Sm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxJbXBvcnRKb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uSm9iID0gXCJiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvbXB0ID0gXCJiZWRyb2NrOkdldFByb21wdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6R2V0UHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXNzaW9uID0gXCJiZWRyb2NrOkdldFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzID1cblx0XHRcImJlZHJvY2s6R2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudCA9IFwiYmVkcm9jazpJbnZva2VBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQnVpbGRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQnVpbGRlciA9IFwiYmVkcm9jazpJbnZva2VCdWlsZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uID0gXCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyA9XG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRmxvdyA9IFwiYmVkcm9jazpJbnZva2VGbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VHdWFyZHJhaWxDaGVja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUd1YXJkcmFpbENoZWNrcyA9IFwiYmVkcm9jazpJbnZva2VHdWFyZHJhaWxDaGVja3NcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUlubGluZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VJbmxpbmVBZ2VudCA9IFwiYmVkcm9jazpJbnZva2VJbmxpbmVBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsID0gXCJiZWRyb2NrOkludm9rZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlVG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlVG9vbCA9IFwiYmVkcm9jazpJbnZva2VUb29sXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzID1cblx0XHRcImJlZHJvY2s6TGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50QWN0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRBY3Rpb25Hcm91cHMgPSBcImJlZHJvY2s6TGlzdEFnZW50QWN0aW9uR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRBbGlhc2VzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudENvbGxhYm9yYXRvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudENvbGxhYm9yYXRvcnMgPSBcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50VmVyc2lvbnMgPSBcImJlZHJvY2s6TGlzdEFnZW50VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudHMgPSBcImJlZHJvY2s6TGlzdEFnZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFzeW5jSW52b2tlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzeW5jSW52b2tlcyA9IFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3MgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3NcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEJsdWVwcmludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCbHVlcHJpbnRzID0gXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEN1c3RvbU1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVscyA9IFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVNvdXJjZXMgPSBcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZhbHVhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93QWxpYXNlcyA9IFwiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyA9IFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnMgPSBcImJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd1ZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zID0gXCJiZWRyb2NrOkxpc3RGbG93VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzID0gXCJiZWRyb2NrOkxpc3RGbG93c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVycyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rm91bmRhdGlvbk1vZGVscyA9IFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEd1YXJkcmFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzID0gXCJiZWRyb2NrOkxpc3RHdWFyZHJhaWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRlZE1vZGVscyA9IFwiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbmZlcmVuY2VQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVByb2ZpbGVzID0gXCJiZWRyb2NrOkxpc3RJbmZlcmVuY2VQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEluZ2VzdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmdlc3Rpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RJbmdlc3Rpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvblN0ZXBzID0gXCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbnZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludm9jYXRpb25zID0gXCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VzID0gXCJiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6TGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDb3B5Sm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxDb3B5Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzID1cblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEV2YWx1YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFdmFsdWF0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxFdmFsdWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsSW1wb3J0Sm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsSW52b2NhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsSW52b2NhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm9tcHRSb3V0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvbXB0Um91dGVycyA9IFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb21wdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzID0gXCJiZWRyb2NrOkxpc3RQcm9tcHRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzID1cblx0XHRcImJlZHJvY2s6TGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2Vzc2lvbnMgPSBcImJlZHJvY2s6TGlzdFNlc3Npb25zXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOk9wdGltaXplUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdCA9IFwiYmVkcm9jazpPcHRpbWl6ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlByZXBhcmVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUFnZW50ID0gXCJiZWRyb2NrOlByZXBhcmVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlByZXBhcmVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlRmxvdyA9IFwiYmVkcm9jazpQcmVwYXJlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEFjY291bnREYXRhUmV0ZW50aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbiA9IFwiYmVkcm9jazpQdXRBY2NvdW50RGF0YVJldGVudGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50ID1cblx0XHRcImJlZHJvY2s6UHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXAgPSBcImJlZHJvY2s6UHV0SW52b2NhdGlvblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzID0gXCJiZWRyb2NrOlB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOlJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpSZW5kZXJQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclByb21wdCA9IFwiYmVkcm9jazpSZW5kZXJQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZXJhbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcmFuayA9IFwiYmVkcm9jazpSZXJhbmtcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOlJldHJpZXZlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZSA9IFwiYmVkcm9jazpSZXRyaWV2ZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGUgPSBcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Rmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpTdG9wRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpTdG9wRmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcE1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpTdG9wTW9kZWxJbnZvY2F0aW9uSm9iXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jazpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImJlZHJvY2s6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBiZWRyb2NrOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImJlZHJvY2s6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudCA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvciA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6VXBkYXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZsb3cgPSBcImJlZHJvY2s6VXBkYXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOlVwZGF0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9tcHQgPSBcImJlZHJvY2s6VXBkYXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXNzaW9uID0gXCJiZWRyb2NrOlVwZGF0ZVNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlRmxvd0RlZmluaXRpb24gPSBcImJlZHJvY2s6VmFsaWRhdGVGbG93RGVmaW5pdGlvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFnZW50aWNSZXRyaWV2ZVN0cmVhbSxcblx0XHRCZWRyb2NrQWN0aW9ucy5BcHBseUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DYWxsV2l0aEJlYXJlclRva2VuLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5Db3VudFRva2Vucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZXRlY3RHZW5lcmF0ZWRDb250ZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuR2VuZXJhdGVRdWVyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBY2NvdW50RGF0YVJldGVudGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50TWVtb3J5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBc3luY0ludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvblN0YXR1cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERvY3VtZW50Q29udGVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0R3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEltcG9ydGVkTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5mZXJlbmNlUHJvZmlsZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmdlc3RlZERvY3VtZW50QWNsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbnZvY2F0aW9uU3RlcCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbENvcHlKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEltcG9ydEpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VHdWFyZHJhaWxDaGVja3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlSW5saW5lQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlVG9vbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLk9wdGltaXplUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJlbmRlclByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXRyaWV2ZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5WYWxpZGF0ZUZsb3dEZWZpbml0aW9uLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5CYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNhbmNlbEludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5Db3B5Qmx1ZXByaW50U3RhZ2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVCbHVlcHJpbnRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YVNvdXJjZVRva2VuLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVHdWFyZHJhaWxWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlSW52b2NhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbENvcHlKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEltcG9ydEpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50TWVtb3J5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvbXB0Um91dGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRW5kU2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5Jbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQnVpbGRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5QcmVwYXJlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHJlcGFyZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEludm9jYXRpb25TdGVwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXJhbmssXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmVBbmRHZW5lcmF0ZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wSW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcE1vZGVsSW52b2NhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVNlc3Npb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50QWN0aW9uR3JvdXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEFsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50Q29sbGFib3JhdG9ycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBc3luY0ludm9rZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Qmx1ZXByaW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFTb3VyY2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFdmFsdWF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd0FsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25FdmVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZvdW5kYXRpb25Nb2RlbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEd1YXJkcmFpbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEltcG9ydGVkTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbmZlcmVuY2VQcm9maWxlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW5nZXN0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW52b2NhdGlvblN0ZXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbnZvY2F0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ29weUpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsSW1wb3J0Sm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxJbnZvY2F0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0Um91dGVycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RTZXNzaW9ucyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudC1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdlbnQtYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50QWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXN5bmMtaW52b2tlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXN5bmNJbnZva2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzeW5jLWludm9rZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmx1ZXByaW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmx1ZXByaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCbHVlcHJpbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFBdXRvbWF0aW9uTGlicmFyeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZ2VzdGlvbkpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmdlc3Rpb25Kb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvZmlsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QWxpYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dFeGVjdXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0V4ZWN1dGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsQXJuUHJvcHMge1xuXHQvKiogVGhlIEd1YXJkcmFpbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGd1YXJkcmFpbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgR3VhcmRyYWlsSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBndWFyZHJhaWwtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbXBvcnRlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltcG9ydGVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEtub3dsZWRnZUJhc2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkga25vd2xlZGdlQmFzZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLbm93bGVkZ2VCYXNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBrbm93bGVkZ2VCYXNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNvcHktam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jb3B5LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ29weUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEltcG9ydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtaW1wb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdC12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdFZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvdmlzaW9uZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Nlc3Npb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXNzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzeXN0ZW0tdG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1N5c3RlbVRvb2xBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3lzdGVtLXRvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTeXN0ZW1Ub29sQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50XFwvKD88YWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnQtYWxpYXNcXC8oPzxhZ2VudElkPlteOi8/XSspXFwvKD88YWdlbnRBbGlhc0lkPlteOi8/XSspJC87XG5jb25zdCBBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXN5bmNJbnZva2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFzeW5jLWludm9rZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKTooPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYXJrZXRwbGFjZVxcL21vZGVsLWVuZHBvaW50XFwvYWxsLWFjY2VzcyQvO1xuY29uc3QgQmx1ZXByaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpibHVlcHJpbnRcXC8oPzxibHVlcHJpbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ymx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnRcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnlcXC8oPzxkYXRhQXV0b21hdGlvbkxpYnJhcnlJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iXFwvKD88aW5nZXN0aW9uSm9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGVcXC8oPzxwcm9maWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2plY3RcXC8oPzxwcm9qZWN0SWQ+W146Lz9dKykkLztcbmNvbnN0IERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRlZmF1bHQtcHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FsaWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93XFwvKD88Zmxvd0lkPlteOi8/XSspXFwvYWxpYXNcXC8oPzxmbG93QWxpYXNJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0V4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKVxcL2FsaWFzXFwvKD88Zmxvd0FsaWFzSWQ+W146Lz9dKylcXC9leGVjdXRpb25cXC8oPzxmbG93RXhlY3V0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6OmZvdW5kYXRpb24tbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmd1YXJkcmFpbFxcLyg/PGd1YXJkcmFpbElkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpndWFyZHJhaWwtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEltcG9ydGVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltcG9ydGVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBLbm93bGVkZ2VCYXNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprbm93bGVkZ2UtYmFzZVxcLyg/PGtub3dsZWRnZUJhc2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDb3B5Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jb3B5LWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY3VzdG9taXphdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxJbXBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWltcG9ydC1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWludm9jYXRpb24tam9iXFwvKD88am9iSWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvamVjdFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0XFwvKD88cHJvbXB0SWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFJvdXRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdFxcLyg/PHByb21wdElkPlteOi8/XSspOig/PHByb21wdFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IFByb3Zpc2lvbmVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb3Zpc2lvbmVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgU2Vzc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2Vzc2lvblxcLyg/PHNlc3Npb25JZD5bXjovP10rKSQvO1xuY29uc3QgU3lzdGVtVG9vbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOjooPzxhY2NvdW50PlteOl0qKTpzeXN0ZW0tdG9vbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBiZWRyb2NrIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudChwcm9wczogQmVkcm9ja0FnZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnQvJHtwcm9wcy5hZ2VudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFnZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudC1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudEFsaWFzKHByb3BzOiBCZWRyb2NrQWdlbnRBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LWFsaWFzLyR7cHJvcHMuYWdlbnRJZH0vJHtwcm9wcy5hZ2VudEFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFnZW50LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudEFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQtYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBbGlhc0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudEFsaWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50LWFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHRcdGFnZW50QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudEFsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3luYy1pbnZva2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmNJbnZva2UocHJvcHM6IEJlZHJvY2tBc3luY0ludm9rZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFzeW5jLWludm9rZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzeW5jLWludm9rZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXN5bmNJbnZva2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXN5bmNJbnZva2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXN5bmMtaW52b2tlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzeW5jSW52b2tlQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3luY0ludm9rZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhc3luYy1pbnZva2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeShcblx0XHRwcm9wczogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uKFxuXHRcdHByb3BzOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH06JHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkLFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcblx0XHRwcm9wczogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hcmtldHBsYWNlL21vZGVsLWVuZHBvaW50L2FsbC1hY2Nlc3NgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludChwcm9wczogQmVkcm9ja0JsdWVwcmludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJsdWVwcmludC8ke3Byb3BzLmJsdWVwcmludElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCbHVlcHJpbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmx1ZXByaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJsdWVwcmludEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tCbHVlcHJpbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBibHVlcHJpbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ymx1ZXByaW50SWQ6IG1hdGNoLmdyb3VwcyEuYmx1ZXByaW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb24oXG5cdFx0cHJvcHM6IEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tTW9kZWwocHJvcHM6IEJlZHJvY2tDdXN0b21Nb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUN1c3RvbU1vZGVsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21Nb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbU1vZGVsRGVwbG95bWVudChcblx0XHRwcm9wczogQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnQvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21Nb2RlbERlcGxveW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25MaWJyYXJ5KFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS8ke3Byb3BzLmRhdGFBdXRvbWF0aW9uTGlicmFyeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogbWF0Y2guZ3JvdXBzIS5kYXRhQXV0b21hdGlvbkxpYnJhcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYi8ke3Byb3BzLmluZ2VzdGlvbkpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5nZXN0aW9uSm9iSWQ6IG1hdGNoLmdyb3VwcyEuaW5nZXN0aW9uSm9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25Qcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tcHJvZmlsZS8ke3Byb3BzLnByb2ZpbGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLnByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvblByb2plY3QoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1wcm9qZWN0LyR7cHJvcHMucHJvamVjdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvblByb2plY3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0SWQ6IG1hdGNoLmdyb3VwcyEucHJvamVjdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRlZmF1bHQtcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZWZhdWx0UHJvbXB0Um91dGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGVmYXVsdC1wcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGVmYXVsdC1wcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZWZhdWx0UHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURlZmF1bHRQcm9tcHRSb3V0ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZhbHVhdGlvbkpvYihwcm9wczogQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpldmFsdWF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2YWx1YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZhbHVhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmFsdWF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2YWx1YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3cocHJvcHM6IEJlZHJvY2tGbG93QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dBbGlhcyhwcm9wczogQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9L2FsaWFzLyR7cHJvcHMuZmxvd0FsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1hbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0FsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1hbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdFx0Zmxvd0FsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0FsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0V4ZWN1dGlvbihwcm9wczogQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfS9hbGlhcy8ke3Byb3BzLmZsb3dBbGlhc0lkfS9leGVjdXRpb24vJHtwcm9wcy5mbG93RXhlY3V0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93RXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1leGVjdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0V4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93RXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0XHRmbG93QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5mbG93QWxpYXNJZCxcblx0XHRcdGZsb3dFeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5mbG93RXhlY3V0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZm91bmRhdGlvbi1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmb3VuZGF0aW9uTW9kZWwocHJvcHM6IEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmZvdW5kYXRpb24tbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmb3VuZGF0aW9uLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGb3VuZGF0aW9uTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRm91bmRhdGlvbk1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZvdW5kYXRpb24tbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRm91bmRhdGlvbk1vZGVsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZm91bmRhdGlvbi1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGd1YXJkcmFpbChwcm9wczogQmVkcm9ja0d1YXJkcmFpbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omd1YXJkcmFpbC8ke3Byb3BzLmd1YXJkcmFpbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBndWFyZHJhaWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHdWFyZHJhaWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tHdWFyZHJhaWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBndWFyZHJhaWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3VhcmRyYWlsSWQ6IG1hdGNoLmdyb3VwcyEuZ3VhcmRyYWlsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZ3VhcmRyYWlsUHJvZmlsZShwcm9wczogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpndWFyZHJhaWwtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGd1YXJkcmFpbC1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHdWFyZHJhaWxQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR3VhcmRyYWlsUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltcG9ydGVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltcG9ydGVkTW9kZWwocHJvcHM6IEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1wb3J0ZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbXBvcnRlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1wb3J0ZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbXBvcnRlZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltcG9ydGVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltcG9ydGVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1wb3J0ZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbXBvcnRlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZShwcm9wczogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGtub3dsZWRnZUJhc2UocHJvcHM6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06a25vd2xlZGdlLWJhc2UvJHtwcm9wcy5rbm93bGVkZ2VCYXNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLbm93bGVkZ2VCYXNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEtub3dsZWRnZUJhc2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga25vd2xlZGdlLWJhc2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlS25vd2xlZGdlQmFzZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLbm93bGVkZ2VCYXNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGtub3dsZWRnZS1iYXNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtub3dsZWRnZUJhc2VJZDogbWF0Y2guZ3JvdXBzIS5rbm93bGVkZ2VCYXNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY29weS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDb3B5Sm9iKHByb3BzOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY29weS1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jb3B5LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDb3B5Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ29weUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jb3B5LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENvcHlKb2JBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENvcHlKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY29weS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ3VzdG9taXphdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY3VzdG9taXphdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxFdmFsdWF0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXZhbHVhdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1ldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV2YWx1YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW1wb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEltcG9ydEpvYihwcm9wczogQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW1wb3J0LWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWltcG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsSW1wb3J0Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxJbXBvcnRKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEltcG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxJbXBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtaW1wb3J0LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxJbnZvY2F0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW52b2NhdGlvbi1qb2IvJHtwcm9wcy5qb2JJZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxJbnZvY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmpvYklkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9qZWN0KHByb3BzOiBCZWRyb2NrUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb21wdChwcm9wczogQmVkcm9ja1Byb21wdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvbXB0SWQ6IG1hdGNoLmdyb3VwcyEucHJvbXB0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXIocHJvcHM6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFJvdXRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdFJvdXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQtcm91dGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9tcHQtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRWZXJzaW9uKHByb3BzOiBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfToke3Byb3BzLnByb21wdFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdC12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0LXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvbXB0VmVyc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb21wdC12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb21wdElkOiBtYXRjaC5ncm91cHMhLnByb21wdElkLFxuXHRcdFx0cHJvbXB0VmVyc2lvbjogbWF0Y2guZ3JvdXBzIS5wcm9tcHRWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb3Zpc2lvbmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb3Zpc2lvbmVkTW9kZWwocHJvcHM6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvdmlzaW9uZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm92aXNpb25lZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvdmlzaW9uZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3Zpc2lvbmVkTW9kZWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb3Zpc2lvbmVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXNzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlc3Npb24ocHJvcHM6IEJlZHJvY2tTZXNzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2Vzc2lvbi8ke3Byb3BzLnNlc3Npb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXNzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlc3Npb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tTZXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXNzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlc3Npb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2Vzc2lvbklkOiBtYXRjaC5ncm91cHMhLnNlc3Npb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzeXN0ZW0tdG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzeXN0ZW1Ub29sKHByb3BzOiBCZWRyb2NrU3lzdGVtVG9vbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN5c3RlbS10b29sLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3lzdGVtLXRvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN5c3RlbVRvb2xBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtVG9vbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzeXN0ZW0tdG9vbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTeXN0ZW1Ub29sQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1N5c3RlbVRvb2xBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN5c3RlbVRvb2xBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3lzdGVtLXRvb2wgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFnZW50aWNSZXRyaWV2ZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFnZW50aWNSZXRyaWV2ZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcHBseUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5R3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2w6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udmVyc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb252ZXJzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6SW52b2tlVG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb252ZXJzZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnZlcnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlCbHVlcHJpbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlCbHVlcHJpbnRTdGFnZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ291bnRUb2tlbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3VudFRva2Vuczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q291bnRUb2tlbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhc1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVGbG93XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3dWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW52b2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludm9jYXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29weUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRSb3V0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlclwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVTZXNzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRNZW1vcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQmx1ZXByaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhU291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbXBvcnRlZE1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ZWRNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbmZlcmVuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCIsXG5cdFx0XCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVQcm9tcHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb21wdFJvdXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdFJvdXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuZFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RW5kU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5XCIsXG5cdFx0XCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjY291bnREYXRhUmV0ZW50aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBbGlhczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50Q29sbGFib3JhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50TWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXN5bmNJbnZva2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzeW5jSW52b2tlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBc3luY0ludm9rZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHM6IHN0cmluZ1tdID1cblx0XHRbXCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Qmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFBdXRvbWF0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldERhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvY3VtZW50Q29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9jdW1lbnRDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50XCIsXG5cdFx0XCJiZWRyb2NrOlJldHJpZXZlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19
|