Version Description
2020/09/23 =
FV Player wp-admin Screen - search fixes and improvements - you can multiple words or quotes
HLS - live stream check - improving display and behavior when multiple video playbacks is enabled
Compatibility - AWS - library update
Compatibility - jQuery migrate fixes
Compatibility - Elementor fixes
Download this release
Release Info
Developer | FolioVision |
Plugin | FV Flowplayer Video Player |
Version | 7.4.34.727 |
Comparing to | |
See all releases |
Code changes from version 7.4.33.727 to 7.4.34.727
- composer.json +443 -2
- controller/editor.php +0 -6
- controller/frontend.php +10 -0
- css/shortcode-editor.css +53 -0
- flowplayer.php +2 -2
- flowplayer/fv-flowplayer.min.js +1 -1
- flowplayer/modules/compatibility.module.js +1 -1
- flowplayer/modules/hls-live-check.module.js +41 -10
- flowplayer/modules/multiple-playback.module.js +10 -8
- flowplayer/modules/old-browsers.module.js +2 -2
- includes/aws/Aws/Api/DateTimeResult.php +0 -41
- includes/aws/Aws/Api/ErrorParser/XmlErrorParser.php +0 -82
- includes/aws/Aws/Api/Parser/Exception/ParserException.php +0 -4
- includes/aws/Aws/CloudFront/CloudFrontClient.php +0 -142
- includes/aws/Aws/ConfigService/ConfigServiceClient.php +0 -56
- includes/aws/Aws/Credentials/CredentialProvider.php +0 -324
- includes/aws/Aws/Credentials/InstanceProfileProvider.php +0 -102
- includes/aws/Aws/DirectConnect/DirectConnectClient.php +0 -48
- includes/aws/Aws/DirectoryService/DirectoryServiceClient.php +0 -54
- includes/aws/Aws/Exception/CredentialsException.php +0 -4
- includes/aws/Aws/Exception/UnresolvedApiException.php +0 -4
- includes/aws/Aws/Exception/UnresolvedEndpointException.php +0 -4
- includes/aws/Aws/Exception/UnresolvedSignatureException.php +0 -4
- includes/aws/Aws/Handler/GuzzleV6/GuzzleHandler.php +0 -59
- includes/aws/Aws/Inspector/InspectorClient.php +0 -82
- includes/aws/Aws/Iot/IotClient.php +0 -88
- includes/aws/Aws/RetryMiddleware.php +0 -125
- includes/aws/Aws/S3/S3Client.php +0 -855
- includes/aws/Aws/Sdk.php +0 -149
- includes/aws/Aws/WorkSpaces/WorkSpacesClient.php +0 -24
- includes/aws/Aws/data/cloudfront/2015-09-17/api-2.json.php +0 -3
- includes/aws/Aws/data/cloudfront/2015-09-17/examples-1.json.php +0 -3
- includes/aws/Aws/data/cloudfront/2015-09-17/waiters-2.json.php +0 -3
- includes/aws/Aws/data/config/2014-11-12/api-2.json.php +0 -3
- includes/aws/Aws/data/config/2014-11-12/paginators-1.json.php +0 -3
- includes/aws/Aws/data/endpoints.json.php +0 -3
- includes/aws/Aws/data/manifest.json.php +0 -3
- includes/aws/Aws/data/s3/2006-03-01/api-2.json.php +0 -3
- includes/aws/Aws/data/s3/2006-03-01/waiters-2.json.php +0 -3
- includes/aws/CHANGELOG.md +0 -1387
- includes/aws/GuzzleHttp/Exception/BadResponseException.php +0 -7
- includes/aws/GuzzleHttp/Exception/GuzzleException.php +0 -4
- includes/aws/GuzzleHttp/Exception/TooManyRedirectsException.php +0 -4
- includes/aws/GuzzleHttp/Psr7/InflateStream.php +0 -29
- includes/aws/GuzzleHttp/Psr7/MessageTrait.php +0 -158
- includes/aws/GuzzleHttp/Psr7/Uri.php +0 -599
- includes/aws/JmesPath/JmesPath.php +0 -15
- includes/aws/README.md +0 -158
- includes/aws/aws-autoloader.php +2 -304
- js/fancybox.js +2 -2
- js/shortcode-editor.js +13 -8
- languages/fv-wordpress-flowplayer-cs_CZ.mo +0 -0
- languages/fv-wordpress-flowplayer-cs_CZ.po +9 -0
- languages/fv-wordpress-flowplayer-es_ES.mo +0 -0
- languages/fv-wordpress-flowplayer-es_ES.po +8 -0
- languages/fv-wordpress-flowplayer-sk_SK.mo +0 -0
- languages/fv-wordpress-flowplayer-sk_SK.po +8 -0
- models/db-video.php +162 -3
- models/digitalocean-spaces-browser.class.php +1 -13
- models/flowplayer.php +3 -3
- models/list-table.php +3 -3
- models/media-browser-s3.php +6 -3
- models/system-info.php +9 -0
- readme.txt +8 -0
- test/integration/backend/testSettingsScreen.html +2 -2
- test/integration/frontend/testSimpleShortcode.html +2 -2
- test/unit/controller/frontendTest.php +10 -0
- test/wp-global-empty-mocks.php +5 -0
- vendor/autoload.php +7 -0
- vendor/aws/aws-sdk-php/CODE_OF_CONDUCT.md +4 -0
- {includes/aws → vendor/aws/aws-sdk-php}/LICENSE.md +0 -0
- {includes/aws → vendor/aws/aws-sdk-php}/NOTICE.md +0 -0
- vendor/aws/aws-sdk-php/composer.json +68 -0
- vendor/aws/aws-sdk-php/src/AbstractConfigurationProvider.php +157 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/AbstractModel.php +0 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ApiProvider.php +4 -1
- vendor/aws/aws-sdk-php/src/Api/DateTimeResult.php +102 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/DocModel.php +1 -1
- vendor/aws/aws-sdk-php/src/Api/ErrorParser/AbstractErrorParser.php +95 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/JsonParserTrait.php +13 -1
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/JsonRpcErrorParser.php +18 -2
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/RestJsonErrorParser.php +25 -2
- vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php +111 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ListShape.php +0 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/MapShape.php +0 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Operation.php +2 -2
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/AbstractParser.php +11 -0
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/AbstractRestParser.php +33 -3
- {includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/Crc32ValidatingParser.php +10 -3
- vendor/aws/aws-sdk-php/src/Api/Parser/DecodingEventStreamIterator.php +54 -0
composer.json
CHANGED
@@ -1,5 +1,446 @@
|
|
1 |
{
|
2 |
"require-dev": {
|
3 |
-
"mockery/mockery": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
}
|
5 |
-
}
|
1 |
{
|
2 |
"require-dev": {
|
3 |
+
"mockery/mockery": "^1.3.3"
|
4 |
+
},
|
5 |
+
"require": {
|
6 |
+
"aws/aws-sdk-php": "^3.149"
|
7 |
+
},
|
8 |
+
"scripts": {
|
9 |
+
"post-update-cmd": [
|
10 |
+
"echo Removing unnecessary AWS files:",
|
11 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ACMPCA",
|
12 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AccessAnalyzer",
|
13 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Acm",
|
14 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AlexaForBusiness",
|
15 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Amplify",
|
16 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ApiGatewayManagementApi",
|
17 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ApiGatewayV2",
|
18 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AppConfig",
|
19 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AppMesh",
|
20 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AppSync",
|
21 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ApplicationAutoScaling",
|
22 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ApplicationDiscoveryService",
|
23 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ApplicationInsights",
|
24 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Appstream",
|
25 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Athena",
|
26 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AugmentedAIRuntime",
|
27 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AutoScaling",
|
28 |
+
"rm -rf vendor/aws/aws-sdk-php/src/AutoScalingPlans",
|
29 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Backup",
|
30 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Batch",
|
31 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Braket",
|
32 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Budgets",
|
33 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Chime",
|
34 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Cloud9",
|
35 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudDirectory",
|
36 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudFormation",
|
37 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudHSMV2",
|
38 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudHsm",
|
39 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudSearch",
|
40 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudSearchDomain",
|
41 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudTrail",
|
42 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudWatch",
|
43 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudWatchEvents",
|
44 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CloudWatchLogs",
|
45 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeArtifact",
|
46 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeBuild",
|
47 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeCommit",
|
48 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeDeploy",
|
49 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeGuruProfiler",
|
50 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeGuruReviewer",
|
51 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodePipeline",
|
52 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeStar",
|
53 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeStarNotifications",
|
54 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CodeStarconnections",
|
55 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CognitoIdentity",
|
56 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CognitoIdentityProvider",
|
57 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CognitoSync",
|
58 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Comprehend",
|
59 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ComprehendMedical",
|
60 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ComputeOptimizer",
|
61 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Connect",
|
62 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ConnectParticipant",
|
63 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CostExplorer",
|
64 |
+
"rm -rf vendor/aws/aws-sdk-php/src/CostandUsageReportService",
|
65 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Crypto",
|
66 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DAX",
|
67 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DLM",
|
68 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DataExchange",
|
69 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DataSync",
|
70 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DatabaseMigrationService",
|
71 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Detective",
|
72 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DeviceFarm",
|
73 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DocDB",
|
74 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DynamoDb",
|
75 |
+
"rm -rf vendor/aws/aws-sdk-php/src/DynamoDbStreams",
|
76 |
+
"rm -rf vendor/aws/aws-sdk-php/src/EBS",
|
77 |
+
"rm -rf vendor/aws/aws-sdk-php/src/EC2InstanceConnect",
|
78 |
+
"rm -rf vendor/aws/aws-sdk-php/src/EKS",
|
79 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Ec2",
|
80 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Ecr",
|
81 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Ecs",
|
82 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Efs",
|
83 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElastiCache",
|
84 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticBeanstalk",
|
85 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticInference",
|
86 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticLoadBalancing",
|
87 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticLoadBalancingV2",
|
88 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticTranscoder",
|
89 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ElasticsearchService",
|
90 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Emr",
|
91 |
+
"rm -rf vendor/aws/aws-sdk-php/src/EventBridge",
|
92 |
+
"rm -rf vendor/aws/aws-sdk-php/src/FMS",
|
93 |
+
"rm -rf vendor/aws/aws-sdk-php/src/FSx",
|
94 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ForecastQueryService",
|
95 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ForecastService",
|
96 |
+
"rm -rf vendor/aws/aws-sdk-php/src/FraudDetector",
|
97 |
+
"rm -rf vendor/aws/aws-sdk-php/src/GameLift",
|
98 |
+
"rm -rf vendor/aws/aws-sdk-php/src/GlobalAccelerator",
|
99 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Glue",
|
100 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Greengrass",
|
101 |
+
"rm -rf vendor/aws/aws-sdk-php/src/GroundStation",
|
102 |
+
"rm -rf vendor/aws/aws-sdk-php/src/GuardDuty",
|
103 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Health",
|
104 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Honeycode",
|
105 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IVS",
|
106 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ImportExport",
|
107 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoT1ClickDevicesService",
|
108 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoT1ClickProjects",
|
109 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTAnalytics",
|
110 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTEvents",
|
111 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTEventsData",
|
112 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTJobsDataPlane",
|
113 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTSecureTunneling",
|
114 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTSiteWise",
|
115 |
+
"rm -rf vendor/aws/aws-sdk-php/src/IoTThingsGraph",
|
116 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Kafka",
|
117 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Kinesis",
|
118 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisAnalytics",
|
119 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisAnalyticsV2",
|
120 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisVideo",
|
121 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisVideoArchivedMedia",
|
122 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisVideoMedia",
|
123 |
+
"rm -rf vendor/aws/aws-sdk-php/src/KinesisVideoSignalingChannels",
|
124 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Kms",
|
125 |
+
"rm -rf vendor/aws/aws-sdk-php/src/LakeFormation",
|
126 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Lambda",
|
127 |
+
"rm -rf vendor/aws/aws-sdk-php/src/LexModelBuildingService",
|
128 |
+
"rm -rf vendor/aws/aws-sdk-php/src/LexRuntimeService",
|
129 |
+
"rm -rf vendor/aws/aws-sdk-php/src/LicenseManager",
|
130 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Lightsail",
|
131 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MQ",
|
132 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MTurk",
|
133 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MachineLearning",
|
134 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Macie",
|
135 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Macie2",
|
136 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ManagedBlockchain",
|
137 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MarketplaceCatalog",
|
138 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MarketplaceCommerceAnalytics",
|
139 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MarketplaceEntitlementService",
|
140 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MarketplaceMetering",
|
141 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaConnect",
|
142 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaConvert",
|
143 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaLive",
|
144 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaPackage",
|
145 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaPackageVod",
|
146 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaStore",
|
147 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaStoreData",
|
148 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MediaTailor",
|
149 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MigrationHub",
|
150 |
+
"rm -rf vendor/aws/aws-sdk-php/src/MigrationHubConfig",
|
151 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Mobile",
|
152 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Neptune",
|
153 |
+
"rm -rf vendor/aws/aws-sdk-php/src/NetworkManager",
|
154 |
+
"rm -rf vendor/aws/aws-sdk-php/src/OpsWorks",
|
155 |
+
"rm -rf vendor/aws/aws-sdk-php/src/OpsWorksCM",
|
156 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Organizations",
|
157 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Outposts",
|
158 |
+
"rm -rf vendor/aws/aws-sdk-php/src/PI",
|
159 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Personalize",
|
160 |
+
"rm -rf vendor/aws/aws-sdk-php/src/PersonalizeEvents",
|
161 |
+
"rm -rf vendor/aws/aws-sdk-php/src/PersonalizeRuntime",
|
162 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Pinpoint",
|
163 |
+
"rm -rf vendor/aws/aws-sdk-php/src/PinpointEmail",
|
164 |
+
"rm -rf vendor/aws/aws-sdk-php/src/PinpointSMSVoice",
|
165 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Polly",
|
166 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Pricing",
|
167 |
+
"rm -rf vendor/aws/aws-sdk-php/src/QLDB",
|
168 |
+
"rm -rf vendor/aws/aws-sdk-php/src/QLDBSession",
|
169 |
+
"rm -rf vendor/aws/aws-sdk-php/src/QuickSight",
|
170 |
+
"rm -rf vendor/aws/aws-sdk-php/src/RAM",
|
171 |
+
"rm -rf vendor/aws/aws-sdk-php/src/RDSDataService",
|
172 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Rds",
|
173 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Redshift",
|
174 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Rekognition",
|
175 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ResourceGroups",
|
176 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ResourceGroupsTaggingAPI",
|
177 |
+
"rm -rf vendor/aws/aws-sdk-php/src/RoboMaker",
|
178 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Route53",
|
179 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Route53Domains",
|
180 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Route53Resolver",
|
181 |
+
"rm -rf vendor/aws/aws-sdk-php/src/S3Control",
|
182 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SSO",
|
183 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SSOOIDC",
|
184 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SageMaker",
|
185 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SageMakerRuntime",
|
186 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SavingsPlans",
|
187 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Schemas",
|
188 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SecretsManager",
|
189 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SecurityHub",
|
190 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ServerlessApplicationRepository",
|
191 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ServiceCatalog",
|
192 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ServiceDiscovery",
|
193 |
+
"rm -rf vendor/aws/aws-sdk-php/src/ServiceQuotas",
|
194 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Ses",
|
195 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SesV2",
|
196 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Sfn",
|
197 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Shield",
|
198 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Sms",
|
199 |
+
"rm -rf vendor/aws/aws-sdk-php/src/SnowBall",
|
200 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Sns",
|
201 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Sqs",
|
202 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Ssm",
|
203 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Sts",
|
204 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Swf",
|
205 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Synthetics",
|
206 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Textract",
|
207 |
+
"rm -rf vendor/aws/aws-sdk-php/src/TranscribeService",
|
208 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Transfer",
|
209 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Translate",
|
210 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WAFV2",
|
211 |
+
"rm -rf vendor/aws/aws-sdk-php/src/Waf",
|
212 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WafRegional",
|
213 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WorkDocs",
|
214 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WorkLink",
|
215 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WorkMail",
|
216 |
+
"rm -rf vendor/aws/aws-sdk-php/src/WorkMailMessageFlow",
|
217 |
+
"rm -rf vendor/aws/aws-sdk-php/src/XRay",
|
218 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/accessanalyzer",
|
219 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/acm-pca",
|
220 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/acm",
|
221 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/alexaforbusiness",
|
222 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/amplify",
|
223 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/apigateway",
|
224 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/apigatewaymanagementapi",
|
225 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/apigatewayv2",
|
226 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/appconfig",
|
227 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/application-autoscaling",
|
228 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/application-insights",
|
229 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/appmesh",
|
230 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/appstream",
|
231 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/appsync",
|
232 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/athena",
|
233 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/autoscaling-plans",
|
234 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/autoscaling",
|
235 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/backup",
|
236 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/batch",
|
237 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/braket",
|
238 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/budgets",
|
239 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ce",
|
240 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/chime",
|
241 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloud9",
|
242 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/clouddirectory",
|
243 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudformation",
|
244 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudhsm",
|
245 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudhsmv2",
|
246 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudsearch",
|
247 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudsearchdomain",
|
248 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cloudtrail",
|
249 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codeartifact",
|
250 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codebuild",
|
251 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codecommit",
|
252 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codedeploy",
|
253 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codeguru-reviewer",
|
254 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codeguruprofiler",
|
255 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codepipeline",
|
256 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codestar-connections",
|
257 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codestar-notifications",
|
258 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/codestar",
|
259 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cognito-identity",
|
260 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cognito-idp",
|
261 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cognito-sync",
|
262 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/comprehend",
|
263 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/comprehendmedical",
|
264 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/compute-optimizer",
|
265 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/connect",
|
266 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/connectparticipant",
|
267 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/cur",
|
268 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/data.iot",
|
269 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/dataexchange",
|
270 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/datapipeline",
|
271 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/datasync",
|
272 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/dax",
|
273 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/detective",
|
274 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/devicefarm",
|
275 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/directconnect",
|
276 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/discovery",
|
277 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/dlm",
|
278 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/dms",
|
279 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/docdb",
|
280 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ds",
|
281 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/dynamodb",
|
282 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ebs",
|
283 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ec2-instance-connect",
|
284 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ec2",
|
285 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ecr",
|
286 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ecs",
|
287 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/eks",
|
288 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elastic-inference",
|
289 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticache",
|
290 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticbeanstalk",
|
291 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticfilesystem",
|
292 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticloadbalancing",
|
293 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticloadbalancingv2",
|
294 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elasticmapreduce",
|
295 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/elastictranscoder",
|
296 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/email",
|
297 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/entitlement.marketplace",
|
298 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/es",
|
299 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/eventbridge",
|
300 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/events",
|
301 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/firehose",
|
302 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/fms",
|
303 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/forecast",
|
304 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/forecastquery",
|
305 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/frauddetector",
|
306 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/fsx",
|
307 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/gamelift",
|
308 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/glacier",
|
309 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/globalaccelerator",
|
310 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/glue",
|
311 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/greengrass",
|
312 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/groundstation",
|
313 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/guardduty",
|
314 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/health",
|
315 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/honeycode",
|
316 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iam",
|
317 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/imagebuilder",
|
318 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/importexport",
|
319 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/inspector",
|
320 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iot-jobs-data",
|
321 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iot",
|
322 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iot1click-devices",
|
323 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iot1click-projects",
|
324 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotanalytics",
|
325 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotevents-data",
|
326 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotevents",
|
327 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotsecuretunneling",
|
328 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotsitewise",
|
329 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/iotthingsgraph",
|
330 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ivs",
|
331 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kafka",
|
332 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kendra",
|
333 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesis-video-archived-media",
|
334 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesis-video-media",
|
335 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesis-video-signaling",
|
336 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesis",
|
337 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesisanalytics",
|
338 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2",
|
339 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kinesisvideo",
|
340 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/kms",
|
341 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/lakeformation",
|
342 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/lambda",
|
343 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/lex-models",
|
344 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/license-manager",
|
345 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/lightsail",
|
346 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/logs",
|
347 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/machinelearning",
|
348 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/macie",
|
349 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/macie2",
|
350 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/managedblockchain",
|
351 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/marketplace-catalog",
|
352 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/marketplacecommerceanalytics",
|
353 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediaconnect",
|
354 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediaconvert",
|
355 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/medialive",
|
356 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediapackage-vod",
|
357 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediapackage",
|
358 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediastore-data",
|
359 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediastore",
|
360 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mediatailor",
|
361 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/metering.marketplace",
|
362 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mgh",
|
363 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/migrationhub-config",
|
364 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mobile",
|
365 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/monitoring",
|
366 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mq",
|
367 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/mturk-requester",
|
368 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/neptune",
|
369 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/networkmanager",
|
370 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/opsworks",
|
371 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/opsworkscm",
|
372 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/organizations",
|
373 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/outposts",
|
374 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/personalize-events",
|
375 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/personalize-runtime",
|
376 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/personalize",
|
377 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/pi",
|
378 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/pinpoint-email",
|
379 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/pinpoint",
|
380 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/polly",
|
381 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/pricing",
|
382 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/qldb-session",
|
383 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/qldb",
|
384 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/quicksight",
|
385 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ram",
|
386 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/rds-data",
|
387 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/rds",
|
388 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/redshift",
|
389 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/rekognition",
|
390 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/resource-groups",
|
391 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/resourcegroupstaggingapi",
|
392 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/robomaker",
|
393 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/route53",
|
394 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/route53domains",
|
395 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/route53resolver",
|
396 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/runtime.lex",
|
397 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/runtime.sagemaker",
|
398 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/s3control",
|
399 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sagemaker-a2i-runtime",
|
400 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sagemaker",
|
401 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/savingsplans",
|
402 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/schemas",
|
403 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/secretsmanager",
|
404 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/securityhub",
|
405 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/serverlessrepo",
|
406 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/service-quotas",
|
407 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/servicecatalog",
|
408 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/servicediscovery",
|
409 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sesv2",
|
410 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/shield",
|
411 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/signer",
|
412 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sms-voice",
|
413 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sms",
|
414 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/snowball",
|
415 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sns",
|
416 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sqs",
|
417 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/ssm",
|
418 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sso-oidc",
|
419 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sso",
|
420 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/states",
|
421 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/storagegateway",
|
422 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/streams.dynamodb",
|
423 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/sts",
|
424 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/support",
|
425 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/swf",
|
426 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/synthetics",
|
427 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/textract",
|
428 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/transcribe",
|
429 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/transfer",
|
430 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/translate",
|
431 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/waf-regional",
|
432 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/waf",
|
433 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/wafv2",
|
434 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/workdocs",
|
435 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/worklink",
|
436 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/workmail",
|
437 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/workmailmessageflow",
|
438 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/workspaces",
|
439 |
+
"rm -rf vendor/aws/aws-sdk-php/src/data/xray",
|
440 |
+
"rm -rf vendor/aws/aws-sdk-php/src/imagebuilder",
|
441 |
+
"rm -rf vendor/aws/aws-sdk-php/src/kendra",
|
442 |
+
"rm -rf vendor/aws/aws-sdk-php/src/signer",
|
443 |
+
"echo Unnecessary AWS files removed!"
|
444 |
+
]
|
445 |
}
|
446 |
+
}
|
controller/editor.php
CHANGED
@@ -392,9 +392,3 @@ Elementor support
|
|
392 |
add_action( 'elementor/editor/wp_head', 'fv_player_shortcode_editor_scripts_enqueue' );
|
393 |
add_action( 'elementor/editor/wp_head', 'fv_wp_flowplayer_edit_form_after_editor' );
|
394 |
add_action( 'elementor/editor/wp_head', 'flowplayer_prepare_scripts' );
|
395 |
-
add_action( 'elementor/editor/wp_head', 'fv_player_missing_wp_common_css' );
|
396 |
-
|
397 |
-
function fv_player_missing_wp_common_css() {
|
398 |
-
// we need the core WordPress style to make sure the editor tabs have the proper styling
|
399 |
-
wp_enqueue_style('common');
|
400 |
-
}
|
392 |
add_action( 'elementor/editor/wp_head', 'fv_player_shortcode_editor_scripts_enqueue' );
|
393 |
add_action( 'elementor/editor/wp_head', 'fv_wp_flowplayer_edit_form_after_editor' );
|
394 |
add_action( 'elementor/editor/wp_head', 'flowplayer_prepare_scripts' );
|
|
|
|
|
|
|
|
|
|
|
|
controller/frontend.php
CHANGED
@@ -78,6 +78,8 @@ function fv_flowplayer_get_js_translations() {
|
|
78 |
'video_issues' =>__('Video Issues','fv-wordpress-flowplayer'),
|
79 |
'video_reload' =>__('Video loading has stalled, click to reload','fv-wordpress-flowplayer'),
|
80 |
'link_copied' =>__('Video Link Copied to Clipboard','fv-wordpress-flowplayer'),
|
|
|
|
|
81 |
'embed_copied' =>__('Embed Code Copied to Clipboard','fv-wordpress-flowplayer'),
|
82 |
'subtitles_disabled' =>__('Subtitles disabled','fv-wordpress-flowplayer'),
|
83 |
'subtitles_switched' =>__('Subtitles switched to ','fv-wordpress-flowplayer'),
|
@@ -88,6 +90,14 @@ function fv_flowplayer_get_js_translations() {
|
|
88 |
'warning_old_chrome' => __('You are using an old Chrome browser. Please make sure you use the latest version.','fv-wordpress-flowplayer'),
|
89 |
'warning_old_firefox' => __('You are using an old Firefox browser. Please make sure you use the latest version.','fv-wordpress-flowplayer'),
|
90 |
'warning_old_ie' => __('You are using a deprecated browser. If you experience issues with the video please use <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> or other modern browser.','fv-wordpress-flowplayer'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
);
|
92 |
|
93 |
return $aStrings;
|
78 |
'video_issues' =>__('Video Issues','fv-wordpress-flowplayer'),
|
79 |
'video_reload' =>__('Video loading has stalled, click to reload','fv-wordpress-flowplayer'),
|
80 |
'link_copied' =>__('Video Link Copied to Clipboard','fv-wordpress-flowplayer'),
|
81 |
+
'live_stream_starting'=>__('<h2>Live stream scheduled</h2><p>Starting in <span>%d</span>.</p>', 'fv-wordpress-flowplayer'),
|
82 |
+
'live_stream_retry'=>__( '<h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>%d</span> ...</p>', 'fv-wordpress-flowplayer'),
|
83 |
'embed_copied' =>__('Embed Code Copied to Clipboard','fv-wordpress-flowplayer'),
|
84 |
'subtitles_disabled' =>__('Subtitles disabled','fv-wordpress-flowplayer'),
|
85 |
'subtitles_switched' =>__('Subtitles switched to ','fv-wordpress-flowplayer'),
|
90 |
'warning_old_chrome' => __('You are using an old Chrome browser. Please make sure you use the latest version.','fv-wordpress-flowplayer'),
|
91 |
'warning_old_firefox' => __('You are using an old Firefox browser. Please make sure you use the latest version.','fv-wordpress-flowplayer'),
|
92 |
'warning_old_ie' => __('You are using a deprecated browser. If you experience issues with the video please use <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> or other modern browser.','fv-wordpress-flowplayer'),
|
93 |
+
'duration_1_day' => __( "%s day" ),
|
94 |
+
'duration_n_days' => sprintf( _n( '%s day', '%s days', '%s' ), '%s' ),
|
95 |
+
'duration_1_hour' => __( "%s hour" ),
|
96 |
+
'duration_n_hours' => sprintf( _n( '%s hour', '%s hours', '%s' ), '%s' ),
|
97 |
+
'duration_1_minute' => __( "%s minute" ),
|
98 |
+
'duration_n_minutes' => sprintf( _n( '%s minute', '%s minutes', '%s' ), '%s' ),
|
99 |
+
'duration_1_second' => __( "%s second" ),
|
100 |
+
'duration_n_seconds' => sprintf( _n( '%s second', '%s seconds', '%s' ), '%s' ),
|
101 |
);
|
102 |
|
103 |
return $aStrings;
|
css/shortcode-editor.css
CHANGED
@@ -172,3 +172,56 @@ a #add-format, a #add-rtmp {
|
|
172 |
#fv-player-shortcode-editor-editor ::placeholder {
|
173 |
opacity:.5;
|
174 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
#fv-player-shortcode-editor-editor ::placeholder {
|
173 |
opacity:.5;
|
174 |
}
|
175 |
+
|
176 |
+
#fv-player-shortcode-editor h1 {
|
177 |
+
color: #23282d;
|
178 |
+
}
|
179 |
+
|
180 |
+
#fv-player-shortcode-editor .nav-tab {
|
181 |
+
float: left;
|
182 |
+
border: 1px solid #ccc;
|
183 |
+
border-bottom: none;
|
184 |
+
padding: 5px 10px;
|
185 |
+
font-size: 14px;
|
186 |
+
line-height: 1.71428571;
|
187 |
+
font-weight: 600;
|
188 |
+
background: #e5e5e5;
|
189 |
+
color: #555;
|
190 |
+
text-decoration: none;
|
191 |
+
white-space: nowrap;
|
192 |
+
}
|
193 |
+
#fv-player-shortcode-editor .nav-tab-wrapper {
|
194 |
+
border-bottom: 1px solid #ccc;
|
195 |
+
margin: 0;
|
196 |
+
padding-top: 9px;
|
197 |
+
padding-bottom: 0;
|
198 |
+
line-height: inherit;
|
199 |
+
}
|
200 |
+
#fv-player-shortcode-editor .nav-tab-wrapper:not(.wp-clearfix):after {
|
201 |
+
content: "";
|
202 |
+
display: table;
|
203 |
+
clear: both;
|
204 |
+
}
|
205 |
+
|
206 |
+
#fv-player-shortcode-editor label {
|
207 |
+
color: black;
|
208 |
+
}
|
209 |
+
|
210 |
+
#fv-player-shortcode-editor input[type="text"],
|
211 |
+
#fv-player-shortcode-editor input[type="number"],
|
212 |
+
#fv-player-shortcode-editor select,
|
213 |
+
#fv-player-shortcode-editor textarea {
|
214 |
+
box-shadow: 0 0 0 transparent;
|
215 |
+
border-radius: 4px;
|
216 |
+
border: 1px solid #7e8993;
|
217 |
+
background-color: #fff;
|
218 |
+
color: #32373c;
|
219 |
+
}
|
220 |
+
#fv-player-shortcode-editor input[type="text"],
|
221 |
+
#fv-player-shortcode-editor input[type="number"] {
|
222 |
+
padding: 0 8px;
|
223 |
+
/* inherits font size 14px */
|
224 |
+
line-height: 2; /* 28px */
|
225 |
+
/* Only necessary for IE11 */
|
226 |
+
min-height: 30px;
|
227 |
+
}
|
flowplayer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: FV Player
|
4 |
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
|
5 |
Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
|
6 |
-
Version: 7.4.
|
7 |
Author URI: http://foliovision.com/
|
8 |
License: GPL-3.0
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
@@ -27,7 +27,7 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
|
27 |
*/
|
28 |
|
29 |
global $fv_wp_flowplayer_ver;
|
30 |
-
$fv_wp_flowplayer_ver = '7.4.
|
31 |
$fv_wp_flowplayer_core_ver = '7.2.7';
|
32 |
|
33 |
include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
|
3 |
Plugin Name: FV Player
|
4 |
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
|
5 |
Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
|
6 |
+
Version: 7.4.34.727
|
7 |
Author URI: http://foliovision.com/
|
8 |
License: GPL-3.0
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
27 |
*/
|
28 |
|
29 |
global $fv_wp_flowplayer_ver;
|
30 |
+
$fv_wp_flowplayer_ver = '7.4.34.727';
|
31 |
$fv_wp_flowplayer_core_ver = '7.2.7';
|
32 |
|
33 |
include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
|
flowplayer/fv-flowplayer.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){function t(e,t,n,r){for(var o,a=n.slice(),s=i(t,e),l=0,u=a.length;u>l&&(handler=a[l],"object"==typeof handler&&"function"==typeof handler.handleEvent?handler.handleEvent(s):handler.call(e,s),!s.stoppedImmediatePropagation);l++);return o=!s.stoppedPropagation,r&&o&&e.parentNode?e.parentNode.dispatchEvent(s):!s.defaultPrevented}function n(e,t){return{configurable:!0,get:e,set:t}}function r(e,t,r){var i=y(t||e,r);m(e,"textContent",n(function(){return i.get.call(this)},function(e){i.set.call(this,e)}))}function i(e,t){return e.currentTarget=t,e.eventPhase=e.target===e.currentTarget?2:3,e}function o(e,t){for(var n=e.length;n--&&e[n]!==t;);return n}function a(){if("BR"===this.tagName)return"\n";for(var e=this.firstChild,t=[];e;)8!==e.nodeType&&7!==e.nodeType&&t.push(e.textContent),e=e.nextSibling;return t.join("")}function s(e){!f&&C.test(document.readyState)&&(f=!f,document.detachEvent(d,s),e=document.createEvent("Event"),e.initEvent(p,!0,!0),document.dispatchEvent(e))}function l(e){for(var t;t=this.lastChild;)this.removeChild(t);null!=e&&this.appendChild(document.createTextNode(e))}function u(t,n){return n||(n=e.event),n.target||(n.target=n.srcElement||n.fromElement||document),n.timeStamp||(n.timeStamp=(new Date).getTime()),n}if(!document.createEvent){var c=!0,f=!1,d="onreadystatechange",p="DOMContentLoaded",h="__IE8__"+Math.random(),g=e.Object,m=g.defineProperty||function(e,t,n){e[t]=n.value},v=g.defineProperties||function(t,n){for(var r in n)if(w.call(n,r))try{m(t,r,n[r])}catch(i){e.console&&console.log(r+" failed on object:",t,i.message)}},y=g.getOwnPropertyDescriptor,w=g.prototype.hasOwnProperty,b=e.Element.prototype,I=e.Text.prototype,M=/^[a-z]+$/,C=/loaded|complete/,A={},S=document.createElement("div");r(e.HTMLCommentElement.prototype,b,"nodeValue"),r(e.HTMLScriptElement.prototype,null,"text"),r(I,null,"nodeValue"),r(e.HTMLTitleElement.prototype,null,"text"),m(e.HTMLStyleElement.prototype,"textContent",function(e){return n(function(){return e.get.call(this.styleSheet)},function(t){e.set.call(this.styleSheet,t)})}(y(e.CSSStyleSheet.prototype,"cssText"))),v(b,{textContent:{get:a,set:l},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;n>t;t++)if(1==e[t].nodeType)return e[t]}},lastElementChild:{get:function(){for(var e=this.childNodes||[],t=e.length;t--;)if(1==e[t].nodeType)return e[t]}},previousElementSibling:{get:function(){for(var e=this.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e}},nextElementSibling:{get:function(){for(var e=this.nextSibling;e&&1!=e.nodeType;)e=e.nextSibling;return e}},childElementCount:{get:function(){for(var e=0,t=this.childNodes||[],n=t.length;n--;e+=1==t[n].nodeType);return e}},addEventListener:{value:function(e,n,r){var i,a=this,s="on"+e,l=a[h]||m(a,h,{value:{}})[h],c=l[s]||(l[s]={}),f=c.h||(c.h=[]);if(!w.call(c,"w")){if(c.w=function(e){return e[h]||t(a,u(a,e),f,!1)},!w.call(A,s))if(M.test(e))try{i=document.createEventObject(),i[h]=!0,9!=a.nodeType&&null==a.parentNode&&S.appendChild(a),a.fireEvent(s,i),A[s]=!0}catch(i){for(A[s]=!1;S.hasChildNodes();)S.removeChild(S.firstChild)}else A[s]=!1;(c.n=A[s])&&a.attachEvent(s,c.w)}o(f,n)<0&&f[r?"unshift":"push"](n)}},dispatchEvent:{value:function(e){var n,r=this,i="on"+e.type,o=r[h],a=o&&o[i],s=!!a;return e.target||(e.target=r),s?a.n?r.fireEvent(i,e):t(r,e,a.h,!0):(n=r.parentNode)?n.dispatchEvent(e):!0,!e.defaultPrevented}},removeEventListener:{value:function(e,t,n){var r=this,i="on"+e,a=r[h],s=a&&a[i],l=s&&s.h,u=l?o(l,t):-1;u>-1&&l.splice(u,1)}}}),v(I,{addEventListener:{value:b.addEventListener},dispatchEvent:{value:b.dispatchEvent},removeEventListener:{value:b.removeEventListener}}),v(e.XMLHttpRequest.prototype,{addEventListener:{value:function(e,t,n){var r=this,i="on"+e,a=r[h]||m(r,h,{value:{}})[h],s=a[i]||(a[i]={}),l=s.h||(s.h=[]);o(l,t)<0&&(r[i]||(r[i]=function(){var t=document.createEvent("Event");t.initEvent(e,!0,!0),r.dispatchEvent(t)}),l[n?"unshift":"push"](t))}},dispatchEvent:{value:function(e){var n=this,r="on"+e.type,i=n[h],o=i&&i[r],a=!!o;return a&&(o.n?n.fireEvent(r,e):t(n,e,o.h,!0))}},removeEventListener:{value:b.removeEventListener}}),v(e.Event.prototype,{bubbles:{value:!0,writable:!0},cancelable:{value:!0,writable:!0},preventDefault:{value:function(){this.cancelable&&(this.defaultPrevented=!0,this.returnValue=!1)}},stopPropagation:{value:function(){this.stoppedPropagation=!0,this.cancelBubble=!0}},stopImmediatePropagation:{value:function(){this.stoppedImmediatePropagation=!0,this.stopPropagation()}},initEvent:{value:function(e,t,n){this.type=e,this.bubbles=!!t,this.cancelable=!!n,this.bubbles||this.stopPropagation()}}}),v(e.HTMLDocument.prototype,{textContent:{get:function(){return 11===this.nodeType?a.call(this):null},set:function(e){11===this.nodeType&&l.call(this,e)}},addEventListener:{value:function(t,n,r){var i=this;b.addEventListener.call(i,t,n,r),c&&t===p&&!C.test(i.readyState)&&(c=!1,i.attachEvent(d,s),e==top&&function o(e){try{i.documentElement.doScroll("left"),s()}catch(t){setTimeout(o,50)}}())}},dispatchEvent:{value:b.dispatchEvent},removeEventListener:{value:b.removeEventListener},createEvent:{value:function(e){var t;if("Event"!==e)throw new Error("unsupported "+e);return t=document.createEventObject(),t.timeStamp=(new Date).getTime(),t}}}),v(e.Window.prototype,{getComputedStyle:{value:function(){function e(e){this._=e}function t(){}var n=/^(?:[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/,r=/^(top|right|bottom|left)$/,i=/\-([a-z])/g,o=function(e,t){return t.toUpperCase()};return e.prototype.getPropertyValue=function(e){var t,a,s,l=this._,u=l.style,c=l.currentStyle,f=l.runtimeStyle;return e=("float"===e?"style-float":e).replace(i,o),t=c?c[e]:u[e],n.test(t)&&!r.test(e)&&(a=u.left,s=f&&f.left,s&&(f.left=c.left),u.left="fontSize"===e?"1em":t,t=u.pixelLeft+"px",u.left=a,s&&(f.left=s)),null==t?t:t+""||"auto"},t.prototype.getPropertyValue=function(){return null},function(n,r){return r?new t(n):new e(n)}}()},addEventListener:{value:function(n,r,i){var a,s=e,l="on"+n;s[l]||(s[l]=function(e){return t(s,u(s,e),a,!1)}),a=s[l][h]||(s[l][h]=[]),o(a,r)<0&&a[i?"unshift":"push"](r)}},dispatchEvent:{value:function(t){var n=e["on"+t.type];return n?n.call(e,t)!==!1&&!t.defaultPrevented:!0}},removeEventListener:{value:function(t,n,r){var i="on"+t,a=(e[i]||g)[h],s=a?o(a,n):-1;s>-1&&a.splice(s,1)}}})}}(this),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flowplayer=e()}}(function(){var e;return function(){function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}return e}()({1:[function(e,t,n){"use strict";var r=t.exports={},i=e("class-list"),o=window.jQuery,a=e("punycode"),s=e("computed-style");r.noop=function(){},r.identity=function(e){return e},r.removeNode=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},r.find=function(e,t){return o?o(e,t).toArray():(t=t||document,Array.prototype.map.call(t.querySelectorAll(e),function(e){return e}))},r.text=function(e,t){e["innerText"in e?"innerText":"textContent"]=t},r.findDirect=function(e,t){return r.find(e,t).filter(function(e){return e.parentNode===t})},r.hasClass=function(e,t){return"string"!=typeof e.className?!1:i(e).contains(t)},r.isSameDomain=function(e){var t=window.location,n=r.createElement("a",{href:e});return t.hostname===n.hostname&&t.protocol===n.protocol&&t.port===n.port},r.css=function(e,t,n){return"object"==typeof t?Object.keys(t).forEach(function(n){r.css(e,n,t[n])}):"undefined"!=typeof n?""===n?e?e.style.removeProperty(t):void 0:e?e.style.setProperty(t,n):void 0:e?s(e,t):void 0},r.createElement=function(e,t,n){try{var i=document.createElement(e);for(var a in t)t.hasOwnProperty(a)&&("css"===a?r.css(i,t[a]):r.attr(i,a,t[a]));return n&&(i.innerHTML=n),i}catch(s){if(!o)throw s;return o("<"+e+">"+n+"</"+e+">").attr(t)[0]}},r.toggleClass=function(e,t,n){if(e){var r=i(e);"undefined"==typeof n?r.toggle(t):n?r.add(t):n||r.remove(t)}},r.addClass=function(e,t){return r.toggleClass(e,t,!0)},r.removeClass=function(e,t){return r.toggleClass(e,t,!1)},r.append=function(e,t){return e.appendChild(t),e},r.appendTo=function(e,t){return r.append(t,e),e},r.prepend=function(e,t){e.insertBefore(t,e.firstChild)},r.insertAfter=function(e,t,n){t==r.lastChild(e)&&e.appendChild(n);var i=Array.prototype.indexOf.call(e.children,t);e.insertBefore(n,e.children[i+1])},r.html=function(e,t){e=e.length?e:[e],e.forEach(function(e){e.innerHTML=t})},r.attr=function(e,t,n){if("class"===t&&(t="className"),r.hasOwnOrPrototypeProperty(e,t))try{e[t]=n}catch(i){if(!o)throw i;o(e).attr(t,n)}else n===!1?e.removeAttribute(t):e.setAttribute(t,n);return e},r.prop=function(e,t,n){return"undefined"==typeof n?e&&e[t]:void(e[t]=n)},r.offset=function(e){var t=e.getBoundingClientRect();return e.offsetWidth/e.offsetHeight>e.clientWidth/e.clientHeight&&(t={left:100*t.left,right:100*t.right,top:100*t.top,bottom:100*t.bottom,width:100*t.width,height:100*t.height}),t},r.width=function(e,t){if(t)return e.style.width=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).width;return"undefined"==typeof n?e.offsetWidth:n},r.height=function(e,t){if(t)return e.style.height=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).height;return"undefined"==typeof n?e.offsetHeight:n},r.lastChild=function(e){return e.children[e.children.length-1]},r.hasParent=function(e,t){for(var n=e.parentElement;n;){if("string"!=typeof t){if(n===t)return!0}else if(r.matches(n,t))return!0;n=n.parentElement}return!1},r.createAbsoluteUrl=function(e){return r.createElement("a",{href:e}).href},r.xhrGet=function(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){return 4===this.readyState?this.status>=400?n():void t(this.responseText):void 0},r.open("get",e,!0),r.send()},r.pick=function(e,t){var n={};return t.forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n},r.hostname=function(e){return a.toUnicode(e||window.location.hostname)},r.browser={webkit:"WebkitAppearance"in document.documentElement.style},r.getPrototype=function(e){return Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__},r.hasOwnOrPrototypeProperty=function(e,t){for(var n=e;n;){if(Object.prototype.hasOwnProperty.call(n,t))return!0;n=r.getPrototype(n)}return!1},r.matches=function(e,t){var n=Element.prototype,r=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector||function(e){for(var t=this,n=(t.document||t.ownerDocument).querySelectorAll(e),r=0;n[r]&&n[r]!==t;)r++;return n[r]?!0:!1};return r.call(e,t)},function(e){function t(e){return e.replace(/-[a-z]/g,function(e){return e[1].toUpperCase()})}"undefined"!=typeof e.setAttribute&&(e.setProperty=function(e,n){return this.setAttribute(t(e),String(n))},e.getPropertyValue=function(e){return this.getAttribute(t(e))||null},e.removeProperty=function(e){var n=this.getPropertyValue(e);return this.removeAttribute(t(e)),n})}(window.CSSStyleDeclaration.prototype)},{"class-list":36,"computed-style":37,punycode:44}],2:[function(e,t,n){"use strict";var r=e("../common");t.exports=function(e,t,n,i){n=n||"opaque";var o="obj"+(""+Math.random()).slice(2,15),a='<object class="fp-engine" id="'+o+'" name="'+o+'" ',s=navigator.userAgent.indexOf("MSIE")>-1;a+=s?'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">':' data="'+e+'" type="application/x-shockwave-flash">';var l={width:"100%",height:"100%",allowscriptaccess:"always",wmode:n,quality:"high",flashvars:"",movie:e+(s?"?"+o:""),name:o};"transparent"!==n&&(l.bgcolor=i||"#333333"),Object.keys(t).forEach(function(e){l.flashvars+=e+"="+t[e]+"&"}),Object.keys(l).forEach(function(e){a+='<param name="'+e+'" value="'+l[e]+'"/>'}),a+="</object>";var u=r.createElement("div",{},a);return r.find("object",u)},window.attachEvent&&window.attachEvent("onbeforeunload",function(){window.__flash_savedUnloadHandler=window.__flash_unloadHandler=function(){}})},{"../common":1}],3:[function(e,t,n){"use strict";function r(e){return/^https?:/.test(e)}var i,o=e("../flowplayer"),a=e("../common"),s=e("./embed"),l=e("extend-object"),u=e("bean");i=function(e,t){function n(e){function t(e){return("0"+parseInt(e).toString(16)).slice(-2)}return(e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))?"#"+t(e[1])+t(e[2])+t(e[3]):void 0}function c(e){if(7===e.length)return e;var t=e.split("").slice(1);return"#"+t.map(function(e){return e+e}).join("")}function f(e){return/application\/x-mpegurl/i.test(e.type)}var d,p,h,g,m=e.conf,v=[],y={engineName:i.engineName,pick:function(t){var n=l({},function(){if(o.support.flashVideo){for(var n,r,i=0;i<t.length;i++)if(r=t[i],/mp4|flv|flash/i.test(r.type)&&(n=r),e.conf.swfHls&&/mpegurl/i.test(r.type)&&(n=r),n&&!/mp4/i.test(n.type))return n;return n}}());if(n)return!n.src||r(n.src)||e.conf.rtmp||n.rtmp||(n.src=a.createAbsoluteUrl(n.src)),n},suspendEngine:function(){g=!0},resumeEngine:function(){g=!1},load:function(i){function w(e){return e.replace(/&/g,"%26").replace(/&/g,"%26").replace(/=/g,"%3D")}d=i,v.forEach(function(e){clearTimeout(e)});var b=a.findDirect("video",t)[0]||a.find(".fp-player > video",t)[0],I=i.src,M=r(I),C=function(){a.removeNode(b)},A=function(e){return e.some(function(e){return!!b.canPlayType(e.type)})};o.support.video&&a.prop(b,"autoplay")&&A(i.sources)?u.one(b,"timeupdate",C):C();var S=i.rtmp||m.rtmp;if(M||S||(I=a.createAbsoluteUrl(I)),h&&f(i)&&h.data!==a.createAbsoluteUrl(m.swfHls)&&y.unload(),h){["live","preload","loop"].forEach(function(e){i.hasOwnProperty(e)&&h.__set(e,i[e])}),Object.keys(i.flashls||{}).forEach(function(e){h.__set("hls_"+e,i.flashls[e])});var E=!1;if(!M&&S)h.__set("rtmp",S.url||S);else{var j=h.__get("rtmp");E=!!j,h.__set("rtmp",null)}h.__play(I,E||i.rtmp&&i.rtmp!==m.rtmp)}else{p="fpCallback"+(""+Math.random()).slice(3,15),I=w(I);var D={hostname:m.embedded?a.hostname(m.hostname):a.hostname(location.hostname),url:I,callback:p};t.getAttribute("data-origin")&&(D.origin=t.getAttribute("data-origin")),["proxy","key","autoplay","preload","subscribe","live","loop","debug","splash","poster","rtmpt"].forEach(function(e){m.hasOwnProperty(e)&&(D[e]=m[e]),i.hasOwnProperty(e)&&(D[e]=i[e]),(m.rtmp||{}).hasOwnProperty(e)&&(D[e]=(m.rtmp||{})[e]),(i.rtmp||{}).hasOwnProperty(e)&&(D[e]=(i.rtmp||{})[e])}),m.splash&&(D.autoplay=!0),m.rtmp&&(D.rtmp=m.rtmp.url||m.rtmp),i.rtmp&&(D.rtmp=i.rtmp.url||i.rtmp),Object.keys(i.flashls||{}).forEach(function(e){var t=i.flashls[e];D["hls_"+e]=t});var N="undefined"!=typeof i.hlsQualities?i.hlsQualities:m.hlsQualities;"undefined"!=typeof N&&(D.hlsQualities=N?encodeURIComponent(JSON.stringify(N)):N),void 0!==m.bufferTime&&(D.bufferTime=m.bufferTime),void 0!==m.bufferTimeMax&&(D.bufferTimeMax=m.bufferTimeMax),M&&delete D.rtmp,D.rtmp&&(D.rtmp=w(D.rtmp));var x,L=m.bgcolor||a.css(t,"background-color")||"";0===L.indexOf("rgb")?x=n(L):0===L.indexOf("#")&&(x=c(L)),D.initialVolume=e.volumeLevel;var T=f(i)?m.swfHls:m.swf;h=s(T,D,m.wmode,x)[0];var Z=a.find(".fp-player",t)[0];a.prepend(Z,h),e.off("quality.flashengine").on("quality.flashengine",function(t,n,r){var i="undefined"!=typeof e.video.hlsQualities?e.video.hlsQualities:e.conf.hlsQualities;if(i)try{h.__quality(r)}catch(o){e.debug("Error changing quality in flash engine",o)}}),setTimeout(function(){try{if(!h.PercentLoaded())return e.trigger("error",[e,{code:7,url:m.swf}])}catch(t){}},5e3),v.push(setTimeout(function(){"undefined"==typeof h.PercentLoaded&&e.trigger("flashdisabled",[e])},15e3)),v.push(setTimeout(function(){"undefined"==typeof h.PercentLoaded&&e.trigger("flashdisabled",[e,!1])},500)),e.off("resume.flashhack").on("resume.flashhack",function(){var t=setTimeout(function(){var t=h.__status().time,n=setTimeout(function(){e.playing&&!e.loading&&h.__status().time===t&&e.trigger("flashdisabled",[e])},400);v.push(n),e.one("seek.flashhack pause.flashhack load.flashack",function(){clearTimeout(n)})},800);v.push(t),e.one("progress",function(){clearTimeout(t)})}),h.pollInterval=setInterval(function(){if(h&&!g){var t=h.__status?h.__status():null;t&&((e.conf.live||e.live||i.live)&&(i.seekOffset=t.seekOffset,i.duration=t.duration+t.seekOffset),e.playing&&t.time&&t.time!==e.video.time&&e.trigger("progress",[e,t.time]),i.buffer=t.buffer/i.bytes*i.duration,e.trigger("buffer",[e,i.buffer]),!i.buffered&&t.time>0&&(i.buffered=!0,e.trigger("buffered",[e])))}},250),window[p]=function(n,r){var i=d;m.debug&&(0===n.indexOf("debug")&&r&&r.length?console.log.apply(console,["-- "+n].concat(r)):console.log("--",n,r));var o={type:n};switch(n){case"ready":r=l(i,r);break;case"click":o.flash=!0;break;case"keydown":o.which=r;break;case"seek":i.time=r;break;case"status":e.trigger("progress",[e,r.time]),r.buffer<i.bytes&&!i.buffered?(i.buffer=r.buffer/i.bytes*i.duration,e.trigger("buffer",i.buffer)):i.buffered||(i.buffered=!0,e.trigger("buffered"));break;case"metadata":var a=atob(r);r={key:a.substr(10,4),data:a.substr(21)}}"click"===n||"keydown"===n?(o.target=t,u.fire(t,n,[o])):"buffered"!=n&&"unload"!==n?setTimeout(function(){e.trigger(o,[e,r])},1):"unload"===n&&e.trigger(o,[e,r])}}},speed:a.noop,unload:function(){h&&h.__unload&&h.__unload();try{p&&window[p]&&delete window[p]}catch(n){}a.find("object",t).forEach(a.removeNode),h=0,e.off(".flashengine"),e.off(".flashhack"),clearInterval(h.pollInterval),v.forEach(function(e){clearTimeout(e)})}};return["pause","resume","seek","volume"].forEach(function(t){y[t]=function(n){try{e.ready&&(void 0===n?h["__"+t]():h["__"+t](n))}catch(r){if("undefined"==typeof h["__"+t])return e.trigger("flashdisabled",[e]);throw r}}}),y},i.engineName="flash",i.canPlay=function(e,t){return o.support.flashVideo&&/video\/(mp4|flash|flv)/i.test(e)||o.support.flashVideo&&t.swfHls&&/mpegurl/i.test(e)},o.engines.push(i)},{"../common":1,"../flowplayer":31,"./embed":2,bean:34,"extend-object":39}],4:[function(e,t,n){"use strict";function r(e){return"undefined"==typeof window.Hls?!1:/mpegurl/.test(e)&&window.Hls.isSupported()}var i,o=e("../flowplayer"),a=o.support,s=o.common,l=o.bean,u=e("./html5-factory");i=function(e,t){function n(n,r,u){var d=o.extend({recoverMediaError:!0},e.conf.hlsjs,n.hlsjs);e.engine.hls&&e.engine.hls.destroy();var p=e.engine.hls=new f(d);i.extensions.forEach(function(n){n({hls:p,player:e,root:t,videoTag:r})}),p.loadSource(n.src),u.resume=function(){e.live&&!e.dvr&&(r.currentTime=p.liveSyncPosition||0),r.play()},u.seek=function(t){try{e.live||e.dvr?r.currentTime=Math.min(t,p.liveSyncPosition||r.duration-d.livePositionOffset):r.currentTime=t}catch(n){e.debug("Failed to seek to ",t,n)}},d.bufferWhilePaused===!1&&e.on("pause",function(){p.stopLoad(),e.one("resume",function(){p.startLoad()})}),e.on("quality",function(e,t,n){p.nextLevel=a=n});var h,g,m=function(n){if(e.debug("hlsjs - recovery"),s.removeClass(t,"is-paused"),s.addClass(t,"is-seeking"),l.one(r,"seeked",function(){r.paused&&(s.removeClass(t,"is-poster"),e.poster=!1,r.play()),s.removeClass(t,"is-seeking")}),n)return p.startLoad();var i=performance.now();!h||i-h>3e3?(h=performance.now(),p.recoverMediaError()):(!g||i-g>3e3)&&(g=performance.now(),p.swapAudioCodec(),p.recoverMediaError())};return p.on(f.Events.MANIFEST_PARSED,function(t,i){var o,l=n.hlsQualities||e.conf.hlsQualities,u={},f=i.levels;if(l===!1)return p.attachMedia(r);if("drive"===l)switch(f.length){case 4:o=[1,2,3];break;case 5:o=[1,2,3,4];break;case 6:o=[1,3,4,5];break;case 7:o=[1,3,5,6];break;case 8:o=[1,3,6,7];break;default:o=f.length<3||f[0].height&&f[2].height&&f[0].height===f[2].height?[]:[1,2]}if(n.qualities=[{value:-1,label:"Auto"}],Array.isArray(l)){var d=l.find(function(e){return-1===e||e.level&&-1===e.level});d?n.qualities[0].label="number"!=typeof d?d.label:n.qualities[0].label:n.qualities=[],o=l.map(function(e){return"undefined"!=typeof e.level&&(u[e.level]=e.label),"undefined"!=typeof e.level?e.level:e})}var h=-2;n.qualities=n.qualities.concat(f.map(function(e,t){if(o&&-1===o.indexOf(t))return!1;var n=u[t]||Math.min(e.width,e.height)+"p";return u[t]||"drive"===l||(n+=" ("+Math.round(e.bitrate/1e3)+"k)"),t===a&&(h=t),{value:t,label:n}})).filter(s.identity);var g=n.quality=-2===h?n.qualities[0].value||-1:h;g!==p.currentLevel&&(p.currentLevel=g),p.attachMedia(r),c&&n.src!==c&&r.play(),c=n.src}),p.on(f.Events.ERROR,function(t,n){if(n.fatal)if(d.recoverNetworkError&&n.type===f.ErrorTypes.NETWORK_ERROR)m(!0);else if(d.recoverMediaError&&n.type===f.ErrorTypes.MEDIA_ERROR)m(!1);else{var r=5;n.type===f.ErrorTypes.NETWORK_ERROR&&(r=2),n.type===f.ErrorTypes.MEDIA_ERROR&&(r=3),p.destroy(),e.trigger("error",[e,{code:r}])}}),e.one("unload",function(){p.destroy()}),{handlers:{error:function(e,t){var n=t.error&&t.error.code;return d.recoverMediaError&&3===n||!n?(e.preventDefault(),m(!1),!0):d.recoverNetworkError&&2===n?(e.preventDefault(),m(!0),!0):void 0}}}}var a,c,f=window.Hls;return u("hlsjs-lite",e,t,r,n)},i.canPlay=function(e,t){return t.hlsjs===!1||t.clip&&t.clip.hlsjs===!1?!1:a.browser.safari&&!(t.clip&&t.clip.hlsjs||t.hlsjs||{}).safari?!1:o.support.video&&r(e)},i.engineName="hlsjs-lite",i.plugin=function(e){i.extensions.push(e)},i.extensions=[],o.engines.push(i)},{"../flowplayer":31,"./html5-factory":5}],5:[function(e,t,n){function r(e,t,n,r,a){function f(e,o,a,f){var p=n.getAttribute("data-flowplayer-instance-id");if(e.listeners&&e.listeners.hasOwnProperty(p))return void(e.listeners[p]=a);(e.listeners||(e.listeners={}))[p]=a,u.on(o,"error",function(n){try{r(n.target.getAttribute("type"))&&t.trigger("error",[t,{code:4,video:c(a,{src:e.src,url:e.src})}])}catch(i){}}),t.on("shutdown",function(){u.off(o),u.off(e,".dvrhack"),t.off(".loophack")});var h={},g=function(e){"metadata"===e.kind&&(e.mode="hidden",e.addEventListener("cuechange",function(){e.activeCues.length&&t.trigger("metadata",[t,e.activeCues[0].value])},!1))};return e&&e.textTracks&&e.textTracks.length&&Array.prototype.forEach.call(e.textTracks,g),e&&e.textTracks&&"function"==typeof e.textTracks.addEventListener&&e.textTracks.addEventListener("addtrack",function(e){g(e.track)},!1),(t.conf.dvr||t.dvr||a.dvr)&&u.on(e,"progress.dvrhack",function(){e.seekable.length&&(t.video.duration=e.seekable.end(null),t.video.seekOffset=e.seekable.start(null),t.trigger("dvrwindow",[t,{start:e.seekable.start(null),end:e.seekable.end(null)}]),e.currentTime>=e.seekable.start(null)||(e.currentTime=e.seekable.start(null)))}),Object.keys(d).forEach(function(r){var o=d[r];if("webkitendfullscreen"===r&&t.conf.disableInline&&(o="unload"),o){var u=function(u){if(a=e.listeners[p],u.target&&s.hasClass(u.target,"fp-engine")){/progress/.test(o)||t.debug(r,"->",o,u);var d=function(e){t.trigger(e||o,[t,h])};if(!t.ready&&!/ready|error/.test(o)||!o||!s.find("video",n).length)return void("resume"===o&&t.one("ready",function(){setTimeout(function(){d()})}));var h;if("unload"===o)return void t.unload();switch(o){case"ready":if(t.ready)return t.debug("Player already ready, not sending duplicate ready event");if(!(e.duration&&e.duration!==1/0||t.live))return t.debug("No duration and VOD setup, not sending ready event");if(h=c(a,{duration:e.duration<Number.MAX_VALUE?e.duration:0,width:e.videoWidth,height:e.videoHeight,url:e.currentSrc}),h.seekable=h.duration,t.debug("Ready: ",h),!t.live&&!h.duration&&!l.hlsDuration&&"loadeddata"===r){var g=function(){h.duration=e.duration;try{h.seekable=e.seekable&&e.seekable.end(null)}catch(t){}d(),e.removeEventListener("durationchange",g),s.toggleClass(n,"is-live",!1)};e.addEventListener("durationchange",g);var m=function(){t.ready||e.duration||(h.duration=0,s.addClass(n,"is-live"),d()),e.removeEventListener("timeupdate",m)};return void e.addEventListener("timeupdate",m)}break;case"progress":case"seek":if(e.currentTime>0||t.live)h=Math.max(e.currentTime,0);else if("seek"===o&&0===e.currentTime)h=0;else if("progress"==o)return;break;case"buffer":h=[];for(var v=0;v<e.buffered.length;v++)h.push({start:e.buffered.start(v),end:e.buffered.end(v)});e.buffered.length&&e.buffered.end(null)===e.duration&&d("buffered");break;case"speed":h=i(e.playbackRate);break;case"volume":h=i(e.muted?0:e.volume);break;case"error":try{if(f&&f.handlers&&f.handlers.error){var y=f.handlers.error(u,e);if(y)return}h=(u.srcElement||u.originalTarget).error,h.video=c(a,{src:e.src,url:e.src})}catch(w){return}}d()}};n.addEventListener(r,u,!0),h[r]||(h[r]=[]),h[r].push(u)}}),h}var p,h,g,m=s.findDirect("video",n)[0]||s.find(".fp-player > video",n)[0],v=t.conf;return g={engineName:e,pick:function(e){var t=l.video&&e.filter(function(e){return r(e.type)})[0];if(t)return"string"==typeof t.src&&(t.src=s.createAbsoluteUrl(t.src)),t},load:function(e){var r=s.find(".fp-player",n)[0],i=!1;if(m||(m=document.createElement("video"),s.prepend(r,m),m.autoplay=!!v.splash,i=!0),s.addClass(m,"fp-engine"),s.find("track",m).forEach(s.removeNode),m.preload="none",v.nativesubtitles||s.attr(m,"crossorigin",!1),v.disableInline||(m.setAttribute("webkit-playsinline","true"),m.setAttribute("playsinline","true")),l.inlineVideo||s.css(m,{position:"absolute",top:"-9999em"}),l.subtitles&&v.nativesubtitles&&e.subtitles&&e.subtitles.length){s.addClass(m,"native-subtitles");var c=e.subtitles,d=function(e){var t=m.textTracks;t.length&&(t[0].mode=e)};c.some(function(e){return!s.isSameDomain(e.src)})&&s.attr(m,"crossorigin","anonymous"),"function"==typeof m.textTracks.addEventListener&&m.textTracks.addEventListener("addtrack",function(){d("disabled"),d("showing")}),c.forEach(function(e){m.appendChild(s.createElement("track",{kind:"subtitles",srclang:e.srclang||"en",label:e.label||"en",src:e.src,default:e["default"]}))})}u.off(m,"timeupdate",s.noop),u.on(m,"timeupdate",s.noop),s.prop(m,"loop",!1),t.off(".loophack"),(e.loop||v.loop)&&t.on("finish.loophack",function(){t.resume()}),"undefined"!=typeof h&&(m.volume=h);var p=a(e,m,g);if(v.autoplay||v.splash||e.autoplay){t.debug("Autoplay / Splash setup, try to start video"),m.load();var y=function(){try{var e=m.play();if(e&&e["catch"]){var n=function(e){if("AbortError"===e.name&&20===e.code)return i?void 0:m.play()["catch"](n);if(!v.mutedAutoplay)throw new Error("Unable to autoplay");return t.debug("Play errored, trying muted",e),t.mute(!0,!0),m.play()};e["catch"](n)["catch"](function(){v.autoplay=!1,t.mute(!1,!0),t.trigger("stop",[t])})}}catch(r){t.debug("play() error thrown",r)}};m.readyState>0?y():u.one(m,"canplay",y)}if(g._listeners=f(m,s.find("source",m).concat(m),e,p)||g._listeners,!(v.autoplay||v.splash||e.autoplay)){var w=function(){o(n)&&(t.debug("player is in viewport, preload"),l.preloadMetadata?m.preload="metadata":m.load(),u.off(document,"scroll.preloadviewport"))};u.off(document,"scroll.preloadviewport"),u.on(document,"scroll.preloadviewport",function(){window.requestAnimationFrame(w)}),w()}},mute:function(e){m.muted=!!e,t.trigger("mute",[t,e]),t.trigger("volume",[t,e?0:m.volume])},pause:function(){m.pause()},resume:function(){m.play()},speed:function(e){m.playbackRate=e},seek:function(e){var n=m.paused||t.finished;try{m.currentTime=e,n&&u.one(m,"seeked",function(){m.pause()})}catch(r){}},volume:function(e){h=e,m&&(m.volume=e,e&&g.mute(!1))},unload:function(){u.off(document,"scroll.preloadviewport"),s.find("video.fp-engine",n).forEach(function(e){"MediaSource"in window?e.src=URL.createObjectURL(new MediaSource):e.src="",s.removeNode(e)}),p=clearInterval(p);var e=n.getAttribute("data-flowplayer-instance-id");delete m.listeners[e],m=0,g._listeners&&Object.keys(g._listeners).forEach(function(e){g._listeners[e].forEach(function(t){n.removeEventListener(e,t,!0)})})}}}function i(e,t){return t=t||100,Math.round(e*t)/t}function o(e){var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)+t.height&&t.right<=(window.innerWidth||document.documentElement.clientWidth)+t.width}var a=e("../flowplayer"),s=a.common,l=a.support,u=a.bean,c=a.extend,f=l.browser.safari&&!l.iOS,d={ended:"finish",pause:"pause",play:"resume",timeupdate:"progress",volumechange:"volume",ratechange:"speed",seeked:"seek",loadedmetadata:f?0:"ready",canplaythrough:f?"ready":0,durationchange:"ready",error:"error",dataunavailable:"error",webkitendfullscreen:!a.support.inlineVideo&&"unload",progress:"buffer"};t.exports=r},{"../flowplayer":31}],6:[function(e,t,n){"use strict";function r(e){return/mpegurl/i.test(e)?"application/x-mpegurl":e}function i(e){return/^(video|application)/i.test(e)||(e=r(e)),!!u.canPlayType(e).replace("no","")}var o,a=e("../flowplayer"),s=a.common,l=e("./html5-factory"),u=document.createElement("video");o=function(e,t){return l("html5",e,t,i,function(e,t){t.currentSrc!==e.src?(s.find("source",t).forEach(s.removeNode),t.src=e.src,t.type=e.type):e.autoplay&&t.load()})},o.canPlay=function(e){return a.support.video&&i(e)},o.engineName="html5",a.engines.push(o)},{"../flowplayer":31,"./html5-factory":5}],7:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){e.on("ready",function(){var e=i.find("video.fp-engine",t)[0];e&&(e.setAttribute("x-webkit-airplay","allow"),window.WebKitPlaybackTargetAvailabilityEvent&&(e.addEventListener("webkitplaybacktargetavailabilitychanged",function(e){if("available"===e.availability){var n=i.find(".fp-header",t)[0];i.find(".fp-airplay",n).forEach(i.removeNode);var r=i.createElement("a",{class:"fp-airplay fp-icon",title:"Play on AirPlay device"});n.appendChild(r)}}),e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",function(){var n=i.find(".fp-airplay",t)[0];n&&i.toggleClass(n,"fp-active",e.webkitCurrentPlaybackTargetIsWireless)})))}),o.on(t,"click",".fp-airplay",function(e){e.preventDefault();var n=i.find("video.fp-engine",t)[0];n.webkitShowPlaybackTargetPicker()})})},{"../common":1,"../flowplayer":31,bean:34}],8:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("./resolve").TYPE_RE,o=e("scriptjs"),a=e("bean");r(function(e,t){var n,r=e.conf.analytics,s=0,l=0;if(r){"undefined"==typeof _gat&&o("//google-analytics.com/ga.js");var u=function(){var e=_gat._getTracker(r);return e._setAllowLinker(!0),e},c=function(r,o,a){if(a=a||e.video,s&&"undefined"!=typeof _gat){var l=u();l._trackEvent("Video / Seconds played",e.engine.engineName+"/"+a.type,a.title||t.getAttribute("title")||a.src.split("/").slice(-1)[0].replace(i,""),Math.round(s/1e3)),s=0,n&&(clearTimeout(n),n=null)}};e.bind("load unload",c).bind("progress",function(){e.seeking||(s+=l?+new Date-l:0,l=+new Date),n||(n=setTimeout(function(){n=null;var e=u();e._trackEvent("Flowplayer heartbeat","Heartbeat","",0,!0)},6e5))}).bind("pause",function(){l=0}),e.bind("shutdown",function(){a.off(window,"unload",c)}),a.on(window,"unload",c)}})},{"../flowplayer":31,"./resolve":21,bean:34,scriptjs:45}],9:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean"),a=e("scriptjs");r(function(e,t){function n(){var e,t,n;e=g.applicationId||chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,t=new chrome.cast.SessionRequest(e),n=new chrome.cast.ApiConfig(t,r,s),chrome.cast.initialize(n,l,u)}function r(){console.log("sessionListener")}function s(e){e===chrome.cast.ReceiverAvailability.AVAILABLE&&c()}function l(){}function u(){console.log("onError")}function c(){var e=i.find(".fp-header",t)[0];if(e){i.find(".fp-chromecast",e).forEach(i.removeNode),i.find(".fp-chromecast-engine",t).forEach(i.removeNode),h=i.createElement("a",{class:"fp-chromecast fp-icon",title:"Play on Cast device"}),e.insertBefore(h,i.find(".fp-fullscreen",e)[0]);var n=i.createElement("div",{class:"fp-chromecast-engine"}),r=i.createElement("p",{class:"fp-chromecast-engine-status"}),o=i.createElement("p",{class:"fp-chromecast-engine-icon"});n.appendChild(o),n.appendChild(r);var a=i.find(".fp-engine",t)[0];a?a.parentNode.insertBefore(n,a):i.prepend(i.find(".fp-player",t)[0]||t,n)}}function f(){clearInterval(p),p=null,e.release(),i.toggleClass(t,"is-chromecast",!1),i.toggleClass(h,"fp-active",!1)}if(e.conf.chromecast!==!1){a("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"),window.__onGCastApiAvailable=function(e){e&&n()};var d,p,h,g=e.conf.chromecast||{};o.on(t,"click",".fp-chromecast",function(n){return n.preventDefault(),d?(e.trigger("pause",[e]),d.stop(),d=null,void f()):(e.playing&&e.pause(),void chrome.cast.requestSession(function(n){function r(n){n.addUpdateListener(function(r){if(d){p=p||setInterval(function(){e.trigger("progress",[e,n.getEstimatedTime()])},500),r?(i.toggleClass(t,"is-chromecast",!0),i.toggleClass(h,"fp-active",!0),e.hijack({pause:function(){n.pause()},resume:function(){n.play()},seek:function(e){var t=new chrome.cast.media.SeekRequest;t.currentTime=e,n.seek(t)}})):(f(),e.trigger("finish",[e]));var o=n.playerState;e.paused&&o===chrome.cast.media.PlayerState.PLAYING&&e.trigger("resume",[e]),e.playing&&o===chrome.cast.media.PlayerState.PAUSED&&e.trigger("pause",[e]),i.toggleClass(t,"is-loading",o===chrome.cast.media.PlayerState.BUFFERING)}})}d=n;var o=d.receiver.friendlyName;i.html(i.find(".fp-chromecast-engine-status")[0],"Playing on device "+o);var a=new chrome.cast.media.MediaInfo(e.video.src),s=new chrome.cast.media.LoadRequest(a);d.loadMedia(s,r,function(){})},function(e){console.error("requestSession error",e)}))})}})},{"../common":1,"../flowplayer":31,bean:34,scriptjs:45}],10:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(e){t.className=t.className.replace(a," "),e>=0&&i.addClass(t,"cue"+e)}function r(t){var n=t&&!isNaN(t.time)?t.time:t;return 0>n&&(n=e.video.duration+n),.125*Math.round(n/.125)}var a=/ ?cue\d+ ?/,s=!1,l={},u=-.125,c=function(t){n(t.index),e.trigger("cuepoint",[e,t])};e.on("progress",function(e,t,n){if(!s)for(var i=r(n);i>u;)u+=.125,l[u]&&l[u].forEach(c)}).on("unload",n).on("beforeseek",function(e){setTimeout(function(){e.defaultPrevented||(s=!0)})}).on("seek",function(e,t,i){n(),u=r(i||0)-.125,s=!1,!i&&l[0]&&l[0].forEach(c)}).on("ready",function(t,n,r){u=-.125;var i=r.cuepoints||e.conf.cuepoints||[];e.setCuepoints(i)}).on("finish",function(){for(var t=r(e.video.duration);t>u;)u+=.125,l[u]&&l[u].forEach(c);u=-.125}),e.conf.generate_cuepoints&&e.bind("load",function(){i.find(".fp-cuepoint",t).forEach(i.removeNode)}),e.setCuepoints=function(t){return e.cuepoints=[],l={},t.forEach(e.addCuepoint),e},e.addCuepoint=function(n){e.cuepoints||(e.cuepoints=[]),"number"==typeof n&&(n={time:n}),n.index=0;var a=r(n);if(l[a]||(l[a]=[]),l[a].push(n),e.cuepoints.length&&(n.index=Math.max.apply(null,e.cuepoints.map(function(e){return e.index}))+1),e.cuepoints.push(n),e.conf.generate_cuepoints&&n.visible!==!1){var s=e.video.duration,u=i.find(".fp-timeline",t)[0];i.css(u,"overflow","visible");var c=n.time||n;0>c&&(c=s+c);var f=i.createElement("a",{className:"fp-cuepoint fp-cuepoint"+n.index});i.css(f,"left",c/s*100+"%"),u.appendChild(f),o.on(f,"mousedown",function(t){t.preventDefault(),t.stopPropagation(),e.seek(c)})}return e},e.removeCuepoint=function(n){"number"==typeof n&&(n=e.cuepoints.filter(function(e){return e.index===n})[0]);var o=e.cuepoints.indexOf(n),a=r(n);if(-1!==o){e.cuepoints=e.cuepoints.slice(0,o).concat(e.cuepoints.slice(o+1));var s=i.find(".fp-timeline",t)[0];i.find(".fp-cuepoint"+n.index,s).forEach(i.removeNode);var u=l[a].indexOf(n);if(-1!==u)return l[a]=l[a].slice(0,u).concat(l[a].slice(u+1)),e}}})},{"../common":1,"../flowplayer":31,bean:34}],11:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("bean"),o=e("../common"),a=e("./util/clipboard");r(function(e,t){if(e.conf.embed!==!1&&e.conf.share!==!1){var n=o.find(".fp-share-menu",t)[0],r=o.createElement("a",{class:"fp-icon fp-embed",title:"Copy to your site"},"Embed");o.append(n,r),e.embedCode=function(){var n=e.conf.embed||{},r=e.video,i=n.width||r.width||o.width(t),a=n.height||r.height||o.height(t),s=e.conf.ratio,l='<iframe src="'+e.shareUrl(!0)+'" allowfullscreen style="border:none;';return n.width||n.height?(isNaN(i)||(i+="px"),isNaN(a)||(a+="px"),l+"width:"+i+";height:"+a+';"></iframe>'):((!s||e.conf.adaptiveRatio)&&(s=a/i),'<div style="position:relative;width:100%;display:inline-block;">'+l+'position:absolute;top:0;left:0;width:100%;height:100%;"></iframe><div style="padding-top:'+100*s+'%;"></div></div>')},i.on(t,"click",".fp-embed",function(){a(e.embedCode(),function(){e.message("The embed code is now on your clipboard",2e3)},function(){e.textarea(e.embedCode(),"Copy the code below to embed your video")})})}})},{"../common":1,"../flowplayer":31,"./util/clipboard":30,bean:34}],12:[function(e,t,n){"use strict";t.exports=function(e,t){t||(t=document.createElement("div"));var n={},r={},i=function(e,i,o){var a=e.split(".")[0],s=function(l){o&&(t.removeEventListener(a,s),n[e].splice(n[e].indexOf(s),1));var u=[l].concat(r[l.timeStamp+l.type]||[]);i&&i.apply(void 0,u)};t.addEventListener(a,s),n[e]||(n[e]=[]),n[e].push(s)};e.on=e.bind=function(t,n){var r=t.split(" ");return r.forEach(function(e){i(e,n)}),e},e.one=function(t,n){var r=t.split(" ");return r.forEach(function(e){i(e,n,!0)}),e};var o=function(e,t){return 0===t.filter(function(t){return-1===e.indexOf(t)}).length};e.off=e.unbind=function(r){var i=r.split(" ");return i.forEach(function(e){var r=e.split(".").slice(1),i=e.split(".")[0];Object.keys(n).filter(function(e){var t=e.split(".").slice(1);return(!i||0===e.indexOf(i))&&o(t,r)}).forEach(function(e){var r=n[e],i=e.split(".")[0];n[e]=r.filter(function(e){return t.removeEventListener(i,e),!1})})}),e},e.trigger=function(n,i,o){if(n){i=(i||[]).length?i||[]:[i];var a,s=document.createEvent("Event");return a=n.type||n,s.initEvent(a,!1,!0),Object.defineProperty&&(s.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}),r[s.timeStamp+s.type]=i,t.dispatchEvent(s),o?s:e}}},t.exports.EVENTS=["beforeseek","disable","error","finish","fullscreen","fullscreen-exit","load","mute","pause","progress","ready","resume","seek","speed","stop","unload","volume","boot","shutdown"]},{}],13:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){var n=e.conf;if(n.share!==!1&&n.facebook){e.facebook=function(){var e,t,r=550,i=420,o=screen.height,a=screen.width,s="scrollbars=yes,resizable=yes,toolbar=no,location=yes",l="string"==typeof n.facebook?n.facebook:window.location.toString();e=Math.round(a/2-r/2),t=0,o>i&&(t=Math.round(o/2-i/2)),window.open("https://www.facebook.com/sharer.php?s=100&p[url]="+encodeURIComponent(l),"sharer",s+",width="+r+",height="+i+",left="+e+",top="+t)};var r=i.find(".fp-share-menu",t)[0],a=i.createElement("a",{class:"fp-icon fp-facebook"},"Facebook");i.append(r,a),o.on(t,"click",".fp-facebook",function(){e.facebook()})}})},{"../common":1,"../flowplayer":31,bean:34}],14:[function(e,t,n){"use strict";var r,i=e("../flowplayer"),o=e("bean"),a=e("../common"),s="fullscreen",l="fullscreen-exit",u=i.support.fullscreen;o.on(document,"fullscreenchange.ffscr webkitfullscreenchange.ffscr mozfullscreenchange.ffscr MSFullscreenChange.ffscr",function(e){var t=document.webkitCurrentFullScreenElement||document.mozFullScreenElement||document.fullscreenElement||document.msFullscreenElement;if(r||t.parentNode&&t.parentNode.getAttribute("data-flowplayer-instance-id")){var n=r||i(t.parentNode);t?r=n.trigger(s,[n]):(r.trigger(l,[r]),r=null)}}),i(function(e,t){var n=a.createElement("div",{className:"fp-player"});if(Array.prototype.map.call(t.children,a.identity).forEach(function(e){a.matches(e,".fp-ratio,script")||n.appendChild(e)}),t.appendChild(n),e.conf.fullscreen){var i,o,c=window;e.isFullscreen=!1,e.fullscreen=function(t){return e.disabled?void 0:(void 0===t&&(t=!e.isFullscreen),t&&(i=c.scrollY,o=c.scrollX),u?t?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){"function"==typeof n[e]&&(n[e](Element.ALLOW_KEYBOARD_INPUT),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||n[e]())}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):e.trigger(t?s:l,[e]),e)};var f;e.on("mousedown.fs",function(){+new Date-f<150&&e.ready&&e.fullscreen(),f=+new Date}),e.on(s,function(){a.addClass(t,"is-fullscreen"),a.toggleClass(t,"fp-minimal-fullscreen",a.hasClass(t,"fp-minimal")),a.removeClass(t,"fp-minimal"),u||a.css(t,"position","fixed"),e.isFullscreen=!0}).on(l,function(){var n;a.toggleClass(t,"fp-minimal",a.hasClass(t,"fp-minimal-fullscreen")),a.removeClass(t,"fp-minimal-fullscreen"),u||"html5"!==e.engine||(n=t.css("opacity")||"",a.css(t,"opacity",0)),u||a.css(t,"position",""),a.removeClass(t,"is-fullscreen"),u||"html5"!==e.engine||setTimeout(function(){t.css("opacity",n)}),e.isFullscreen=!1,c.scrollTo(o,i)}).on("unload",function(){e.isFullscreen&&e.fullscreen()}),e.on("shutdown",function(){r=null,a.removeNode(n)})}})},{"../common":1,"../flowplayer":31,bean:34}],15:[function(e,t,n){"use strict";var r,i,o=e("../flowplayer"),a=e("bean"),s=e("../common");a.on(document,"keydown.fp",function(e){var t=r,n=e.ctrlKey||e.metaKey||e.altKey,i=e.which,o=t&&t.conf;if(t&&o.keyboard&&!t.disabled&&!n&&t.ready){if(e.shiftKey)return 39==i?t.speed(!0):37==i&&t.speed(!1),e.preventDefault();if(58>i&&i>47)return e.preventDefault(),t.seekTo(i-48);var a=function(){switch(i){case 38:case 75:return t.volume(t.volumeLevel+.15),!0;case 40:case 74:return t.volume(t.volumeLevel-.15),!0;case 39:case 76:return t.seeking=!0,t.seek(!0),!0;case 37:case 72:return t.seeking=!0,t.seek(!1),!0;case 190:return t.seekTo(),!0;case 32:return t.toggle(),!0;case 70:return o.fullscreen&&t.fullscreen(),!0;case 77:return t.mute(),!0;case 81:return t.unload(),!0}}();a&&e.preventDefault()}}),o(function(e,t){e.conf.keyboard&&(a.on(document,"click",function(n){if(s.hasParent(n.target,t))r=e.disabled?0:e;else{if(r!==e)return;r=0}r&&(i=t)}),e.bind("shutdown",function(){i==t&&(i=null)}))})},{"../common":1,"../flowplayer":31,bean:34}],16:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){e.showMenu=function(n,r){var a=i.find(".fp-ui",t)[0];i.toggleClass(n,"fp-active",!0),setTimeout(function(){o.one(document,"click",function(){e.hideMenu(n)})});var s=r;if(r&&r.tagName&&(s={left:i.offset(r).left,rightFallbackOffset:i.width(r),top:i.offset(r).top+i.height(r)}),!s)return i.css(n,"top","auto");s.rightFallbackOffset=s.rightFallbackOffset||0;var l=s.top-i.offset(a).top,u=s.left-i.offset(a).left;i.width(n)+u>i.width(a)&&(u=u-i.width(n)+s.rightFallbackOffset),i.height(n)+l>i.height(a)&&(l-=i.height(n)),i.css(n,{top:l+"px",left:u+"px",right:"auto"})},e.hideMenu=function(e){i.toggleClass(e,"fp-active",!1),i.css(e,{top:"-9999em"})}})},{"../common":1,"../flowplayer":31,bean:34}],17:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(e){var t=i.createElement("div",{className:"fp-message"},e);return s.insertBefore(t,a),setTimeout(function(){i.toggleClass(t,"fp-shown")}),t}function r(e){i.removeNode(e)}var a=i.find(".fp-header",t)[0],s=i.find(".fp-ui",t)[0];e.message=function(e,t){var o=n(e),a=function(){i.toggleClass(o,"fp-shown"),setTimeout(function(){r(o)},500)};return t&&setTimeout(a,t),a},e.textarea=function(e){var t=document.createElement("textarea");t.value=e,t.className="fp-textarea",s.appendChild(t),o.on(document,"click.fptextarea",function(e){return e.target===t?t.select():(e.stopPropagation(),e.preventDefault(),i.removeNode(t),void o.off(document,"click.fptextarea"))})}})},{"../common":1,"../flowplayer":31,bean:34}],18:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=/IEMobile/.test(window.navigator.userAgent),o=e("../common"),a=e("bean"),s=e("./ui").format,l=r.support,u=window.navigator.userAgent;(l.touch||i)&&r(function(e,t){var n=l.android,r=n&&!n.firefox,c=/Silk/.test(u),f=n.version||0;if(r&&!i){if(!/Chrome/.test(u)&&4>f||n.samsung&&5>f){var d=e.load;e.load=function(){var n=d.apply(e,arguments);return o.find("video.fp-engine",t)[0].load(),e.trigger("ready",[e,e.video]),n}}var p,h=0,g=function(e){p=setInterval(function(){e.video.time=++h,e.trigger("progress",[e,h])},1e3)};e.on("ready pause unload",function(){p&&(clearInterval(p),p=null)}),e.on("ready",function(){h=0}),e.on("resume",function(t,n){return n.live?h?g(n):void e.one("progress",function(e,t,n){0===n&&g(t)}):void 0})}l.volume||(o.removeClass(t,"fp-mute"),o.addClass(t,"no-volume")),l.iOS&&o.addClass(t,"fp-mute"),o.addClass(t,"is-touch"),e.sliders&&e.sliders.timeline&&e.sliders.timeline.disableAnimation();var m=!1;a.on(t,"touchmove",function(){m=!0});var v=!0;if(a.on(t,"touchend click",function(n){if(m)return void(m=!1);var r=o.find("video.fp-engine",t)[0];return v&&e.conf.clickToUnMute&&r&&r.muted&&e.conf.autoplay&&(r.muted=!1),v=!1,e.playing&&!o.hasClass(t,"is-mouseover")?(o.addClass(t,"is-mouseover"),o.removeClass(t,"is-mouseout"),n.preventDefault(),void n.stopPropagation()):void(e.playing||e.splash||!o.hasClass(t,"is-mouseout")||o.hasClass(t,"is-mouseover")||setTimeout(function(){e.disabled||e.playing||e.splash||o.find("video.fp-engine",t)[0].play()},400))}),!l.fullscreen&&e.conf.native_fullscreen&&"function"==typeof o.createElement("video").webkitEnterFullScreen){var y=e.fullscreen;e.fullscreen=function(){var n=o.find("video.fp-engine",t)[0];return n?(e.trigger("fullscreen",[e]),a.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement===n&&(a.off(document,".nativefullscreen"),a.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement||(a.off(document,".nativefullscreen"),e.trigger("fullscreen-exit",[e]))}))}),n.webkitEnterFullScreen(),void a.one(n,"webkitendfullscreen",function(){a.off(document,"fullscreenchange.nativefullscreen"),e.trigger("fullscreen-exit",[e]),o.prop(n,"controls",!0),o.prop(n,"controls",!1)})):y.apply(e)}}(r||c)&&e.bind("ready",function(){var n=o.find("video.fp-engine",t)[0];e.conf.splash&&n&&n.paused&&"hlsjs-lite"!==e.engine.engineName&&(a.one(n,"canplay",function(){n.play()}),n.load()),e.bind("progress.dur",function(){if(!e.live&&!e.conf.live&&n){var r=n.duration;1!==r&&(e.video.duration=r,o.find(".fp-duration",t)[0].innerHTML=s(r),e.unbind("progress.dur"))}})})})},{"../common":1,"../flowplayer":31,"./ui":27,bean:34}],19:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("extend-object"),o=e("bean"),a=e("../common"),s=e("./resolve"),l=new s,u=window.jQuery,c=/^#/;r(function(e,t){function n(){return a.find(h.query,r())}function r(){return c.test(h.query)?void 0:t}function f(){return a.find(h.query+"."+g,r())}function d(){var n=a.find(".fp-playlist",t)[0];if(!n){n=a.createElement("div",{className:"fp-playlist"});var r=a.find(".fp-next,.fp-prev",t);r.length?r[0].parentElement.insertBefore(n,r[0]):a.insertAfter(t,a.find("video",t)[0],n)}n.innerHTML="",e.conf.playlist[0].length&&(e.conf.playlist=e.conf.playlist.map(function(e){if("string"==typeof e){var t=e.split(s.TYPE_RE)[1];return{sources:[{type:"m3u8"===t.toLowerCase()?"application/x-mpegurl":"video/"+t,src:e}]}}return{sources:e.map(function(e){var t={};return Object.keys(e).forEach(function(n){t.type=/mpegurl/i.test(n)?"application/x-mpegurl":"video/"+n,t.src=e[n]}),t})}})),e.conf.playlist.forEach(function(t,r){var i=t.sources[0].src;n.appendChild(a.createElement("a",{href:i,className:e.video.index===r?g:void 0,"data-index":r}))})}function p(t){return"undefined"!=typeof t.index?t.index:"undefined"!=typeof e.video.index?e.video.index:e.conf.startIndex||0}var h=i({active:"is-active",advance:!0,query:".fp-playlist a"},e.conf),g=h.active,m=a.find(".fp-ui",t)[0],v=a.hasClass(t,"fp-custom-playlist")||!!h.customPlaylist;a.toggleClass(t,"fp-custom-playlist",v),a.toggleClass(t,"fp-default-playlist",!v),e.play=function(t){if(void 0===t)return e.resume();if("number"==typeof t&&!e.conf.playlist[t])return e;if("number"!=typeof t)return e.load.apply(null,arguments);var n=i({index:t},e.conf.playlist[t]);return e.off("beforeresume.fromfirst"),"number"==typeof t&&t===e.video.index?e.seek(0,function(){e.resume()}):(e.load(n,function(){e.video.index=t}),e)},e.next=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=n===e.conf.playlist.length-1?0:n+1,e.play(n)),e},e.prev=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=0===n?e.conf.playlist.length-1:n-1,e.play(n)),e},e.setPlaylist=function(t,n){return e.conf.playlist=t,n||delete e.video.index,d(),e},e.addPlaylistItem=function(t){return delete e.video.is_last,e.setPlaylist(e.conf.playlist.concat([t]),!0)},e.removePlaylistItem=function(t){var n=e.conf.playlist;return e.setPlaylist(n.slice(0,t).concat(n.slice(t+1)))},o.on(t,"click",".fp-next",e.next),o.on(t,"click",".fp-prev",e.prev),e.off("finish.pl").on("finish.pl",function(e,n){var r="undefined"==typeof n.conf.advance?!0:n.conf.advance;if(r){if(n.video.loop)return n.seek(0,function(){n.resume()});var i=n.video.index>=0?n.video.index+1:void 0;i<n.conf.playlist.length||h.loop?(i=i===n.conf.playlist.length?0:i,a.removeClass(t,"is-finished"),setTimeout(function(){n.play(i)})):n.conf.playlist.length>1&&(n.one("beforeresume.fromfirst",function(e){e.preventDefault(),n.play(0)}),n.one("seek",function(){n.off("beforeresume.fromfirst")}))}});var y=!1;e.conf.playlist.length&&(y=!0,d(),e.conf.clip&&e.conf.clip.sources.length||(e.conf.clip=e.conf.playlist[e.conf.startIndex||0])),n().length&&!y&&(e.conf.playlist=[],delete e.conf.startIndex,n().forEach(function(t){var n=t.href;t.setAttribute("data-index",e.conf.playlist.length);var r=l.resolve(n,e.conf.clip.sources);u&&i(r,u(t).data()),e.conf.playlist.push(r)})),a.find(".fp-prev,.fp-next,.fp-playlist",t).forEach(function(e){m.appendChild(e)}),o.on(c.test(h.query)?document:t,"click",h.query,function(t){t.preventDefault();var n=t.currentTarget,r=Number(n.getAttribute("data-index"));-1!=r&&e.play(r)}),e.on("load",function(n,i,o){if(e.conf.playlist.length){var s=f()[0],l=s&&s.getAttribute("data-index"),u=o.index=p(o),c=a.find(h.query+'[data-index="'+u+'"]',r())[0],d=u==e.conf.playlist.length-1;s&&a.removeClass(s,g),c&&a.addClass(c,g),a.removeClass(t,"video"+l),a.addClass(t,"video"+u),a.toggleClass(t,"last-video",d),o.index=i.video.index=u,o.is_last=i.video.is_last=d}}).on("unload.pl",function(){e.conf.playlist.length&&(f().forEach(function(e){a.toggleClass(e,g)}),e.conf.playlist.forEach(function(e,n){a.removeClass(t,"video"+n)}),delete e.video.index)}),e.conf.playlist.length&&(e.conf.loop=!1)})},{"../common":1,"../flowplayer":31,"./resolve":21,bean:34,"extend-object":39}],20:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(){i.find(".fp-qsel-menu",t).forEach(i.removeNode),i.find(".fp-qsel",t).forEach(i.removeNode)}function r(e){l.appendChild(i.createElement("strong",{className:"fp-qsel"},"HD"));var t=i.createElement("div",{className:"fp-menu fp-qsel-menu"},"<strong>Quality</strong>");e.forEach(function(e){var n=document.createElement("a"),r="undefined"!=typeof e.value?e.value:e;n.setAttribute("data-quality",r),n.innerHTML=e.label||e,t.appendChild(n)}),s.appendChild(t)}function a(e){i.find(".fp-qsel-menu a",t).forEach(function(t){i.toggleClass(t,"fp-selected",t.getAttribute("data-quality")==e),i.toggleClass(t,"fp-color",t.getAttribute("data-quality")==e)})}var s=i.find(".fp-ui",t)[0],l=i.find(".fp-controls",s)[0];o.on(t,"click",".fp-qsel",function(){var n=i.find(".fp-qsel-menu",t)[0];i.hasClass(n,"fp-active")?e.hideMenu():e.showMenu(n)}),o.on(t,"click",".fp-qsel-menu a",function(t){var n=t.target.getAttribute("data-quality");e.quality(n)}),e.quality=function(t){t=isNaN(Number(t))?t:Number(t),e.trigger("quality",[e,t])},e.on("quality",function(e,t,n){a(n,t.video.qualities)}),e.on("ready",function(e,t,i){n(),!i.qualities||i.qualities.filter(function(e){return"undefined"!=typeof e.value?e.value>-1:!0}).length<2||(r(i.qualities,i.quality),a(i.quality,i.qualities))})})},{"../common":1,"../flowplayer":31,bean:34}],21:[function(e,t,n){"use strict";function r(e){var t=e.attr("src"),n=e.attr("type")||"",r=t.split(o)[1];return n=n.toLowerCase(),a(e.data(),{src:t,suffix:r||n,type:n||r})}function i(e){return/mpegurl/i.test(e)?"application/x-mpegurl":"video/"+e}var o=/\.(\w{3,4})(\?.*)?$/i,a=e("extend-object");t.exports=function(){var e=this;e.sourcesFromVideoTag=function(e,t){var n=[];return t("source",e).each(function(){n.push(r(t(this)))}),!n.length&&e.length&&n.push(r(e)),n},e.resolve=function(e,t){return e?("string"==typeof e&&(e={src:e,sources:[]},e.sources=(t||[]).map(function(t){var n=t.src.split(o)[1];return{type:t.type,src:e.src.replace(o,"."+n+"$2")}})),e instanceof Array&&(e={sources:e.map(function(e){return e.type&&e.src?e:Object.keys(e).reduce(function(t,n){return a(t,{type:i(n),src:e[n]})},{})})}),e):{sources:t}}},t.exports.TYPE_RE=o},{"extend-object":39}],22:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("extend-object"),a=e("bean");r(function(e,t){var n=e.conf;if(n.share===!1)return void i.find(".fp-share",t).forEach(i.removeNode);e.shareUrl=function(t){if(t&&n.embed&&n.embed.iframe)return n.embed.iframe;if("string"==typeof e.conf.share)return e.conf.share;var r=encodeURIComponent(e.video.title||(i.find("title")[0]||{}).innerHTML||"Flowplayer Unlimited video"),a=encodeURIComponent(btoa(JSON.stringify(o({},e.conf,e.extensions)).replace(/[\u007F-\uFFFF]/g,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).substr(-4)}))),s=encodeURIComponent(window.location.toString()),l=t?"https://flowplayer.com/e/":"https://flowplayer.com/s/";return l+"?t="+r+"&c="+a+"&r="+s};var r=i.createElement("div",{className:"fp-menu fp-share-menu"},"<strong>Share</strong>"),s=i.find(".fp-ui",t)[0];s.appendChild(r);var l=i.find(".fp-share",t)[0];a.on(t,"click",".fp-share",function(t){t.preventDefault(),i.hasClass(r,"fp-active")?e.hideMenu():e.showMenu(r,l)})})},{"../common":1,"../flowplayer":31,bean:34,"extend-object":39}],23:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean"),a=e("./subtitles/parser");r.defaults.subtitleParser=a,r(function(e,t){var n,a,s,l,u;(!r.support.inlineVideo||!r.support.fullscreen&&e.conf.native_fullscreen)&&(e.conf.nativesubtitles=!0),e.ui||(e.ui={}),e.ui.createSubtitleControl=function(e,n){return u=n,s=s||i.createElement("strong",{className:"fp-cc"},"CC"),l=l||i.createElement("div",{className:"fp-menu fp-subtitle-menu"},"<strong>Closed Captions</strong>"),i.find("a",l).forEach(i.removeNode),l.appendChild(i.createElement("a",{"data-subtitle-index":-1},"No subtitles")),(e||[]).forEach(function(e,t){var n=e.srclang||"en",r=e.label||"Default ("+n+")",o=i.createElement("a",{"data-subtitle-index":t},r);l.appendChild(o)}),i.find(".fp-ui",t)[0].appendChild(l),i.find(".fp-controls",t)[0].appendChild(s),i.toggleClass(s,"fp-hidden",!e||!e.length),s},e.ui.setActiveSubtitleItem=function(e){f(e)},o.on(t,"click",".fp-cc",function(){i.hasClass(l,"fp-active")?e.hideMenu():e.showMenu(l)}),o.on(t,"click",".fp-subtitle-menu [data-subtitle-index]",function(t){t.preventDefault();var n=t.target.getAttribute("data-subtitle-index");return u?u(n):"-1"===n?e.disableSubtitles():void e.loadSubtitles(n)});var c=function(){a=i.find(".fp-captions",t)[0],a=a||i.appendTo(i.createElement("div",{class:"fp-captions"}),i.find(".fp-player",t)[0]),Array.prototype.forEach.call(a.children,i.removeNode),e.ui.createSubtitleControl(e.video.subtitles)};e.on("ready",function(n,r,o){if(r.subtitles=[],c(),i.removeClass(t,"has-menu"),e.disableSubtitles(),o.subtitles&&o.subtitles.length){var a=o.subtitles.filter(function(e){return e["default"]})[0];a&&r.loadSubtitles(o.subtitles.indexOf(a))}}),e.showSubtitle=function(e){i.html(a,e),i.addClass(a,"fp-shown")},e.hideSubtitle=function(){i.removeClass(a,"fp-shown")},e.bind("cuepoint",function(t,r,i){i.subtitle?(n=i.index,e.showSubtitle(i.subtitle.text)):i.subtitleEnd&&(e.hideSubtitle(),n=i.index)}),e.bind("seek",function(t,r,o){n&&e.cuepoints[n]&&e.cuepoints[n].time>o&&(i.removeClass(a,"fp-shown"),n=null),(e.cuepoints||[]).forEach(function(t,r){var i=t.subtitle;i&&n!=r?o>=t.time&&(!i.endTime||o<=i.endTime)&&e.trigger("cuepoint",[e,t]):t.subtitleEnd&&o>=t.time&&r==n+1&&e.trigger("cuepoint",[e,t])})}),e.on("unload",function(){i.find(".fp-captions",t).forEach(i.removeNode)});var f=function(e){i.toggleClass(i.find("a.fp-selected",l)[0],"fp-selected"),i.toggleClass(i.find('a[data-subtitle-index="'+e+'"]',l)[0],"fp-selected")},d=function(e,n){var r=i.find("video.fp-engine",t)[0].textTracks;r.length&&(null===e?[].forEach.call(r,function(e){e.mode=n}):r[e].mode=n)};e.disableSubtitles=function(){return e.subtitles=[],(e.cuepoints||[]).forEach(function(t){(t.subtitle||t.subtitleEnd)&&e.removeCuepoint(t)}),a&&Array.prototype.forEach.call(a.children,i.removeNode),f(-1),r.support.subtitles&&e.conf.nativesubtitles&&"html5"==e.engine.engineName&&d(null,"disabled"),e},e.loadSubtitles=function(t){e.disableSubtitles();var n=e.video.subtitles[t],o=n.src;return o?(f(t),r.support.subtitles&&e.conf.nativesubtitles&&"html5"==e.engine.engineName?void d(t,"showing"):(i.xhrGet(o,function(t){var n=e.conf.subtitleParser(t);n.forEach(function(t,n){t.title||(t.title="subtitle"+n);var i={time:t.startTime,subtitle:t,visible:!1};e.subtitles.push(t),e.addCuepoint(i),e.addCuepoint({time:t.endTime,subtitleEnd:t.title,visible:!1}),0!==t.startTime||e.video.time||e.splash||e.trigger("cuepoint",[e,r.extend({},i,{index:0})]),e.splash&&e.one("ready",function(){e.trigger("cuepoint",[e,i])})})},function(){return e.trigger("error-subtitles",{code:8,url:o}),!1}),e)):void 0}})},{"../common":1,"../flowplayer":31,"./subtitles/parser":24,bean:34}],24:[function(e,t,n){t.exports=function(e){function t(e){var t=e.split(":");return 2==t.length&&t.unshift(0),60*t[0]*60+60*t[1]+parseFloat(t[2].replace(",","."))}for(var n,r,i,o=/^(([0-9]+:){1,2}[0-9]{2}[,.][0-9]{3}) --\> (([0-9]+:){1,2}[0-9]{2}[,.][0-9]{3})(.*)/,a=[],s=0,l=e.split("\n"),u=l.length,c={};u>s;s++)if(r=o.exec(l[s])){for(n=l[s-1],i="<p>"+l[++s]+"</p><br/>";"string"==typeof l[++s]&&l[s].trim()&&s<l.length;)i+="<p>"+l[s]+"</p><br/>";c={title:n,startTime:t(r[1]),endTime:t(r[3]),text:i},a.push(c)}return a}},{}],25:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("extend-object");!function(){var e=function(e){var t=/iP(ad|hone)(; CPU)? OS (\d+_\d)/.exec(e);return t&&t.length>1?parseFloat(t[t.length-1].replace("_","."),10):0},t=function(){var e=document.createElement("video");return e.loop=!0,e.autoplay=!0,e.preload=!0,e},n={},o=document.documentElement.style,a=navigator.userAgent.toLowerCase(),s=/(chrome)[ \/]([\w.]+)/.exec(a)||/(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];s[1]&&(n[s[1]]=!0,n.version=s[2]||"0"),n.safari&&(n.version=(/version\/([\w.]+)/.exec(a)||[])[1]);var l=t(),u=navigator.userAgent,c=n.msie||/Trident\/7/.test(u),f=/iPad|MeeGo/.test(u)&&!/CriOS/.test(u),d=/iPad/.test(u)&&/CriOS/.test(u),p=/iP(hone|od)/i.test(u)&&!/iPad/.test(u)&&!/IEMobile/i.test(u),h=/Android/.test(u),g=h&&/Firefox/.test(u),m=h&&/SAMSUNG/.test(u),v=/Silk/.test(u),y=/IEMobile/.test(u),w=y?parseFloat(/Windows\ Phone\ (\d+\.\d+)/.exec(u)[1],10):0,b=y?parseFloat(/IEMobile\/(\d+\.\d+)/.exec(u)[1],10):0,I=f||p?e(u):0,M=h?parseFloat(/Android\ (\d+(\.\d+)?)/.exec(u)[1],10):0,C=(p||f||d)&&{iPhone:p,iPad:f||d,version:I,chrome:d},A=i(r.support,{browser:n,iOS:C,android:h?{firefox:g,opera:/Opera/.test(u),samsung:m,version:M}:!1,subtitles:!!l.addTextTrack,fullscreen:"boolean"==typeof document.webkitFullscreenEnabled?document.webkitFullscreenEnabled:"function"==typeof document.webkitCancelFullScreen&&!/Mac OS X 10_5.+Version\/5\.0\.\d Safari/.test(u)||document.mozFullScreenEnabled||"function"==typeof document.exitFullscreen||"function"==typeof document.msExitFullscreen,inlineBlock:!(c&&n.version<8),touch:"ontouchstart"in window,dataload:!f&&!p&&!y,flex:"flexWrap"in o||"WebkitFlexWrap"in o||"msFlexWrap"in o,svg:!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,zeropreload:!c&&!h,volume:!(f||p||v||d),cachedVideoTag:!(f||p||d||y),firstframe:!(v||y||g||m||I&&10>I||h&&4.4>M),inlineVideo:(!p||I>=10)&&(!y||w>=8.1&&b>=11)&&(!h||M>=3),hlsDuration:!h&&(!n.safari||f||p||d),seekable:!f&&!d,preloadMetadata:!C&&!n.safari});A.autoplay=A.firstframe,y&&(A.browser.safari=!1);try{var S=navigator.plugins["Shockwave Flash"],E=c?new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"):S.description;c||S[0].enabledPlugin?(E=E.split(/\D+/),E.length&&!E[0]&&(E=E.slice(1)),A.flashVideo=E[0]>9||9==E[0]&&E[3]>=115):A.flashVideo=!1}catch(j){}try{A.video=!!l.canPlayType,A.video&&l.canPlayType("video/mp4")}catch(D){A.video=!1}A.animation=function(){for(var e=["","Webkit","Moz","O","ms","Khtml"],t=document.createElement("p"),n=0;n<e.length;n++)if("undefined"!=typeof t.style[e[n]+"AnimationName"])return!0}()}()},{"../flowplayer":31,"extend-object":39}],26:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){var n=e.conf;if(n.share!==!1&&n.twitter!==!1){e.tweet=function(){var t,r,i=550,o=420,a=screen.height,s=screen.width,l="scrollbars=yes,resizable=yes,toolbar=no,location=yes",u="string"==typeof n.twitter?n.twitter:e.shareUrl();t=Math.round(s/2-i/2),r=0,a>o&&(r=Math.round(a/2-o/2)),window.open("https://twitter.com/intent/tweet?url="+encodeURIComponent(u),"intent",l+",width="+i+",height="+o+",left="+t+",top="+r)};var r=i.find(".fp-share-menu",t)[0],a=i.createElement("a",{class:"fp-icon fp-twitter"},"Twitter");i.append(r,a),o.on(t,"click",".fp-twitter",function(){e.tweet()})}})},{"../common":1,"../flowplayer":31,bean:34}],27:[function(e,t,n){(function(n){"use strict";function r(e){return e=parseInt(e,10),e>=10?e:"0"+e}function i(e,t){e=Math.max(e||0,0),e=t?Math.ceil(e):Math.floor(e);var n=Math.floor(e/3600),i=Math.floor(e/60);return e-=60*i,n>=1?(i-=60*n,n+":"+r(i)+":"+r(e)):r(i)+":"+r(e)}var o=e("../flowplayer"),a=e("../common"),s=e("bean"),l=e("./ui/slider"),u=e("./ui/bar-slider"),c=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLW91dGxpbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk5Ljg0NCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz4KPHRpdGxlPnBsYXktcm91bmRlZC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNNDEuMDM1OSw3MS4xOWE1LjA0OTIsNS4wNDkyLDAsMCwxLTIuNTU3NS0uNjY3M2MtMS44MDMxLTEuMDQxLTIuNzk1OC0zLjEyNDgtMi43OTU4LTUuODY2NFYzNS4xODg3YzAtMi43NDI5Ljk5MzMtNC44MjcyLDIuNzk3LTUuODY3NiwxLjgwMjUtMS4wNDIyLDQuMTAzNC0uODYsNi40OC41MTQzTDcwLjQ3ODIsNDQuNTY3MmMyLjM3NTEsMS4zNzExLDMuNjgyNiwzLjI3MjUsMy42ODMyLDUuMzU0NXMtMS4zMDc2LDMuOTg0NS0zLjY4MzIsNS4zNTYyTDQ0Ljk1OTIsNzAuMDExNEE3LjkzODQsNy45Mzg0LDAsMCwxLDQxLjAzNTksNzEuMTlabS4wMDY1LTQwLjEyM2EyLjY3OTQsMi42Nzk0LDAsMCwwLTEuMzU4Mi4zNDEzYy0xLjAyNjMuNTkyNi0xLjU5MTIsMS45MzQ5LTEuNTkxMiwzLjc4VjY0LjY1NjNjMCwxLjg0NDkuNTY0OSwzLjE4NjYsMS41OTA2LDMuNzc5MSwxLjAyODEuNTkzMiwyLjQ3MzMuNDEwOCw0LjA3LS41MTJMNjkuMjczLDUzLjE5MDZjMS41OTgzLS45MjI3LDIuNDc4LTIuMDgzOCwyLjQ3OC0zLjI2ODlzLS44OC0yLjM0NDUtMi40NzgtMy4yNjY2TDQzLjc1NCwzMS45MjI3QTUuNTY4NSw1LjU2ODUsMCwwLDAsNDEuMDQyMywzMS4wNjcxWiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=","base64"),f=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLWZpbGwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgogIDxkZWZzPjxzdHlsZT4uYXtmaWxsOiMwMDA7b3BhY2l0eTowLjY1O30uYntmaWxsOiNmZmY7b3BhY2l0eToxLjA7fTwvc3R5bGU+CiAgPC9kZWZzPjx0aXRsZT5wbGF5LXJvdW5kZWQtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cGF0aCBjbGFzcz0iYiIgZD0iTTM1Ljk0MiwzNS4yMzIzYzAtNC43Mjg5LDMuMzUwNi02LjY2MzcsNy40NDYtNC4yOTcxTDY4LjgzLDQ1LjYyMzVjNC4wOTU2LDIuMzY0LDQuMDk1Niw2LjIzMTksMCw4LjU5NzdMNDMuMzg4LDY4LjkxYy00LjA5NTQsMi4zNjQtNy40NDYuNDMtNy40NDYtNC4yOTc5WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPgogIDwvc3ZnPgogIAo=","base64"),d=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5jb250cm9sYnV0dG9ue2ZpbGw6I2ZmZjt9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlPnBsYXktc2hhcnAtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cG9seWdvbiBjbGFzcz0iY29udHJvbGJ1dHRvbiIgcG9pbnRzPSI3My42MDEgNTAgMzcuOTY4IDcwLjU3MyAzNy45NjggMjkuNDI3IDczLjYwMSA1MCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgo8L3N2Zz4K","base64"),p=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDQgOTkuODQzNCI+PGRlZnM+PHN0eWxlPi5jb250cm9sYnV0dG9uYmd7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGxheS1zaGFycC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNMzYuOTQ0Myw3Mi4yNDczVjI3LjI5MTZMNzUuODc3Niw0OS43N1ptMi4yLTQxLjE0NTVWNjguNDM3MUw3MS40Nzc2LDQ5Ljc3WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=","base64"),h=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utcm91bmRlZC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDM0IDk5Ljg0MzQiPjxkZWZzPjxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5yZWN0e2ZpbGw6I2ZmZjt9PC9zdHlsZT4KPC9kZWZzPjx0aXRsZT5wYXVzZS1yb3VuZGVkLW91dGxpbmU8L3RpdGxlPjxwYXRoIGNsYXNzPSJmcC1jb2xvci1wbGF5IiBkPSJNNDkuOTIxMi0uMDc4M2E1MCw1MCwwLDEsMCw1MC4wMDA2LDUwQTUwLjA1NjIsNTAuMDU2MiwwLDAsMCw0OS45MjEyLS4wNzgzWiIvPjxnIGNsYXNzPSJjb250cm9sYnV0dG9uIj48cGF0aCBjbGFzcz0icmVjdCIgZD0iTTM5LjAwMzYsNzEuOTcyNmE3LjU2NSw3LjU2NSwwLDAsMS03LjU1Ny03LjU1NnYtMjguOTlhNy41NTY1LDcuNTU2NSwwLDAsMSwxNS4xMTMsMHYyOC45OUE3LjU2NDgsNy41NjQ4LDAsMCwxLDM5LjAwMzYsNzEuOTcyNlptMC00MS45MDRhNS4zNjQ3LDUuMzY0NywwLDAsMC01LjM1OTMsNS4zNTgydjI4Ljk5YTUuMzU4Nyw1LjM1ODcsMCwwLDAsMTAuNzE3NCwwdi0yOC45OUE1LjM2NDUsNS4zNjQ1LDAsMCwwLDM5LjAwMzYsMzAuMDY4NloiIGZpbHRlcj0idXJsKCNmMSkiLz48cGF0aCBjbGFzcz0icmVjdCIgZD0iTTYwLjg0LDcxLjk3MjZhNy41NjQ4LDcuNTY0OCwwLDAsMS03LjU1Ni03LjU1NnYtMjguOTlhNy41NTY1LDcuNTU2NSwwLDAsMSwxNS4xMTMsMHYyOC45OUE3LjU2NSw3LjU2NSwwLDAsMSw2MC44NCw3MS45NzI2Wm0wLTQxLjkwNGE1LjM2NDUsNS4zNjQ1LDAsMCwwLTUuMzU4Miw1LjM1ODJ2MjguOTlhNS4zNTg3LDUuMzU4NywwLDAsMCwxMC43MTc0LDB2LTI4Ljk5QTUuMzY0Nyw1LjM2NDcsMCwwLDAsNjAuODQsMzAuMDY4NloiIGZpbHRlcj0idXJsKCNmMSkiLz48L2c+PC9zdmc+Cg==","base64"),g=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utcm91bmRlZC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30ucmVjdHtmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGF1c2Utcm91bmRlZC1maWxsPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxnIGNsYXNzPSJjb250cm9sYnV0dG9uIiBmaWx0ZXI9InVybCgjZjEpIj48cmVjdCBjbGFzcz0icmVjdCIgeD0iMzEuODQ0IiB5PSIyOC4xMjMxIiB3aWR0aD0iMTMuNDM2MiIgaGVpZ2h0PSI0My41OTczIiByeD0iNi43MTgxIiByeT0iNi43MTgxIi8+PHJlY3QgY2xhc3M9InJlY3QiIHg9IjU0LjU2MzgiIHk9IjI4LjEyMzEiIHdpZHRoPSIxMy40MzYyIiBoZWlnaHQ9IjQzLjU5NzMiIHJ4PSI2LjcxODEiIHJ5PSI2LjcxODEiLz48L2c+PC9zdmc+Cg==","base64"),m=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utc2hhcnAtZmlsbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PGRlZnM+PHN0eWxlPi5mcC1jb2xvci1wbGF5e29wYWNpdHk6MC42NTt9LnJlY3R7ZmlsbDojZmZmO308L3N0eWxlPgo8L2RlZnM+PHRpdGxlPnBhdXNlLXNoYXJwLWZpbGw8L3RpdGxlPjxwYXRoIGNsYXNzPSJmcC1jb2xvci1wbGF5IiBkPSJNNDkuOTIxNy0uMDc4YTUwLDUwLDAsMSwwLDUwLDUwQTUwLjA1NjQsNTAuMDU2NCwwLDAsMCw0OS45MjE3LS4wNzhaIi8+PGcgY2xhc3M9ImNvbnRyb2xidXR0b24iIGZpbHRlcj0idXJsKCNmMSkiPjxyZWN0IGNsYXNzPSJyZWN0IiB4PSIzMy41IiB5PSIzMC4xMDQyIiB3aWR0aD0iMTIuMjYzNCIgaGVpZ2h0PSIzOS43OTE3Ii8+PHJlY3QgY2xhc3M9InJlY3QiIHg9IjU0LjIzNjYiIHk9IjMwLjEwNDIiIHdpZHRoPSIxMi4yNjM0IiBoZWlnaHQ9IjM5Ljc5MTciLz48L2c+PC9zdmc+Cg==","base64"),v=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utc2hhcnAtb3V0bGluZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTkuODQzNCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30ucmVjdHtmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGF1c2Utc2hhcnAtb3V0bGluZTwvdGl0bGU+PHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjEyLS4wNzgzYTUwLDUwLDAsMSwwLDUwLjAwMDYsNTBBNTAuMDU2Miw1MC4wNTYyLDAsMCwwLDQ5LjkyMTItLjA3ODNaIi8+PGcgY2xhc3M9ImNvbnRyb2xidXR0b24iIGZpbHRlcj0idXJsKCNmMSkiPjxwYXRoIGNsYXNzPSJyZWN0IiBkPSJNNDYuODcwOSw2OS45NTMxSDMzLjEzODVWMjkuODlINDYuODcwOVpNMzUuMTQxNiw2Ny45NWg5LjcyNjJWMzEuODkzNUgzNS4xNDE2WiIvPjxwYXRoIGNsYXNzPSJyZWN0IiBkPSJNNjYuNzA0Nyw2OS45NTMxSDUyLjk3MjJWMjkuODlINjYuNzA0N1pNNTQuOTc1NCw2Ny45NWg5LjcyNjJWMzEuODkzNUg1NC45NzU0WiIvPjwvZz48L3N2Zz4K","base64"),y=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1yb3VuZGVkLW91dGxpbmUiIHdpZHRoPScxMTJweCcgaGVpZ2h0PScxMTJweCcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPgogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9Ijc2IiBoZWlnaHQ9Ijc2IiBmaWxsPSJyZ2JhKDAsMCwwLDApIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgMjUpIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuMHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC4wcyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCAyNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZSIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjRzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDUwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDAsMCwwLC41KSIgc3Ryb2tlLXdpZHRoPSIzJSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ic3Ryb2tlIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgNTApIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjEuMnMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMS4ycyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgo8L3N2Zz4K","base64"),w=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1yb3VuZGVkLWZpbGwiIHdpZHRoPScxMTJweCcgaGVpZ2h0PScxMTJweCcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPgogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9Ijc2IiBoZWlnaHQ9Ijc2IiBmaWxsPSJyZ2JhKDAsMCwwLDApIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgMjUpIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC4wcyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjBzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDI1KSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuNHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC40cyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCA1MCkiIGZpbGw9InJnYmEoMCwwLDAsLjUpIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgNTApIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMS4ycyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIxLjJzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+Cjwvc3ZnPgo=","base64"),b=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1zaGFycC1maWxsIiB3aWR0aD0nMTEycHgnIGhlaWdodD0nMTEycHgnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNzYiIGhlaWdodD0iNzYiIGZpbGw9InJnYmEoMCwwLDAsMCkiIGNsYXNzPSJiayI+PC9yZWN0PgogIDxyZWN0IHg9Ii0xMCIgeT0iLTEwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1IDI1KSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjBzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjBzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMTAiIHk9Ii0xMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCAyNSkiIGZpbGw9InJnYmEoMCwwLDAsLjUpIiBjbGFzcz0ic3EiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC40cyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iLTEwIiB5PSItMTAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuOHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgogIDxyZWN0IHg9Ii0xMCIgeT0iLTEwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1IDUwKSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIxLjJzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIxLjJzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KPC9zdmc+Cg==","base64"),I=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1zaGFycC1vdXRsaW5lIiB3aWR0aD0nMTEycHgnIGhlaWdodD0nMTEycHgnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNzYiIGhlaWdodD0iNzYiIGZpbGw9InJnYmEoMCwwLDAsMCkiIGNsYXNzPSJiayI+PC9yZWN0PgogIDxyZWN0IHg9Ii05IiB5PSItOSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNSAyNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuMHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC4wcyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iLTkiIHk9Ii05IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDI1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDAsMCwwLC41KSIgc3Ryb2tlLXdpZHRoPSIzJSIgY2xhc3M9InNxIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZSIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjRzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KICA8cmVjdCB4PSItOSIgeT0iLTkiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ic3Ryb2tlIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgogIDxyZWN0IHg9Ii05IiB5PSItOSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNSA1MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjEuMnMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMS4ycyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+Cjwvc3ZnPgo=","base64");o(function(e,t){function r(e){return a.find(".fp-"+e,t)[0]}function M(e){a.css(T,"padding-top",100*e+"%"),D.inlineBlock||a.height(a.find("object",t)[0],a.height(t))}function C(e){e?(a.addClass(t,"is-mouseover"),a.removeClass(t,"is-mouseout")):(a.addClass(t,"is-mouseout"),a.removeClass(t,"is-mouseover"))}a.find(".fp-filters").forEach(a.removeNode);try{var A;document.body.appendChild(A=a.createElement("div",{},n("PHN2ZyBjbGFzcz0iZnAtZmlsdGVycyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIgaWQ9ImYxIiB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIj4KICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNlQWxwaGEiIGR4PSIwIiBkeT0iMCIgLz4KICAgICAgPGZlQ29sb3JNYXRyaXggcmVzdWx0PSJtYXRyaXhPdXQiIGluPSJvZmZPdXQiIHR5cGU9Im1hdHJpeCIKICAgICAgdmFsdWVzPSIwLjMgMCAwIDAgMCAwIDAuMyAwIDAgMCAwIDAgMC4zIDAgMCAwIDAgMCAwLjQgMCIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgaW49Im1hdHJpeE91dCIgc3RkRGV2aWF0aW9uPSI0IiAvPgogICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJibHVyT3V0IiBtb2RlPSJub3JtYWwiIC8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+Cjwvc3ZnPgo=","base64"))),a.css(A,{width:0,height:0,overflow:"hidden",position:"absolute",margin:0,padding:0})}catch(S){}var E,j=e.conf,D=o.support;a.find(".fp-ratio,.fp-ui",t).forEach(a.removeNode),a.addClass(t,"flowplayer"),t.appendChild(a.createElement("div",{className:"fp-ratio"}));var N=a.createElement("div",{className:"fp-ui"},' <div class="fp-waiting"> {{ LOADING_SHARP_OUTLINE }} {{ LOADING_SHARP_FILL }} {{ LOADING_ROUNDED_FILL }} {{ LOADING_ROUNDED_OUTLINE }} </div> <div class="fp-header"> <a class="fp-share fp-icon"></a> <a class="fp-fullscreen fp-icon"></a> <a class="fp-unload fp-icon"></a> </div> <p class="fp-speed-flash"></p> <div class="fp-play fp-visible"> <a class="fp-icon fp-playbtn"></a> {{ PLAY_ROUNDED_FILL }} {{ PLAY_ROUNDED_OUTLINE }} {{ PLAY_SHARP_FILL }} {{ PLAY_SHARP_OUTLINE }} </div> <div class="fp-pause"> <a class="fp-icon fp-playbtn"></a> {{ PAUSE_SHARP_OUTLINE }} {{ PAUSE_SHARP_FILL }} {{ PAUSE_ROUNDED_OUTLINE }} {{ PAUSE_ROUNDED_FILL }} </div> <div class="fp-controls"> <a class="fp-icon fp-playbtn"></a> <span class="fp-elapsed">00:00</span> <div class="fp-timeline fp-bar"> <span class="fp-timestamp"></span> <div class="fp-progress fp-color"></div> </div> <span class="fp-duration"></span> <span class="fp-remaining"></span> <div class="fp-volume"> <a class="fp-icon fp-volumebtn"></a> <div class="fp-volumebar fp-bar-slider"> <em></em><em></em><em></em><em></em><em></em><em></em><em></em> </div> </div> <strong class="fp-speed fp-hidden"></strong> </div>'.replace("{{ PAUSE_ROUNDED_FILL }}",g).replace("{{ PAUSE_ROUNDED_OUTLINE }}",h).replace("{{ PAUSE_SHARP_FILL }}",m).replace("{{ PAUSE_SHARP_OUTLINE }}",v).replace("{{ PLAY_SHARP_OUTLINE }}",p).replace("{{ PLAY_SHARP_FILL }}",d).replace("{{ PLAY_ROUNDED_OUTLINE }}",c).replace("{{ PLAY_ROUNDED_FILL }}",f).replace("{{ LOADING_ROUNDED_OUTLINE }}",y).replace("{{ LOADING_ROUNDED_FILL }}",w).replace("{{ LOADING_SHARP_FILL }}",b).replace("{{ LOADING_SHARP_OUTLINE }}",I).replace(/url\(#/g,"url("+window.location.href.replace(window.location.hash,"").replace(/\#$/g,"")+"#"));t.appendChild(N);var x=r("waiting"),L=r("elapsed"),T=r("ratio"),Z=r("speed-flash"),P=r("duration"),k=r("remaining"),Y=r("timestamp"),z=a.css(T,"padding-top"),O=r("play"),G=r("pause"),R=r("timeline"),W=l(R,e.rtl),U=r("fullscreen"),J=r("volumebar"),B=u(J,{rtl:e.rtl}),F=a.hasClass(t,"no-toggle");W.disableAnimation(a.hasClass(t,"is-touch")),e.sliders=e.sliders||{},e.sliders.timeline=W,e.sliders.volume=B;var H=[];D.svg||a.html(x,"<p>loading …</p>"),j.ratio&&M(j.ratio);try{j.fullscreen||a.removeNode(U)}catch(S){a.removeNode(U)}e.on("dvrwindow",function(){W.disable(!1)}),e.on("ready",function(e,n,r){var o=n.video.duration;W.disable(n.disabled||!o),j.adaptiveRatio&&!isNaN(r.height/r.width)&&M(r.height/r.width,!0),a.html([P,k],n.live?"Live":i(o)),a.toggleClass(t,"is-long",o>=3600),B.slide(n.volumeLevel),"flash"===n.engine.engineName?W.disableAnimation(!0,!0):W.disableAnimation(!1),a.find(".fp-title",N).forEach(a.removeNode),r.title&&a.prepend(N,a.createElement("div",{className:"fp-message fp-title"},r.title)),a.toggleClass(t,"has-title",!!r.title)}).on("unload",function(){z||j.splash||a.css(T,"paddingTop",""),W.slide(0),a.addClass(O,"fp-visible")}).on("buffer",function(e,t,n){var r=t.video,i=r.buffer/r.duration;!r.seekable&&D.seekable&&W.max(t.conf.live?1/0:i),n&&"number"!=typeof n||(n=[{start:0,end:r.buffer}]);var o=a.find(".fp-buffer",R);o.length!==n.length&&(o.forEach(a.removeNode),o=[]),n.forEach(function(e,t){var n=o[t]||a.createElement("div",{className:"fp-buffer"});a.css(n,{left:100*e.start/r.duration+"%",width:100*(e.end-e.start)/r.duration+"%"}),a.prepend(R,n)})}).on("speed",function(e,t,n){t.video.time&&(a.text(Z,n+"x"),a.addClass(Z,"fp-shown"),H=H.filter(function(e){return clearTimeout(e),!1}),H.push(setTimeout(function(){a.addClass(Z,"fp-hilite"),H.push(setTimeout(function(){a.removeClass(Z,"fp-hilite"),H.push(setTimeout(function(){a.removeClass(Z,"fp-shown")},300))},1e3))})))}).on("buffered",function(){W.max(1)}).on("progress seek",function(n,r,o){var s=e.video.duration,l=e.video.seekOffset||0;o=o||e.video.time;var u=(o-l)/(s-l);W.dragging||W.slide(u,e.seeking?0:250),a.toggleClass(t,"is-live-position",s-o<j.livePositionOffset),a.html(L,i(o)),a.html(k,i(s-o,!0))}).on("finish resume seek",function(e){a.toggleClass(t,"is-finished","finish"==e.type)}).on("resume",function(){a.addClass(O,"fp-visible"),setTimeout(function(){a.removeClass(O,"fp-visible")},300)}).on("pause",function(){a.addClass(G,"fp-visible"),setTimeout(function(){a.removeClass(G,"fp-visible")},300)}).on("stop",function(){a.html(L,i(0)),W.slide(0,100)}).on("finish",function(){a.html(L,i(e.video.duration)),W.slide(1,100),a.removeClass(t,"is-seeking")}).on("beforeseek",function(){}).on("volume",function(){B.slide(e.volumeLevel)}).on("disable",function(){var n=e.disabled;W.disable(n),B.disable(n),a.toggleClass(t,"is-disabled",e.disabled)}).on("mute",function(e,n,r){a.toggleClass(t,"is-muted",r)}).on("error",function(e,n,r){if(a.removeClass(t,"is-loading"),a.removeClass(t,"is-seeking"),a.addClass(t,"is-error"),r){n.error=!0;var i=r.code;(r.message||"").match(/DECODER_ERROR_NOT_SUPPORTED/)&&(i=3);var o=n.message((n.engine&&n.engine.engineName||"html5")+": "+j.errors[i]);a.removeClass(t,"is-mouseover"),n.one("load progress",function(){o()})}}).one("resume ready",function(){var e=a.find("video.fp-engine",t)[0];if(e&&(!a.width(e)||!a.height(e))){var n=t.style.overflow;t.style.overflow="visible",setTimeout(function(){n?t.style.overflow=n:t.style.removeProperty("overflow")})}}),s.on(t,"mouseenter mouseleave",function(n){if(!F){var r,i="mouseover"==n.type;if(C(i),i){var o=function(){C(!0),r=new Date};e.on("pause.x volume.x",o),s.on(t,"mousemove.x",o),E=setInterval(function(){new Date-r>j.mouseoutTimeout&&(C(!1),r=new Date)},100)}else s.off(t,"mousemove.x"),e.off("pause.x volume.x"),clearInterval(E)}}),s.on(t,"mouseleave",function(){(W.dragging||B.dragging)&&(a.addClass(t,"is-mouseover"),a.removeClass(t,"is-mouseout"))}),s.on(t,"click.player",function(t){return e.disabled?void 0:a.hasClass(t.target,"fp-ui")||a.hasClass(t.target,"fp-engine")||t.flash||a.hasParent(t.target,".fp-play,.fp-pause")?(t.preventDefault&&t.preventDefault(),e.toggle()):void 0}),s.on(t,"mousemove",".fp-timeline",function(t){var n=t.pageX||t.clientX,r=n-a.offset(R).left,o=r/a.width(R),s=e.video,l=s.duration-(void 0===s.seekOffset?0:s.seekOffset),u=(e.rtl?1-o:o)*l;if(!(0>o)){a.html(Y,i(u));var c=r-a.width(Y)/2;0>c&&(c=0),c>a.width(R)-a.width(Y)&&(c=!1),c!==!1?a.css(Y,{left:c+"px",right:"auto"}):a.css(Y,{left:"auto",right:"0px"})}}),s.on(t,"contextmenu",function(n){var r=window;if(!a.hasClass(t,"is-flash-disabled")){var i=a.find(".fp-context-menu",t)[0];i&&(n.preventDefault(),e.showMenu(i,{left:n.clientX-r.scrollX,top:n.clientY-r.scrollY}),s.on(t,"click",".fp-context-menu",function(e){e.stopPropagation()}))}}),e.on("flashdisabled",function(n,r,i){a.addClass(t,"is-flash-disabled");var o;i!==!1&&(o=e.message("Seems something is blocking Adobe Flash from running")),e.one("ready progress",function(){a.removeClass(t,"is-flash-disabled"),o&&o()})}),j.poster&&a.css(t,"background-image","url("+j.poster+")");var V=a.css(t,"background-color"),X="none"!=a.css(t,"background-image")||V&&"rgba(0, 0, 0, 0)"!=V&&"transparent"!=V;if(X&&!j.splash){j.poster||(j.poster=!0);var _=function(){a.addClass(t,"is-poster"),a.addClass(O,"fp-visible"),e.poster=!0,e.on("resume.poster progress.poster beforeseek.poster",function(n){("beforeseek"===n.type||e.playing)&&(a.removeClass(t,"is-poster"),a.removeClass(O,"fp-visible"),e.poster=!1,e.off(".poster"))})};e.on("stop",function(){_()}),e.on("ready",function(e,t,n){n.index||n.autoplay||_()})}"string"==typeof j.splash&&a.css(t,"background-image","url('"+j.splash+"')"),!X&&e.forcedSplash&&a.css(t,"background-color","#555"),s.on(t,"click",".fp-toggle, .fp-play, .fp-playbtn",function(){e.disabled||e.toggle()}),s.on(t,"click",".fp-volumebtn",function(){e.mute()}),s.on(t,"click",".fp-fullscreen",function(){e.fullscreen()}),s.on(t,"click",".fp-unload",function(){e.unload()}),s.on(R,"slide",function(t){e.seeking=!0,e.seekTo(10*t)}),s.on(J,"slide",function(t){e.volume(t)}),s.on(t,"click",".fp-duration,.fp-remaining",function(){return e.dvr?e.seekTo(10):void a.toggleClass(t,"is-inverted")}),C(F);var K;if(e.on("shutdown",function(){s.off(R),s.off(J),K&&window.cancelAnimationFrame(K),a.removeNode(N),a.find(".fp-ratio",t).forEach(a.removeNode)}),"functionDISABLED-FOR-PERFORMANCE-REASONS"==typeof window.requestAnimationFrame){var Q=a.find(".fp-player",t)[0]||t,q=function(){a.toggleClass(t,"is-tiny",Q.clientWidth<400),a.toggleClass(t,"is-small",Q.clientWidth<600&&Q.clientWidth>=400),K=window.requestAnimationFrame(q)};K=window.requestAnimationFrame(q)}}),t.exports.format=i}).call(this,e("buffer").Buffer)},{"../common":1,"../flowplayer":31,"./ui/bar-slider":28,"./ui/slider":29,bean:34,buffer:35}],28:[function(e,t,n){function r(e,t){function n(t){var n=t.pageX||t.clientX,r=o.offset(e),i=o.width(e);!n&&t.originalEvent&&t.originalEvent.touches&&t.originalEvent.touches.length&&(n=t.originalEvent.touches[0].pageX);var a=n-r.left;a=Math.max(0,Math.min(i,a));var s=a/i;return l&&(s=1-s),s}t=t||{};var r=t.activeClass||"fp-color",a=t.inactiveClass||"fp-grey",s=t.childSelector||"em",l=!!t.rtl,u=!1,c=o.find(s,e).length,f={unload:function(){i.off(e,".barslider")},slide:function(t,n){o.find(s,e).forEach(function(e,n){var i=t>n/c;o.toggleClass(e,r,i),o.toggleClass(e,a,!i)}),n&&i.fire(e,"slide",[t])},disable:function(e){u=e}};return i.on(e,"mousedown.sld touchstart.sld",function(t){t.preventDefault(),u||(f.slide(n(t),!0),i.on(flowplayer.support.touch?e:document,"mousemove.sld touchmove.sld",function(e){e.preventDefault(),f.slide(n(e),!0)}),i.one(document,"mouseup.sld touchup.sld",function(){i.off(flowplayer.support.touch?e:document,"mousemove.sld touchmove.sld")}))}),f}var i=e("bean"),o=e("../../common");t.exports=r},{"../../common":1,bean:34}],29:[function(e,t,n){"use strict";var r=e("bean"),i=e("../../common"),o=function(e,t){var n;return function(){n||(e.apply(this,arguments),n=1,setTimeout(function(){n=0},t))}},a=function(e,t){var n,a,s,l,u,c,f,d,p=i.lastChild(e),h=!1,g=function(){a=i.offset(e),s=i.width(e),l=i.height(e),c=u?l:s,d=w(f)},m=function(t){n||t==b.value||f&&!(f>t)||(r.fire(e,"slide",[t]),b.value=t)},v=function(e){var n=e.pageX||e.clientX;!n&&e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length&&(n=e.originalEvent.touches[0].pageX);var r=u?e.pageY-a.top:n-a.left;r=Math.max(0,Math.min(d||c,r));var i=r/c;return u&&(i=1-i),t&&(i=1-i),y(i,0,!0)},y=function(e,t){void 0===t&&(t=0),e>1&&(e=1);var n=Math.round(1e3*e)/10+"%";return(!f||f>=e)&&(h?i.removeClass(p,"animated"):(i.addClass(p,"animated"),i.css(p,"transition-duration",(t||0)+"ms")),i.css(p,"width",n)),e},w=function(e){return Math.max(0,Math.min(c,u?(1-e)*l:e*s))},b={max:function(e){f=e},disable:function(e){n=e},slide:function(e,t,n){g(),n&&m(e),y(e,t)},disableAnimation:function(t,n){h=t!==!1,i.toggleClass(e,"no-animation",!!n)}};return g(),r.on(e,"mousedown.sld touchstart",function(t){if(t.preventDefault(),!n){var a=o(m,100);g(),b.dragging=!0,i.addClass(e,"is-dragging"),m(v(t)),r.on(document,"mousemove.sld touchmove.sld",function(e){e.preventDefault(),a(v(e))}),r.one(document,"mouseup touchend",function(){b.dragging=!1,i.removeClass(e,"is-dragging"),r.off(document,"mousemove.sld touchmove.sld")})}}),b};t.exports=a},{"../../common":1,bean:34}],30:[function(e,t,n){function r(e){var t=document.createElement("textarea");t.value=e,t.style.opacity=0,t.style.position="absolute",document.body.appendChild(t),t.select();var n=document.execCommand("copy");if(document.body.removeChild(t),!n)throw new Error("Unsuccessfull")}t.exports=function(e,t,n){try{r(e),t()}catch(i){n(i)}}},{}],31:[function(e,t,n){"use strict";function r(e,t,n){t&&t.embed&&(t.embed=i({},v.defaults.embed,t.embed));var r=!1;try{"undefined"==typeof v.conf.storage&&"object"==typeof window.localStorage&&(window.localStorage.flowplayerTestStorage="test",r=!0)}catch(s){}var l,p,h=e,g=i({},v.defaults,v.conf,t),m={},b=h.className,I=new w;u.addClass(h,"is-loading"),u.toggleClass(h,"no-flex",!v.support.flex),u.toggleClass(h,"no-svg",!v.support.svg);try{m=v.conf.storage||(r?window.localStorage:m)}catch(M){}if(g.volume="true"===m.muted?0:g.volume!==v.defaults.volume?g.volume:isNaN(m.volume)?g.volume:m.volume,g.debug=!!m.flowplayerDebug||g.debug,g.aspectRatio&&"string"==typeof g.aspectRatio){var C=g.aspectRatio.split(/[:\/]/);g.ratio=C[1]/C[0]}var A=h.currentStyle&&"rtl"===h.currentStyle.direction||window.getComputedStyle&&null!==window.getComputedStyle(h,null)&&"rtl"===window.getComputedStyle(h,null).getPropertyValue("direction");A&&u.addClass(h,"is-rtl");var S={conf:g,currentSpeed:1,volumeLevel:g.muted?0:"undefined"==typeof g.volume?1*m.volume:g.volume,video:{},disabled:!1,finished:!1,loading:!1,muted:"true"==m.muted||g.muted,paused:!1,playing:!1,ready:!1,splash:!1,rtl:A,hijack:function(e){try{S.engine.suspendEngine()}catch(t){}S.hijacked=e},release:function(){try{S.engine.resumeEngine()}catch(e){}S.hijacked=!1},debug:function(){g.debug&&console.log.apply(console,["DEBUG"].concat([].slice.call(arguments)))},load:function(e,t){if(!S.error&&!S.loading){S.video={},S.finished=!1,e=e||g.clip,e=i({},I.resolve(e,g.clip.sources)),(S.playing||S.engine)&&(e.autoplay=!0);var n=E(e);if(!n)return setTimeout(function(){S.trigger("error",[S,{code:v.support.flashVideo?5:10}])})&&S;if(!n.engineName)throw new Error("engineName property of factory should be exposed");if(S.engine&&n.engineName===S.engine.engineName||(S.ready=!1,S.engine&&(S.engine.unload(),S.conf.autoplay=!0),p=S.engine=n(S,h),S.one("ready",function(){setTimeout(function(){S.muted?S.mute(!0,!0):p.volume(S.volumeLevel)})})),i(e,p.pick(e.sources.filter(function(e){return e.engine?e.engine===p.engineName:!0}))),e.src){var r=S.trigger("load",[S,e,p],!0);r.defaultPrevented?S.loading=!1:(S.ready=!1,p.load(e),o(e)&&(t=e),t&&S.one("ready",t))}return S}},pause:function(e){return S.hijacked?S.hijacked.pause(e)|S:(!S.ready||S.seeking||S.loading||(p.pause(),S.one("pause",e)),S)},resume:function(){var e=S.trigger("beforeresume",[S],!0);if(!e.defaultPrevented)return S.hijacked?S.hijacked.resume()|S:(S.ready&&S.paused&&(p.resume(),S.finished&&(S.trigger("resume",[S]),S.finished=!1)),S)},toggle:function(){return S.ready?S.paused?S.resume():S.pause():S.load()},seek:function(e,t){if("boolean"==typeof e){var n=S.conf.seekStep||.1*S.video.duration;e=S.video.time+(e?n:-n),e=Math.min(Math.max(e,0),S.video.duration-.1)}if("undefined"==typeof e)return S;if(S.hijacked)return S.hijacked.seek(e,t)|S;if(S.ready){l=e;var r=S.trigger("beforeseek",[S,e],!0);r.defaultPrevented?(S.seeking=!1,u.toggleClass(h,"is-seeking",S.seeking)):(p.seek(e),o(t)&&S.one("seek",t))}return S},seekTo:function(e,t){return void 0===e?S.seek(l,t):void 0!==S.video.seekOffset?S.seek(S.video.seekOffset+.1*(S.video.duration-S.video.seekOffset)*e,t):S.seek(.1*S.video.duration*e,t)},mute:function(e,t){return void 0===e&&(e=!S.muted),S.muted=e,t||(m.muted=e,m.volume=isNaN(m.volume)?g.volume:m.volume),"undefined"!=typeof p.mute?p.mute(e):(S.volume(e?0:m.volume,!0),S.trigger("mute",[S,e])),S},volume:function(e,t){return S.ready&&(e=Math.min(Math.max(e,0),1),t||(m.volume=e),p.volume(e)),S},speed:function(e,t){return S.ready&&("boolean"==typeof e&&(e=g.speeds[g.speeds.indexOf(S.currentSpeed)+(e?1:-1)]||S.currentSpeed),p.speed(e),t&&h.one("speed",t)),S},stop:function(){return S.ready&&(S.pause(),!S.live||S.dvr?S.seek(0,function(){S.trigger("stop",[S])}):S.trigger("stop",[S])),S},unload:function(){return g.splash?(S.trigger("unload",[S]),p&&(p.unload(),S.engine=p=0)):S.stop(),S},shutdown:function(){S.unload(),S.trigger("shutdown",[S]),a.off(h),delete f[h.getAttribute("data-flowplayer-instance-id")],h.removeAttribute("data-flowplayer-instance-id")},disable:function(e){return void 0===e&&(e=!S.disabled),e!=S.disabled&&(S.disabled=e,S.trigger("disable",e)),S},registerExtension:function(e,t){e=e||[],t=t||[],"string"==typeof e&&(e=[e]),"string"==typeof t&&(t=[t]),e.forEach(function(e){S.extensions.js.push(e)}),t.forEach(function(e){S.extensions.css.push(e)})}};S.conf=i(S.conf,g),S.extensions={js:[],css:[]},v.extensions.forEach(function(e){S.registerExtension(e[0],e[1])}),c(S);var E=function(e){var t,n=v.engines;if(g.engine){var r=n.filter(function(e){return e.engineName===g.engine})[0];if(r&&e.sources.some(function(e){return e.engine&&e.engine!==r.engineName?!1:r.canPlay(e.type,S.conf)}))return r}return g.enginePreference&&(n=v.engines.filter(function(e){return g.enginePreference.indexOf(e.engineName)>-1}).sort(function(e,t){return g.enginePreference.indexOf(e.engineName)-g.enginePreference.indexOf(t.engineName)})),e.sources.some(function(e){var r=n.filter(function(t){return e.engine&&e.engine!==t.engineName?!1:t.canPlay(e.type,S.conf)}).shift();return r&&(t=r),!!r}),t};return h.getAttribute("data-flowplayer-instance-id")||(h.setAttribute("data-flowplayer-instance-id",y++),S.on("boot",function(){var e=v.support;(g.splash||u.hasClass(h,"is-splash")||!e.firstframe)&&(S.forcedSplash=!g.splash&&!u.hasClass(h,"is-splash"),S.splash=!0,g.splash||(g.splash=!0),u.addClass(h,"is-splash")),g.splash&&u.find("video",h).forEach(u.removeNode),(g.dvr||g.live||u.hasClass(h,"is-live"))&&(S.live=g.live=!0,S.dvr=g.dvr=!!g.dvr||u.hasClass(h,"is-dvr"),u.addClass(h,"is-live"),u.toggleClass(h,"is-dvr",S.dvr)),d.forEach(function(e){e(S,h)}),f.push(S),g.splash?S.unload():S.load(),g.disabled&&S.disable(),S.one("ready",n),S.one("shutdown",function(){h.className=b})}).on("load",function(e,t,n){g.splash&&u.find(".flowplayer.is-ready,.flowplayer.is-loading").forEach(function(e){var t=e.getAttribute("data-flowplayer-instance-id");if(t!==h.getAttribute("data-flowplayer-instance-id")){var n=f[Number(t)];n&&n.conf.splash&&n.unload()}}),u.addClass(h,"is-loading"),t.loading=!0,("undefined"!=typeof n.live||"undefined"!=typeof n.dvr)&&(u.toggleClass(h,"is-live",n.dvr||n.live),u.toggleClass(h,"is-dvr",!!n.dvr),t.live=n.dvr||n.live,t.dvr=!!n.dvr)}).on("ready",function(e,t,n){n.time=0,t.video=n,u.removeClass(h,"is-loading"),t.loading=!1,t.muted?t.mute(!0,!0):t.volume(t.volumeLevel);var r=t.conf.hlsFix&&/mpegurl/i.exec(n.type);u.toggleClass(h,"hls-fix",!!r)}).on("unload",function(){u.removeClass(h,"is-loading"),S.loading=!1}).on("ready unload",function(e){var t="ready"==e.type;u.toggleClass(h,"is-splash",!t),u.toggleClass(h,"is-ready",t),S.ready=t,S.splash=!t}).on("progress",function(e,t,n){t.video.time=n}).on("buffer",function(e,t,n){t.video.buffer="number"==typeof n?n:n.length?n[n.length-1].end:0}).on("speed",function(e,t,n){t.currentSpeed=n}).on("volume",function(e,t,n){t.volumeLevel=Math.round(100*n)/100,t.muted&&n&&t.mute(!1)}).on("beforeseek seek",function(e){S.seeking="beforeseek"==e.type,u.toggleClass(h,"is-seeking",S.seeking)}).on("ready pause resume unload finish stop",function(e){S.paused=/pause|finish|unload|stop/.test(e.type),S.paused=S.paused||"ready"===e.type&&!g.autoplay&&!S.playing,S.playing=!S.paused,u.toggleClass(h,"is-paused",S.paused),u.toggleClass(h,"is-playing",S.playing),S.load.ed||S.pause()}).on("finish",function(){S.finished=!0}).on("error",function(){})),S.trigger("boot",[S,h]),S}var i=e("extend-object"),o=e("is-function"),a=e("bean"),s=e("./ext/ui/slider"),l=e("./ext/ui/bar-slider"),u=e("./common"),c=e("./ext/events"),f=[],d=[],p=window.onbeforeunload;window.onbeforeunload=function(e){return f.forEach(function(e){e.conf.splash?e.unload():e.bind("error",function(){u.find(".flowplayer.is-error .fp-message").forEach(u.removeNode)})}),p?p(e):void 0};var h=/Safari/.exec(navigator.userAgent)&&!/Chrome/.exec(navigator.userAgent),g=/(\d+\.\d+) Safari/.exec(navigator.userAgent),m=g?Number(g[1]):100,v=t.exports=function(e,t,n){if(o(e))return d.push(e);if("number"==typeof e||"undefined"==typeof e)return f[e||0];if(e.nodeType){if(null!==e.getAttribute("data-flowplayer-instance-id"))return f[e.getAttribute("data-flowplayer-instance-id")];if(!t)return;return r(e,t,n)}if(e.jquery)return v(e[0],t,n);if("string"==typeof e){var i=u.find(e)[0];return i&&v(i,t,n)}};i(v,{version:"7.2.7",engines:[],engine:function(e){return v.engines.filter(function(t){return t.engineName===e})[0]},extensions:[],conf:{},set:function(e,t){"string"==typeof e?v.conf[e]=t:i(v.conf,e)},registerExtension:function(e,t){v.extensions.push([e,t])},support:{},defaults:{debug:!1,disabled:!1,fullscreen:window==window.top,keyboard:!0,ratio:9/16,adaptiveRatio:!1,rtmp:0,proxy:"best",hlsQualities:!0,seekStep:!1,splash:!1,live:!1,livePositionOffset:120,swf:"//releases.flowplayer.org/7.2.7/commercial/flowplayer.swf",swfHls:"//releases.flowplayer.org/7.2.7/commercial/flowplayerhls.swf",speeds:[.25,.5,1,1.5,2],tooltip:!0,mouseoutTimeout:5e3,mutedAutoplay:!0,clickToUnMute:!0,volume:1,errors:["","Video loading aborted","Network error","Video not properly encoded","Video file not found","Unsupported video","Skin not found","SWF file not found","Subtitles not found","Invalid RTMP URL","Unsupported video format. Try installing Adobe Flash."],errorUrls:["","","","","","","","","","","http://get.adobe.com/flashplayer/"],playlist:[],hlsFix:h&&8>m,disableInline:!1},bean:a,common:u,slider:s,barSlider:l,extend:i});var y=0,w=e("./ext/resolve");if("undefined"!=typeof window.jQuery){var b=window.jQuery;b(function(){"function"==typeof b.fn.flowplayer&&b('.flowplayer:has(video:not(.fp-engine),script[type="application/json"])').flowplayer()});var I=function(e){if(!e.length)return{};var t=e.data()||{},n={};return b.each(["autoplay","loop","preload","poster"],function(r,i){var o=e.attr(i);void 0!==o&&-1!==["autoplay","poster"].indexOf(i)?n[i]=o?o:!0:void 0!==o&&(t[i]=o?o:!0)}),e[0].autoplay=e[0].preload=!1,t.subtitles=e.find("track").map(function(){var e=b(this);return{src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label"),srclang:e.attr("srclang"),default:e.prop("default")}}).get(),t.sources=(new w).sourcesFromVideoTag(e,b),i(n,{clip:t})};b.fn.flowplayer=function(e,t){return this.each(function(){"string"==typeof e&&(e={swf:e}),o(e)&&(t=e,e={});var n=b(this),i=n.find('script[type="application/json"]'),a=i.length?JSON.parse(i.text()):I(n.find("video")),s=b.extend({},e||{},a,n.data()),l=r(this,s,t);c.EVENTS.forEach(function(e){l.on(e+".jquery",function(e){n.trigger.call(n,e.type,e.detail&&e.detail.args)})}),n.data("flowplayer",l)})}}},{"./common":1,"./ext/events":12,"./ext/resolve":21,"./ext/ui/bar-slider":28,"./ext/ui/slider":29,bean:34,"extend-object":39,"is-function":42}],32:[function(e,t,n){e("es5-shim");var r=t.exports=e("./flowplayer");e("./ext/support"),e("./engine/embed"),e("./engine/hlsjs"),e("./engine/html5"),e("./engine/flash"),e("./ext/ui"),e("./ext/message"),e("./ext/keyboard"),e("./ext/playlist"),e("./ext/cuepoint"),e("./ext/subtitle"),e("./ext/analytics"),e("./ext/share"),e("./ext/facebook"),e("./ext/twitter"),e("./ext/embed"),e("./ext/airplay"),e("./ext/chromecast"),e("./ext/qsel"),e("./ext/menu"),e("./ext/fullscreen"),e("./ext/mobile"),r(function(e,t){function n(e){var t=document.createElement("a");return t.href=e,u.hostname(t.hostname)}function i(e){var t="ab.ca,ac.ac,ac.ae,ac.at,ac.be,ac.cn,ac.il,ac.in,ac.jp,ac.kr,ac.sg,ac.th,ac.uk,ad.jp,adm.br,adv.br,ah.cn,am.br,arq.br,art.br,arts.ro,asn.au,asso.fr,asso.mc,bc.ca,bel.tr,bio.br,biz.pl,biz.tr,bj.cn,br.com,cn.com,cng.br,cnt.br,co.ac,co.at,co.de,co.gl,co.hk,co.id,co.il,co.in,co.jp,co.kr,co.mg,co.ms,co.nz,co.th,co.uk,co.ve,co.vi,co.za,com.ag,com.ai,com.ar,com.au,com.br,com.cn,com.co,com.cy,com.de,com.do,com.ec,com.es,com.fj,com.fr,com.gl,com.gt,com.hk,com.hr,com.hu,com.kg,com.ki,com.lc,com.mg,com.mm,com.ms,com.mt,com.mu,com.mx,com.my,com.na,com.nf,com.ng,com.ni,com.pa,com.ph,com.pl,com.pt,com.qa,com.ro,com.ru,com.sb,com.sc,com.sg,com.sv,com.tr,com.tw,com.ua,com.uy,com.ve,com.vn,cp.tz,cq.cn,de.com,de.org,ecn.br,ed.jp,edu.au,edu.cn,edu.hk,edu.mm,edu.my,edu.pl,edu.pt,edu.qa,edu.sg,edu.tr,edu.tw,eng.br,ernet.in,esp.br,etc.br,eti.br,eu.com,eu.int,eu.lv,firm.in,firm.ro,fm.br,fot.br,fst.br,g12.br,gb.com,gb.net,gd.cn,gen.in,go.jp,go.kr,go.th,gov.au,gov.az,gov.br,gov.cn,gov.il,gov.in,gov.mm,gov.my,gov.qa,gov.sg,gov.tr,gov.tw,gov.uk,govt.nz,gr.jp,gs.cn,gv.ac,gv.at,gx.cn,gz.cn,he.cn,hi.cn,hk.cn,hl.cn,hu.com,id.au,idv.tw,in.th,in.ua,ind.br,ind.in,inf.br,info.pl,info.ro,info.tr,info.ve,iwi.nz,jl.cn,jor.br,js.cn,jus.br,k12.il,k12.tr,kr.com,lel.br,lg.jp,ln.cn,ltd.uk,maori.nz,mb.ca,me.uk,med.br,mi.th,mil.br,mil.uk,mo.cn,mod.uk,muni.il,nb.ca,ne.jp,ne.kr,net.ag,net.ai,net.au,net.br,net.cn,net.do,net.gl,net.hk,net.il,net.in,net.kg,net.ki,net.lc,net.mg,net.mm,net.mu,net.ni,net.nz,net.pl,net.ru,net.sb,net.sc,net.sg,net.th,net.tr,net.tw,net.uk,net.ve,nf.ca,nhs.uk,nm.cn,nm.kr,no.com,nom.br,nom.ni,nom.ro,ns.ca,nt.ca,nt.ro,ntr.br,nx.cn,odo.br,off.ai,on.ca,or.ac,or.at,or.jp,or.kr,or.th,org.ag,org.ai,org.au,org.br,org.cn,org.do,org.es,org.gl,org.hk,org.in,org.kg,org.ki,org.lc,org.mg,org.mm,org.ms,org.nf,org.ng,org.ni,org.nz,org.pl,org.ro,org.ru,org.sb,org.sc,org.sg,org.tr,org.tw,org.uk,org.ve,pe.ca,plc.uk,police.uk,ppg.br,presse.fr,pro.br,psc.br,psi.br,qc.ca,qc.com,qh.cn,rec.br,rec.ro,res.in,sa.com,sc.cn,sch.uk,se.com,se.net,sh.cn,sk.ca,slg.br,sn.cn,store.ro,tj.cn,tm.fr,tm.mc,tm.ro,tmp.br,tur.br,tv.br,tv.tr,tw.cn,uk.com,uk.net,us.com,uy.com,vet.br,waw.pl,web.ve,www.ro,xj.cn,xz.cn,yk.ca,yn.cn,zj.cn,zlg.br".split(",");e=e.toLowerCase();var n=e.split("."),r=n.length;if(2>r||/^\d+$/.test(n[r-1]))return e;var i=n.slice(-2).join(".");return r>=3&&t.indexOf(i)>=0?n.slice(-3).join("."):i}function o(e,t){t=i(t);for(var n=0,r=t.length-1;r>=0;r--)n+=0x65cb98ae4ad1ec*t.charCodeAt(r);for(n=(""+n).substring(0,7),r=0;r<e.length;r++)if(n===e[r].substring(1,8))return 1}var a=function(e,t){var n=e.className.split(" ");-1===n.indexOf(t)&&(e.className+=" "+t)},s=function(e){return"none"!==window.getComputedStyle(e).display},l=e.conf,u=r.common,c=u.createElement,f=l.swf.indexOf("flowplayer.org")&&l.e&&t.getAttribute("data-origin"),d=f?n(f):u.hostname(),p=(document,l.key);if("file:"==location.protocol&&(d="localhost"),e.load.ed=1,l.hostname=d,l.origin=f||location.href,f&&a(t,"is-embedded"),"string"==typeof p&&(p=p.split(/,\s*/)),p&&"function"==typeof o&&o(p,d)){if(l.logo){var h=u.find(".fp-player",t)[0],g=l.logo.href||"",m=l.logo.src||l.logo,v=c("a",{className:"fp-logo",href:g});f&&(v.href=v.href||f),l.embed&&l.embed.popup&&(v.target="_blank");var y=c("img",{src:m});v.appendChild(y),(h||t).appendChild(v)}}else{var v=c("a",{onclick:""}),h=u.find(".fp-player",t)[0];(h||t).appendChild(v);var w=c("div",{className:"fp-context-menu fp-menu"},'<strong>© 2018 Flowplayer AB</strong><a href="https://flowplayer.com/hello/?from=player">About Flowplayer</a><a href="https://flowplayer.com/license">GPL based license</a>'),b=window.location.href.indexOf("localhost");7!==b&&(h||t).appendChild(w),e.on("pause resume finish unload ready",function(e,n){var r=-1;if(n.video.src)for(var i=[["org","flowplayer","drive"],["org","flowplayer","my"],["org","flowplayer","cdn"],["com","flowplayer","cdn"]],o=0;o<i.length&&(r=n.video.src.indexOf("://"+i[o].reverse().join(".")),-1===r);o++);if(/pause|resume/.test(e.type)&&"flash"!=n.engine.engineName&&4!=r&&5!=r){var a={display:"block",position:"absolute",left:"16px",bottom:"56px",zIndex:99999,width:"120px",height:"27px",backgroundImage:"url("+[".png","fplogo","/",".com","foliovision","//"].reverse().join("")+")"};for(var l in a)a.hasOwnProperty(l)&&(v.style[l]=a[l]);n.load.ed=s(v)&&(7===b||w.parentNode==t||w.parentNode==h),n.load.ed||n.pause()}else v.style.display="none"})}})},{"./engine/embed":2,"./engine/flash":3,"./engine/hlsjs":4,"./engine/html5":6,"./ext/airplay":7,"./ext/analytics":8,"./ext/chromecast":9,"./ext/cuepoint":10,"./ext/embed":11,"./ext/facebook":13,"./ext/fullscreen":14,"./ext/keyboard":15,"./ext/menu":16,"./ext/message":17,"./ext/mobile":18,"./ext/playlist":19,"./ext/qsel":20,"./ext/share":22,"./ext/subtitle":23,"./ext/support":25,"./ext/twitter":26,"./ext/ui":27,"./flowplayer":31,"es5-shim":38}],33:[function(e,t,n){"use strict";function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function i(e){var t=r(e),n=t[0],i=t[1];return 3*(n+i)/4-i}function o(e,t,n){return 3*(t+n)/4-n}function a(e){for(var t,n=r(e),i=n[0],a=n[1],s=new d(o(e,i,a)),l=0,u=a>0?i-4:i,c=0;u>c;c+=4)t=f[e.charCodeAt(c)]<<18|f[e.charCodeAt(c+1)]<<12|f[e.charCodeAt(c+2)]<<6|f[e.charCodeAt(c+3)],s[l++]=t>>16&255,s[l++]=t>>8&255,s[l++]=255&t;return 2===a&&(t=f[e.charCodeAt(c)]<<2|f[e.charCodeAt(c+1)]>>4,s[l++]=255&t),1===a&&(t=f[e.charCodeAt(c)]<<10|f[e.charCodeAt(c+1)]<<4|f[e.charCodeAt(c+2)]>>2,s[l++]=t>>8&255,s[l++]=255&t),s}function s(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function l(e,t,n){for(var r,i=[],o=t;n>o;o+=3)r=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),i.push(s(r));return i.join("")}function u(e){for(var t,n=e.length,r=n%3,i=[],o=16383,a=0,s=n-r;s>a;a+=o)i.push(l(e,a,a+o>s?s:a+o));return 1===r?(t=e[n-1],i.push(c[t>>2]+c[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],i.push(c[t>>10]+c[t>>4&63]+c[t<<2&63]+"=")),i.join("")}n.byteLength=i,n.toByteArray=a,n.fromByteArray=u;for(var c=[],f=[],d="undefined"!=typeof Uint8Array?Uint8Array:Array,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,g=p.length;g>h;++h)c[h]=p[h],f[p.charCodeAt(h)]=h;f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63},{}],34:[function(t,n,r){!function(t,r,i){"undefined"!=typeof n&&n.exports?n.exports=i():"function"==typeof e&&e.amd?e(i):r[t]=i()}("bean",this,function(e,t){e=e||"bean",t=t||this;var n,r=window,i=t[e],o=/[^\.]*(?=\..*)\.|.*/,a=/\..*/,s="addEventListener",l="removeEventListener",u=document||{},c=u.documentElement||{},f=c[s],d=f?s:"attachEvent",p={},h=Array.prototype.slice,g=function(e,t){return e.split(t||" ")},m=function(e){return"string"==typeof e},v=function(e){return"function"==typeof e},y="click dblclick mouseup mousedown contextmenu mousewheel mousemultiwheel DOMMouseScroll mouseover mouseout mousemove selectstart selectend keydown keypress keyup orientationchange focus blur change reset select submit load unload beforeunload resize move DOMContentLoaded readystatechange message error abort scroll ",w="show input invalid touchstart touchmove touchend touchcancel gesturestart gesturechange gestureend textinput readystatechange pageshow pagehide popstate hashchange offline online afterprint beforeprint dragstart dragenter dragover dragleave drag drop dragend loadstart progress suspend emptied stalled loadmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate play pause ratechange volumechange cuechange checking noupdate downloading cached updateready obsolete ",b=function(e,t,n){for(n=0;n<t.length;n++)t[n]&&(e[t[n]]=1);return e}({},g(y+(f?w:""))),I=function(){var e="compareDocumentPosition"in c?function(e,t){return t.compareDocumentPosition&&16===(16&t.compareDocumentPosition(e))}:"contains"in c?function(e,t){return t=9===t.nodeType||t===window?c:t,t!==e&&t.contains(e)}:function(e,t){for(;e=e.parentNode;)if(e===t)return 1;return 0},t=function(t){var n=t.relatedTarget;return n?n!==this&&"xul"!==n.prefix&&!/document/.test(this.toString())&&!e(n,this):null==n};return{mouseenter:{base:"mouseover",condition:t},mouseleave:{base:"mouseout",condition:t},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}}}(),M=function(){var e=g("altKey attrChange attrName bubbles cancelable ctrlKey currentTarget detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey srcElement target timeStamp type view which propertyName"),t=e.concat(g("button buttons clientX clientY dataTransfer fromElement offsetX offsetY pageX pageY screenX screenY toElement")),n=t.concat(g("wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ axis")),i=e.concat(g("char charCode key keyCode keyIdentifier keyLocation location")),o=e.concat(g("data")),a=e.concat(g("touches targetTouches changedTouches scale rotation")),s=e.concat(g("data origin source")),l=e.concat(g("state")),f=/over|out/,d=[{reg:/key/i,fix:function(e,t){return t.keyCode=e.keyCode||e.which,i}},{reg:/click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i,fix:function(e,n,r){return n.rightClick=3===e.which||2===e.button,n.pos={x:0,y:0},e.pageX||e.pageY?(n.clientX=e.pageX,n.clientY=e.pageY):(e.clientX||e.clientY)&&(n.clientX=e.clientX+u.body.scrollLeft+c.scrollLeft,n.clientY=e.clientY+u.body.scrollTop+c.scrollTop),f.test(r)&&(n.relatedTarget=e.relatedTarget||e[("mouseover"==r?"from":"to")+"Element"]),t}},{reg:/mouse.*(wheel|scroll)/i,fix:function(){return n}},{reg:/^text/i,fix:function(){return o}},{reg:/^touch|^gesture/i,fix:function(){return a}},{reg:/^message$/i,fix:function(){return s}},{reg:/^popstate$/i,fix:function(){return l}},{reg:/.*/,fix:function(){return e}}],p={},h=function(e,t,n){if(arguments.length&&(e=e||((t.ownerDocument||t.document||t).parentWindow||r).event,this.originalEvent=e,this.isNative=n,this.isBean=!0,e)){var i,o,a,s,l,u=e.type,c=e.target||e.srcElement;if(this.target=c&&3===c.nodeType?c.parentNode:c,n){if(l=p[u],!l)for(i=0,o=d.length;o>i;i++)if(d[i].reg.test(u)){p[u]=l=d[i].fix;break}for(s=l(e,this,u),i=s.length;i--;)!((a=s[i])in this)&&a in e&&(this[a]=e[a])}}};return h.prototype.preventDefault=function(){this.originalEvent.preventDefault?this.originalEvent.preventDefault():this.originalEvent.returnValue=!1},h.prototype.stopPropagation=function(){this.originalEvent.stopPropagation?this.originalEvent.stopPropagation():this.originalEvent.cancelBubble=!0},h.prototype.stop=function(){this.preventDefault(),this.stopPropagation(),this.stopped=!0},h.prototype.stopImmediatePropagation=function(){this.originalEvent.stopImmediatePropagation&&this.originalEvent.stopImmediatePropagation(),this.isImmediatePropagationStopped=function(){return!0}},h.prototype.isImmediatePropagationStopped=function(){return this.originalEvent.isImmediatePropagationStopped&&this.originalEvent.isImmediatePropagationStopped()},h.prototype.clone=function(e){var t=new h(this,this.element,this.isNative);return t.currentTarget=e,t},h}(),C=function(e,t){return f||t||e!==u&&e!==r?e:c},A=function(){var e=function(e,t,n,r){var i=function(n,i){return t.apply(e,r?h.call(i,n?0:1).concat(r):i)},o=function(n,r){return t.__beanDel?t.__beanDel.ft(n.target,e):r},a=n?function(e){var t=o(e,this);return n.apply(t,arguments)?(e&&(e.currentTarget=t),i(e,arguments)):void 0}:function(e){return t.__beanDel&&(e=e.clone(o(e))),i(e,arguments)};return a.__beanDel=t.__beanDel,a},t=function(t,n,r,i,o,a,s){var l,u=I[n];"unload"==n&&(r=N(x,t,n,r,i)),u&&(u.condition&&(r=e(t,r,u.condition,a)),n=u.base||n),this.isNative=l=b[n]&&!!t[d],this.customType=!f&&!l&&n,this.element=t,this.type=n,this.original=i,this.namespaces=o,this.eventType=f||l?n:"propertychange",this.target=C(t,l),this[d]=!!this.target[d],this.root=s,this.handler=e(t,r,null,a)};return t.prototype.inNamespaces=function(e){var t,n,r=0;if(!e)return!0;if(!this.namespaces)return!1;for(t=e.length;t--;)for(n=this.namespaces.length;n--;)e[t]==this.namespaces[n]&&r++;return e.length===r},t.prototype.matches=function(e,t,n){return!(this.element!==e||t&&this.original!==t||n&&this.handler!==n)},t}(),S=function(){var e={},t=function(n,r,i,o,a,s){var l=a?"r":"$";if(r&&"*"!=r){var u,c=0,f=e[l+r],d="*"==n;if(!f)return;for(u=f.length;u>c;c++)if((d||f[c].matches(n,i,o))&&!s(f[c],f,c,r))return}else for(var p in e)p.charAt(0)==l&&t(n,p.substr(1),i,o,a,s)},n=function(t,n,r,i){var o,a=e[(i?"r":"$")+n];if(a)for(o=a.length;o--;)if(!a[o].root&&a[o].matches(t,r,null))return!0;return!1},r=function(e,n,r,i){var o=[];return t(e,n,r,null,i,function(e){return o.push(e)}),o},i=function(t){var n=!t.root&&!this.has(t.element,t.type,null,!1),r=(t.root?"r":"$")+t.type;return(e[r]||(e[r]=[])).push(t),n},o=function(n){t(n.element,n.type,null,n.handler,n.root,function(t,n,r){return n.splice(r,1),t.removed=!0,0===n.length&&delete e[(t.root?"r":"$")+t.type],!1})},a=function(){var t,n=[];for(t in e)"$"==t.charAt(0)&&(n=n.concat(e[t]));return n};return{has:n,get:r,put:i,del:o,entries:a}}(),E=function(e){n=arguments.length?e:u.querySelectorAll?function(e,t){return t.querySelectorAll(e)}:function(){throw new Error("Bean: No selector engine installed")}},j=function(e,t){if(f||!t||!e||e.propertyName=="_on"+t){var n=S.get(this,t||e.type,null,!1),r=n.length,i=0;for(e=new M(e,this,!0),t&&(e.type=t);r>i&&!e.isImmediatePropagationStopped();i++)n[i].removed||n[i].handler.call(this,e)}},D=f?function(e,t,n){e[n?s:l](t,j,!1)}:function(e,t,n,r){var i;n?(S.put(i=new A(e,r||t,function(t){j.call(e,t,r)},j,null,null,!0)),r&&null==e["_on"+r]&&(e["_on"+r]=0),i.target.attachEvent("on"+i.eventType,i.handler)):(i=S.get(e,r||t,j,!0)[0],i&&(i.target.detachEvent("on"+i.eventType,i.handler),S.del(i)))},N=function(e,t,n,r,i){return function(){r.apply(this,arguments),e(t,n,i)}},x=function(e,t,n,r){var i,o,s=t&&t.replace(a,""),l=S.get(e,s,null,!1),u={};for(i=0,o=l.length;o>i;i++)n&&l[i].original!==n||!l[i].inNamespaces(r)||(S.del(l[i]),!u[l[i].eventType]&&l[i][d]&&(u[l[i].eventType]={t:l[i].eventType,c:l[i].type}));for(i in u)S.has(e,u[i].t,null,!1)||D(e,u[i].t,!1,u[i].c)},L=function(e,t){var r=function(t,r){for(var i,o=m(e)?n(e,r):e;t&&t!==r;t=t.parentNode)for(i=o.length;i--;)if(o[i]===t)return t},i=function(e){var n=r(e.target,this);n&&t.apply(n,arguments)};return i.__beanDel={ft:r,selector:e},i},T=f?function(e,t,n){var i=u.createEvent(e?"HTMLEvents":"UIEvents");i[e?"initEvent":"initUIEvent"](t,!0,!0,r,1),n.dispatchEvent(i)}:function(e,t,n){n=C(n,e),e?n.fireEvent("on"+t,u.createEventObject()):n["_on"+t]++},Z=function(e,t,n){var r,i,s,l,u=m(t);if(u&&t.indexOf(" ")>0){for(t=g(t),l=t.length;l--;)Z(e,t[l],n);return e}if(i=u&&t.replace(a,""),i&&I[i]&&(i=I[i].base),!t||u)(s=u&&t.replace(o,""))&&(s=g(s,".")),x(e,i,n,s);else if(v(t))x(e,null,t);else for(r in t)t.hasOwnProperty(r)&&Z(e,r,t[r]);return e},P=function(e,t,r,i){var s,l,u,c,f,m,y;{if(void 0!==r||"object"!=typeof t){for(v(r)?(f=h.call(arguments,3),i=s=r):(s=i,f=h.call(arguments,4),i=L(r,s,n)),u=g(t),this===p&&(i=N(Z,e,t,i,s)),c=u.length;c--;)y=S.put(m=new A(e,u[c].replace(a,""),i,s,g(u[c].replace(o,""),"."),f,!1)),m[d]&&y&&D(e,m.eventType,!0,m.customType);return e}for(l in t)t.hasOwnProperty(l)&&P.call(this,e,l,t[l])}},k=function(e,t,n,r){return P.apply(null,m(n)?[e,n,t,r].concat(arguments.length>3?h.call(arguments,5):[]):h.call(arguments))},Y=function(){return P.apply(p,arguments)},z=function(e,t,n){var r,i,s,l,u,c=g(t);for(r=c.length;r--;)if(t=c[r].replace(a,""),(l=c[r].replace(o,""))&&(l=g(l,".")),l||n||!e[d])for(u=S.get(e,t,null,!1),n=[!1].concat(n),i=0,s=u.length;s>i;i++)u[i].inNamespaces(l)&&u[i].handler.apply(e,n);else T(b[t],t,e);return e},O=function(e,t,n){for(var r,i,o=S.get(t,n,null,!1),a=o.length,s=0;a>s;s++)o[s].original&&(r=[e,o[s].type],(i=o[s].handler.__beanDel)&&r.push(i.selector),r.push(o[s].original),P.apply(null,r));return e},G={on:P,add:k,one:Y,off:Z,remove:Z,clone:O,fire:z,Event:M,setSelectorEngine:E,noConflict:function(){return t[e]=i,this}};if(r.attachEvent){var R=function(){var e,t=S.entries();for(e in t)t[e].type&&"unload"!==t[e].type&&Z(t[e].element,t[e].type);r.detachEvent("onunload",R),r.CollectGarbage&&r.CollectGarbage()};r.attachEvent("onunload",R)}return E(),G})},{}],35:[function(e,t,n){(function(t){"use strict";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function i(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(i()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return c(this,e)}return s(this,e,t,n)}function s(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?p(e,t,n,r):"string"==typeof t?f(e,t,n):h(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(0>e)throw new RangeError('"size" argument must not be negative')}function u(e,t,n,r){return l(t),0>=t?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function c(e,t){if(l(t),e=o(e,0>t?0:0|g(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;t>n;++n)e[n]=0;return e}function f(e,t,n){if(("string"!=typeof n||""===n)&&(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);e=o(e,r);var i=e.write(t,n);return i!==r&&(e=e.slice(0,i)),e}function d(e,t){var n=t.length<0?0:0|g(t.length);e=o(e,n);for(var r=0;n>r;r+=1)e[r]=255&t[r];return e}function p(e,t,n,r){if(t.byteLength,0>n||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=d(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|g(t.length);return e=o(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||K(t.length)?o(e,0):d(e,t);if("Buffer"===t.type&&$(t.data))return d(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function g(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return X(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){var r=!1;if((void 0===t||0>t)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),0>=n)return"";if(n>>>=0,t>>>=0,t>=n)return"";for(e||(e="utf8");;)switch(e){case"hex":return Z(this,t,n);case"utf8":case"utf-8":return N(this,t,n);case"ascii":return L(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return D(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function w(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function b(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:-2147483648>n&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),0>n&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(0>n){if(!i)return-1;n=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:I(e,t,n,r,i);if("number"==typeof t)return t=255&t,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):I(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function I(e,t,n,r,i){function o(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,l=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}var u;if(i){var c=-1;for(u=n;s>u;u++)if(o(e,u)===o(t,-1===c?0:u-c)){if(-1===c&&(c=u),u-c+1===l)return c*a}else-1!==c&&(u-=u-c),c=-1}else for(n+l>s&&(n=s-l),u=n;u>=0;u--){for(var f=!0,d=0;l>d;d++)if(o(e,u+d)!==o(t,d)){f=!1;break}if(f)return u}return-1}function M(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;r>a;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function C(e,t,n,r){return _(F(t,e.length-n),e,n,r)}function A(e,t,n,r){return _(H(t),e,n,r)}function S(e,t,n,r){return A(e,t,n,r)}function E(e,t,n,r){return _(X(t),e,n,r)}function j(e,t,n,r){return _(V(t,e.length-n),e,n,r)}function D(e,t,n){return 0===t&&n===e.length?Q.fromByteArray(e):Q.fromByteArray(e.slice(t,n))}function N(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;n>i;){var o=e[i],a=null,s=o>239?4:o>223?3:o>191?2:1;if(n>=i+s){var l,u,c,f;switch(s){case 1:128>o&&(a=o);break;case 2:l=e[i+1],128===(192&l)&&(f=(31&o)<<6|63&l,f>127&&(a=f));break;case 3:l=e[i+1],u=e[i+2],128===(192&l)&&128===(192&u)&&(f=(15&o)<<12|(63&l)<<6|63&u,f>2047&&(55296>f||f>57343)&&(a=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],128===(192&l)&&128===(192&u)&&128===(192&c)&&(f=(15&o)<<18|(63&l)<<12|(63&u)<<6|63&c,f>65535&&1114112>f&&(a=f))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=s}return x(r)}function x(e){var t=e.length;if(ee>=t)return String.fromCharCode.apply(String,e);for(var n="",r=0;t>r;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ee));return n}function L(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;++i)r+=String.fromCharCode(e[i]);return r}function Z(e,t,n){var r=e.length;(!t||0>t)&&(t=0),(!n||0>n||n>r)&&(n=r);for(var i="",o=t;n>o;++o)i+=B(e[o]);return i}function P(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function k(e,t,n){if(e%1!==0||0>e)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function Y(e,t,n,r,i,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||o>t)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function z(e,t,n,r){0>t&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);o>i;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function O(e,t,n,r){0>t&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);o>i;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function G(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(0>n)throw new RangeError("Index out of range")}function R(e,t,n,r,i){return i||G(e,t,n,4,34028234663852886e22,-34028234663852886e22),q.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,i){return i||G(e,t,n,8,17976931348623157e292,-17976931348623157e292),q.write(e,t,n,r,52,8),n+8}function U(e){if(e=J(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function J(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function B(e){return 16>e?"0"+e.toString(16):e.toString(16)}function F(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;r>a;++a){if(n=e.charCodeAt(a),n>55295&&57344>n){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(56320>n){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,128>n){if((t-=1)<0)break;o.push(n)}else if(2048>n){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(65536>n){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(1114112>n))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function H(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function V(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}function X(e){return Q.toByteArray(U(e))}function _(e,t,n,r){for(var i=0;r>i&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function K(e){return e!==e}var Q=e("base64-js"),q=e("ieee754"),$=e("isarray");n.Buffer=a,n.SlowBuffer=m,n.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:r(),n.kMaxLength=i(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return s(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return u(null,e,t,n)},a.allocUnsafe=function(e){return c(null,e)},a.allocUnsafeSlow=function(e){return c(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);o>i;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return r>n?-1:n>r?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!$(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!a.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},a.byteLength=v,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;e>t;t+=2)w(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;e>t;t+=4)w(this,t,t+3),w(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;e>t;t+=8)w(this,t,t+7),w(this,t+1,t+6),w(this,t+2,t+5),w(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?N(this,0,e):y.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:0===a.compare(this,e)},a.prototype.inspect=function(){var e="",t=n.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},a.prototype.compare=function(e,t,n,r,i){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),0>t||n>e.length||0>r||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,s=n-t,l=Math.min(o,s),u=this.slice(r,i),c=e.slice(t,n),f=0;l>f;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return s>o?-1:o>s?1:0},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.indexOf=function(e,t,n){return b(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return b(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t=0|t,isFinite(n)?(n=0|n,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(0>n||0>t)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return M(this,e,t,n);case"utf8":case"utf-8":return C(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>t?(t+=n,0>t&&(t=0)):t>n&&(t=n),e>t&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var i=t-e;r=new a(i,void 0);for(var o=0;i>o;++o)r[o]=this[o+e]}return r},a.prototype.readUIntLE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},a.prototype.readUIntBE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},a.prototype.readUInt8=function(e,t){return t||k(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||k(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||k(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||k(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||k(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||k(e,4,this.length),q.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||k(e,4,this.length),q.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||k(e,8,this.length),q.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||k(e,8,this.length),q.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;Y(this,e,t,n,i,0)}var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;Y(this,e,t,n,i,0)}var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);Y(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)0>e&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);Y(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)0>e&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),0>e&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&n>r&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError("targetStart out of bounds");if(0>n||n>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&t>n&&r>t)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(1e3>o||!a.TYPED_ARRAY_SUPPORT)for(i=0;o>i;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);256>i&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e=255&e);if(0>t||this.length<t||this.length<n)throw new RangeError("Out of range index");if(t>=n)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;n>o;++o)this[o]=e;else{var s=a.isBuffer(e)?e:F(new a(e,r).toString()),l=s.length;for(o=0;n-t>o;++o)this[o+t]=s[o%l]}return this};var te=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":33,ieee754:40,isarray:43}],36:[function(e,t,n){function r(e){function t(e){var t=c();a(t,e)>-1||(t.push(e),f(t))}function n(e){var t=c(),n=a(t,e);-1!==n&&(t.splice(n,1),f(t))}function r(e){return a(c(),e)>-1}function s(e){return r(e)?(n(e),!1):(t(e),!0)}function l(){return e.className}function u(e){var t=c();return t[e]||null}function c(){var t=e.className;return i(t.split(" "),o)}function f(t){var n=t.length;e.className=t.join(" "),p.length=n;for(var r=0;r<t.length;r++)p[r]=t[r];delete t[n]}var d=e.classList;if(d)return d;var p={add:t,remove:n,contains:r,toggle:s,toString:l,length:0,item:u};return p}function i(e,t){for(var n=[],r=0;r<e.length;r++)t(e[r])&&n.push(e[r]);return n}function o(e){return!!e}var a=e("indexof");t.exports=r},{indexof:41}],37:[function(e,t,n){function r(e,t,n,r){return n=window.getComputedStyle,r=n?n(e):e.currentStyle,r?r[t.replace(/-(\w)/gi,function(e,t){return t.toUpperCase()})]:void 0}t.exports=r},{}],38:[function(t,n,r){!function(t,i){"use strict";"function"==typeof e&&e.amd?e(i):"object"==typeof r?n.exports=i():t.returnExports=i()}(this,function(){var e,t,n=Array,r=n.prototype,i=Object,o=i.prototype,a=Function,s=a.prototype,l=String,u=l.prototype,c=Number,f=c.prototype,d=r.slice,p=r.splice,h=r.push,g=r.unshift,m=r.concat,v=r.join,y=s.call,w=s.apply,b=Math.max,I=Math.min,M=o.toString,C="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,A=Function.prototype.toString,S=/^\s*class /,E=function(e){try{var t=A.call(e),n=t.replace(/\/\/.*\n/g,""),r=n.replace(/\/\*[.\s\S]*\*\//g,""),i=r.replace(/\n/gm," ").replace(/ {2}/g," ");return S.test(i)}catch(o){return!1}},j=function(e){try{return E(e)?!1:(A.call(e),!0)}catch(t){return!1}},D="[object Function]",N="[object GeneratorFunction]",e=function(e){if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(C)return j(e);if(E(e))return!1;var t=M.call(e);return t===D||t===N},x=RegExp.prototype.exec,L=function(e){try{return x.call(e),!0}catch(t){return!1}},T="[object RegExp]";t=function(e){return"object"!=typeof e?!1:C?L(e):M.call(e)===T};var Z,P=String.prototype.valueOf,k=function(e){try{return P.call(e),!0}catch(t){return!1}},Y="[object String]";Z=function(e){return"string"==typeof e?!0:"object"!=typeof e?!1:C?k(e):M.call(e)===Y};var z=i.defineProperty&&function(){try{var e={};i.defineProperty(e,"x",{enumerable:!1,value:e});for(var t in e)return!1;return e.x===e}catch(n){return!1}}(),O=function(e){var t;return t=z?function(e,t,n,r){!r&&t in e||i.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(e,t,n,r){!r&&t in e||(e[t]=n)},function(n,r,i){for(var o in r)e.call(r,o)&&t(n,o,r[o],i)}}(o.hasOwnProperty),G=function(e){var t=typeof e;return null===e||"object"!==t&&"function"!==t},R=c.isNaN||function(e){return e!==e},W={ToInteger:function(e){var t=+e;return R(t)?t=0:0!==t&&t!==1/0&&t!==-(1/0)&&(t=(t>0||-1)*Math.floor(Math.abs(t))),t},ToPrimitive:function(t){var n,r,i;if(G(t))return t;if(r=t.valueOf,e(r)&&(n=r.call(t),G(n)))return n;if(i=t.toString,e(i)&&(n=i.call(t),G(n)))return n;throw new TypeError},ToObject:function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return i(e)},ToUint32:function(e){return e>>>0}},U=function(){};O(s,{bind:function(t){var n=this;if(!e(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var r,o=d.call(arguments,1),s=function(){if(this instanceof r){var e=w.call(n,this,m.call(o,d.call(arguments)));return i(e)===e?e:this}return w.call(n,t,m.call(o,d.call(arguments)))},l=b(0,n.length-o.length),u=[],c=0;l>c;c++)h.call(u,"$"+c);return r=a("binder","return function ("+v.call(u,",")+"){ return binder.apply(this, arguments); }")(s),n.prototype&&(U.prototype=n.prototype,r.prototype=new U,U.prototype=null),r}});var J=y.bind(o.hasOwnProperty),B=y.bind(o.toString),F=y.bind(d),H=w.bind(d);if("object"==typeof document&&document&&document.documentElement)try{F(document.documentElement.childNodes)}catch(V){var X=F,_=H;F=function(e){for(var t=[],n=e.length;n-- >0;)t[n]=e[n];return _(t,X(arguments,1))},H=function(e,t){return _(F(e),t)}}var K=y.bind(u.slice),Q=y.bind(u.split),q=y.bind(u.indexOf),$=y.bind(h),ee=y.bind(o.propertyIsEnumerable),te=y.bind(r.sort),ne=n.isArray||function(e){return"[object Array]"===B(e)},re=1!==[].unshift(0);O(r,{unshift:function(){return g.apply(this,arguments),this.length}},re),O(n,{isArray:ne});var ie=i("a"),oe="a"!==ie[0]||!(0 in ie),ae=function(e){var t=!0,n=!0,r=!1;if(e)try{e.call("foo",function(e,n,r){"object"!=typeof r&&(t=!1)}),e.call([1],function(){"use strict";n="string"==typeof this},"x")}catch(i){r=!0}return!!e&&!r&&t&&n};O(r,{forEach:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=-1,a=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++o<a;)o in i&&("undefined"==typeof n?t(i[o],o,r):t.call(n,i[o],o,r))}},!ae(r.forEach)),O(r,{map:function(t){var r,i=W.ToObject(this),o=oe&&Z(this)?Q(this,""):i,a=W.ToUint32(o.length),s=n(a);if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.map callback must be a function");for(var l=0;a>l;l++)l in o&&("undefined"==typeof r?s[l]=t(o[l],l,i):s[l]=t.call(r,o[l],l,i));return s}},!ae(r.map)),O(r,{filter:function(t){var n,r,i=W.ToObject(this),o=oe&&Z(this)?Q(this,""):i,a=W.ToUint32(o.length),s=[];if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.filter callback must be a function");for(var l=0;a>l;l++)l in o&&(n=o[l],("undefined"==typeof r?t(n,l,i):t.call(r,n,l,i))&&$(s,n));return s}},!ae(r.filter)),O(r,{every:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;o>a;a++)if(a in i&&!("undefined"==typeof n?t(i[a],a,r):t.call(n,i[a],a,r)))return!1;return!0}},!ae(r.every)),O(r,{some:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;o>a;a++)if(a in i&&("undefined"==typeof n?t(i[a],a,r):t.call(n,i[a],a,r)))return!0;return!1}},!ae(r.some));var se=!1;r.reduce&&(se="object"==typeof r.reduce.call("es5",function(e,t,n,r){return r})),O(r,{reduce:function(t){var n=W.ToObject(this),r=oe&&Z(this)?Q(this,""):n,i=W.ToUint32(r.length);if(!e(t))throw new TypeError("Array.prototype.reduce callback must be a function");if(0===i&&1===arguments.length)throw new TypeError("reduce of empty array with no initial value");var o,a=0;if(arguments.length>=2)o=arguments[1];else for(;;){if(a in r){o=r[a++];break}if(++a>=i)throw new TypeError("reduce of empty array with no initial value")}for(;i>a;a++)a in r&&(o=t(o,r[a],a,n));return o}},!se);var le=!1;r.reduceRight&&(le="object"==typeof r.reduceRight.call("es5",function(e,t,n,r){return r})),O(r,{reduceRight:function(t){var n=W.ToObject(this),r=oe&&Z(this)?Q(this,""):n,i=W.ToUint32(r.length);if(!e(t))throw new TypeError("Array.prototype.reduceRight callback must be a function");if(0===i&&1===arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var o,a=i-1;if(arguments.length>=2)o=arguments[1];else for(;;){if(a in r){o=r[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(0>a)return o;do{a in r&&(o=t(o,r[a],a,n))}while(a--);return o}},!le);var ue=r.indexOf&&-1!==[0,1].indexOf(1,2);O(r,{indexOf:function(e){var t=oe&&Z(this)?Q(this,""):W.ToObject(this),n=W.ToUint32(t.length);if(0===n)return-1;var r=0;for(arguments.length>1&&(r=W.ToInteger(arguments[1])),r=r>=0?r:b(0,n+r);n>r;r++)if(r in t&&t[r]===e)return r;return-1}},ue);var ce=r.lastIndexOf&&-1!==[0,1].lastIndexOf(0,-3);O(r,{lastIndexOf:function(e){var t=oe&&Z(this)?Q(this,""):W.ToObject(this),n=W.ToUint32(t.length);if(0===n)return-1;var r=n-1;for(arguments.length>1&&(r=I(r,W.ToInteger(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}},ce);var fe=function(){var e=[1,2],t=e.splice();return 2===e.length&&ne(t)&&0===t.length}();O(r,{splice:function(e,t){return 0===arguments.length?[]:p.apply(this,arguments)}},!fe);var de=function(){var e={};return r.splice.call(e,0,0,1),1===e.length}();O(r,{splice:function(e,t){if(0===arguments.length)return[];var n=arguments;return this.length=b(W.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof t&&(n=F(arguments),n.length<2?$(n,this.length-e):n[1]=W.ToInteger(t)),p.apply(this,n)}},!de);var pe=function(){var e=new n(1e5);return e[8]="x",e.splice(1,1),7===e.indexOf("x")}(),he=function(){var e=256,t=[];return t[e]="a",t.splice(e+1,0,"b"),"a"===t[e]}();O(r,{splice:function(e,t){for(var n,r=W.ToObject(this),i=[],o=W.ToUint32(r.length),a=W.ToInteger(e),s=0>a?b(o+a,0):I(a,o),u=I(b(W.ToInteger(t),0),o-s),c=0;u>c;)n=l(s+c),J(r,n)&&(i[c]=r[n]),c+=1;var f,d=F(arguments,2),p=d.length;if(u>p){c=s;for(var h=o-u;h>c;)n=l(c+u),f=l(c+p),J(r,n)?r[f]=r[n]:delete r[f],c+=1;c=o;for(var g=o-u+p;c>g;)delete r[c-1],c-=1}else if(p>u)for(c=o-u;c>s;)n=l(c+u-1),f=l(c+p-1),J(r,n)?r[f]=r[n]:delete r[f],c-=1;c=s;for(var m=0;m<d.length;++m)r[c]=d[m],c+=1;return r.length=o-u+p,i}},!pe||!he);var ge,me=r.join;try{ge="1,2,3"!==Array.prototype.join.call("123",",")}catch(V){ge=!0}ge&&O(r,{join:function(e){var t="undefined"==typeof e?",":e;return me.call(Z(this)?Q(this,""):this,t)}},ge);var ve="1,2"!==[1,2].join(void 0);ve&&O(r,{join:function(e){var t="undefined"==typeof e?",":e;return me.call(this,t)}},ve);var ye=function(e){for(var t=W.ToObject(this),n=W.ToUint32(t.length),r=0;r<arguments.length;)t[n+r]=arguments[r],r+=1;return t.length=n+r,n+r},we=function(){var e={},t=Array.prototype.push.call(e,void 0);return 1!==t||1!==e.length||"undefined"!=typeof e[0]||!J(e,0)}();O(r,{push:function(e){return ne(this)?h.apply(this,arguments):ye.apply(this,arguments)}},we);var be=function(){var e=[],t=e.push(void 0);return 1!==t||1!==e.length||"undefined"!=typeof e[0]||!J(e,0)}();O(r,{push:ye},be),O(r,{slice:function(e,t){var n=Z(this)?Q(this,""):this;return H(n,arguments)}},oe);var Ie=function(){try{[1,2].sort(null)}catch(e){try{[1,2].sort({})}catch(t){return!1}}return!0}(),Me=function(){try{return[1,2].sort(/a/),!1}catch(e){}return!0}(),Ce=function(){try{return[1,2].sort(void 0),!0}catch(e){}return!1}();O(r,{sort:function(t){if("undefined"==typeof t)return te(this);if(!e(t))throw new TypeError("Array.prototype.sort callback must be a function");return te(this,t)}},Ie||!Ce||!Me);var Ae=!ee({toString:null},"toString"),Se=ee(function(){},"prototype"),Ee=!J("x","0"),je=function(e){var t=e.constructor;return t&&t.prototype===e},De={$window:!0,$console:!0,$parent:!0,$self:!0,$frame:!0,$frames:!0,$frameElement:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$external:!0,$width:!0,$height:!0,$top:!0,$localStorage:!0},Ne=function(){if("undefined"==typeof window)return!1;for(var e in window)try{!De["$"+e]&&J(window,e)&&null!==window[e]&&"object"==typeof window[e]&&je(window[e])}catch(t){return!0}return!1}(),xe=function(e){if("undefined"==typeof window||!Ne)return je(e);try{return je(e)}catch(t){return!1}},Le=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Te=Le.length,Ze=function(e){return"[object Arguments]"===B(e)},Pe=function(t){return null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&!ne(t)&&e(t.callee)},ke=Ze(arguments)?Ze:Pe;O(i,{keys:function(t){var n=e(t),r=ke(t),i=null!==t&&"object"==typeof t,o=i&&Z(t);if(!i&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var a=[],s=Se&&n;if(o&&Ee||r)for(var u=0;u<t.length;++u)$(a,l(u));if(!r)for(var c in t)s&&"prototype"===c||!J(t,c)||$(a,l(c));if(Ae)for(var f=xe(t),d=0;Te>d;d++){var p=Le[d];f&&"constructor"===p||!J(t,p)||$(a,p)}return a}});var Ye=i.keys&&function(){return 2===i.keys(arguments).length}(1,2),ze=i.keys&&function(){var e=i.keys(arguments);return 1!==arguments.length||1!==e.length||1!==e[0]}(1),Oe=i.keys;O(i,{keys:function(e){return Oe(ke(e)?F(e):e)}},!Ye||ze);var Ge,Re,We=0!==new Date(-0xc782b5b342b24).getUTCMonth(),Ue=new Date(-0x55d318d56a724),Je=new Date(14496624e5),Be="Mon, 01 Jan -45875 11:59:59 GMT"!==Ue.toUTCString(),Fe=Ue.getTimezoneOffset();-720>Fe?(Ge="Tue Jan 02 -45875"!==Ue.toDateString(),Re=!/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/.test(String(Je))):(Ge="Mon Jan 01 -45875"!==Ue.toDateString(),Re=!/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/.test(String(Je)));var He=y.bind(Date.prototype.getFullYear),Ve=y.bind(Date.prototype.getMonth),Xe=y.bind(Date.prototype.getDate),_e=y.bind(Date.prototype.getUTCFullYear),Ke=y.bind(Date.prototype.getUTCMonth),Qe=y.bind(Date.prototype.getUTCDate),qe=y.bind(Date.prototype.getUTCDay),$e=y.bind(Date.prototype.getUTCHours),et=y.bind(Date.prototype.getUTCMinutes),tt=y.bind(Date.prototype.getUTCSeconds),nt=y.bind(Date.prototype.getUTCMilliseconds),rt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],it=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ot=function(e,t){return Xe(new Date(t,e,0))};O(Date.prototype,{getFullYear:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this);return 0>e&&Ve(this)>11?e+1:e},getMonth:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this),t=Ve(this);return 0>e&&t>11?0:t},getDate:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this),t=Ve(this),n=Xe(this);if(0>e&&t>11){if(12===t)return n;var r=ot(0,e+1);return r-n+1}return n},getUTCFullYear:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this);return 0>e&&Ke(this)>11?e+1:e},getUTCMonth:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this),t=Ke(this);return 0>e&&t>11?0:t},getUTCDate:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this),t=Ke(this),n=Qe(this);if(0>e&&t>11){if(12===t)return n;var r=ot(0,e+1);return r-n+1}return n}},We),O(Date.prototype,{toUTCString:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=qe(this),t=Qe(this),n=Ke(this),r=_e(this),i=$e(this),o=et(this),a=tt(this);return rt[e]+", "+(10>t?"0"+t:t)+" "+it[n]+" "+r+" "+(10>i?"0"+i:i)+":"+(10>o?"0"+o:o)+":"+(10>a?"0"+a:a)+" GMT"}},We||Be),O(Date.prototype,{toDateString:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),t=this.getDate(),n=this.getMonth(),r=this.getFullYear();return rt[e]+" "+it[n]+" "+(10>t?"0"+t:t)+" "+r}},We||Ge),(We||Re)&&(Date.prototype.toString=function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),t=this.getDate(),n=this.getMonth(),r=this.getFullYear(),i=this.getHours(),o=this.getMinutes(),a=this.getSeconds(),s=this.getTimezoneOffset(),l=Math.floor(Math.abs(s)/60),u=Math.floor(Math.abs(s)%60);return rt[e]+" "+it[n]+" "+(10>t?"0"+t:t)+" "+r+" "+(10>i?"0"+i:i)+":"+(10>o?"0"+o:o)+":"+(10>a?"0"+a:a)+" GMT"+(s>0?"-":"+")+(10>l?"0"+l:l)+(10>u?"0"+u:u)},z&&i.defineProperty(Date.prototype,"toString",{configurable:!0,enumerable:!1,writable:!0}));var at=-621987552e5,st="-000001",lt=Date.prototype.toISOString&&-1===new Date(at).toISOString().indexOf(st),ut=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new Date(-1).toISOString(),ct=y.bind(Date.prototype.getTime);O(Date.prototype,{toISOString:function(){if(!isFinite(this)||!isFinite(ct(this)))throw new RangeError("Date.prototype.toISOString called on non-finite value.");var e=_e(this),t=Ke(this);e+=Math.floor(t/12),t=(t%12+12)%12;var n=[t+1,Qe(this),$e(this),et(this),tt(this)];e=(0>e?"-":e>9999?"+":"")+K("00000"+Math.abs(e),e>=0&&9999>=e?-4:-6);for(var r=0;r<n.length;++r)n[r]=K("00"+n[r],-2);return e+"-"+F(n,0,2).join("-")+"T"+F(n,2).join(":")+"."+K("000"+nt(this),-3)+"Z"}},lt||ut);var ft=function(){try{return Date.prototype.toJSON&&null===new Date(NaN).toJSON()&&-1!==new Date(at).toJSON().indexOf(st)&&Date.prototype.toJSON.call({toISOString:function(){return!0}})}catch(e){return!1}}();ft||(Date.prototype.toJSON=function(t){var n=i(this),r=W.ToPrimitive(n);if("number"==typeof r&&!isFinite(r))return null;var o=n.toISOString;if(!e(o))throw new TypeError("toISOString property is not callable");return o.call(n)});var dt=1e15===Date.parse("+033658-09-27T01:46:40.000Z"),pt=!isNaN(Date.parse("2012-04-04T24:00:00.500Z"))||!isNaN(Date.parse("2012-11-31T23:59:59.000Z"))||!isNaN(Date.parse("2012-12-31T23:59:60.000Z")),ht=isNaN(Date.parse("2000-01-01T00:00:00.000Z"));if(ht||pt||!dt){var gt=Math.pow(2,31)-1,mt=R(new Date(1970,0,1,0,0,0,gt+1).getTime());Date=function(e){var t=function(n,r,i,o,a,s,u){var c,f=arguments.length;if(this instanceof e){var d=s,p=u;if(mt&&f>=7&&u>gt){var h=Math.floor(u/gt)*gt,g=Math.floor(h/1e3);d+=g,p-=1e3*g}c=1===f&&l(n)===n?new e(t.parse(n)):f>=7?new e(n,r,i,o,a,d,p):f>=6?new e(n,r,i,o,a,d):f>=5?new e(n,r,i,o,a):f>=4?new e(n,r,i,o):f>=3?new e(n,r,i):f>=2?new e(n,r):f>=1?new e(n instanceof e?+n:n):new e}else c=e.apply(this,arguments);return G(c)||O(c,{constructor:t},!0),c},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),r=[0,31,59,90,120,151,181,212,243,273,304,334,365],i=function(e,t){var n=t>1?1:0;return r[t]+Math.floor((e-1969+n)/4)-Math.floor((e-1901+n)/100)+Math.floor((e-1601+n)/400)+365*(e-1970)},o=function(t){var n=0,r=t;if(mt&&r>gt){var i=Math.floor(r/gt)*gt,o=Math.floor(i/1e3);n+=o,r-=1e3*o}return c(new e(1970,0,1,0,0,n,r))};for(var a in e)J(e,a)&&(t[a]=e[a]);O(t,{now:e.now,UTC:e.UTC},!0),t.prototype=e.prototype,O(t.prototype,{constructor:t},!0);var s=function(t){var r=n.exec(t);if(r){var a,s=c(r[1]),l=c(r[2]||1)-1,u=c(r[3]||1)-1,f=c(r[4]||0),d=c(r[5]||0),p=c(r[6]||0),h=Math.floor(1e3*c(r[7]||0)),g=Boolean(r[4]&&!r[8]),m="-"===r[9]?1:-1,v=c(r[10]||0),y=c(r[11]||0),w=d>0||p>0||h>0;return(w?24:25)>f&&60>d&&60>p&&1e3>h&&l>-1&&12>l&&24>v&&60>y&&u>-1&&u<i(s,l+1)-i(s,l)&&(a=60*(24*(i(s,l)+u)+f+v*m),a=1e3*(60*(a+d+y*m)+p)+h,g&&(a=o(a)),a>=-864e13&&864e13>=a)?a:NaN}return e.parse.apply(this,arguments)};return O(t,{parse:s}),t}(Date)}Date.now||(Date.now=function(){return(new Date).getTime()});var vt=f.toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0)),yt={base:1e7,size:6,data:[0,0,0,0,0,0],multiply:function(e,t){for(var n=-1,r=t;++n<yt.size;)r+=e*yt.data[n],yt.data[n]=r%yt.base,r=Math.floor(r/yt.base)},divide:function(e){for(var t=yt.size,n=0;--t>=0;)n+=yt.data[t],yt.data[t]=Math.floor(n/e),n=n%e*yt.base},numToString:function(){for(var e=yt.size,t="";--e>=0;)if(""!==t||0===e||0!==yt.data[e]){var n=l(yt.data[e]);""===t?t=n:t+=K("0000000",0,7-n.length)+n}return t},pow:function Ot(e,t,n){return 0===t?n:t%2===1?Ot(e,t-1,n*e):Ot(e*e,t/2,n)},log:function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}},wt=function(e){var t,n,r,i,o,a,s,u;if(t=c(e),t=R(t)?0:Math.floor(t),0>t||t>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=c(this),R(n))return"NaN";if(-1e21>=n||n>=1e21)return l(n);if(r="",0>n&&(r="-",n=-n),i="0",n>1e-21)if(o=yt.log(n*yt.pow(2,69,1))-69,a=0>o?n*yt.pow(2,-o,1):n/yt.pow(2,o,1),a*=4503599627370496,o=52-o,o>0){for(yt.multiply(0,a),s=t;s>=7;)yt.multiply(1e7,0),s-=7;for(yt.multiply(yt.pow(10,s,1),0),s=o-1;s>=23;)yt.divide(1<<23),s-=23;yt.divide(1<<s),yt.multiply(1,1),yt.divide(2),i=yt.numToString()}else yt.multiply(0,a),yt.multiply(1<<-o,0),i=yt.numToString()+K("0.00000000000000000000",2,2+t);return t>0?(u=i.length,i=t>=u?r+K("0.0000000000000000000",0,t-u+2)+i:r+K(i,0,u-t)+"."+K(i,u-t)):i=r+i,i};O(f,{toFixed:wt},vt);var bt=function(){try{return"1"===1..toPrecision(void 0)}catch(e){return!0}}(),It=f.toPrecision;O(f,{toPrecision:function(e){return"undefined"==typeof e?It.call(this):It.call(this,e)}},bt),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?!function(){var e="undefined"==typeof/()??/.exec("")[1],n=Math.pow(2,32)-1;u.split=function(r,i){var o=String(this);if("undefined"==typeof r&&0===i)return[];if(!t(r))return Q(this,r,i);var a,s,l,u,c=[],f=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":""),d=0,p=new RegExp(r.source,f+"g");e||(a=new RegExp("^"+p.source+"$(?!\\s)",f));var g="undefined"==typeof i?n:W.ToUint32(i);for(s=p.exec(o);s&&(l=s.index+s[0].length,!(l>d&&($(c,K(o,d,s.index)),!e&&s.length>1&&s[0].replace(a,function(){for(var e=1;e<arguments.length-2;e++)"undefined"==typeof arguments[e]&&(s[e]=void 0)}),s.length>1&&s.index<o.length&&h.apply(c,F(s,1)),u=s[0].length,d=l,c.length>=g)));)p.lastIndex===s.index&&p.lastIndex++,s=p.exec(o);return d===o.length?(u||!p.test(""))&&$(c,""):$(c,K(o,d)),c.length>g?F(c,0,g):c}}():"0".split(void 0,0).length&&(u.split=function(e,t){return"undefined"==typeof e&&0===t?[]:Q(this,e,t)});var Mt=u.replace,Ct=function(){var e=[];return"x".replace(/x(.)?/g,function(t,n){$(e,n)}),1===e.length&&"undefined"==typeof e[0]}();Ct||(u.replace=function(n,r){var i=e(r),o=t(n)&&/\)[*?]/.test(n.source);if(i&&o){var a=function(e){var t=arguments.length,i=n.lastIndex;n.lastIndex=0;var o=n.exec(e)||[];return n.lastIndex=i,$(o,arguments[t-2],arguments[t-1]),r.apply(this,o)};return Mt.call(this,n,a)}return Mt.call(this,n,r)});var At=u.substr,St="".substr&&"b"!=="0b".substr(-1);O(u,{substr:function(e,t){var n=e;return 0>e&&(n=b(this.length+e,0)),At.call(this,n,t)}},St);var Et="\t\n\v\f\r \u2028\u2029\ufeff",jt="",Dt="["+Et+"]",Nt=new RegExp("^"+Dt+Dt+"*"),xt=new RegExp(Dt+Dt+"*$"),Lt=u.trim&&(Et.trim()||!jt.trim());O(u,{trim:function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");return l(this).replace(Nt,"").replace(xt,"")}},Lt);var Tt=y.bind(String.prototype.trim),Zt=u.lastIndexOf&&-1!=="abcあい".lastIndexOf("あい",2);O(u,{lastIndexOf:function(e){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");for(var t=l(this),n=l(e),r=arguments.length>1?c(arguments[1]):NaN,i=R(r)?1/0:W.ToInteger(r),o=I(b(i,0),t.length),a=n.length,s=o+a;s>0;){s=b(0,s-a);var u=q(K(t,s,o+a),n);if(-1!==u)return s+u}return-1}},Zt);var Pt=u.lastIndexOf;if(O(u,{lastIndexOf:function(e){return Pt.apply(this,arguments)}},1!==u.lastIndexOf.length),(8!==parseInt(Et+"08")||22!==parseInt(Et+"0x16"))&&(parseInt=function(e){var t=/^[-+]?0[xX]/;return function(n,r){var i=Tt(String(n)),o=c(r)||(t.test(i)?16:10);return e(i,o)}}(parseInt)),1/parseFloat("-0")!==-(1/0)&&(parseFloat=function(e){return function(t){var n=Tt(String(t)),r=e(n);return 0===r&&"-"===K(n,0,1)?-0:r}}(parseFloat)),"RangeError: test"!==String(new RangeError("test"))){var kt=function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");var e=this.name;"undefined"==typeof e?e="Error":"string"!=typeof e&&(e=l(e));var t=this.message;return"undefined"==typeof t?t="":"string"!=typeof t&&(t=l(t)),e?t?e+": "+t:e:t};Error.prototype.toString=kt}if(z){var Yt=function(e,t){if(ee(e,t)){var n=Object.getOwnPropertyDescriptor(e,t);n.configurable&&(n.enumerable=!1,Object.defineProperty(e,t,n))}};Yt(Error.prototype,"message"),""!==Error.prototype.message&&(Error.prototype.message=""),Yt(Error.prototype,"name")}if("/a/gim"!==String(/a/gim)){var zt=function(){var e="/"+this.source+"/";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),e};RegExp.prototype.toString=zt}})},{}],39:[function(e,t,n){var r=[],i=r.forEach,o=r.slice;t.exports=function(e){return i.call(o.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e}},{}],40:[function(e,t,n){n.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,l=(1<<s)-1,u=l>>1,c=-7,f=n?i-1:0,d=n?-1:1,p=e[t+f];for(f+=d,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,r),o-=u}return(p?-1:1)*a*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var a,s,l,u=8*o-i-1,c=(1<<u)-1,f=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,h=r?1:-1,g=0>t||0===t&&0>1/t?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),t+=a+f>=1?d/l:d*Math.pow(2,1-f),t*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+p]=255&s,p+=h,s/=256,i-=8);for(a=a<<i|s,u+=i;u>0;e[n+p]=255&a,p+=h,a/=256,u-=8);e[n+p-h]|=128*g}},{}],41:[function(e,t,n){var r=[].indexOf;t.exports=function(e,t){if(r)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}},{}],42:[function(e,t,n){function r(e){var t=i.call(e);return"[object Function]"===t||"function"==typeof e&&"[object RegExp]"!==t||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}t.exports=r;var i=Object.prototype.toString},{}],43:[function(e,t,n){var r={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},{}],44:[function(t,n,r){(function(t){!function(i){function o(e){throw new RangeError(P[e])}function a(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(Z,".");var i=e.split("."),o=a(i,t).join(".");return r+o}function l(e){for(var t,n,r=[],i=0,o=e.length;o>i;)t=e.charCodeAt(i++),t>=55296&&56319>=t&&o>i?(n=e.charCodeAt(i++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--)):r.push(t);return r}function u(e){return a(e,function(e){var t="";return e>65535&&(e-=65536,t+=z(e>>>10&1023|55296),e=56320|1023&e),t+=z(e)}).join("")}function c(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:C}function f(e,t){return e+22+75*(26>e)-((0!=t)<<5)}function d(e,t,n){var r=0;for(e=n?Y(e/j):e>>1,e+=Y(e/t);e>k*S>>1;r+=C)e=Y(e/k);return Y(r+(k+1)*e/(e+E))}function p(e){var t,n,r,i,a,s,l,f,p,h,g=[],m=e.length,v=0,y=N,w=D;for(n=e.lastIndexOf(x),0>n&&(n=0),r=0;n>r;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;m>i;){for(a=v,s=1,l=C;i>=m&&o("invalid-input"),f=c(e.charCodeAt(i++)),(f>=C||f>Y((M-v)/s))&&o("overflow"),v+=f*s,p=w>=l?A:l>=w+S?S:l-w,!(p>f);l+=C)h=C-p,s>Y(M/h)&&o("overflow"),s*=h;t=g.length+1,w=d(v-a,t,0==a),Y(v/t)>M-y&&o("overflow"),y+=Y(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,a,s,u,c,p,h,g,m,v,y,w,b=[];for(e=l(e),m=e.length,t=N,n=0,a=D,s=0;m>s;++s)g=e[s],128>g&&b.push(z(g));for(r=i=b.length,i&&b.push(x);m>r;){for(u=M,s=0;m>s;++s)g=e[s],g>=t&&u>g&&(u=g);for(v=r+1,u-t>Y((M-n)/v)&&o("overflow"),n+=(u-t)*v,t=u,s=0;m>s;++s)if(g=e[s],t>g&&++n>M&&o("overflow"),g==t){for(c=n,p=C;h=a>=p?A:p>=a+S?S:p-a,!(h>c);p+=C)w=c-h,y=C-h,b.push(z(f(h+w%y,0))),c=Y(w/y);b.push(z(f(c,0))),a=d(n,v,r==i),n=0,++r}++n,++t}return b.join("")}function g(e){return s(e,function(e){return L.test(e)?p(e.slice(4).toLowerCase()):e})}function m(e){return s(e,function(e){return T.test(e)?"xn--"+h(e):e})}var v="object"==typeof r&&r&&!r.nodeType&&r,y="object"==typeof n&&n&&!n.nodeType&&n,w="object"==typeof t&&t;(w.global===w||w.window===w||w.self===w)&&(i=w);var b,I,M=2147483647,C=36,A=1,S=26,E=38,j=700,D=72,N=128,x="-",L=/^xn--/,T=/[^\x20-\x7E]/,Z=/[\x2E\u3002\uFF0E\uFF61]/g,P={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=C-A,Y=Math.floor,z=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:l,encode:u},decode:p,encode:h,toASCII:m,toUnicode:g},"function"==typeof e&&"object"==typeof e.amd&&e.amd)e("punycode",function(){return b});else if(v&&y)if(n.exports==v)y.exports=b;else for(I in b)b.hasOwnProperty(I)&&(v[I]=b[I]);else i.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(t,n,r){!function(t,r){"undefined"!=typeof n&&n.exports?n.exports=r():"function"==typeof e&&e.amd?e(r):this[t]=r()}("$script",function(){function e(e,t){for(var n=0,r=e.length;r>n;++n)if(!t(e[n]))return l;return 1}function t(t,n){e(t,function(e){return!n(e)})}function n(o,a,s){function l(e){return e.call?e():d[e]}function c(){if(!--y){d[v]=1,m&&m();for(var n in h)e(n.split("|"),l)&&!t(h[n],l)&&(h[n]=[])}}o=o[u]?o:[o];var f=a&&a.call,m=f?a:s,v=f?o.join(""):a,y=o.length;return setTimeout(function(){t(o,function e(t,n){return null===t?c():(n||/^https?:\/\//.test(t)||!i||(t=-1===t.indexOf(".js")?i+t+".js":i+t),g[t]?(v&&(p[v]=1),2==g[t]?c():setTimeout(function(){e(t,!0)},0)):(g[t]=1,v&&(p[v]=1),void r(t,c)))})},0),n}function r(e,t){var n,r=a.createElement("script");r.onload=r.onerror=r[f]=function(){r[c]&&!/^c|loade/.test(r[c])||n||(r.onload=r[f]=null,n=1,g[e]=2,t())},r.async=1,r.src=o?e+(-1===e.indexOf("?")?"?":"&")+o:e,s.insertBefore(r,s.lastChild)}var i,o,a=document,s=a.getElementsByTagName("head")[0],l=!1,u="push",c="readyState",f="onreadystatechange",d={},p={},h={},g={};return n.get=r,n.order=function(e,t,r){!function i(o){o=e.shift(),e.length?n(o,i):n(o,t,r)}()},n.path=function(e){i=e},n.urlArgs=function(e){o=e},n.ready=function(r,i,o){r=r[u]?r:[r];var a=[];return!t(r,function(e){d[e]||a[u](e)})&&e(r,function(e){return d[e]})?i():!function(e){h[e]=h[e]||[],h[e][u](i),o&&o(a)}(r.join("|")),n},n.done=function(e){n([null],e)},n})},{}]},{},[32])(32)});if(typeof fv_flowplayer_conf!="undefined"){try{if(typeof window.localStorage=="object"&&typeof window.localStorage.volume!="undefined"){delete fv_flowplayer_conf.volume}}catch(e){}if(typeof fv_flowplayer_conf.chromecast==="undefined"){fv_flowplayer_conf.chromecast=false}flowplayer.conf=fv_flowplayer_conf;flowplayer.conf.embed=false;flowplayer.conf.share=false;try{flowplayer.conf.key=atob(flowplayer.conf.key)}catch(e){}if(!flowplayer.support.android&&flowplayer.conf.dacast_hlsjs){function FVAbrController(hls){this.hls=hls;this.nextAutoLevel=3}FVAbrController.prototype.nextAutoLevel=function(nextLevel){this.nextAutoLevel=nextLevel};FVAbrController.prototype.destroy=function(){};flowplayer.conf.hlsjs={startLevel:-1,abrController:FVAbrController}}if(flowplayer.support.iOS&&parseInt(flowplayer.support.iOS.version)>=13||!flowplayer.support.iOS&&flowplayer.support.browser.safari&&parseInt(flowplayer.support.browser.version)>=8){flowplayer.conf.hlsjs.safari=true}flowplayer.support.fvmobile=!!(!flowplayer.support.firstframe||flowplayer.support.iOS||flowplayer.support.android);var fls=flowplayer.support;if(flowplayer.conf.mobile_native_fullscreen&&"ontouchstart"in window&&fls.fvmobile){flowplayer.conf.native_fullscreen=true}if("ontouchstart"in window){if(fls.android&&fls.android.version<4.4&&!(fls.browser.chrome&&fls.browser.version>54)){flowplayer.conf.native_fullscreen=true}if(fls.iOS&&(fv_player_in_iframe()||fls.iOS.version<7)){flowplayer.conf.native_fullscreen=true}}}if(typeof fv_flowplayer_translations!="undefined"){flowplayer.defaults.errors=fv_flowplayer_translations}var fv_player_did_autoplay=false;function fv_player_videos_parse(args,root){try{var videos=JSON.parse(args)}catch(e){return false}var regex=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)");var results=regex.exec(location.search);if((results!=null&&results[1]=="yes"||(jQuery(window).width()<=480||jQuery(window).height()<=480))&&(results==null||results[1]!="no")){var fv_fp_mobile=false;jQuery(videos.sources).each(function(k,v){if(v.mobile){videos.sources[k]=videos.sources[0];videos.sources[0]=v;fv_fp_mobile=true}if(fv_fp_mobile){jQuery(root).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")}})}return videos}function fv_player_in_iframe(){try{return window.self!==window.top}catch(e){return true}}jQuery(document).ready(function(){var loading_count=0;var loading=setInterval(function(){loading_count++;if(loading_count<1e3&&(window.fv_video_intelligence_conf&&!window.FV_Player_IMA||window.fv_vast_conf&&!window.FV_Player_IMA||window.fv_player_pro&&!window.FV_Flowplayer_Pro&&document.getElementById("fv_player_pro")!=fv_player_pro)){return}clearInterval(loading);fv_player_preload()},10)});function fv_player_preload(){if(flowplayer.support.touch){jQuery(".fp-playlist-external.fv-playlist-design-2017").addClass("visible-captions")}flowplayer(function(api,root){root=jQuery(root);if(root.hasClass("fixed-controls")){root.find(".fp-controls").click(function(e){if(!api.loading&&!api.ready){e.preventDefault();e.stopPropagation();api.load()}})}if(!flowplayer.support.volume&&!flowplayer.support.autoplay){root.find(".fp-volume").hide()}if(root.data("fullscreen")==false){root.find(".fp-fullscreen").remove()}if(root.data("volume")==0&&root.hasClass("no-controlbar")){root.find(".fp-volume").remove()}var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");if((!api.conf.playlist||api.conf.playlist.length==0)&&playlist.length&&playlist.find("a[data-item]").length>0){var items=[];playlist.find("a[data-item]").each(function(){if(parsed=fv_player_videos_parse(jQuery(this).attr("data-item"),root)){items.push(parsed)}else{jQuery(this).remove()}});api.conf.playlist=items;api.conf.clip=items[0]}else if(!api.conf.clip){api.conf.clip=fv_player_videos_parse(jQuery(root).attr("data-item"),root)}jQuery("a",playlist).click(function(e){e.preventDefault();var $this=jQuery(this),playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]"),index=jQuery("a",playlist).index(this);$prev=$this.prev("a");if($prev.length&&$this.is(":visible")&&!$prev.is(":visible")){$prev.click();return false}if(jQuery("#"+$this.parent().attr("rel")).hasClass("dynamic-playlist"))return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");fv_player_playlist_active(playlist,this);if(api){if(api.error){api.pause();api.error=api.loading=false;root.removeClass("is-error");root.find(".fp-message.fp-shown").remove()}if(!api.video||api.video.index==index)return;api.play(index)}var new_splash=$this.find("img").attr("src");if(new_splash){root.find("img.fp-splash").attr("src",new_splash)}var rect=root[0].getBoundingClientRect();if(rect.bottom-100<0){jQuery("html, body").animate({scrollTop:jQuery(root).offset().top-100},300)}});var playlist_external=jQuery("[rel="+root.attr("id")+"]");var playlist_progress=false;var splash_img,splash_text;api.bind("ready",function(e,api,video){setTimeout(function(){if(video.index>-1){if(playlist_external.length>0){var playlist_item=jQuery("a",playlist_external).eq(video.index);fv_player_playlist_active(playlist_external,playlist_item);playlist_progress=playlist_item.find(".fvp-progress")}}},250);splash_img=root.find(".fp-splash").remove();splash_text=root.find(".fv-fp-splash-text").remove()});api.bind("unload",function(){jQuery(".fp-playlist-external .now-playing").remove();jQuery(".fp-playlist-external a").removeClass("is-active");root.find(".fp-player").prepend(splash_text);root.find(".fp-player").prepend(splash_img);playlist_progress=false});api.bind("progress",function(){if(playlist_progress&&api.video.duration){var progress=100*api.video.time/api.video.duration;playlist_progress.css("width",progress+"%")}});api.bind("error-subtitles",function(){console.log("error-subtitles");fv_player_notice(root,fv_flowplayer_translations[8],2e3)});var playlist=jQuery(root).parent().find("div.fp-playlist-vertical[rel="+jQuery(root).attr("id")+"]");if(playlist.length){function check_size_and_all(args){var property=playlist.hasClass("fp-playlist-only-captions")?"height":"max-height";if(playlist.parents(".fp-playlist-text-wrapper").hasClass("is-fv-narrow")){property="max-height"}playlist.css(property,vertical_playlist_height());if(property=="max-height")playlist.css("height","auto")}check_size_and_all();jQuery(window).on("resize tabsactivate",function(){setTimeout(check_size_and_all,0)})}function vertical_playlist_height(args){var height=root.height();if(height==0)height=root.css("max-height");return height}});if(window.self!=window.top&&!location.href.match(/fv_player_preview/)){embed_size();jQuery(window.self).resize(embed_size)}function embed_size(){jQuery(".flowplayer.fp-is-embed").each(function(){var root=jQuery(this);if(!root.hasClass("has-chapters")&&!root.hasClass("has-transcript")&&jQuery(".fp-playlist-external[rel="+root.attr("id")+"]").length==0){root.height(jQuery(window).height())}})}if(typeof fv_flowplayer_playlists!="undefined"){for(var i in fv_flowplayer_playlists){if(!fv_flowplayer_playlists.hasOwnProperty(i))continue;jQuery("#"+i).flowplayer({playlist:fv_flowplayer_playlists[i]})}}fv_player_load();fv_autoplay_exec();jQuery(document).ajaxComplete(function(){fv_player_load()});jQuery(window).on("hashchange",fv_autoplay_exec)}function fv_player_load(){jQuery(".flowplayer").each(function(i,el){var root=jQuery(el);var api=root.data("flowplayer");if(api)return;if(root.attr("data-item")){root.flowplayer({clip:fv_player_videos_parse(root.attr("data-item"),root)})}else if(playlist=jQuery("[rel="+root.attr("id")+"]")){if(playlist.find("a[data-item]").length==0)return;var items=[];playlist.find("a[data-item]").each(function(){if(parsed=fv_player_videos_parse(jQuery(this).attr("data-item"),root)){items.push(parsed)}else{jQuery(this).remove()}});root.flowplayer({playlist:items})}});jQuery(".fv-playlist-slider-wrapper").each(function(i,el){var items=jQuery(this).find("a");jQuery(this).find(".fp-playlist-external").css("width",items.outerWidth()*items.length)});if(typeof jQuery().tabs!="undefined"){jQuery("body").removeClass("fv_flowplayer_tabs_hide");jQuery(".fv_flowplayer_tabs_content").tabs()}}function fv_player_playlist_active(playlist,item){if(playlist){jQuery("a",playlist).removeClass("is-active");jQuery(".now-playing").remove()}$playlist=jQuery(playlist);$item=jQuery(item);var scroll_parent=false;$item.addClass("is-active");var is_design_2014=$playlist.hasClass("fv-playlist-design-2014");if((is_design_2014&&$item.find("h4").length==0||!is_design_2014)&&$item.find(".now-playing").length==0)$item.prepend('<strong class="now-playing"><span>'+fv_flowplayer_translations.playlist_current+"</span></strong>");if(!$playlist.parent().find(".flowplayer").length){scroll_parent=true}if(($playlist.hasClass("fp-playlist-vertical")||$playlist.hasClass("fp-playlist-horizontal")&&$playlist.hasClass("is-audio"))&&!fullyVisibleY($item.get(0))){var $el=scroll_parent?$playlist.parent():$playlist;$el.animate({scrollTop:$el.scrollTop()+($item.position().top-$el.position().top)},750)}else if($playlist.hasClass("fp-playlist-horizontal")&&!fullyVisibleX($item.get(0))){var $el=scroll_parent?$playlist.parent():$playlist;$el.animate({scrollLeft:$el.scrollLeft()+($item.position().left-$el.position().left)},750)}function fullyVisibleY(el){var rect=el.getBoundingClientRect(),top=rect.top,height=rect.height,bottom=top+height,el=el.parentNode;do{rect=el.getBoundingClientRect();if(bottom<=rect.bottom===false)return false;if(top<=rect.top)return false;el=el.parentNode}while(el!=document.body);return bottom<=document.documentElement.clientHeight}function fullyVisibleX(el){var rect=el.getBoundingClientRect(),left=rect.left,width=rect.width,right=left+width,el=el.parentNode;do{rect=el.getBoundingClientRect();if(right<=rect.right===false)return false;if(left<=rect.left)return false;el=el.parentNode}while(el!=document.body);return right<=document.documentElement.clientWidth}}jQuery(function(){jQuery(".flowplayer").each(function(){flowplayer.bean.off(jQuery(this)[0],"contextmenu")})});var fv_fp_date=new Date;var fv_fp_utime=fv_fp_date.getTime();function fv_parse_sharelink(src){src=src.replace("https?://[^./].","");var prefix="fvp_";if(src.match(/(youtube.com)/)){return prefix+src.match(/(?:v=)([A-Za-z0-9_-]*)/)[1]}else if(src.match(/(vimeo.com)|(youtu.be)/)){return prefix+src.match(/(?:\/)([^/]*$)/)[1]}else{var match=src.match(/(?:\/)([^/]*$)/);if(match){return prefix+match[1].match(/^[^.]*/)[0]}}return prefix+src}function fv_player_get_video_link_hash(api){var hash=fv_parse_sharelink(typeof api.video.sources_original!="undefined"&&typeof api.video.sources_original[0]!="undefined"?api.video.sources_original[0].src:api.video.sources[0].src);if(typeof api.video.id!="undefined"){hash=fv_parse_sharelink(api.video.id.toString())}return hash}function fv_player_time_hms(seconds){if(isNaN(seconds)){return NaN}var date=new Date(null);date.setSeconds(seconds);var timeSrting=date.toISOString().substr(11,8);timeSrting=timeSrting.replace(/([0-9]{2}):([0-9]{2}):([0-9]{2}\.?[0-9]*)/,"$1h$2m$3s").replace(/^00h(00m)?/,"").replace(/^0/,"");return timeSrting}function fv_player_time_seconds(time,duration){if(!time)return-1;var seconds=0;var aTime=time.replace(/[hm]/g,":").replace(/s/,"").split(":").reverse();if(typeof aTime[0]!="undefined")seconds+=parseFloat(aTime[0]);if(typeof aTime[1]!="undefined")seconds+=parseInt(60*aTime[1]);if(typeof aTime[2]!="undefined")seconds+=parseInt(60*60*aTime[2]);return duration?Math.min(seconds,duration):seconds}function fv_autoplay_init(root,index,time){if(fv_autoplay_exec_in_progress)return;fv_autoplay_exec_in_progress=true;var api=root.data("flowplayer");if(!api)return;var fTime=fv_player_time_seconds(time);if(root.parent().hasClass("ui-tabs-panel")){var tabId=root.parent().attr("id");jQuery("[aria-controls="+tabId+"] a").click()}if(!root.find(".fp-player").attr("class").match(/\bis-sticky/)){var offset=jQuery(root).offset().top-(jQuery(window).height()-jQuery(root).height())/2;window.scrollTo(0,offset);api.one("ready",function(){window.scrollTo(0,offset)})}if(root.hasClass("lightboxed")){setTimeout(function(){jQuery("[href=\\#"+root.attr("id")+"]").click()},0)}if(index){if(fv_player_video_link_autoplay_can(api,parseInt(index))){if(api.ready){if(fTime>-1)api.seek(fTime);fv_autoplay_exec_in_progress=false}else{api.play(parseInt(index));api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1)api.seek(fTime)})}}else if(flowplayer.support.inlineVideo){api.one(api.playing?"progress":"ready",function(e,api){api.play(parseInt(index));api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1)api.seek(fTime)})});root.find(".fp-splash").attr("src",jQuery("[rel="+root.attr("id")+"] div").eq(index).find("img").attr("src"));if(!fv_player_in_iframe()){fv_player_notice(root,fv_flowplayer_translations[11],"progress")}}}else{if(api.ready){if(fTime>-1)api.seek(fTime);fv_autoplay_exec_in_progress=false}else{if(fv_player_video_link_autoplay_can(api)){api.load()}else if(!fv_player_in_iframe()){fv_player_notice(root,fv_flowplayer_translations[11],"progress")}api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1){var do_seek=setInterval(function(){if(api.loading)return;api.seek(fTime);clearInterval(do_seek)},10)}})}}}var fv_autoplay_exec_in_progress=false;function fv_autoplay_exec(){var autoplay=true;if(typeof flowplayer!=="undefined"&&typeof fv_flowplayer_conf!="undefined"&&fv_flowplayer_conf.video_hash_links&&window.location.hash.substring(1).length){var aHash=window.location.hash.match(/\?t=/)?window.location.hash.substring(1).split("?t="):window.location.hash.substring(1).split(",");var hash=aHash[0];var time=aHash[1]===undefined?false:aHash[1];jQuery(".flowplayer").each(function(){var root=jQuery(this);if(root.hasClass("lightbox-starter")){root=jQuery(root.attr("href"))}var api=root.data("flowplayer");if(!api)return;var playlist=typeof api.conf.playlist!=="undefined"&&api.conf.playlist.length>1?api.conf.playlist:[api.conf.clip];for(var item in playlist){if(!playlist.hasOwnProperty(item))continue;var id=typeof playlist[item].id!=="undefined"?fv_parse_sharelink(playlist[item].id.toString()):false;if(hash===id&&autoplay){console.log("fv_autoplay_exec for "+id,item);fv_autoplay_init(root,parseInt(item),time);autoplay=false;return false}}for(var item in playlist){if(!playlist.hasOwnProperty(item))continue;var src=fv_parse_sharelink(playlist[item].sources[0].src);if(hash===src&&autoplay){console.log("fv_autoplay_exec for "+src,item);fv_autoplay_init(root,parseInt(item),time);autoplay=false;return false}}})}if(autoplay&&flowplayer.support.firstframe){jQuery(".flowplayer[data-fvautoplay]").each(function(){var root=jQuery(this);var api=root.data("flowplayer");if(!fv_player_did_autoplay&&root.data("fvautoplay")){if(!((flowplayer.support.android||flowplayer.support.iOS)&&api&&api.conf.clip.sources[0].type=="video/youtube")){fv_player_did_autoplay=true;api.load();var play_icon=root.find(".fp-play").addClass("invisible"),control_bar=root.find(".fp-controls").addClass("invisible");api.one("progress",function(){play_icon.removeClass("invisible");control_bar.removeClass("invisible")});if(root.data("fvautoplay")=="muted"){api.mute(true,true)}}}})}}function fv_player_video_link_autoplay_can(api,item){var video=item?api.conf.playlist[item]:api.conf.clip;if(video.sources[0].type=="video/youtube"&&(flowplayer.support.iOS||flowplayer.support.android)||fv_player_in_iframe())return false;return flowplayer.support.firstframe}function fv_player_notice(root,message,timeout){var notices=jQuery(".fvfp-notices",root);if(!notices.length){notices=jQuery('<div class="fvfp-notices">');jQuery(".fp-player",root).append(notices)}var notice=jQuery('<div class="fvfp-notice-content">'+message+"</div></div>");notices.append(notice);if(typeof timeout=="string"){var player=jQuery(root).data("flowplayer");player.on(timeout,function(){notice.fadeOut(100,function(){jQuery(this).remove()})})}if(timeout>0){setTimeout(function(){notice.fadeOut(2e3,function(){jQuery(this).remove()})},timeout)}return notice}var fv_player_clipboard=function(text,successCallback,errorCallback){try{fv_player_doCopy(text);successCallback()}catch(e){if(typeof errorCallback!="undefined")errorCallback(e)}};function fv_player_doCopy(text){var textarea=document.createElement("textarea");textarea.value=text;textarea.style.opacity=0;textarea.style.position="absolute";textarea.setAttribute("readonly",true);document.body.appendChild(textarea);var selected=document.getSelection().rangeCount>0?document.getSelection().getRangeAt(0):false;if(navigator.userAgent.match(/ipad|ipod|iphone/i)){var editable=textarea.contentEditable;textarea.contentEditable=true;var range=document.createRange();range.selectNodeContents(textarea);var sel=window.getSelection();sel.removeAllRanges();sel.addRange(range);textarea.setSelectionRange(0,999999);textarea.contentEditable=editable}else{textarea.select()}try{var result=document.execCommand("copy");if(selected){document.getSelection().removeAllRanges();document.getSelection().addRange(selected)}document.body.removeChild(textarea);return result}catch(err){throw new Error("Unsuccessfull")}}if(location.href.match(/elementor-preview=/)){console.log("FV Player: Elementor editor is active");setInterval(fv_player_load,1e3)}if(localStorage.FVPlayerHLSQuality&&typeof flowplayer.conf.hlsjs.autoLevelEnabled=="undefined"){flowplayer.conf.hlsjs.startLevel=localStorage.FVPlayerHLSQuality}flowplayer(function(api,root){var hlsjs;flowplayer.engine("hlsjs-lite").plugin(function(params){hlsjs=params.hls});root=jQuery(root);var search=document.location.search;if(localStorage.FVPlayerDashQuality){if(!api.conf.dash)api.conf.dash={};api.conf.dash.initialVideoQuality="restore"}if(localStorage.FVPlayerHLSQuality&&typeof flowplayer.conf.hlsjs.autoLevelEnabled=="undefined"){flowplayer.conf.hlsjs.startLevel=localStorage.FVPlayerHLSQuality}else if(flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile){flowplayer.conf.hlsjs.startLevel=3}api.bind("quality",function(e,api,quality){if(api.engine.engineName=="dash"){if(quality==-1){localStorage.removeItem("FVPlayerDashQuality")}else if(bitrates[quality]){localStorage.FVPlayerDashQuality=bitrates[quality].height}}else if(api.engine.engineName=="hlsjs-lite"){if(quality==-1){localStorage.removeItem("FVPlayerHLSQuality")}else{localStorage.FVPlayerHLSQuality=quality}}});var bitrates=[];var last_quality=-1;api.bind("ready",function(e,api){if(api.engine.engineName=="dash"){bitrates=api.engine.dash.getBitrateInfoListFor("video");if(localStorage.FVPlayerDashQuality&&api.conf.dash.initialVideoQuality){api.quality(api.conf.dash.initialVideoQuality)}quality_sort()}else if(api.engine.engineName=="hlsjs-lite"){if(api.video.qualities&&api.video.qualities.length>2){var qswitch=-1;if(localStorage.FVPlayerHLSQuality){qswitch=localStorage.FVPlayerHLSQuality}else if(flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile){jQuery(api.video.qualities).each(function(k,v){var height=parseInt(v.label);if(height>0&&hd_quality==-1&&height>=720&&height<=720){qswitch=k}})}if(qswitch>-1){api.quality(qswitch);root.one("progress",function(){setTimeout(function(){api.quality(qswitch)})})}quality_sort()}}else if(api.video.sources_fvqs&&api.video.sources_fvqs.length>0&&api.video.src.match(/vimeo.*?\.mp4/)){setTimeout(quality_sort,0)}root.find("a[data-quality]").removeClass("is-current")});if(search.match(/dash_debug/)||search.match(/hls_debug/))var debug_log=jQuery('<div class="fv-debug" style="background: gray; color: white; top: 10%; position: absolute; z-index: 1000">').appendTo(root.find(".fp-player"));api.bind("ready progress",quality_process);api.bind("quality",function(){setTimeout(quality_process,0)});function quality_process(){if(api.engine.engineName=="dash"){var stream_info=bitrates[api.engine.dash.getQualityFor("video")];if(stream_info.qualityIndex!=last_quality){last_quality=stream_info.qualityIndex;quality_label(stream_info.qualityIndex,bitrates)}if(search.match(/dash_debug/))quality_debug(stream_info.width,stream_info.height,stream_info.bitrate)}else if(api.engine.engineName=="hlsjs-lite"){if(hlsjs.currentLevel!=last_quality){last_quality=hlsjs.currentLevel;quality_label(hlsjs.currentLevel,hlsjs.levels)}if(search.match(/hls_debug/)){var level=hlsjs.levels[hlsjs.currentLevel];quality_debug(level.width,level.height,level.bitrate)}}}function quality_label(index,qualities){if(!qualities[index])return;var height=qualities[index].height,hd_limit=541,lowest=1e5;jQuery(qualities).each(function(k,v){if(v.height>=720&&v.height<1400)hd_limit=720;if(v.height<lowest)lowest=v.height});root.find("a[data-quality]").removeClass("is-current");root.find("a[data-quality="+index+"]").addClass("is-current");var label="SD";if(height>=360&&lowest<height)label="SD";if(height>=hd_limit)label="HD";if(height>=1400)label="4K";root.find(".fp-qsel").html(label)}function quality_debug(w,h,br){debug_log.html("Using "+w+"x"+h+" at "+Math.round(br/1024)+" kbps")}function quality_sort(){var menu=root.find(".fp-qsel-menu");menu.children().each(function(i,a){menu.prepend(a)});menu.children().each(function(i,a){if(/^NaNp/.test(jQuery(a).html())){var bitrate=jQuery(a).html().match(/\((.*?)\)/);if(bitrate&&typeof bitrate[1]!=="undefined"){jQuery(a).html(bitrate[1])}}else{jQuery(a).html(jQuery(a).html().replace(/\(.*?\)/,""))}});menu.prepend(menu.find("a[data-quality=-1]"));menu.prepend(menu.find("strong"))}});flowplayer(function(api,root){root=jQuery(root);var player_id=root.attr("id"),ad=false;if(root.data("end_popup_preview")){jQuery(document).ready(function(){api.trigger("finish",[api])})}function ad_height_check(){var count=0;var ad_height_check=setInterval(function(){var height=ad&&ad.find(".adsbygoogle").height();count++;if(count>20*10||height>0)clearInterval(ad_height_check);if(height>root.height()){ad.addClass("tall-ad")}},50)}function show_ad(){var ad_data=root.attr("data-ad");if(typeof ad_data!="undefined"&&ad_data.length){try{ad_data=JSON.parse(ad_data)}catch(e){return false}if(!ad&&!root.hasClass("is-cva")&&root.width()>=parseInt(ad_data.width)){var html=ad_data.html;html=html.replace("%random%",Math.random());ad=jQuery('<div id="'+player_id+'_ad" class="wpfp_custom_ad">'+html+"</div>");root.find(".fp-player").append(ad);ad_height_check();setTimeout(function(){if(root.find(".wpfp_custom_ad video").length){api.pause()}},500)}}}function show_popup(event){var popup_data=root.attr("data-popup");if(typeof popup_data!="undefined"&&popup_data.length){try{popup_data=JSON.parse(popup_data)}catch(e){return false}if(event=="finish"||popup_data.pause||popup_data.html.match(/fv-player-ppv-purchase-btn-wrapper/)){root.addClass("is-popup-showing");root.find(".fp-player").append('<div id="'+player_id+'_custom_popup" class="wpfp_custom_popup">'+popup_data.html+"</div>")}}}api.bind("ready",function(e,api){if(ad.length==1){ad.remove();ad=false}if(!root.data("ad_show_after")){show_ad()}}).bind("progress",function(e,api,current){if(current>root.data("ad_show_after")){show_ad()}}).bind("finish",function(e,api){if(typeof api.video.index=="undefined"||api.video.index+1==api.conf.playlist.length){show_popup(e.type)}}).bind("pause",function(e,api){show_popup(e.type)}).bind("resume unload seek",function(e,api){if(root.hasClass("is-popup-showing")){root.find(".wpfp_custom_popup").remove();root.removeClass("is-popup-showing")}})});jQuery(document).on("click",".fv_fp_close",function(){var ad=jQuery(this).parents(".wpfp_custom_ad_content"),video=ad.find("video");ad.fadeOut();if(video.length)video[0].pause();return false});jQuery(document).on("focus",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var api=jQuery(this).parents(".flowplayer").data("flowplayer");if(api)api.disable(true)});jQuery(document).on("blur",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var api=jQuery(this).parents(".flowplayer").data("flowplayer");if(api)api.disable(false)});flowplayer(function(api,root){var root=jQuery(root);api.bind("progress",function(e,api,current){fv_track(e,api,current)}).bind("finish ready ",function(e,api){for(var j in fv_ga_events){if(!fv_ga_events.hasOwnProperty(j))continue;root.removeData("fv_track_"+fv_ga_events[j])}}).bind("error",function(e,api,error){setTimeout(function(){if(!api.error)return;var video=typeof api.video!="undefined"&&typeof api.video.src!="undefined"?api.video:false;if(!video&&typeof api.conf.clip!="undefined"&&typeof api.conf.clip.sources!="undefined"&&typeof api.conf.clip.sources[0]!="undefined"&&typeof api.conf.clip.sources[0].src!="undefined")video=api.conf.clip.sources[0];var name=fv_player_track_name(root,video);if(name&&!name.match(/\/\/vimeo.com\/\d/)){fv_player_track(api.conf.analytics,"Video "+(root.hasClass("is-cva")?"Ad ":"")+"error",error.message,name)}},100)});var fv_ga_events=["start","first quartile","second quartile","third quartile","complete"];function fv_track(e,api,data){var video=api.video,dur=video.duration,i=0;var name=fv_player_track_name(root,video);if(dur){if(data>19*dur/20)i=4;else if(data>3*dur/4)i=3;else if(data>dur/2)i=2;else if(data>dur/4)i=1}if(root.data("fv_track_"+fv_ga_events[i]))return;for(var j in fv_ga_events){if(!fv_ga_events.hasOwnProperty(j))continue;if(j==i)break;if(!root.data("fv_track_"+fv_ga_events[j]))return}root.trigger("fv_track_"+fv_ga_events[i].replace(/ /,"_"),[api,name]);root.data("fv_track_"+fv_ga_events[i],true);fv_player_track(api.conf.analytics,"Video "+(root.hasClass("is-cva")?"Ad ":"")+fv_ga_events[i],api.engine.engineName+"/"+video.type,name)}});function fv_player_track(ga_id,event,engineType,name){if(!ga_id||typeof _gat=="undefined")return;var tracker=_gat._getTracker(ga_id);if(typeof tracker._setAllowLinker=="undefined"){return}if(typeof engineType=="undefined")engineType="Unknown engine";if(/fv_ga_debug/.test(window.location.href))console.log("FV GA: "+event+" - "+engineType+" '"+name+"'");tracker._setAllowLinker(true);tracker._trackEvent(event,engineType,name,1)}function fv_player_track_name(root,video){var name=root.attr("title");if(!name&&typeof video.fv_title!="undefined")name=video.fv_title;if(!name&&typeof video.title!="undefined")name=video.title;if(!name&&typeof video.src!="undefined"){name=video.src.split("/").slice(-1)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"");if(video.type.match(/mpegurl/))name=video.src.split("/").slice(-2)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"")+"/"+name}return name}flowplayer(function(api,root){root=jQuery(root);var player=root.find(".fp-player"),had_no_volume=root.hasClass("no-volume"),had_fp_mute=root.hasClass("fp-mute"),had_fp_full=root.hasClass("fp-full"),timeline=root.find(".fp-timeline"),buttons_count=0;function check_size(){var width=player.width()||root.width();if(width>900){jQuery(".fp-subtitle",root).addClass("is-wide")}else{jQuery(".fp-subtitle",root).removeClass("is-wide")}root.toggleClass("is-tiny",width<400);root.toggleClass("is-small",width<600&&width>=400);if(!had_fp_full){root.toggleClass("fp-full",width<480+buttons_count*35)}var size="";if(width<400)size="is-tiny";else if(width<600&&width>=400)size="is-small";root.trigger("fv-player-size",[size]);var el=player;if(root.parent().hasClass("fp-playlist-vertical-wrapper")||root.parent().hasClass("fp-playlist-text-wrapper"))el=root.parent();if(el.width()<=560){el.addClass("is-fv-narrow")}else{el.removeClass("is-fv-narrow")}if(width<=320){root.addClass("no-volume fp-mute")}else{if(!had_no_volume)root.removeClass("no-volume");if(!had_fp_mute)root.removeClass("fp-mute")}if(!root.hasClass("is-audio")){var speed=root.find(".fp-speed-menu");speed.toggleClass("wont-fit",++speed.children().length*35>player.height());var item=root.find(".fv-fp-list-menu");item.toggleClass("wont-fit",++item.children().length*25>player.height())}}check_size();jQuery(window).on("resize",check_size);api.on("ready fullscreen fullscreen-exit",check_size);api.on("ready fullscreen fullscreen-exit",function(){setTimeout(function(){buttons_count=root.find(".fp-controls > strong:visible").length+root.find(".fp-controls > .fp-icon:visible").length;check_size()},0)});api.on("unload pause finish error",function(){if(typeof checker!=="undefined")clearInterval(checker)})});jQuery(window).on("resize tabsactivate",function(){jQuery(".fp-playlist-external").each(function(){var playlist=jQuery(this);if(playlist.parent().width()>=900)playlist.addClass("is-wide");else playlist.removeClass("is-wide")})}).trigger("resize");flowplayer(function(api,root){api.bind("ready",function(){if(/Chrome/.test(navigator.userAgent)&&parseFloat(/Chrome\/(\d\d)/.exec(navigator.userAgent)[1],10)>54){if(api.video.subtitles){jQuery(root).addClass("chrome55fix-subtitles")}else{jQuery(root).addClass("chrome55fix")}}});root=jQuery(root);var image_src=root.css("background-image");if(image_src){image_src=image_src.replace(/url\((['"])?(.*?)\1\)/gi,"$2").split(",");if(!image_src||!image_src[0].match(/^(https?:)?\/\//))return;var image=new Image;image.src=image_src[0];var image_ratio=image.height/image.width;var player_ratio=root.height()/root.width();var ratio_diff=Math.abs(player_ratio-image_ratio);if(ratio_diff<.05){root.css("background-size","cover")}}});(function($){$(window).on("resize",function(){var iframe=$("iframe[id][src][height][width]");iframe.each(function(){if($(this).attr("id").match(/(fv_vimeo_)|(fv_ytplayer_)/)&&$(this).width()<=$(this).attr("width"))$(this).height($(this).width()*$(this).attr("height")/$(this).attr("width"))});var wistia=jQuery(".wistia_embed");wistia.each(function(){$(this).height($(this).width()*$(this).data("ratio"))})}).trigger("resize")})(jQuery);jQuery(document).on("tabsactivate",".fv_flowplayer_tabs_content",function(event,ui){var oldPlayer=jQuery(".flowplayer.is-playing").data("flowplayer");if(typeof oldPlayer!="undefined"){oldPlayer.pause()}var objPlayer=jQuery(".flowplayer",ui.newPanel);var api=objPlayer.data("flowplayer");api.load()});flowplayer(function(api,root){root=jQuery(root);var bean=flowplayer.bean;if(root.hasClass("is-audio")){bean.off(root[0],"mouseenter");bean.off(root[0],"mouseleave");root.removeClass("is-mouseout");root.addClass("fixed-controls").addClass("is-mouseover");api.on("error",function(e,api,error){jQuery(".fp-message",root).html(jQuery(".fp-message",root).html().replace(/video/,"audio"))});root.click(function(e){if(!api.ready){e.preventDefault();e.stopPropagation();api.load()}})}});jQuery(document).on("mfpClose",function(){if(typeof jQuery(".flowplayer").data("flowplayer")!="undefined")jQuery(".flowplayer").data("flowplayer").unload()});jQuery(document).on("click",".vc_tta-tab a",function(){var api=jQuery(".flowplayer.is-playing").data("flowplayer");if(api)api.pause()});flowplayer(function(api,root){api.bind("ready",function(){setTimeout(function(){var video=jQuery("video",root);if(video.length>0){video.removeAttr("autoplay")}},100)})});jQuery(".flowplayer").on("ready",function(e,api){if(/BB10/.test(navigator.userAgent)){api.fullscreen()}});var fv_flowplayer_safety_resize_arr=Array();function fv_flowplayer_safety_resize(){var fv_flowplayer_safety_resize_init=false;jQuery(".flowplayer").each(function(){if(!jQuery(this).is(":visible")||jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter")||jQuery(this).hasClass("is-audio"))return;if(jQuery(this).width()<30||jQuery(this).height()<20){fv_flowplayer_safety_resize_init=true;var el=jQuery(this);while(jQuery(el).width()<30||jQuery(el).width()==jQuery(this).width()){if(jQuery(el).parent().length==0)break;el=jQuery(el).parent()}jQuery(this).width(jQuery(el).width());jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio")));fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]=el}});if(fv_flowplayer_safety_resize_init){jQuery(window).resize(function(){jQuery(".flowplayer").each(function(){if(jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter"))return;if(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]){jQuery(this).width(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")].width());jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio")))}})})}}if(typeof flowplayer.conf.safety_resize!="undefined"&&flowplayer.conf.safety_resize){jQuery(document).ready(function(){setTimeout(function(){fv_flowplayer_safety_resize()},10)})}var isIE11=!!navigator.userAgent.match(/Trident.*rv[ :]*11\./);if(isIE11){jQuery(document).ready(function(){jQuery(".fp-waiting").hide()});flowplayer(function(api,root){api.bind("load",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("beforeseek",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("progress",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("seek",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("fullscreen",function(e){jQuery("#wpadminbar").hide()}).bind("fullscreen-exit",function(e){jQuery("#wpadminbar").show()})})}if(jQuery.browser&&jQuery.browser.msie&&parseInt(jQuery.browser.version,10)<9){jQuery(".flowplayer").each(function(){jQuery(this).css("width",jQuery(this).css("max-width"));jQuery(this).css("height",jQuery(this).css("max-height"))})}if(location.href.match(/elementor-preview=/)){console.log("FV Player: Elementor editor is active");setInterval(fv_player_load,1e3)}flowplayer(function(player,root){root=jQuery(root);if(typeof root.data("fv-embed")=="undefined"||!root.data("fv-embed")||root.data("fv-embed")=="false")return;player.embedCode=function(){var video=player.video;var width=root.width();var height=root.height();height+=2;if(root.hasClass("has-chapters")||root.hasClass("has-transcript")){height+=300}if(jQuery(".fp-playlist-external[rel="+root.attr("id")+"]").length>0){height+=150+20}var link=root.data("fv-embed")+"#"+fv_player_get_video_link_hash(player);return'<iframe src="'+link+'" allowfullscreen width="'+width+'" height="'+height+'" frameborder="0" style="max-width:100%"></iframe>'}});jQuery(document).on("click",".flowplayer .embed-code-toggle",function(){var button=jQuery(this);var player=button.parents(".flowplayer");var api=player.data("flowplayer");if(typeof api.embedCode=="function"){player.find(".embed-code textarea").val(api.embedCode())}fv_player_clipboard(player.find(".embed-code textarea").val(),function(){fv_player_notice(player,fv_flowplayer_translations.embed_copied,2e3)},function(){button.parents(".fvp-share-bar").find(".embed-code").toggle();button.parents(".fvp-share-bar").toggleClass("visible")});return false});flowplayer(function(api,root){root=jQuery(root);if(flowplayer.conf.wpadmin||jQuery(root).hasClass("is-audio"))return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]"),fsforce=root.data("fsforce")==true||playlist.hasClass("fp-playlist-season")||playlist.hasClass("fp-playlist-polaroid");if(flowplayer.conf.mobile_force_fullscreen&&flowplayer.support.fvmobile||!flowplayer.support.fullscreen&&fsforce){if(!flowplayer.support.fullscreen){api.bind("ready",function(){api.fullscreen(true)})}root.on("click",function(){if(!api.ready||api.paused)api.fullscreen(true)});jQuery("[rel="+root.attr("id")+"] a").on("click",function(e){if(!api.isFullscreen){api.fullscreen();api.resume()}});api.on("resume",function(){if(!api.isFullscreen)api.fullscreen()});api.on("finish",function(){if(api.conf.playlist.length==0||api.conf.playlist.length-1==api.video.index)api.fullscreen(false)}).on("fullscreen",function(a,api){root.addClass("forced-fullscreen")}).on("fullscreen-exit",function(a,api){api.pause();root.removeClass("forced-fullscreen")})}else if(fsforce){var position,unload=root.find(".fp-unload"),is_closing=false;api.isFakeFullscreen=false;unload.show();root.on("click",function(e){if(!api.ready&&e.target!=unload[0])api.fakeFullscreen(true)});unload.on("click",function(e){if(api.ready){api.fullscreen(false)}else if(api.loading){is_closing=true;api.one("ready",function(e){api.unload()})}api.fakeFullscreen(false)});jQuery("[rel="+root.attr("id")+"] a").on("click",function(e){if(!api.isFakeFullscreen){api.fakeFullscreen();api.resume()}});api.on("resume",function(){if(!is_closing&&!api.isFakeFullscreen)api.fakeFullscreen()}).on("finish",function(){if(api.conf.playlist.length==0||api.conf.playlist.length-1==api.video.index)api.fakeFullscreen(false)}).on("fullscreen",function(a,api){root.removeClass("fake-fullscreen")}).on("fullscreen-exit",function(a,api){if(api.isFakeFullscreen)api.fakeFullscreen(true,true)}).on("unload",function(a,api){});api.fakeFullscreen=function(flag,force){if(!force&&(api.isFakeFullscreen==flag||api.disabled))return;if(position===undefined)position=root.css("position");if(flag===undefined)flag=!api.isFakeFullscreen;api.isFakeFullscreen=flag;api.trigger(flag?"fakefullscreen":"fakefullscreen-exit",[api]);root.toggleClass("is-fullscreen fake-fullscreen forced-fullscreen",flag);if(flag){root.css("position","fixed")}else{root.css("position",position)}}}if(flowplayer.support.android&&flowplayer.conf.mobile_landscape_fullscreen){api.on("fullscreen",function(a,api){screen.orientation.lock("landscape-primary")})}});flowplayer(function(api,root){root=jQuery(root);var hlsjs,player,audioUXGroup,audioGroups,hls_audio_button,hls_audio_menu,mse=window.MediaSource||window.WebKitMediaSource;flowplayer.engine("hlsjs-lite").plugin(function(params){hlsjs=params.hls});api.bind("ready",function(e,api){removeAudioMenu();if(hlsjs&&api.video.type=="application/x-mpegurl"){parseAudioTracksHlsJs(hlsjs);createAudioMenu()}});api.one("progress",function(){if(api.engine.engineName=="html5"&&api.video.type=="application/x-mpegurl"){parseAudioTracksSafari();createAudioMenu()}});function getVideoTagAudioTracks(){var video=root.find("video");if(video.length&&video[0].audioTracks){return video[0].audioTracks}return[]}function hilightAudioTrack(audioTrack){if(!audioTrack.name)audioTrack.name=audioTrack.label;root.find(".fv-fp-hls-menu a").each(function(k,el){jQuery(el).toggleClass("fp-selected",jQuery(el).attr("data-audio")===audioTrack.name)})}function createAudioMenu(){if(!audioUXGroup||audioUXGroup.length<2){return}hls_audio_button=jQuery('<strong class="fv-fp-hls">AUD</strong>');hls_audio_menu=jQuery('<div class="fp-menu fv-fp-hls-menu"></div>').insertAfter(root.find(".fp-controls"));hls_audio_menu.append("<strong>Audio</strong>");audioUXGroup.forEach(function(audioTrack){hls_audio_menu.append('<a data-audio="'+audioTrack.name+'">'+audioTrack.name+"</a>")});hls_audio_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(hls_audio_menu.hasClass("fp-active")){api.hideMenu(hls_audio_menu[0])}else{root.click();api.showMenu(hls_audio_menu[0])}});jQuery("a",hls_audio_menu).click(function(e){var adata=e.target.getAttribute("data-audio");if(hlsjs){var gid=hlsjs.audioTracks[hlsjs.audioTrack].groupId;var atrack=hlsjs.audioTracks.filter(function(at){return at.groupId===gid&&(at.name===adata||at.lang===adata)})[0];hlsjs.audioTrack=atrack.id;hilightAudioTrack(atrack)}else{var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;if(tracks[i].label==adata){tracks[i].enabled=true;hilightAudioTrack(tracks[i])}}}});if(hlsjs){hilightAudioTrack(hlsjs.audioTracks[hlsjs.audioTrack])}else{var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;if(tracks[i].enabled){hilightAudioTrack(tracks[i])}}}}function removeAudioMenu(){jQuery(hls_audio_menu).remove();jQuery(hls_audio_button).remove()}function parseAudioTracksHlsJs(data){audioGroups=[];audioUXGroup=[];data.levels.forEach(function(level){var agroup=level.attrs.AUDIO;if(agroup&&audioGroups.indexOf(agroup)<0){audioGroups.push(agroup)}if(audioGroups.length){audioUXGroup=data.audioTracks.filter(function(audioTrack){return audioTrack.groupId===audioGroups[0]})}})}function parseAudioTracksSafari(){audioGroups=[];audioUXGroup=[];var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;audioUXGroup.push({id:tracks[i].id,name:tracks[i].label})}}});flowplayer(function(api,root){var store_engine_pos=-1;var store_engine=false;api.on("error",function(e,api,err){if(err.code!=4||api.engine.engineName!="hlsjs")return;console.log("FV Player: HLSJS failed to play the video, switching to Flash HLS");api.error=api.loading=false;jQuery(root).removeClass("is-error");jQuery(flowplayer.engines).each(function(k,v){if(flowplayer.engines[k].engineName=="hlsjs"){store_engine_pos=k;store_engine=flowplayer.engines[k];delete flowplayer.engines[k]}});var index=typeof api.video.index!="undefined"?api.video.index:0;var video=index>0?api.conf.playlist[index].sources:api.conf.clip.sources;video.index=index;api.load({sources:video});api.bind("unload error",function(){flowplayer.engines[store_engine_pos]=store_engine})})});flowplayer(function(api,root){var initialDelay=30,timer;api.conf.flashls={manifestloadmaxretry:2};api.on("error",function(e,api,err){setTimeout(function(){if(!api.conf.clip.live&&!api.conf.live&&!err.video.src.match(/\/\/vimeo.com\/event\//))return;var delay=api.conf.clip.live_starts_in||initialDelay,message=api.conf.clip.live_starts_in?"<h2>Live stream scheduled</h2><p>Starting in <span>"+secondsToDhms(delay)+"</span>.</p>":"<h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>"+secondsToDhms(delay)+"</span> seconds ...</p>";clearInterval(timer);if(err.code===1||err.code===2||err.code===4){root.className+=" is-offline";if(flowplayer.support.flashVideo){api.one("flashdisabled",function(){root.querySelector(".fp-flash-disabled").style.display="none"})}var messageElement=root.querySelector(".fp-ui .fp-message");messageElement.innerHTML=message;timer=setInterval(function(){delay-=1;if(delay>0&&messageElement){messageElement.querySelector("span").innerHTML=secondsToDhms(delay)}else{clearInterval(timer);api.error=api.loading=false;if(messageElement){root.querySelector(".fp-ui").removeChild(messageElement)}root.className=root.className.replace(/\bis-(error|offline)\b/g,"");api.load()}},1e3)}},1)});function secondsToDhms(seconds){seconds=Number(seconds);var d=Math.floor(seconds/(3600*24));var h=Math.floor(seconds%(3600*24)/3600);var m=Math.floor(seconds%3600/60);var s=Math.floor(seconds%60);var dDisplay=d>0?d+(d==1?" day, ":" days, "):"";var hDisplay=h>0?h+(h==1?" hour, ":" hours, "):"";var mDisplay=m>0?m+(m==1?" minute and ":" minutes and "):"";var sDisplay=s>0?s+(s==1?" second":" seconds"):"";return dDisplay+hDisplay+mDisplay+sDisplay}});flowplayer(function(api,root){if(!flowplayer.support.browser.safari&&!flowplayer.support.iOS)return;root=jQuery(root);var video_tag=false,did_start_playing=false;api.on("ready",function(){did_start_playing=false;if(api.engine.engineName=="html5"){video_tag=root.find("video");if(!video_tag.data("fv-ios-recovery")){video_tag.on("waiting",wait_for_stalled);video_tag.data("fv-ios-recovery",true)}api.one("progress",function(){did_start_playing=true})}});api.bind("beforeseek",function(){if(did_start_playing){wait_for_stalled()}});function debug(e){console.log("FV PLayer: iOS video element: "+e.type)}function wait_for_stalled(){if(video_tag&&api.engine.engineName=="html5"){console.log("FV PLayer: iOS video element will trigger error after 'stalled' arrives");video_tag.one("stalled",function(){var time=api.video.time;setTimeout(function(){console.log(api.video.time,time);if(api.video.time!=time){console.log("FV PLayer: iOS video element continues playing, no need for error");return}if(api.paused){console.log("FV PLayer: iOS video element paused, no need for error");return}api.trigger("error",[api,{code:4,video:api.video}])},5e3)})}}});!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(r+"").replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(n+"")).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u<p.length;u++){var l=p[u].split("="),C=l.slice(1).join("=");this.json||'"'!==C.charAt(0)||(C=C.slice(1,-1));try{var m=l[0].replace(d,decodeURIComponent);if(C=o.read?o.read(C,m):o(C,m)||C.replace(d,decodeURIComponent),this.json)try{C=JSON.parse(C)}catch(e){}if(n===m){c=C;break}n||(c[m]=C)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}return n(function(){})});flowplayer.bean.off(document,"keydown.fp");flowplayer(function(api,root){var bean=flowplayer.bean;if(!api.conf.keyboard)return;bean.on(root,"mouseenter mouseleave",function(e){fv_player_focused=!api.disabled&&e.type=="mouseover"?api:0;if(fv_player_focused)fv_player_focusedRoot=root});api.bind("ready",function(e,api,video){if(video.subtitles&&video.subtitles.length>0){var help=jQuery(root).find(".fp-help").html();help+='<div class="fp-help-section fp-help-subtitles"><p><em>c</em>cycle through subtitles</p></div>';jQuery(root).find(".fp-help").html(help)}else{jQuery(root).find(".fp-help-subtitles").remove()}})});flowplayer.bean.on(document,"keydown.fp",function(e){if(typeof fv_player_focused=="undefined")return;var api=fv_player_focused,focusedRoot=api?fv_player_focusedRoot:false,common=flowplayer.common;var el=api&&!api.disabled?api:0,metaKeyPressed=e.ctrlKey||e.metaKey||e.altKey,key=e.which,conf=el&&el.conf;if(common.hasClass(focusedRoot,"no-controlbar")||common.hasClass(focusedRoot,"is-cva"))return;if(!el||!conf.keyboard||el.disabled)return;if([63,187,191].indexOf(key)!=-1){common.toggleClass(focusedRoot,"is-help");return false}if(key==27&&common.hasClass(focusedRoot,"is-help")){common.toggleClass(focusedRoot,"is-help");return false}if(!metaKeyPressed&&el.ready){e.preventDefault();if(e.shiftKey){if(key==39)el.speed(true);else if(key==37)el.speed(false);else if(key==78)el.next();else if(key==80)el.prev();return}if(key<58&&key>47)return el.seekTo(key-48);switch(key){case 38:case 75:el.volume(el.volumeLevel+.15);break;case 40:case 74:el.volume(el.volumeLevel-.15);break;case 39:case 76:el.seeking=true;el.seek(api.video.time+5);break;case 37:case 72:el.seeking=true;el.seek(api.video.time-5);break;case 190:el.seekTo();break;case 32:el.toggle();break;case 70:if(conf.fullscreen)el.fullscreen();break;case 77:el.mute();break;case 81:el.unload();break;case 67:if(!api.video.subtitles||api.video.subtitles.length==0)break;var current_subtitles=jQuery(focusedRoot).find(".fp-dropdown li.active[data-subtitle-index]").data("subtitle-index");if(typeof current_subtitles=="undefined")current_subtitles=-1;current_subtitles++;if(current_subtitles>api.video.subtitles.length-1){current_subtitles=-1}api.trigger("fv-subtitles-switched");if(current_subtitles>-1){el.loadSubtitles(current_subtitles);fv_player_notice(focusedRoot,fv_flowplayer_translations.subtitles_switched+" "+api.video.subtitles[current_subtitles].label,"fv-subtitles-switched")}else{el.disableSubtitles();fv_player_notice(focusedRoot,fv_flowplayer_translations.subtitles_disabled,"fv-subtitles-switched")}break}}});flowplayer(function(api,root){api.bind("load",function(e,api,data){var player=jQuery(e.currentTarget);if(player.data("live")){var live_check=setTimeout(function(){player.find(".fp-ui").append('<div class="fp-message">'+fv_flowplayer_translations.live_stream_failed+"</div>");player.addClass("is-error")},1e4);jQuery(e.currentTarget).data("live_check",live_check)}}).bind("ready",function(e,api,data){clearInterval(jQuery(e.currentTarget).data("live_check"))}).bind("error",function(e,api,data){var player=jQuery(e.currentTarget);if(player.data("live")){player.find(".fp-message").html(fv_flowplayer_translations.live_stream_failed_2)}})});(function($){flowplayer(function(api,root){if(jQuery(root).hasClass("is-cva"))return;$(document).on("submit","#"+jQuery(root).attr("id")+" .mailchimp-form",function(e){e.preventDefault();$(".mailchimp-response",root).remove();$("input[type=submit]",root).attr("disabled","disabled").addClass("fv-form-loading");var data={action:"fv_wp_flowplayer_email_signup"};$("[name]",this).each(function(){data[this.name]=$(this).val()});$.post(fv_fp_ajaxurl,data,function(response){response=JSON.parse(response);$('<div class="mailchimp-response"></div>').insertAfter(".mailchimp-form",root);if(response.text.match(/already subscribed/)){response.status="ERROR"}if(response.status==="OK"){$(".mailchimp-form input[type=text],.mailchimp-form input[type=email]",root).val("");$(".mailchimp-response",root).removeClass("is-fv-error").html(response.text);setTimeout(function(){$(".wpfp_custom_popup",root).fadeOut()},2e3)}else{$(".mailchimp-response",root).addClass("is-fv-error").html(response.text)}$("input[type=submit]",root).removeAttr("disabled").removeClass("fv-form-loading")})})})})(jQuery);function fv_flowplayer_mobile_switch(id){var regex=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)");var results=regex.exec(location.search);if((results!=null&&results[1]=="yes"||(jQuery(window).width()<=480||jQuery(window).height()<=480))&&(results==null||results[1]!="no")){var fv_fp_mobile=false;jQuery("#wpfp_"+id+" video source").each(function(){if(jQuery(this).attr("id")!="wpfp_"+id+"_mobile"){fv_fp_mobile=true;jQuery(this).remove()}});if(fv_fp_mobile){jQuery("#wpfp_"+id).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")}}}if(typeof fv_flowplayer_mobile_switch_array!="undefined"){for(var i in fv_flowplayer_mobile_switch_array){if(!fv_flowplayer_mobile_switch_array.hasOwnProperty(i))continue;fv_flowplayer_mobile_switch(i)}}flowplayer(function(api,root){if(!api.conf.multiple_playback)return;root=jQuery(root);var instance_id=root.data("flowplayer-instance-id");flowplayer.audible_instance=-1;api.one("load",function(){setTimeout(function(){api.conf.splash=false},0)});api.on("load",function(){var i=0,is_muted=root.data("volume")==0;if(!is_muted){jQuery(".flowplayer[data-flowplayer-instance-id]").each(function(){var current_instance_id=root.data("flowplayer-instance-id");if(current_instance_id==flowplayer.audible_instance)return;var player=jQuery(this).data("flowplayer");if(player&&player.playing){player.mute(true,true)}});flowplayer.audible_instance=instance_id}}).on("mute",function(e,api,muted){if(!muted&&flowplayer.audible_instance!=instance_id){flowplayer(flowplayer.audible_instance).mute(true,true);flowplayer.audible_instance=instance_id}})});function fv_flowplayer_browser_ff_m4v(hash){if(jQuery.browser&&jQuery.browser.mozilla&&navigator.appVersion.indexOf("Win")!=-1){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}if(typeof fv_flowplayer_browser_ff_m4v_array!="undefined"){for(var i in fv_flowplayer_browser_ff_m4v_array){if(!fv_flowplayer_browser_ff_m4v_array.hasOwnProperty(i))continue;fv_flowplayer_browser_ff_m4v(i)}}function fv_flowplayer_browser_chrome_fail(hash,sAttributes,sVideo,bAutobuffer){jQuery("#wpfp_"+hash).bind("error",function(e,api,error){if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&error!=null&&(error.code==3||error.code==4||error.code==5)){api.unload();jQuery("#wpfp_"+hash).attr("id","bad_wpfp_"+hash);jQuery("#bad_wpfp_"+hash).after('<div id="wpfp_'+hash+'" '+sAttributes+' data-engine="flash"></div>');jQuery("#wpfp_"+hash).flowplayer({playlist:[[{mp4:sVideo}]]});if(bAutobuffer){jQuery("#wpfp_"+hash).bind("ready",function(e,api){api.play()})}else{jQuery("#wpfp_"+hash).flowplayer().play(0)}jQuery("#bad_wpfp_"+hash).remove()}})}if(typeof fv_flowplayer_browser_chrome_fail_array!="undefined"){for(var i in fv_flowplayer_browser_chrome_fail_array){if(!fv_flowplayer_browser_chrome_fail_array.hasOwnProperty(i))continue;fv_flowplayer_browser_chrome_fail(i,fv_flowplayer_browser_chrome_fail_array[i]["attrs"],fv_flowplayer_browser_chrome_fail_array[i]["mp4"],fv_flowplayer_browser_chrome_fail_array[i]["auto_buffer"])}}function fv_flowplayer_browser_ie(hash){if(jQuery.browser&&jQuery.browser.msie&&parseInt(jQuery.browser.version,10)>=9){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}if(typeof fv_flowplayer_browser_ie_array!="undefined"){for(var i in fv_flowplayer_browser_ie_array){if(!fv_flowplayer_browser_ie_array.hasOwnProperty(i))continue;fv_flowplayer_browser_ie(i)}}function fv_flowplayer_browser_chrome_mp4(hash){var match=window.navigator.appVersion.match(/Chrome\/(\d+)\./);if(match!=null){var chrome_ver=parseInt(match[1],10);if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&chrome_ver<28&&navigator.appVersion.indexOf("Win")!=-1||/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&chrome_ver<27&&navigator.appVersion.indexOf("Linux")!=-1&&navigator.userAgent.toLowerCase().indexOf("android")==-1){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}}if(navigator.platform.indexOf("iPhone")!=-1||navigator.platform.indexOf("iPod")!=-1||navigator.platform.indexOf("iPad")!=-1||navigator.userAgent.toLowerCase().indexOf("android")!=-1){flowplayer(function(api,root){api.bind("error",function(e,api,error){if(error.code==10){jQuery(e.target).find(".fp-message").html(fv_flowplayer_translations.unsupported_format)}})})}jQuery(document).ready(function(){if(navigator.platform.indexOf("iPhone")!=-1||navigator.platform.indexOf("iPod")!=-1||navigator.platform.indexOf("iPad")!=-1){jQuery(window).trigger("load")}jQuery(".flowplayer").mouseleave(function(){jQuery(this).find(".fvp-share-bar").removeClass("visible");jQuery(this).find(".embed-code").hide()})});if(!Date.now){Date.now=function(){return(new Date).getTime()}}(function($){var sendPositionsEvery=60,ajaxCall=null,maxCookieSize=2500,localStorageEnabled=null,cookieKeyName="video_positions",tempPositionCookieKeyName="video_positions_tmp",tempSawCookieKeyName="video_saw_tmp",playPositions=[],sawVideo=[],getSerialized=function(data){var serialized=JSON.stringify(data),dataSize=getTextByteSize(serialized);if(dataSize>maxCookieSize){while(dataSize>maxCookieSize){for(var i in data){if(!data.hasOwnProperty(i))continue;delete data[i];serialized=JSON.stringify(data);dataSize=getTextByteSize(serialized);break}}}return serialized},getVideoId=function(video){if(video.id){return video.id}var out=typeof video.sources_original!="undefined"&&typeof video.sources_original[0]!="undefined"?video.sources_original[0].src:video.sources[0].src;if(typeof video.sources_original=="undefined"||typeof video.sources_original[0]=="undefined"){out=removeAWSSignatures(out)}return out},getTextByteSize=function(txt){return encodeURIComponent(txt).length},getCookieKey=function(key){return localStorageEnabled?localStorage.getItem(key):Cookies.get(key)},setCookieKey=function(key,value){return localStorageEnabled?localStorage.setItem(key,value):Cookies.set(key,value)},removeCookieKey=function(key){if(localStorageEnabled){localStorage.removeItem(key)}{Cookies.remove(key)}},removeVideoPosition=function(e,api){if(api.video.sources){var video_id=getVideoId(api.video);playPositions[video_id]=0;sawVideo[video_id]=1}},removeAWSSignatures=function(videoURL){return videoURL.replace(/(X-Amz-Algorithm=[^&]+&?)/gm,"").replace(/(X-Amz-Credential=[^&]+&?)/gm,"").replace(/(X-Amz-Date=[^&]+&?)/gm,"").replace(/(X-Amz-Expires=[^&]+&?)/gm,"").replace(/(X-Amz-SignedHeaders=[^&]+&?)/gm,"").replace(/(X-Amz-Signature=[^&]+&?)/gm,"")},sendVideoPositions=function(async,callback){var beaconSupported="sendBeacon"in navigator;if(async!==true){async=false}if(!callback||typeof callback=="undefined"){callback=function(){}}postData=[];for(var video_name in playPositions){if(!playPositions.hasOwnProperty(video_name))continue;postData.push({name:video_name,position:playPositions[video_name],saw:typeof sawVideo[video_name]!="undefined"?sawVideo[video_name]:false})}if(!postData.length){removeCookieKey(tempPositionCookieKeyName);removeCookieKey(tempSawCookieKeyName);return}if(flowplayer.conf.is_logged_in=="1"){if(beaconSupported){try{var temp_position_data={},temp_saw_data={};for(var i in postData){if(!postData.hasOwnProperty(i))continue;temp_position_data[postData[i].name]=postData[i].position;temp_saw_data[postData[i].name]=postData[i].saw}setCookieKey(tempPositionCookieKeyName,getSerialized(temp_position_data));setCookieKey(tempSawCookieKeyName,getSerialized(temp_saw_data))}catch(e){return}var fd=new FormData;fd.append("action","fv_wp_flowplayer_video_position_save");fd.append("videoTimes",encodeURIComponent(JSON.stringify(postData)));navigator.sendBeacon(fv_fp_ajaxurl,fd);return false}else{return jQuery.ajax({type:"POST",async:async,url:fv_fp_ajaxurl,complete:callback,data:{action:"fv_wp_flowplayer_video_position_save",videoTimes:postData}})}}else{try{var data=getCookieKey(cookieKeyName);if(data&&typeof data!=="undefined"){data=JSON.parse(data)}else{data={}}for(var i in postData){if(!postData.hasOwnProperty(i))continue;data[postData[i].name]=postData[i].position}var serialized=JSON.stringify(data),dataSize=getTextByteSize(serialized);if(dataSize>maxCookieSize){while(dataSize>maxCookieSize){for(var i in data){if(!data.hasOwnProperty(i))continue;delete data[i];serialized=JSON.stringify(data);dataSize=getTextByteSize(serialized);break}}}setCookieKey(cookieKeyName,serialized)}catch(e){return}}return false};flowplayer(function(api,root){var $root=jQuery(root),enabled=flowplayer.conf.video_position_save_enable&&$root.data("save-position")!="false"||$root.data("save-position"),progressEventsCount=0,seekIntoPosition=function(e,api){if(api.video&&api.video.live)return;var video_id=getVideoId(api.video),position=api.video.position;api.bind("progress",storeVideoPosition);if(position){seek(position)}else{if(flowplayer.conf.is_logged_in!="1"){var data=getCookieKey(cookieKeyName);if(data&&typeof data!=="undefined"){try{data=JSON.parse(data);if(data[video_id]){seek(data[video_id])}}catch(e){return}}}}},storeVideoPosition=function(e,api){if(api.live){return}if(api.video.sources){var video_id=getVideoId(api.video),position=Math.round(api.video.time);playPositions[video_id]=position;if(progressEventsCount++>=sendPositionsEvery&&flowplayer.conf.closingPage){if(ajaxCall){ajaxCall.abort()}ajaxCall=sendVideoPositions(true,function(){ajaxCall=null});progressEventsCount=0}}},forceSavePosition=function(e,api){var inPlaylist=false;for(var i in api.conf.playlist){if(!api.conf.playlist.hasOwnProperty(i))continue;inPlaylist=true;break}if(inPlaylist&&!flowplayer.conf.closingPage){progressEventsCount=sendPositionsEvery+1;storeVideoPosition(e,api);sendVideoPositions()}},seek=function(position){var seek_count=0;var do_seek=setInterval(function(){if(++seek_count>20)clearInterval(do_seek);if(api.loading)return;api.seek(parseInt(position));clearInterval(do_seek)},10)},processTempData=function(temp_data_name,video_id){var data=getCookieKey(temp_data_name),output=false;if(data&&typeof data!=="undefined"){try{data=JSON.parse(data);if(typeof data[video_id]!="undefined"){output=data[video_id];delete data[video_id];var stillHasData=false;for(var i in data){if(!data.hasOwnProperty(i))continue;stillHasData=true;break}if(stillHasData){setCookieKey(temp_data_name,JSON.stringify(data))}else{removeCookieKey(temp_data_name)}}return output}catch(e){}}};if(!enabled)return;api.bind("finish",removeVideoPosition);if(flowplayer.support.fvmobile){api.one("progress",seekIntoPosition)}else{api.bind("ready",seekIntoPosition)}if(flowplayer.conf.is_logged_in=="1"){var playlist=api.conf.playlist.length>0?api.conf.playlist:[api.conf.clip];for(var i in playlist){if(!playlist.hasOwnProperty(i))continue;var video_id=getVideoId(playlist[i]),position=processTempData(tempPositionCookieKeyName,video_id),saw=processTempData(tempSawCookieKeyName,video_id);if(position){if(api.conf.playlist.length){api.conf.playlist[i].sources[0].position=position}else{api.conf.clip.sources[0].position=position}}if(saw){if(api.conf.playlist.length){api.conf.playlist[i].sources[0].saw=true}else{api.conf.clip.sources[0].saw=true}}}}api.bind("finish",function(e,api){if(api.conf.playlist.length){api.conf.playlist[api.video.index].sources[0].saw=true}else{api.conf.clip.sources[0].saw=true}})});jQuery(window).on("beforeunload pagehide",function(){if(!flowplayer.conf.closingPage){flowplayer.conf.closingPage=true;sendVideoPositions()}});if(localStorageEnabled!==null){return localStorageEnabled}localStorageEnabled=true;try{localStorage.setItem("t","t");if(localStorage.getItem("t")!=="t"){localStorageEnabled=false}localStorage.removeItem("t")}catch(e){localStorageEnabled=false}})(jQuery);flowplayer(function(api,root){root=jQuery(root);if(api.conf.playlist.length==0)return;var real_videos=0;jQuery(api.conf.playlist).each(function(k,v){if(typeof v.click=="undefined"){real_videos++}});if(real_videos<2)return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");var playlist_button=jQuery('<strong class="fv-fp-list">Item 1.</strong>'),playlist_menu=jQuery('<div class="fp-menu fv-fp-list-menu"></div>').insertAfter(root.find(".fp-controls"));var i=0,item_index=[];jQuery(api.conf.playlist).each(function(k,v){if(typeof v.click=="undefined"){playlist_menu.append('<a data-index="'+k+'">'+(i+1)+". "+parse_title(playlist.find("h4").eq(i))+"</a>");item_index.push(k);i++}});playlist_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(playlist_menu.hasClass("fp-active")){api.hideMenu(playlist_menu[0])}else{root.click();api.showMenu(playlist_menu[0])}});jQuery("a",playlist_menu).click(function(){if(typeof api.conf.playlist[jQuery(this).data("index")-1]!="undefined"&&typeof api.conf.playlist[jQuery(this).data("index")-1].click!="undefined"){api.play(jQuery(this).data("index")-1)}else{api.play(jQuery(this).data("index"))}});api.on("ready",function(e,api,video){playlist_menu.find("a").removeClass("fp-selected");var thumb=playlist_menu.find("a[data-index="+video.index+"]");thumb.addClass("fp-selected");var label=fv_flowplayer_translations.playlist_item_no;label=label.replace(/%d/,item_index.indexOf(api.video.index)+1);label=label.replace(/%s/,parse_title(thumb.find("h4")));playlist_button.html(label)});function parse_title(el){var tmp=el.clone();tmp.find("i.dur").remove();return tmp.text()}});flowplayer(function(api,root){root=jQuery(root);var playlist=api.conf.playlist;var videoIndex;api.bind("ready",function(e,api,video){videoIndex=video.index});api.bind("error",function(e,api,error){setTimeout(function(){if(api.conf.playlist.length>0&&api.error==true){api.error=api.loading=false;root.removeClass("is-error");root.find(".fp-message.fp-shown").remove();if(api.conf.video_checker=="1"&&api.conf.playlist[videoIndex].video_checker.length>0){return false}if(videoIndex>=playlist.length-1){api.play(playlist.length-1)}else{api.play(videoIndex+2);videoIndex+=1}}},1e3)})});flowplayer(function(api,root){root=jQuery(root);var original_prev,original_next,random_seed;if(!root.data("button-no-picture")&&!root.data("button-repeat")&&!root.data("button-rewind"))return;api.bind("ready",function(e,api){if(typeof original_next=="undefined"&&typeof original_prev=="undefined"){original_next=api.next;original_prev=api.prev}if(!api.video.type.match(/^audio/)&&root.data("button-no-picture")&&root.find(".fv-fp-no-picture").length==0){var button_no_picture=jQuery('<span class="fv-fp-no-picture"><svg viewBox="0 0 90 80" width="20px" height="20px" class="fvp-icon fvp-nopicture"><use xlink:href="#fvp-nopicture"></use></svg></span>');button_no_picture.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();jQuery(".fp-engine",root).slideToggle(20);jQuery(this).toggleClass("is-active fp-color-fill")})}if(root.data("button-repeat")){if(api.conf.playlist.length>0&&root.find(".fv-fp-playlist").length==0){var t=fv_flowplayer_translations,playlist_button=jQuery('<strong class="fv-fp-playlist mode-normal"> <svg viewBox="0 0 80.333 80" width="20px" height="20px" class="fvp-icon fvp-replay-list"><title>'+t.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-shuffle"><title>'+t.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><title>'+t.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span id="fvp-playlist-play" title="'+t.playlist_play_all+'">'+t.playlist_play_all_button+"</span> </strong>"),playlist_menu=jQuery('<div class="fp-menu fv-fp-playlist-menu"> <a data-action="repeat_playlist"><svg viewBox="0 0 80.333 80" width="20px" height="20px" class="fvp-icon fvp-replay-list"><title>'+t.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <span class="screen-reader-text">'+t.playlist_replay_all+'</span></a> <a data-action="shuffle_playlist"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-shuffle"><title>'+t.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <span class="screen-reader-text">'+t.playlist_shuffle+'</span></a> <a data-action="repeat_track"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><title>'+t.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span class="screen-reader-text">'+t.playlist_replay_video+'</span></a> <a class="fp-selected" data-action="normal"><span id="fvp-playlist-play" title="'+t.playlist_play_all+'">'+t.playlist_play_all_button+"</span></a> </div>").insertAfter(root.find(".fp-controls"));api.conf.playlist_shuffle=api.conf.track_repeat=false;random_seed=randomize();var should_advance=api.conf.advance;playlist_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(playlist_menu.css("right")!=="auto"){playlist_menu.css({right:"auto",left:playlist_button.position().left+"px"})}if(playlist_menu.hasClass("fp-active")){api.hideMenu(playlist_menu[0])}else{root.click();api.showMenu(playlist_menu[0])}});jQuery("a",playlist_menu).click(function(){jQuery(this).siblings("a").removeClass("fp-selected");jQuery(this).addClass("fp-selected");playlist_button.removeClass("mode-normal mode-repeat-track mode-repeat-playlist mode-shuffle-playlist");var action=jQuery(this).data("action");if(action=="repeat_playlist"){playlist_button.addClass("mode-repeat-playlist");api.conf.loop=true;api.conf.advance=true;api.video.loop=api.conf.track_repeat=false;api.conf.playlist_shuffle=false}else if(action=="shuffle_playlist"){playlist_button.addClass("mode-shuffle-playlist");api.conf.loop=true;api.conf.advance=true;api.conf.playlist_shuffle=true}else if(action=="repeat_track"){playlist_button.addClass("mode-repeat-track");api.conf.track_repeat=api.video.loop=true;api.conf.loop=api.conf.playlist_shuffle=false}else if(action=="normal"){playlist_button.addClass("mode-normal");api.conf.track_repeat=api.video.loop=false;api.conf.loop=api.conf.playlist_shuffle=false}if(api.conf.playlist_shuffle){api.next=function(){api.play(random_seed.pop());if(random_seed.length==0)random_seed=randomize()};api.prev=function(){api.play(random_seed.shift());if(random_seed.length==0)random_seed=randomize()}}else{api.next=original_next;api.prev=original_prev}});if(api.conf.loop){jQuery("a[data-action=repeat_playlist]",playlist_menu).click()}api.on("progress",function(){api.video.loop=api.conf.track_repeat});api.on("finish.pl",function(e,api){console.log("playlist_repeat",api.conf.loop,"advance",api.conf.advance,"video.loop",api.video.loop);if(api.conf.playlist_shuffle){api.play(random_seed.pop());if(random_seed.length==0)random_seed=randomize()}})}else if(root.find(".fv-fp-track-repeat").length==0&&api.conf.playlist.length==0){var button_track_repeat=jQuery('<strong class="fv-fp-track-repeat"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><use xlink:href="#fvp-replay-track"></use></svg></strong>');button_track_repeat.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();jQuery(this).toggleClass("is-active fp-color-fill",api.video.loop);if(api.video.loop){api.video.loop=false}else{api.video.loop=true}});if(api.conf.loop){button_track_repeat.addClass("is-active fp-color-fill")}}}if(root.data("button-rewind")&&root.find(".fv-fp-rewind").length==0){var button_rewind=jQuery('<span class="fv-fp-rewind"><svg viewBox="0 0 24 24" width="24px" height="24px" class="fvp-icon fvp-rewind"><use xlink:href="#fvp-rewind"></use></svg></span>');button_rewind.insertBefore(root.find(".fp-controls .fp-elapsed")).click(function(e){e.preventDefault();e.stopPropagation();api.seek(api.video.time-10)});button_rewind.toggle(!api.video.live)}}).bind("finish",function(){var finished_at=api.video.time;if(api.video.loop){api.one("pause",function(){if(finished_at<=api.video.time){api.resume()}})}}).bind("unload",function(){root.find(".fv-fp-no-picture").remove();root.find(".fv-fp-playlist").remove();root.find(".fv-fp-track-repeat").remove()});function array_shuffle(a){var j,x,i;for(i=a.length;i;i--){j=Math.floor(Math.random()*i);x=a[i-1];a[i-1]=a[j];a[j]=x}return a}function randomize(random_seed){random_seed=[];jQuery(api.conf.playlist).each(function(k,v){random_seed.push(k)});random_seed=array_shuffle(random_seed);console.log("FV Player Randomizer random seed:",random_seed);return random_seed}});flowplayer(function(api,root){var $root=jQuery(root),start_index=$root.data("playlist_start");if(typeof start_index=="undefined")return;function start_position_changer(){if($root.data("position_changed")!==1&&api.conf.playlist.length){start_index--;api.play(start_index);$root.data("position_changed",1)}}api.bind("unload",function(){start_index=$root.data("playlist_start");$root.removeData("position_changed");api.one("ready",start_position_changer);api.video.index=0});api.one("ready",start_position_changer);jQuery(".fp-ui",root).on("click",function(){start_position_changer();$root.data("position_changed",1)})});function fv_flowplayer_amazon_s3(hash,time){jQuery("#wpfp_"+hash).bind("error",function(e,api,error){var fv_fp_date=new Date;if(error.code==4&&fv_fp_date.getTime()>fv_fp_utime+parseInt(time)){jQuery(e.target).find(".fp-message").delay(500).queue(function(n){jQuery(this).html(fv_flowplayer_translations.video_expired);n()})}})}flowplayer(function(api,root){root=jQuery(root);root.find(".fp-logo").removeAttr("href");if(root.hasClass("no-controlbar")){var timelineApi=api.sliders.timeline;timelineApi.disable(true);api.bind("ready",function(){timelineApi.disable(true)})}jQuery(".fvfp_admin_error",root).remove();root.find(".fp-logo, .fp-header").click(function(e){if(e.target!==this)return;root.find(".fp-ui").click()});jQuery(".fvp-share-bar .sharing-facebook",root).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Facebook</title><path d="M11.9 5.2l-2.6 0 0-1.6c0-0.7 0.3-0.7 0.7-0.7 0.3 0 1.6 0 1.6 0l0-2.9 -2.3 0c-2.6 0-3.3 2-3.3 3.3l0 2 -1.6 0 0 2.9 1.6 0c0 3.6 0 7.8 0 7.8l3.3 0c0 0 0-4.2 0-7.8l2.3 0 0.3-2.9Z"/></svg>');jQuery(".fvp-share-bar .sharing-twitter",root).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Twitter</title><path d="M16 3.1c-0.6 0.3-1.2 0.4-1.9 0.5 0.7-0.4 1.2-1 1.4-1.8 -0.6 0.4-1.3 0.6-2.1 0.8 -0.6-0.6-1.4-1-2.4-1 -2 0.1-3.2 1.6-3.2 4 -2.7-0.1-5.1-1.4-6.7-3.4 -0.9 1.4 0.2 3.8 1 4.4 -0.5 0-1-0.1-1.5-0.4l0 0.1c0 1.6 1.1 2.9 2.6 3.2 -0.7 0.2-1.3 0.1-1.5 0.1 0.4 1.3 1.6 2.2 3 2.3 -1.6 1.7-4.6 1.4-4.8 1.3 1.4 0.9 3.2 1.4 5 1.4 6 0 9.3-5 9.3-9.3 0-0.1 0-0.3 0-0.4 0.6-0.4 1.2-1 1.6-1.7Z"/></svg>');jQuery(".fvp-share-bar .sharing-email",root).append('<svg xmlns="http://www.w3.org/2000/svg" height="16" viewBox="0 0 16 16" width="16" fill="#fff"><title>Email</title><path d="M8 10c0 0 0 0-1 0L0 6v7c0 1 0 1 1 1h14c1 0 1 0 1-1V6L9 10C9 10 8 10 8 10zM15 2H1C0 2 0 2 0 3v1l8 4 8-4V3C16 2 16 2 15 2z"/></svg>');jQuery(".fp-header",root).prepend(jQuery(".fvp-share-bar",root));if(api.conf.playlist.length){var show=true;var playlist=api.conf.playlist;if(playlist.length==2){if(typeof playlist[0].click!="undefined"&&typeof playlist[1].click=="undefined"){show=false}if(typeof playlist[0].click=="undefined"&&typeof playlist[1].click!="undefined"){show=false}}else if(playlist.length==3){if(typeof playlist[0].click!="undefined"&&typeof playlist[1].click=="undefined"&&typeof playlist[2].click!="undefined"){show=false}}if(show){var prev=jQuery('<a class="fp-icon fv-fp-prevbtn"></a>');var next=jQuery('<a class="fp-icon fv-fp-nextbtn"></a>');root.find(".fp-controls .fp-playbtn").before(prev).after(next);prev.click(function(){api.trigger("prev",[api]);api.prev()});next.click(function(){api.trigger("next",[api]);api.next()})}}api.bind("pause resume finish unload ready",function(e,api){root.addClass("no-brand")});api.one("ready",function(){root.find(".fp-fullscreen").clone().appendTo(root.find(".fp-controls"))});api.bind("ready",function(e,api,video){setTimeout(function(){jQuery(".fvp-share-bar",root).show();jQuery(".fv-player-buttons-wrap",root).appendTo(jQuery(".fv-player-buttons-wrap",root).parent().find(".fp-ui"))},100)});api.bind("finish",function(){var url=root.data("fv_redirect");if(url&&(typeof api.video.is_last=="undefined"||api.video.is_last)){location.href=url}});if(flowplayer.support.iOS&&flowplayer.support.iOS.version==11){api.bind("error",function(e,api,error){if(error.code==4)root.find(".fp-engine").hide()})}jQuery(document).on("contextmenu",".flowplayer",function(e){e.preventDefault()});api.one("ready",function(e,api,video){root.find(".fp-chromecast").insertAfter(root.find(".fp-header .fp-fullscreen"))});root.find(".fp-waiting").html('<div class="fp-preload"><b></b><b></b><b></b><b></b></div>');if(!flowplayer.support.fullscreen){var id=root.attr("id"),alternative=!flowplayer.conf.native_fullscreen&&flowplayer.conf.mobile_alternative_fullscreen;api.bind("fullscreen",function(e,api){jQuery("#wpadminbar, .nc_wrapper").hide();if(alternative){if(api.video.type=="video/youtube")return;root.before('<span data-fv-placeholder="'+id+'"></span>');root.appendTo("body")}});api.bind("fullscreen-exit",function(e,api,video){jQuery("#wpadminbar, .nc_wrapper").show();if(alternative)jQuery("span[data-fv-placeholder="+id+"]").replaceWith(root)})}});(function(){var extension=function(flowplayer){flowplayer(function(api,root){if(!jQuery(root).data("speedb"))return;var support=flowplayer.support;if(!support.video||!support.inlineVideo)return;var common=flowplayer.common,bean=flowplayer.bean,ui=common.find(".fp-ui",root)[0],controlbar=common.find(".fp-controls",ui)[0],speeds=api.conf.speeds;bean.on(root,"click",".fp-speed",function(){var menu=common.find(".fp-speed-menu",root)[0];if(common.hasClass(menu,"fp-active"))api.hideMenu();else api.showMenu(menu)});bean.on(root,"click",".fp-speed-menu a",function(ev){var s=ev.target.getAttribute("data-speed");api.speed(s)});api.on("speed",function(ev,_a,rate){if(speeds.length>1){selectSpeed(rate)}}).on("ready",function(ev,api){removeMenu();if(flowplayer.support.android&&api.engine.engineName=="html5"&&api.video.type=="application/x-mpegurl")return;speeds=api.conf.speeds;if(speeds.length>1){createMenu()}});function removeMenu(){common.find(".fp-speed-menu",root).forEach(common.removeNode);common.find(".fp-speed",root).forEach(common.removeNode)}function round(val){return Math.round(val*100)/100}function createMenu(){controlbar.appendChild(common.createElement("strong",{className:"fp-speed"},api.currentSpeed+"x"));var menu=common.createElement("div",{className:"fp-menu fp-speed-menu",css:{width:"auto"}},"<strong>Speed</strong>");speeds.forEach(function(s){var a=common.createElement("a",{"data-speed":round(s)},round(s)+"x");menu.appendChild(a)});ui.appendChild(menu);selectSpeed(api.currentSpeed)}function selectSpeed(rate){common.find(".fp-speed",root)[0].innerHTML=rate+"x";common.find(".fp-speed-menu a",root).forEach(function(el){common.toggleClass(el,"fp-selected",el.getAttribute("data-speed")==rate);common.toggleClass(el,"fp-color",el.getAttribute("data-speed")==rate)})}})};if(typeof module==="object"&&module.exports)module.exports=extension;else if(typeof window.flowplayer==="function")extension(window.flowplayer)})();flowplayer(function(api,root){api.on("speed",function(ev,_a,rate){try{window.localStorage.fv_player_speed=rate}catch(e){}});api.on("ready",function(){if(window.localStorage.fv_player_speed&&jQuery(root).find("strong.fp-speed").is(":visible")){api.speed(parseFloat(window.localStorage.fv_player_speed))}if(jQuery(root).data("volume")==0){api.mute(true,true)}})});flowplayer(function(api,root){root=jQuery(root);if(!api.conf.fv_stats||!api.conf.fv_stats.enabled&&(!root.data("fv_stats")||root.data("fv_stats")=="no"))return;api.on("ready",function(e,api){api.one("progress",function(e,api){if(api.video.id){jQuery.post(api.conf.fv_stats.url,{blog_id:api.conf.fv_stats.blog_id,tag:"play",video_id:api.video.id})}})})});flowplayer(function(api,root){var $root=jQuery(root);var $playerDiv=$root.find(".fp-player");var sticky=$root.data("fvsticky");var globalSticky=false;var videoRatio=$root.data("ratio");if(typeof videoRatio=="undefined"){videoRatio=.5625}if(flowplayer.conf.sticky_video==1&&typeof sticky=="undefined"){globalSticky=true}if(globalSticky||sticky){if(flowplayer.support.firstframe){var stickyPlace=flowplayer.conf.sticky_place;var stickyWidth=flowplayer.conf.sticky_width;if(stickyWidth==""){stickyWidth=380}var stickyHeight=stickyWidth*videoRatio;fv_player_sticky_video()}else{return}}function fv_player_sticky_video(){var change=false;var $window=jQuery(window),$flowplayerDiv=$root,top=$flowplayerDiv.offset().top,offset=Math.floor(top+$flowplayerDiv.outerHeight()/2);api.on("ready",function(){change=true});api.on("progress",function(){change=true});api.on("unload",function(){change=false;fv_player_sticky_class_remove();$root.removeClass("is-unSticky")});$window.on("resize",function(){top=$flowplayerDiv.offset().top;offset=Math.floor(top+$flowplayerDiv.outerHeight()/2)}).on("scroll",function(){top=$flowplayerDiv.offset().top;offset=Math.floor(top+$flowplayerDiv.outerHeight()/2);if($window.scrollTop()>offset&&change){if(jQuery("div.flowplayer.is-unSticky").length>0){console.log("unSticky",jQuery("div.flowplayer.is-unSticky").length);return false}else{fv_player_sticky_class_add()}}else{fv_player_sticky_class_remove();change=false}})}function fv_player_sticky_class_add(){if($playerDiv.hasClass("is-sticky-"+stickyPlace)){return}else{$playerDiv.addClass("is-sticky-"+stickyPlace);if($root.find("a.fp-sticky").length==0){$root.find("div.fp-header").prepend('<a class="fp-sticky fp-icon"></a>')}$playerDiv.css("width",stickyWidth);$playerDiv.css("height",stickyHeight);$playerDiv.css("max-height",stickyHeight)}$playerDiv.parent(".flowplayer").addClass("is-stickable")}function fv_player_sticky_class_remove(){$playerDiv.removeClass("is-sticky-"+stickyPlace);$playerDiv.css("width","");$playerDiv.css("height","");$playerDiv.css("max-height","");$playerDiv.parent(".flowplayer").removeClass("is-stickable")}});jQuery(function($){$(document).on("click","a.fp-sticky",function(){$("div.flowplayer.is-stickable").addClass("is-unSticky");var $playerDiv=$("div.flowplayer.is-stickable").find(".fp-player");$playerDiv.removeClass("is-sticky-right-bottom");$playerDiv.removeClass("is-sticky-left-bottom");$playerDiv.removeClass("is-sticky-right-top");$playerDiv.removeClass("is-sticky-left-top");$playerDiv.css("width","");$playerDiv.css("height","");$playerDiv.css("max-height","")});$(document).on("click","div.flowplayer.is-unSticky",function(){$("div.flowplayer").removeClass("is-unSticky")})});flowplayer(function(api,root){root=jQuery(root);api.on("ready",function(e,api,video){if(window.localStorage.fv_player_subtitle&&root.find("strong.fp-cc").is(":visible")){if(api.video.subtitles.length){api.video.subtitles.forEach(function(item,index){if(item.srclang===window.localStorage.fv_player_subtitle){api.loadSubtitles(index)}})}}root.find(".fp-subtitle-menu").click(function(e){if(typeof e.target.getAttribute("data-subtitle-index")=="string"&&e.target.getAttribute("data-subtitle-index").length){try{window.localStorage.fv_player_subtitle=api.video.subtitles[e.target.getAttribute("data-subtitle-index")].srclang}catch(e){}}})})});flowplayer(function(api,root){root=jQuery(root);var currentPoint,check=false;api.bind("cuepoint",function(e,api,cue){check=false;if(cue.subtitle){currentPoint=cue.index}});root.on("click",".fp-subtitle-menu a[data-subtitle-index]",function(e){if(jQuery(this).data("subtitle-index")>-1){check=true;api.on("progress",time_check)}});function time_check(e,api,time){if(check){(api.cuepoints||[]).forEach(function(cue,index){var entry=cue.subtitle;if(entry&¤tPoint!=index){if(time>=cue.time&&(!entry.endTime||time<=entry.endTime)){api.trigger("cuepoint",[api,cue])}}})}}});if(typeof flowplayer!=="undefined"&&typeof fv_flowplayer_conf!="undefined"&&fv_flowplayer_conf.video_hash_links){flowplayer(function(api,root){if(jQuery(root).find(".sharing-link").length>0){api.on("progress",function(e,api){if(!api.video.sources||!api.video.sources[0]){return}var hash=fv_player_get_video_link_hash(api);var sTime=","+fv_player_time_hms(api.video.time);jQuery(".fvp-sharing>li>a",root).each(function(){jQuery(this).attr("href",jQuery(this).attr("href").replace(/%23.*/,"")+"%23"+hash)});jQuery(".sharing-link",root).attr("href",jQuery(".sharing-link",root).attr("href").replace(/#.*/,"")+"#"+hash+sTime)});jQuery(".sharing-link",root).click(function(e){fv_player_clipboard(jQuery(this).attr("href"),function(){e.preventDefault();fv_player_notice(root,fv_flowplayer_translations.link_copied,2e3)})})}});jQuery(document).on("click",'a[href*="fvp_"]',function(){var link=jQuery(this);setTimeout(function(){if(link.parents(".fvp-share-bar").length==0)fv_autoplay_exec()})})}flowplayer(function(api,root){root=jQuery(root);var bean=flowplayer.bean;var restore=-1;root.on("click",".fp-volumebtn",function(e){if(api.volumeLevel==0&&restore!=-1){api.volume(restore);return false}});root.on("mousedown touchstart mouseup touchend",".fp-volumebar",function(e){if(api.volumeLevel!=0){restore=api.volumeLevel}});root.on("mousedown touchstart",".fp-volumebtn",function(e){if(api.volumeLevel>0){restore=-1}});api.on("volume",function(e,api){if(root.hasClass("is-mouseover")&&!api.muted){if(api.volumeLevel==0){bean.off(flowplayer.support.touch?root:document,"mousemove.sld touchmove.sld");api.mute(true)}}})});if(typeof flowplayer!="undefined"){flowplayer(function(api,root){root=jQuery(root);if(navigator.userAgent.match(/iPhone.* OS [0-6]_/i)){api.one("progress",function(e){if(typeof api.video.subtitles!=="undefined"&&api.video.subtitles.length){fv_player_warning(root,fv_flowplayer_translations.warning_iphone_subs)}})}if(flowplayer.support.android&&flowplayer.support.android.version<5&&(flowplayer.support.android.samsung||flowplayer.support.browser.safari)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox")}if(/Android 4/.test(navigator.userAgent)&&!/Firefox/.test(navigator.userAgent)){api.on("ready",function(e,api,video){setTimeout(function(){if(video.src&&video.src.match(/fpdl.vimeocdn.com/)&&(video.time==0||video.time==1)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox");api.on("progress",function(e,api){root.prev().find(".fv-player-warning-firefox").remove()})}},1500)});api.on("error",function(e,api,error){if(error.MEDIA_ERR_NETWORK==2&&error.video.src.match(/fpdl.vimeocdn.com/)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox")}})}if(/Safari/.test(navigator.userAgent)&&/Version\/5/.test(navigator.userAgent)){api.on("error",function(e,api,error){if(error.video.src.match(/fpdl.vimeocdn.com/)){fv_player_warning(root,fv_flowplayer_translations.warning_old_safari)}})}var sup=flowplayer.support;if(sup.android&&(sup.android.samsung&&parseInt(sup.browser.version)<66||sup.browser.safari)){api.on("error",function(e,api,error){fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser,"warning_samsungbrowser")})}});function fv_player_warning(root,warning,classname){var wrapper=jQuery(root).prev(".fv-player-warning-wrapper");if(wrapper.length==0){jQuery(root).before('<div class="fv-player-warning-wrapper">');wrapper=jQuery(root).prev(".fv-player-warning-wrapper")}if(wrapper.find(".fv-player-warning-"+classname).length==0){var latest=jQuery("<p style='display: none' "+(classname?" class='fv-player-warning-"+classname+"'":"")+">"+warning+"</p>");wrapper.append(latest);latest.slideDown()}}}
|
1 |
+
!function(e){function t(e,t,n,r){for(var o,a=n.slice(),s=i(t,e),l=0,u=a.length;u>l&&(handler=a[l],"object"==typeof handler&&"function"==typeof handler.handleEvent?handler.handleEvent(s):handler.call(e,s),!s.stoppedImmediatePropagation);l++);return o=!s.stoppedPropagation,r&&o&&e.parentNode?e.parentNode.dispatchEvent(s):!s.defaultPrevented}function n(e,t){return{configurable:!0,get:e,set:t}}function r(e,t,r){var i=y(t||e,r);m(e,"textContent",n(function(){return i.get.call(this)},function(e){i.set.call(this,e)}))}function i(e,t){return e.currentTarget=t,e.eventPhase=e.target===e.currentTarget?2:3,e}function o(e,t){for(var n=e.length;n--&&e[n]!==t;);return n}function a(){if("BR"===this.tagName)return"\n";for(var e=this.firstChild,t=[];e;)8!==e.nodeType&&7!==e.nodeType&&t.push(e.textContent),e=e.nextSibling;return t.join("")}function s(e){!f&&C.test(document.readyState)&&(f=!f,document.detachEvent(d,s),e=document.createEvent("Event"),e.initEvent(p,!0,!0),document.dispatchEvent(e))}function l(e){for(var t;t=this.lastChild;)this.removeChild(t);null!=e&&this.appendChild(document.createTextNode(e))}function u(t,n){return n||(n=e.event),n.target||(n.target=n.srcElement||n.fromElement||document),n.timeStamp||(n.timeStamp=(new Date).getTime()),n}if(!document.createEvent){var c=!0,f=!1,d="onreadystatechange",p="DOMContentLoaded",h="__IE8__"+Math.random(),g=e.Object,m=g.defineProperty||function(e,t,n){e[t]=n.value},v=g.defineProperties||function(t,n){for(var r in n)if(w.call(n,r))try{m(t,r,n[r])}catch(i){e.console&&console.log(r+" failed on object:",t,i.message)}},y=g.getOwnPropertyDescriptor,w=g.prototype.hasOwnProperty,b=e.Element.prototype,I=e.Text.prototype,M=/^[a-z]+$/,C=/loaded|complete/,A={},S=document.createElement("div");r(e.HTMLCommentElement.prototype,b,"nodeValue"),r(e.HTMLScriptElement.prototype,null,"text"),r(I,null,"nodeValue"),r(e.HTMLTitleElement.prototype,null,"text"),m(e.HTMLStyleElement.prototype,"textContent",function(e){return n(function(){return e.get.call(this.styleSheet)},function(t){e.set.call(this.styleSheet,t)})}(y(e.CSSStyleSheet.prototype,"cssText"))),v(b,{textContent:{get:a,set:l},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;n>t;t++)if(1==e[t].nodeType)return e[t]}},lastElementChild:{get:function(){for(var e=this.childNodes||[],t=e.length;t--;)if(1==e[t].nodeType)return e[t]}},previousElementSibling:{get:function(){for(var e=this.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e}},nextElementSibling:{get:function(){for(var e=this.nextSibling;e&&1!=e.nodeType;)e=e.nextSibling;return e}},childElementCount:{get:function(){for(var e=0,t=this.childNodes||[],n=t.length;n--;e+=1==t[n].nodeType);return e}},addEventListener:{value:function(e,n,r){var i,a=this,s="on"+e,l=a[h]||m(a,h,{value:{}})[h],c=l[s]||(l[s]={}),f=c.h||(c.h=[]);if(!w.call(c,"w")){if(c.w=function(e){return e[h]||t(a,u(a,e),f,!1)},!w.call(A,s))if(M.test(e))try{i=document.createEventObject(),i[h]=!0,9!=a.nodeType&&null==a.parentNode&&S.appendChild(a),a.fireEvent(s,i),A[s]=!0}catch(i){for(A[s]=!1;S.hasChildNodes();)S.removeChild(S.firstChild)}else A[s]=!1;(c.n=A[s])&&a.attachEvent(s,c.w)}o(f,n)<0&&f[r?"unshift":"push"](n)}},dispatchEvent:{value:function(e){var n,r=this,i="on"+e.type,o=r[h],a=o&&o[i],s=!!a;return e.target||(e.target=r),s?a.n?r.fireEvent(i,e):t(r,e,a.h,!0):(n=r.parentNode)?n.dispatchEvent(e):!0,!e.defaultPrevented}},removeEventListener:{value:function(e,t,n){var r=this,i="on"+e,a=r[h],s=a&&a[i],l=s&&s.h,u=l?o(l,t):-1;u>-1&&l.splice(u,1)}}}),v(I,{addEventListener:{value:b.addEventListener},dispatchEvent:{value:b.dispatchEvent},removeEventListener:{value:b.removeEventListener}}),v(e.XMLHttpRequest.prototype,{addEventListener:{value:function(e,t,n){var r=this,i="on"+e,a=r[h]||m(r,h,{value:{}})[h],s=a[i]||(a[i]={}),l=s.h||(s.h=[]);o(l,t)<0&&(r[i]||(r[i]=function(){var t=document.createEvent("Event");t.initEvent(e,!0,!0),r.dispatchEvent(t)}),l[n?"unshift":"push"](t))}},dispatchEvent:{value:function(e){var n=this,r="on"+e.type,i=n[h],o=i&&i[r],a=!!o;return a&&(o.n?n.fireEvent(r,e):t(n,e,o.h,!0))}},removeEventListener:{value:b.removeEventListener}}),v(e.Event.prototype,{bubbles:{value:!0,writable:!0},cancelable:{value:!0,writable:!0},preventDefault:{value:function(){this.cancelable&&(this.defaultPrevented=!0,this.returnValue=!1)}},stopPropagation:{value:function(){this.stoppedPropagation=!0,this.cancelBubble=!0}},stopImmediatePropagation:{value:function(){this.stoppedImmediatePropagation=!0,this.stopPropagation()}},initEvent:{value:function(e,t,n){this.type=e,this.bubbles=!!t,this.cancelable=!!n,this.bubbles||this.stopPropagation()}}}),v(e.HTMLDocument.prototype,{textContent:{get:function(){return 11===this.nodeType?a.call(this):null},set:function(e){11===this.nodeType&&l.call(this,e)}},addEventListener:{value:function(t,n,r){var i=this;b.addEventListener.call(i,t,n,r),c&&t===p&&!C.test(i.readyState)&&(c=!1,i.attachEvent(d,s),e==top&&function o(e){try{i.documentElement.doScroll("left"),s()}catch(t){setTimeout(o,50)}}())}},dispatchEvent:{value:b.dispatchEvent},removeEventListener:{value:b.removeEventListener},createEvent:{value:function(e){var t;if("Event"!==e)throw new Error("unsupported "+e);return t=document.createEventObject(),t.timeStamp=(new Date).getTime(),t}}}),v(e.Window.prototype,{getComputedStyle:{value:function(){function e(e){this._=e}function t(){}var n=/^(?:[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/,r=/^(top|right|bottom|left)$/,i=/\-([a-z])/g,o=function(e,t){return t.toUpperCase()};return e.prototype.getPropertyValue=function(e){var t,a,s,l=this._,u=l.style,c=l.currentStyle,f=l.runtimeStyle;return e=("float"===e?"style-float":e).replace(i,o),t=c?c[e]:u[e],n.test(t)&&!r.test(e)&&(a=u.left,s=f&&f.left,s&&(f.left=c.left),u.left="fontSize"===e?"1em":t,t=u.pixelLeft+"px",u.left=a,s&&(f.left=s)),null==t?t:t+""||"auto"},t.prototype.getPropertyValue=function(){return null},function(n,r){return r?new t(n):new e(n)}}()},addEventListener:{value:function(n,r,i){var a,s=e,l="on"+n;s[l]||(s[l]=function(e){return t(s,u(s,e),a,!1)}),a=s[l][h]||(s[l][h]=[]),o(a,r)<0&&a[i?"unshift":"push"](r)}},dispatchEvent:{value:function(t){var n=e["on"+t.type];return n?n.call(e,t)!==!1&&!t.defaultPrevented:!0}},removeEventListener:{value:function(t,n,r){var i="on"+t,a=(e[i]||g)[h],s=a?o(a,n):-1;s>-1&&a.splice(s,1)}}})}}(this),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flowplayer=e()}}(function(){var e;return function(){function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}return e}()({1:[function(e,t,n){"use strict";var r=t.exports={},i=e("class-list"),o=window.jQuery,a=e("punycode"),s=e("computed-style");r.noop=function(){},r.identity=function(e){return e},r.removeNode=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},r.find=function(e,t){return o?o(e,t).toArray():(t=t||document,Array.prototype.map.call(t.querySelectorAll(e),function(e){return e}))},r.text=function(e,t){e["innerText"in e?"innerText":"textContent"]=t},r.findDirect=function(e,t){return r.find(e,t).filter(function(e){return e.parentNode===t})},r.hasClass=function(e,t){return"string"!=typeof e.className?!1:i(e).contains(t)},r.isSameDomain=function(e){var t=window.location,n=r.createElement("a",{href:e});return t.hostname===n.hostname&&t.protocol===n.protocol&&t.port===n.port},r.css=function(e,t,n){return"object"==typeof t?Object.keys(t).forEach(function(n){r.css(e,n,t[n])}):"undefined"!=typeof n?""===n?e?e.style.removeProperty(t):void 0:e?e.style.setProperty(t,n):void 0:e?s(e,t):void 0},r.createElement=function(e,t,n){try{var i=document.createElement(e);for(var a in t)t.hasOwnProperty(a)&&("css"===a?r.css(i,t[a]):r.attr(i,a,t[a]));return n&&(i.innerHTML=n),i}catch(s){if(!o)throw s;return o("<"+e+">"+n+"</"+e+">").attr(t)[0]}},r.toggleClass=function(e,t,n){if(e){var r=i(e);"undefined"==typeof n?r.toggle(t):n?r.add(t):n||r.remove(t)}},r.addClass=function(e,t){return r.toggleClass(e,t,!0)},r.removeClass=function(e,t){return r.toggleClass(e,t,!1)},r.append=function(e,t){return e.appendChild(t),e},r.appendTo=function(e,t){return r.append(t,e),e},r.prepend=function(e,t){e.insertBefore(t,e.firstChild)},r.insertAfter=function(e,t,n){t==r.lastChild(e)&&e.appendChild(n);var i=Array.prototype.indexOf.call(e.children,t);e.insertBefore(n,e.children[i+1])},r.html=function(e,t){e=e.length?e:[e],e.forEach(function(e){e.innerHTML=t})},r.attr=function(e,t,n){if("class"===t&&(t="className"),r.hasOwnOrPrototypeProperty(e,t))try{e[t]=n}catch(i){if(!o)throw i;o(e).attr(t,n)}else n===!1?e.removeAttribute(t):e.setAttribute(t,n);return e},r.prop=function(e,t,n){return"undefined"==typeof n?e&&e[t]:void(e[t]=n)},r.offset=function(e){var t=e.getBoundingClientRect();return e.offsetWidth/e.offsetHeight>e.clientWidth/e.clientHeight&&(t={left:100*t.left,right:100*t.right,top:100*t.top,bottom:100*t.bottom,width:100*t.width,height:100*t.height}),t},r.width=function(e,t){if(t)return e.style.width=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).width;return"undefined"==typeof n?e.offsetWidth:n},r.height=function(e,t){if(t)return e.style.height=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).height;return"undefined"==typeof n?e.offsetHeight:n},r.lastChild=function(e){return e.children[e.children.length-1]},r.hasParent=function(e,t){for(var n=e.parentElement;n;){if("string"!=typeof t){if(n===t)return!0}else if(r.matches(n,t))return!0;n=n.parentElement}return!1},r.createAbsoluteUrl=function(e){return r.createElement("a",{href:e}).href},r.xhrGet=function(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){return 4===this.readyState?this.status>=400?n():void t(this.responseText):void 0},r.open("get",e,!0),r.send()},r.pick=function(e,t){var n={};return t.forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n},r.hostname=function(e){return a.toUnicode(e||window.location.hostname)},r.browser={webkit:"WebkitAppearance"in document.documentElement.style},r.getPrototype=function(e){return Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__},r.hasOwnOrPrototypeProperty=function(e,t){for(var n=e;n;){if(Object.prototype.hasOwnProperty.call(n,t))return!0;n=r.getPrototype(n)}return!1},r.matches=function(e,t){var n=Element.prototype,r=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector||function(e){for(var t=this,n=(t.document||t.ownerDocument).querySelectorAll(e),r=0;n[r]&&n[r]!==t;)r++;return n[r]?!0:!1};return r.call(e,t)},function(e){function t(e){return e.replace(/-[a-z]/g,function(e){return e[1].toUpperCase()})}"undefined"!=typeof e.setAttribute&&(e.setProperty=function(e,n){return this.setAttribute(t(e),String(n))},e.getPropertyValue=function(e){return this.getAttribute(t(e))||null},e.removeProperty=function(e){var n=this.getPropertyValue(e);return this.removeAttribute(t(e)),n})}(window.CSSStyleDeclaration.prototype)},{"class-list":36,"computed-style":37,punycode:44}],2:[function(e,t,n){"use strict";var r=e("../common");t.exports=function(e,t,n,i){n=n||"opaque";var o="obj"+(""+Math.random()).slice(2,15),a='<object class="fp-engine" id="'+o+'" name="'+o+'" ',s=navigator.userAgent.indexOf("MSIE")>-1;a+=s?'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">':' data="'+e+'" type="application/x-shockwave-flash">';var l={width:"100%",height:"100%",allowscriptaccess:"always",wmode:n,quality:"high",flashvars:"",movie:e+(s?"?"+o:""),name:o};"transparent"!==n&&(l.bgcolor=i||"#333333"),Object.keys(t).forEach(function(e){l.flashvars+=e+"="+t[e]+"&"}),Object.keys(l).forEach(function(e){a+='<param name="'+e+'" value="'+l[e]+'"/>'}),a+="</object>";var u=r.createElement("div",{},a);return r.find("object",u)},window.attachEvent&&window.attachEvent("onbeforeunload",function(){window.__flash_savedUnloadHandler=window.__flash_unloadHandler=function(){}})},{"../common":1}],3:[function(e,t,n){"use strict";function r(e){return/^https?:/.test(e)}var i,o=e("../flowplayer"),a=e("../common"),s=e("./embed"),l=e("extend-object"),u=e("bean");i=function(e,t){function n(e){function t(e){return("0"+parseInt(e).toString(16)).slice(-2)}return(e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))?"#"+t(e[1])+t(e[2])+t(e[3]):void 0}function c(e){if(7===e.length)return e;var t=e.split("").slice(1);return"#"+t.map(function(e){return e+e}).join("")}function f(e){return/application\/x-mpegurl/i.test(e.type)}var d,p,h,g,m=e.conf,v=[],y={engineName:i.engineName,pick:function(t){var n=l({},function(){if(o.support.flashVideo){for(var n,r,i=0;i<t.length;i++)if(r=t[i],/mp4|flv|flash/i.test(r.type)&&(n=r),e.conf.swfHls&&/mpegurl/i.test(r.type)&&(n=r),n&&!/mp4/i.test(n.type))return n;return n}}());if(n)return!n.src||r(n.src)||e.conf.rtmp||n.rtmp||(n.src=a.createAbsoluteUrl(n.src)),n},suspendEngine:function(){g=!0},resumeEngine:function(){g=!1},load:function(i){function w(e){return e.replace(/&/g,"%26").replace(/&/g,"%26").replace(/=/g,"%3D")}d=i,v.forEach(function(e){clearTimeout(e)});var b=a.findDirect("video",t)[0]||a.find(".fp-player > video",t)[0],I=i.src,M=r(I),C=function(){a.removeNode(b)},A=function(e){return e.some(function(e){return!!b.canPlayType(e.type)})};o.support.video&&a.prop(b,"autoplay")&&A(i.sources)?u.one(b,"timeupdate",C):C();var S=i.rtmp||m.rtmp;if(M||S||(I=a.createAbsoluteUrl(I)),h&&f(i)&&h.data!==a.createAbsoluteUrl(m.swfHls)&&y.unload(),h){["live","preload","loop"].forEach(function(e){i.hasOwnProperty(e)&&h.__set(e,i[e])}),Object.keys(i.flashls||{}).forEach(function(e){h.__set("hls_"+e,i.flashls[e])});var E=!1;if(!M&&S)h.__set("rtmp",S.url||S);else{var j=h.__get("rtmp");E=!!j,h.__set("rtmp",null)}h.__play(I,E||i.rtmp&&i.rtmp!==m.rtmp)}else{p="fpCallback"+(""+Math.random()).slice(3,15),I=w(I);var D={hostname:m.embedded?a.hostname(m.hostname):a.hostname(location.hostname),url:I,callback:p};t.getAttribute("data-origin")&&(D.origin=t.getAttribute("data-origin")),["proxy","key","autoplay","preload","subscribe","live","loop","debug","splash","poster","rtmpt"].forEach(function(e){m.hasOwnProperty(e)&&(D[e]=m[e]),i.hasOwnProperty(e)&&(D[e]=i[e]),(m.rtmp||{}).hasOwnProperty(e)&&(D[e]=(m.rtmp||{})[e]),(i.rtmp||{}).hasOwnProperty(e)&&(D[e]=(i.rtmp||{})[e])}),m.splash&&(D.autoplay=!0),m.rtmp&&(D.rtmp=m.rtmp.url||m.rtmp),i.rtmp&&(D.rtmp=i.rtmp.url||i.rtmp),Object.keys(i.flashls||{}).forEach(function(e){var t=i.flashls[e];D["hls_"+e]=t});var N="undefined"!=typeof i.hlsQualities?i.hlsQualities:m.hlsQualities;"undefined"!=typeof N&&(D.hlsQualities=N?encodeURIComponent(JSON.stringify(N)):N),void 0!==m.bufferTime&&(D.bufferTime=m.bufferTime),void 0!==m.bufferTimeMax&&(D.bufferTimeMax=m.bufferTimeMax),M&&delete D.rtmp,D.rtmp&&(D.rtmp=w(D.rtmp));var x,L=m.bgcolor||a.css(t,"background-color")||"";0===L.indexOf("rgb")?x=n(L):0===L.indexOf("#")&&(x=c(L)),D.initialVolume=e.volumeLevel;var T=f(i)?m.swfHls:m.swf;h=s(T,D,m.wmode,x)[0];var Z=a.find(".fp-player",t)[0];a.prepend(Z,h),e.off("quality.flashengine").on("quality.flashengine",function(t,n,r){var i="undefined"!=typeof e.video.hlsQualities?e.video.hlsQualities:e.conf.hlsQualities;if(i)try{h.__quality(r)}catch(o){e.debug("Error changing quality in flash engine",o)}}),setTimeout(function(){try{if(!h.PercentLoaded())return e.trigger("error",[e,{code:7,url:m.swf}])}catch(t){}},5e3),v.push(setTimeout(function(){"undefined"==typeof h.PercentLoaded&&e.trigger("flashdisabled",[e])},15e3)),v.push(setTimeout(function(){"undefined"==typeof h.PercentLoaded&&e.trigger("flashdisabled",[e,!1])},500)),e.off("resume.flashhack").on("resume.flashhack",function(){var t=setTimeout(function(){var t=h.__status().time,n=setTimeout(function(){e.playing&&!e.loading&&h.__status().time===t&&e.trigger("flashdisabled",[e])},400);v.push(n),e.one("seek.flashhack pause.flashhack load.flashack",function(){clearTimeout(n)})},800);v.push(t),e.one("progress",function(){clearTimeout(t)})}),h.pollInterval=setInterval(function(){if(h&&!g){var t=h.__status?h.__status():null;t&&((e.conf.live||e.live||i.live)&&(i.seekOffset=t.seekOffset,i.duration=t.duration+t.seekOffset),e.playing&&t.time&&t.time!==e.video.time&&e.trigger("progress",[e,t.time]),i.buffer=t.buffer/i.bytes*i.duration,e.trigger("buffer",[e,i.buffer]),!i.buffered&&t.time>0&&(i.buffered=!0,e.trigger("buffered",[e])))}},250),window[p]=function(n,r){var i=d;m.debug&&(0===n.indexOf("debug")&&r&&r.length?console.log.apply(console,["-- "+n].concat(r)):console.log("--",n,r));var o={type:n};switch(n){case"ready":r=l(i,r);break;case"click":o.flash=!0;break;case"keydown":o.which=r;break;case"seek":i.time=r;break;case"status":e.trigger("progress",[e,r.time]),r.buffer<i.bytes&&!i.buffered?(i.buffer=r.buffer/i.bytes*i.duration,e.trigger("buffer",i.buffer)):i.buffered||(i.buffered=!0,e.trigger("buffered"));break;case"metadata":var a=atob(r);r={key:a.substr(10,4),data:a.substr(21)}}"click"===n||"keydown"===n?(o.target=t,u.fire(t,n,[o])):"buffered"!=n&&"unload"!==n?setTimeout(function(){e.trigger(o,[e,r])},1):"unload"===n&&e.trigger(o,[e,r])}}},speed:a.noop,unload:function(){h&&h.__unload&&h.__unload();try{p&&window[p]&&delete window[p]}catch(n){}a.find("object",t).forEach(a.removeNode),h=0,e.off(".flashengine"),e.off(".flashhack"),clearInterval(h.pollInterval),v.forEach(function(e){clearTimeout(e)})}};return["pause","resume","seek","volume"].forEach(function(t){y[t]=function(n){try{e.ready&&(void 0===n?h["__"+t]():h["__"+t](n))}catch(r){if("undefined"==typeof h["__"+t])return e.trigger("flashdisabled",[e]);throw r}}}),y},i.engineName="flash",i.canPlay=function(e,t){return o.support.flashVideo&&/video\/(mp4|flash|flv)/i.test(e)||o.support.flashVideo&&t.swfHls&&/mpegurl/i.test(e)},o.engines.push(i)},{"../common":1,"../flowplayer":31,"./embed":2,bean:34,"extend-object":39}],4:[function(e,t,n){"use strict";function r(e){return"undefined"==typeof window.Hls?!1:/mpegurl/.test(e)&&window.Hls.isSupported()}var i,o=e("../flowplayer"),a=o.support,s=o.common,l=o.bean,u=e("./html5-factory");i=function(e,t){function n(n,r,u){var d=o.extend({recoverMediaError:!0},e.conf.hlsjs,n.hlsjs);e.engine.hls&&e.engine.hls.destroy();var p=e.engine.hls=new f(d);i.extensions.forEach(function(n){n({hls:p,player:e,root:t,videoTag:r})}),p.loadSource(n.src),u.resume=function(){e.live&&!e.dvr&&(r.currentTime=p.liveSyncPosition||0),r.play()},u.seek=function(t){try{e.live||e.dvr?r.currentTime=Math.min(t,p.liveSyncPosition||r.duration-d.livePositionOffset):r.currentTime=t}catch(n){e.debug("Failed to seek to ",t,n)}},d.bufferWhilePaused===!1&&e.on("pause",function(){p.stopLoad(),e.one("resume",function(){p.startLoad()})}),e.on("quality",function(e,t,n){p.nextLevel=a=n});var h,g,m=function(n){if(e.debug("hlsjs - recovery"),s.removeClass(t,"is-paused"),s.addClass(t,"is-seeking"),l.one(r,"seeked",function(){r.paused&&(s.removeClass(t,"is-poster"),e.poster=!1,r.play()),s.removeClass(t,"is-seeking")}),n)return p.startLoad();var i=performance.now();!h||i-h>3e3?(h=performance.now(),p.recoverMediaError()):(!g||i-g>3e3)&&(g=performance.now(),p.swapAudioCodec(),p.recoverMediaError())};return p.on(f.Events.MANIFEST_PARSED,function(t,i){var o,l=n.hlsQualities||e.conf.hlsQualities,u={},f=i.levels;if(l===!1)return p.attachMedia(r);if("drive"===l)switch(f.length){case 4:o=[1,2,3];break;case 5:o=[1,2,3,4];break;case 6:o=[1,3,4,5];break;case 7:o=[1,3,5,6];break;case 8:o=[1,3,6,7];break;default:o=f.length<3||f[0].height&&f[2].height&&f[0].height===f[2].height?[]:[1,2]}if(n.qualities=[{value:-1,label:"Auto"}],Array.isArray(l)){var d=l.find(function(e){return-1===e||e.level&&-1===e.level});d?n.qualities[0].label="number"!=typeof d?d.label:n.qualities[0].label:n.qualities=[],o=l.map(function(e){return"undefined"!=typeof e.level&&(u[e.level]=e.label),"undefined"!=typeof e.level?e.level:e})}var h=-2;n.qualities=n.qualities.concat(f.map(function(e,t){if(o&&-1===o.indexOf(t))return!1;var n=u[t]||Math.min(e.width,e.height)+"p";return u[t]||"drive"===l||(n+=" ("+Math.round(e.bitrate/1e3)+"k)"),t===a&&(h=t),{value:t,label:n}})).filter(s.identity);var g=n.quality=-2===h?n.qualities[0].value||-1:h;g!==p.currentLevel&&(p.currentLevel=g),p.attachMedia(r),c&&n.src!==c&&r.play(),c=n.src}),p.on(f.Events.ERROR,function(t,n){if(n.fatal)if(d.recoverNetworkError&&n.type===f.ErrorTypes.NETWORK_ERROR)m(!0);else if(d.recoverMediaError&&n.type===f.ErrorTypes.MEDIA_ERROR)m(!1);else{var r=5;n.type===f.ErrorTypes.NETWORK_ERROR&&(r=2),n.type===f.ErrorTypes.MEDIA_ERROR&&(r=3),p.destroy(),e.trigger("error",[e,{code:r}])}}),e.one("unload",function(){p.destroy()}),{handlers:{error:function(e,t){var n=t.error&&t.error.code;return d.recoverMediaError&&3===n||!n?(e.preventDefault(),m(!1),!0):d.recoverNetworkError&&2===n?(e.preventDefault(),m(!0),!0):void 0}}}}var a,c,f=window.Hls;return u("hlsjs-lite",e,t,r,n)},i.canPlay=function(e,t){return t.hlsjs===!1||t.clip&&t.clip.hlsjs===!1?!1:a.browser.safari&&!(t.clip&&t.clip.hlsjs||t.hlsjs||{}).safari?!1:o.support.video&&r(e)},i.engineName="hlsjs-lite",i.plugin=function(e){i.extensions.push(e)},i.extensions=[],o.engines.push(i)},{"../flowplayer":31,"./html5-factory":5}],5:[function(e,t,n){function r(e,t,n,r,a){function f(e,o,a,f){var p=n.getAttribute("data-flowplayer-instance-id");if(e.listeners&&e.listeners.hasOwnProperty(p))return void(e.listeners[p]=a);(e.listeners||(e.listeners={}))[p]=a,u.on(o,"error",function(n){try{r(n.target.getAttribute("type"))&&t.trigger("error",[t,{code:4,video:c(a,{src:e.src,url:e.src})}])}catch(i){}}),t.on("shutdown",function(){u.off(o),u.off(e,".dvrhack"),t.off(".loophack")});var h={},g=function(e){"metadata"===e.kind&&(e.mode="hidden",e.addEventListener("cuechange",function(){e.activeCues.length&&t.trigger("metadata",[t,e.activeCues[0].value])},!1))};return e&&e.textTracks&&e.textTracks.length&&Array.prototype.forEach.call(e.textTracks,g),e&&e.textTracks&&"function"==typeof e.textTracks.addEventListener&&e.textTracks.addEventListener("addtrack",function(e){g(e.track)},!1),(t.conf.dvr||t.dvr||a.dvr)&&u.on(e,"progress.dvrhack",function(){e.seekable.length&&(t.video.duration=e.seekable.end(null),t.video.seekOffset=e.seekable.start(null),t.trigger("dvrwindow",[t,{start:e.seekable.start(null),end:e.seekable.end(null)}]),e.currentTime>=e.seekable.start(null)||(e.currentTime=e.seekable.start(null)))}),Object.keys(d).forEach(function(r){var o=d[r];if("webkitendfullscreen"===r&&t.conf.disableInline&&(o="unload"),o){var u=function(u){if(a=e.listeners[p],u.target&&s.hasClass(u.target,"fp-engine")){/progress/.test(o)||t.debug(r,"->",o,u);var d=function(e){t.trigger(e||o,[t,h])};if(!t.ready&&!/ready|error/.test(o)||!o||!s.find("video",n).length)return void("resume"===o&&t.one("ready",function(){setTimeout(function(){d()})}));var h;if("unload"===o)return void t.unload();switch(o){case"ready":if(t.ready)return t.debug("Player already ready, not sending duplicate ready event");if(!(e.duration&&e.duration!==1/0||t.live))return t.debug("No duration and VOD setup, not sending ready event");if(h=c(a,{duration:e.duration<Number.MAX_VALUE?e.duration:0,width:e.videoWidth,height:e.videoHeight,url:e.currentSrc}),h.seekable=h.duration,t.debug("Ready: ",h),!t.live&&!h.duration&&!l.hlsDuration&&"loadeddata"===r){var g=function(){h.duration=e.duration;try{h.seekable=e.seekable&&e.seekable.end(null)}catch(t){}d(),e.removeEventListener("durationchange",g),s.toggleClass(n,"is-live",!1)};e.addEventListener("durationchange",g);var m=function(){t.ready||e.duration||(h.duration=0,s.addClass(n,"is-live"),d()),e.removeEventListener("timeupdate",m)};return void e.addEventListener("timeupdate",m)}break;case"progress":case"seek":if(e.currentTime>0||t.live)h=Math.max(e.currentTime,0);else if("seek"===o&&0===e.currentTime)h=0;else if("progress"==o)return;break;case"buffer":h=[];for(var v=0;v<e.buffered.length;v++)h.push({start:e.buffered.start(v),end:e.buffered.end(v)});e.buffered.length&&e.buffered.end(null)===e.duration&&d("buffered");break;case"speed":h=i(e.playbackRate);break;case"volume":h=i(e.muted?0:e.volume);break;case"error":try{if(f&&f.handlers&&f.handlers.error){var y=f.handlers.error(u,e);if(y)return}h=(u.srcElement||u.originalTarget).error,h.video=c(a,{src:e.src,url:e.src})}catch(w){return}}d()}};n.addEventListener(r,u,!0),h[r]||(h[r]=[]),h[r].push(u)}}),h}var p,h,g,m=s.findDirect("video",n)[0]||s.find(".fp-player > video",n)[0],v=t.conf;return g={engineName:e,pick:function(e){var t=l.video&&e.filter(function(e){return r(e.type)})[0];if(t)return"string"==typeof t.src&&(t.src=s.createAbsoluteUrl(t.src)),t},load:function(e){var r=s.find(".fp-player",n)[0],i=!1;if(m||(m=document.createElement("video"),s.prepend(r,m),m.autoplay=!!v.splash,i=!0),s.addClass(m,"fp-engine"),s.find("track",m).forEach(s.removeNode),m.preload="none",v.nativesubtitles||s.attr(m,"crossorigin",!1),v.disableInline||(m.setAttribute("webkit-playsinline","true"),m.setAttribute("playsinline","true")),l.inlineVideo||s.css(m,{position:"absolute",top:"-9999em"}),l.subtitles&&v.nativesubtitles&&e.subtitles&&e.subtitles.length){s.addClass(m,"native-subtitles");var c=e.subtitles,d=function(e){var t=m.textTracks;t.length&&(t[0].mode=e)};c.some(function(e){return!s.isSameDomain(e.src)})&&s.attr(m,"crossorigin","anonymous"),"function"==typeof m.textTracks.addEventListener&&m.textTracks.addEventListener("addtrack",function(){d("disabled"),d("showing")}),c.forEach(function(e){m.appendChild(s.createElement("track",{kind:"subtitles",srclang:e.srclang||"en",label:e.label||"en",src:e.src,default:e["default"]}))})}u.off(m,"timeupdate",s.noop),u.on(m,"timeupdate",s.noop),s.prop(m,"loop",!1),t.off(".loophack"),(e.loop||v.loop)&&t.on("finish.loophack",function(){t.resume()}),"undefined"!=typeof h&&(m.volume=h);var p=a(e,m,g);if(v.autoplay||v.splash||e.autoplay){t.debug("Autoplay / Splash setup, try to start video"),m.load();var y=function(){try{var e=m.play();if(e&&e["catch"]){var n=function(e){if("AbortError"===e.name&&20===e.code)return i?void 0:m.play()["catch"](n);if(!v.mutedAutoplay)throw new Error("Unable to autoplay");return t.debug("Play errored, trying muted",e),t.mute(!0,!0),m.play()};e["catch"](n)["catch"](function(){v.autoplay=!1,t.mute(!1,!0),t.trigger("stop",[t])})}}catch(r){t.debug("play() error thrown",r)}};m.readyState>0?y():u.one(m,"canplay",y)}if(g._listeners=f(m,s.find("source",m).concat(m),e,p)||g._listeners,!(v.autoplay||v.splash||e.autoplay)){var w=function(){o(n)&&(t.debug("player is in viewport, preload"),l.preloadMetadata?m.preload="metadata":m.load(),u.off(document,"scroll.preloadviewport"))};u.off(document,"scroll.preloadviewport"),u.on(document,"scroll.preloadviewport",function(){window.requestAnimationFrame(w)}),w()}},mute:function(e){m.muted=!!e,t.trigger("mute",[t,e]),t.trigger("volume",[t,e?0:m.volume])},pause:function(){m.pause()},resume:function(){m.play()},speed:function(e){m.playbackRate=e},seek:function(e){var n=m.paused||t.finished;try{m.currentTime=e,n&&u.one(m,"seeked",function(){m.pause()})}catch(r){}},volume:function(e){h=e,m&&(m.volume=e,e&&g.mute(!1))},unload:function(){u.off(document,"scroll.preloadviewport"),s.find("video.fp-engine",n).forEach(function(e){"MediaSource"in window?e.src=URL.createObjectURL(new MediaSource):e.src="",s.removeNode(e)}),p=clearInterval(p);var e=n.getAttribute("data-flowplayer-instance-id");delete m.listeners[e],m=0,g._listeners&&Object.keys(g._listeners).forEach(function(e){g._listeners[e].forEach(function(t){n.removeEventListener(e,t,!0)})})}}}function i(e,t){return t=t||100,Math.round(e*t)/t}function o(e){var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)+t.height&&t.right<=(window.innerWidth||document.documentElement.clientWidth)+t.width}var a=e("../flowplayer"),s=a.common,l=a.support,u=a.bean,c=a.extend,f=l.browser.safari&&!l.iOS,d={ended:"finish",pause:"pause",play:"resume",timeupdate:"progress",volumechange:"volume",ratechange:"speed",seeked:"seek",loadedmetadata:f?0:"ready",canplaythrough:f?"ready":0,durationchange:"ready",error:"error",dataunavailable:"error",webkitendfullscreen:!a.support.inlineVideo&&"unload",progress:"buffer"};t.exports=r},{"../flowplayer":31}],6:[function(e,t,n){"use strict";function r(e){return/mpegurl/i.test(e)?"application/x-mpegurl":e}function i(e){return/^(video|application)/i.test(e)||(e=r(e)),!!u.canPlayType(e).replace("no","")}var o,a=e("../flowplayer"),s=a.common,l=e("./html5-factory"),u=document.createElement("video");o=function(e,t){return l("html5",e,t,i,function(e,t){t.currentSrc!==e.src?(s.find("source",t).forEach(s.removeNode),t.src=e.src,t.type=e.type):e.autoplay&&t.load()})},o.canPlay=function(e){return a.support.video&&i(e)},o.engineName="html5",a.engines.push(o)},{"../flowplayer":31,"./html5-factory":5}],7:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){e.on("ready",function(){var e=i.find("video.fp-engine",t)[0];e&&(e.setAttribute("x-webkit-airplay","allow"),window.WebKitPlaybackTargetAvailabilityEvent&&(e.addEventListener("webkitplaybacktargetavailabilitychanged",function(e){if("available"===e.availability){var n=i.find(".fp-header",t)[0];i.find(".fp-airplay",n).forEach(i.removeNode);var r=i.createElement("a",{class:"fp-airplay fp-icon",title:"Play on AirPlay device"});n.appendChild(r)}}),e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",function(){var n=i.find(".fp-airplay",t)[0];n&&i.toggleClass(n,"fp-active",e.webkitCurrentPlaybackTargetIsWireless)})))}),o.on(t,"click",".fp-airplay",function(e){e.preventDefault();var n=i.find("video.fp-engine",t)[0];n.webkitShowPlaybackTargetPicker()})})},{"../common":1,"../flowplayer":31,bean:34}],8:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("./resolve").TYPE_RE,o=e("scriptjs"),a=e("bean");r(function(e,t){var n,r=e.conf.analytics,s=0,l=0;if(r){"undefined"==typeof _gat&&o("//google-analytics.com/ga.js");var u=function(){var e=_gat._getTracker(r);return e._setAllowLinker(!0),e},c=function(r,o,a){if(a=a||e.video,s&&"undefined"!=typeof _gat){var l=u();l._trackEvent("Video / Seconds played",e.engine.engineName+"/"+a.type,a.title||t.getAttribute("title")||a.src.split("/").slice(-1)[0].replace(i,""),Math.round(s/1e3)),s=0,n&&(clearTimeout(n),n=null)}};e.bind("load unload",c).bind("progress",function(){e.seeking||(s+=l?+new Date-l:0,l=+new Date),n||(n=setTimeout(function(){n=null;var e=u();e._trackEvent("Flowplayer heartbeat","Heartbeat","",0,!0)},6e5))}).bind("pause",function(){l=0}),e.bind("shutdown",function(){a.off(window,"unload",c)}),a.on(window,"unload",c)}})},{"../flowplayer":31,"./resolve":21,bean:34,scriptjs:45}],9:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean"),a=e("scriptjs");r(function(e,t){function n(){var e,t,n;e=g.applicationId||chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,t=new chrome.cast.SessionRequest(e),n=new chrome.cast.ApiConfig(t,r,s),chrome.cast.initialize(n,l,u)}function r(){console.log("sessionListener")}function s(e){e===chrome.cast.ReceiverAvailability.AVAILABLE&&c()}function l(){}function u(){console.log("onError")}function c(){var e=i.find(".fp-header",t)[0];if(e){i.find(".fp-chromecast",e).forEach(i.removeNode),i.find(".fp-chromecast-engine",t).forEach(i.removeNode),h=i.createElement("a",{class:"fp-chromecast fp-icon",title:"Play on Cast device"}),e.insertBefore(h,i.find(".fp-fullscreen",e)[0]);var n=i.createElement("div",{class:"fp-chromecast-engine"}),r=i.createElement("p",{class:"fp-chromecast-engine-status"}),o=i.createElement("p",{class:"fp-chromecast-engine-icon"});n.appendChild(o),n.appendChild(r);var a=i.find(".fp-engine",t)[0];a?a.parentNode.insertBefore(n,a):i.prepend(i.find(".fp-player",t)[0]||t,n)}}function f(){clearInterval(p),p=null,e.release(),i.toggleClass(t,"is-chromecast",!1),i.toggleClass(h,"fp-active",!1)}if(e.conf.chromecast!==!1){a("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"),window.__onGCastApiAvailable=function(e){e&&n()};var d,p,h,g=e.conf.chromecast||{};o.on(t,"click",".fp-chromecast",function(n){return n.preventDefault(),d?(e.trigger("pause",[e]),d.stop(),d=null,void f()):(e.playing&&e.pause(),void chrome.cast.requestSession(function(n){function r(n){n.addUpdateListener(function(r){if(d){p=p||setInterval(function(){e.trigger("progress",[e,n.getEstimatedTime()])},500),r?(i.toggleClass(t,"is-chromecast",!0),i.toggleClass(h,"fp-active",!0),e.hijack({pause:function(){n.pause()},resume:function(){n.play()},seek:function(e){var t=new chrome.cast.media.SeekRequest;t.currentTime=e,n.seek(t)}})):(f(),e.trigger("finish",[e]));var o=n.playerState;e.paused&&o===chrome.cast.media.PlayerState.PLAYING&&e.trigger("resume",[e]),e.playing&&o===chrome.cast.media.PlayerState.PAUSED&&e.trigger("pause",[e]),i.toggleClass(t,"is-loading",o===chrome.cast.media.PlayerState.BUFFERING)}})}d=n;var o=d.receiver.friendlyName;i.html(i.find(".fp-chromecast-engine-status")[0],"Playing on device "+o);var a=new chrome.cast.media.MediaInfo(e.video.src),s=new chrome.cast.media.LoadRequest(a);d.loadMedia(s,r,function(){})},function(e){console.error("requestSession error",e)}))})}})},{"../common":1,"../flowplayer":31,bean:34,scriptjs:45}],10:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(e){t.className=t.className.replace(a," "),e>=0&&i.addClass(t,"cue"+e)}function r(t){var n=t&&!isNaN(t.time)?t.time:t;return 0>n&&(n=e.video.duration+n),.125*Math.round(n/.125)}var a=/ ?cue\d+ ?/,s=!1,l={},u=-.125,c=function(t){n(t.index),e.trigger("cuepoint",[e,t])};e.on("progress",function(e,t,n){if(!s)for(var i=r(n);i>u;)u+=.125,l[u]&&l[u].forEach(c)}).on("unload",n).on("beforeseek",function(e){setTimeout(function(){e.defaultPrevented||(s=!0)})}).on("seek",function(e,t,i){n(),u=r(i||0)-.125,s=!1,!i&&l[0]&&l[0].forEach(c)}).on("ready",function(t,n,r){u=-.125;var i=r.cuepoints||e.conf.cuepoints||[];e.setCuepoints(i)}).on("finish",function(){for(var t=r(e.video.duration);t>u;)u+=.125,l[u]&&l[u].forEach(c);u=-.125}),e.conf.generate_cuepoints&&e.bind("load",function(){i.find(".fp-cuepoint",t).forEach(i.removeNode)}),e.setCuepoints=function(t){return e.cuepoints=[],l={},t.forEach(e.addCuepoint),e},e.addCuepoint=function(n){e.cuepoints||(e.cuepoints=[]),"number"==typeof n&&(n={time:n}),n.index=0;var a=r(n);if(l[a]||(l[a]=[]),l[a].push(n),e.cuepoints.length&&(n.index=Math.max.apply(null,e.cuepoints.map(function(e){return e.index}))+1),e.cuepoints.push(n),e.conf.generate_cuepoints&&n.visible!==!1){var s=e.video.duration,u=i.find(".fp-timeline",t)[0];i.css(u,"overflow","visible");var c=n.time||n;0>c&&(c=s+c);var f=i.createElement("a",{className:"fp-cuepoint fp-cuepoint"+n.index});i.css(f,"left",c/s*100+"%"),u.appendChild(f),o.on(f,"mousedown",function(t){t.preventDefault(),t.stopPropagation(),e.seek(c)})}return e},e.removeCuepoint=function(n){"number"==typeof n&&(n=e.cuepoints.filter(function(e){return e.index===n})[0]);var o=e.cuepoints.indexOf(n),a=r(n);if(-1!==o){e.cuepoints=e.cuepoints.slice(0,o).concat(e.cuepoints.slice(o+1));var s=i.find(".fp-timeline",t)[0];i.find(".fp-cuepoint"+n.index,s).forEach(i.removeNode);var u=l[a].indexOf(n);if(-1!==u)return l[a]=l[a].slice(0,u).concat(l[a].slice(u+1)),e}}})},{"../common":1,"../flowplayer":31,bean:34}],11:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("bean"),o=e("../common"),a=e("./util/clipboard");r(function(e,t){if(e.conf.embed!==!1&&e.conf.share!==!1){var n=o.find(".fp-share-menu",t)[0],r=o.createElement("a",{class:"fp-icon fp-embed",title:"Copy to your site"},"Embed");o.append(n,r),e.embedCode=function(){var n=e.conf.embed||{},r=e.video,i=n.width||r.width||o.width(t),a=n.height||r.height||o.height(t),s=e.conf.ratio,l='<iframe src="'+e.shareUrl(!0)+'" allowfullscreen style="border:none;';return n.width||n.height?(isNaN(i)||(i+="px"),isNaN(a)||(a+="px"),l+"width:"+i+";height:"+a+';"></iframe>'):((!s||e.conf.adaptiveRatio)&&(s=a/i),'<div style="position:relative;width:100%;display:inline-block;">'+l+'position:absolute;top:0;left:0;width:100%;height:100%;"></iframe><div style="padding-top:'+100*s+'%;"></div></div>')},i.on(t,"click",".fp-embed",function(){a(e.embedCode(),function(){e.message("The embed code is now on your clipboard",2e3)},function(){e.textarea(e.embedCode(),"Copy the code below to embed your video")})})}})},{"../common":1,"../flowplayer":31,"./util/clipboard":30,bean:34}],12:[function(e,t,n){"use strict";t.exports=function(e,t){t||(t=document.createElement("div"));var n={},r={},i=function(e,i,o){var a=e.split(".")[0],s=function(l){o&&(t.removeEventListener(a,s),n[e].splice(n[e].indexOf(s),1));var u=[l].concat(r[l.timeStamp+l.type]||[]);i&&i.apply(void 0,u)};t.addEventListener(a,s),n[e]||(n[e]=[]),n[e].push(s)};e.on=e.bind=function(t,n){var r=t.split(" ");return r.forEach(function(e){i(e,n)}),e},e.one=function(t,n){var r=t.split(" ");return r.forEach(function(e){i(e,n,!0)}),e};var o=function(e,t){return 0===t.filter(function(t){return-1===e.indexOf(t)}).length};e.off=e.unbind=function(r){var i=r.split(" ");return i.forEach(function(e){var r=e.split(".").slice(1),i=e.split(".")[0];Object.keys(n).filter(function(e){var t=e.split(".").slice(1);return(!i||0===e.indexOf(i))&&o(t,r)}).forEach(function(e){var r=n[e],i=e.split(".")[0];n[e]=r.filter(function(e){return t.removeEventListener(i,e),!1})})}),e},e.trigger=function(n,i,o){if(n){i=(i||[]).length?i||[]:[i];var a,s=document.createEvent("Event");return a=n.type||n,s.initEvent(a,!1,!0),Object.defineProperty&&(s.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}),r[s.timeStamp+s.type]=i,t.dispatchEvent(s),o?s:e}}},t.exports.EVENTS=["beforeseek","disable","error","finish","fullscreen","fullscreen-exit","load","mute","pause","progress","ready","resume","seek","speed","stop","unload","volume","boot","shutdown"]},{}],13:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){var n=e.conf;if(n.share!==!1&&n.facebook){e.facebook=function(){var e,t,r=550,i=420,o=screen.height,a=screen.width,s="scrollbars=yes,resizable=yes,toolbar=no,location=yes",l="string"==typeof n.facebook?n.facebook:window.location.toString();e=Math.round(a/2-r/2),t=0,o>i&&(t=Math.round(o/2-i/2)),window.open("https://www.facebook.com/sharer.php?s=100&p[url]="+encodeURIComponent(l),"sharer",s+",width="+r+",height="+i+",left="+e+",top="+t)};var r=i.find(".fp-share-menu",t)[0],a=i.createElement("a",{class:"fp-icon fp-facebook"},"Facebook");i.append(r,a),o.on(t,"click",".fp-facebook",function(){e.facebook()})}})},{"../common":1,"../flowplayer":31,bean:34}],14:[function(e,t,n){"use strict";var r,i=e("../flowplayer"),o=e("bean"),a=e("../common"),s="fullscreen",l="fullscreen-exit",u=i.support.fullscreen;o.on(document,"fullscreenchange.ffscr webkitfullscreenchange.ffscr mozfullscreenchange.ffscr MSFullscreenChange.ffscr",function(e){var t=document.webkitCurrentFullScreenElement||document.mozFullScreenElement||document.fullscreenElement||document.msFullscreenElement;if(r||t.parentNode&&t.parentNode.getAttribute("data-flowplayer-instance-id")){var n=r||i(t.parentNode);t?r=n.trigger(s,[n]):(r.trigger(l,[r]),r=null)}}),i(function(e,t){var n=a.createElement("div",{className:"fp-player"});if(Array.prototype.map.call(t.children,a.identity).forEach(function(e){a.matches(e,".fp-ratio,script")||n.appendChild(e)}),t.appendChild(n),e.conf.fullscreen){var i,o,c=window;e.isFullscreen=!1,e.fullscreen=function(t){return e.disabled?void 0:(void 0===t&&(t=!e.isFullscreen),t&&(i=c.scrollY,o=c.scrollX),u?t?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){"function"==typeof n[e]&&(n[e](Element.ALLOW_KEYBOARD_INPUT),"webkitRequestFullScreen"!==e||document.webkitFullscreenElement||n[e]())}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){"function"==typeof document[e]&&document[e]()}):e.trigger(t?s:l,[e]),e)};var f;e.on("mousedown.fs",function(){+new Date-f<150&&e.ready&&e.fullscreen(),f=+new Date}),e.on(s,function(){a.addClass(t,"is-fullscreen"),a.toggleClass(t,"fp-minimal-fullscreen",a.hasClass(t,"fp-minimal")),a.removeClass(t,"fp-minimal"),u||a.css(t,"position","fixed"),e.isFullscreen=!0}).on(l,function(){var n;a.toggleClass(t,"fp-minimal",a.hasClass(t,"fp-minimal-fullscreen")),a.removeClass(t,"fp-minimal-fullscreen"),u||"html5"!==e.engine||(n=t.css("opacity")||"",a.css(t,"opacity",0)),u||a.css(t,"position",""),a.removeClass(t,"is-fullscreen"),u||"html5"!==e.engine||setTimeout(function(){t.css("opacity",n)}),e.isFullscreen=!1,c.scrollTo(o,i)}).on("unload",function(){e.isFullscreen&&e.fullscreen()}),e.on("shutdown",function(){r=null,a.removeNode(n)})}})},{"../common":1,"../flowplayer":31,bean:34}],15:[function(e,t,n){"use strict";var r,i,o=e("../flowplayer"),a=e("bean"),s=e("../common");a.on(document,"keydown.fp",function(e){var t=r,n=e.ctrlKey||e.metaKey||e.altKey,i=e.which,o=t&&t.conf;if(t&&o.keyboard&&!t.disabled&&!n&&t.ready){if(e.shiftKey)return 39==i?t.speed(!0):37==i&&t.speed(!1),e.preventDefault();if(58>i&&i>47)return e.preventDefault(),t.seekTo(i-48);var a=function(){switch(i){case 38:case 75:return t.volume(t.volumeLevel+.15),!0;case 40:case 74:return t.volume(t.volumeLevel-.15),!0;case 39:case 76:return t.seeking=!0,t.seek(!0),!0;case 37:case 72:return t.seeking=!0,t.seek(!1),!0;case 190:return t.seekTo(),!0;case 32:return t.toggle(),!0;case 70:return o.fullscreen&&t.fullscreen(),!0;case 77:return t.mute(),!0;case 81:return t.unload(),!0}}();a&&e.preventDefault()}}),o(function(e,t){e.conf.keyboard&&(a.on(document,"click",function(n){if(s.hasParent(n.target,t))r=e.disabled?0:e;else{if(r!==e)return;r=0}r&&(i=t)}),e.bind("shutdown",function(){i==t&&(i=null)}))})},{"../common":1,"../flowplayer":31,bean:34}],16:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){e.showMenu=function(n,r){var a=i.find(".fp-ui",t)[0];i.toggleClass(n,"fp-active",!0),setTimeout(function(){o.one(document,"click",function(){e.hideMenu(n)})});var s=r;if(r&&r.tagName&&(s={left:i.offset(r).left,rightFallbackOffset:i.width(r),top:i.offset(r).top+i.height(r)}),!s)return i.css(n,"top","auto");s.rightFallbackOffset=s.rightFallbackOffset||0;var l=s.top-i.offset(a).top,u=s.left-i.offset(a).left;i.width(n)+u>i.width(a)&&(u=u-i.width(n)+s.rightFallbackOffset),i.height(n)+l>i.height(a)&&(l-=i.height(n)),i.css(n,{top:l+"px",left:u+"px",right:"auto"})},e.hideMenu=function(e){i.toggleClass(e,"fp-active",!1),i.css(e,{top:"-9999em"})}})},{"../common":1,"../flowplayer":31,bean:34}],17:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(e){var t=i.createElement("div",{className:"fp-message"},e);return s.insertBefore(t,a),setTimeout(function(){i.toggleClass(t,"fp-shown")}),t}function r(e){i.removeNode(e)}var a=i.find(".fp-header",t)[0],s=i.find(".fp-ui",t)[0];e.message=function(e,t){var o=n(e),a=function(){i.toggleClass(o,"fp-shown"),setTimeout(function(){r(o)},500)};return t&&setTimeout(a,t),a},e.textarea=function(e){var t=document.createElement("textarea");t.value=e,t.className="fp-textarea",s.appendChild(t),o.on(document,"click.fptextarea",function(e){return e.target===t?t.select():(e.stopPropagation(),e.preventDefault(),i.removeNode(t),void o.off(document,"click.fptextarea"))})}})},{"../common":1,"../flowplayer":31,bean:34}],18:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=/IEMobile/.test(window.navigator.userAgent),o=e("../common"),a=e("bean"),s=e("./ui").format,l=r.support,u=window.navigator.userAgent;(l.touch||i)&&r(function(e,t){var n=l.android,r=n&&!n.firefox,c=/Silk/.test(u),f=n.version||0;if(r&&!i){if(!/Chrome/.test(u)&&4>f||n.samsung&&5>f){var d=e.load;e.load=function(){var n=d.apply(e,arguments);return o.find("video.fp-engine",t)[0].load(),e.trigger("ready",[e,e.video]),n}}var p,h=0,g=function(e){p=setInterval(function(){e.video.time=++h,e.trigger("progress",[e,h])},1e3)};e.on("ready pause unload",function(){p&&(clearInterval(p),p=null)}),e.on("ready",function(){h=0}),e.on("resume",function(t,n){return n.live?h?g(n):void e.one("progress",function(e,t,n){0===n&&g(t)}):void 0})}l.volume||(o.removeClass(t,"fp-mute"),o.addClass(t,"no-volume")),l.iOS&&o.addClass(t,"fp-mute"),o.addClass(t,"is-touch"),e.sliders&&e.sliders.timeline&&e.sliders.timeline.disableAnimation();var m=!1;a.on(t,"touchmove",function(){m=!0});var v=!0;if(a.on(t,"touchend click",function(n){if(m)return void(m=!1);var r=o.find("video.fp-engine",t)[0];return v&&e.conf.clickToUnMute&&r&&r.muted&&e.conf.autoplay&&(r.muted=!1),v=!1,e.playing&&!o.hasClass(t,"is-mouseover")?(o.addClass(t,"is-mouseover"),o.removeClass(t,"is-mouseout"),n.preventDefault(),void n.stopPropagation()):void(e.playing||e.splash||!o.hasClass(t,"is-mouseout")||o.hasClass(t,"is-mouseover")||setTimeout(function(){e.disabled||e.playing||e.splash||o.find("video.fp-engine",t)[0].play()},400))}),!l.fullscreen&&e.conf.native_fullscreen&&"function"==typeof o.createElement("video").webkitEnterFullScreen){var y=e.fullscreen;e.fullscreen=function(){var n=o.find("video.fp-engine",t)[0];return n?(e.trigger("fullscreen",[e]),a.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement===n&&(a.off(document,".nativefullscreen"),a.on(document,"webkitfullscreenchange.nativefullscreen",function(){document.webkitFullscreenElement||(a.off(document,".nativefullscreen"),e.trigger("fullscreen-exit",[e]))}))}),n.webkitEnterFullScreen(),void a.one(n,"webkitendfullscreen",function(){a.off(document,"fullscreenchange.nativefullscreen"),e.trigger("fullscreen-exit",[e]),o.prop(n,"controls",!0),o.prop(n,"controls",!1)})):y.apply(e)}}(r||c)&&e.bind("ready",function(){var n=o.find("video.fp-engine",t)[0];e.conf.splash&&n&&n.paused&&"hlsjs-lite"!==e.engine.engineName&&(a.one(n,"canplay",function(){n.play()}),n.load()),e.bind("progress.dur",function(){if(!e.live&&!e.conf.live&&n){var r=n.duration;1!==r&&(e.video.duration=r,o.find(".fp-duration",t)[0].innerHTML=s(r),e.unbind("progress.dur"))}})})})},{"../common":1,"../flowplayer":31,"./ui":27,bean:34}],19:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("extend-object"),o=e("bean"),a=e("../common"),s=e("./resolve"),l=new s,u=window.jQuery,c=/^#/;r(function(e,t){function n(){return a.find(h.query,r())}function r(){return c.test(h.query)?void 0:t}function f(){return a.find(h.query+"."+g,r())}function d(){var n=a.find(".fp-playlist",t)[0];if(!n){n=a.createElement("div",{className:"fp-playlist"});var r=a.find(".fp-next,.fp-prev",t);r.length?r[0].parentElement.insertBefore(n,r[0]):a.insertAfter(t,a.find("video",t)[0],n)}n.innerHTML="",e.conf.playlist[0].length&&(e.conf.playlist=e.conf.playlist.map(function(e){if("string"==typeof e){var t=e.split(s.TYPE_RE)[1];return{sources:[{type:"m3u8"===t.toLowerCase()?"application/x-mpegurl":"video/"+t,src:e}]}}return{sources:e.map(function(e){var t={};return Object.keys(e).forEach(function(n){t.type=/mpegurl/i.test(n)?"application/x-mpegurl":"video/"+n,t.src=e[n]}),t})}})),e.conf.playlist.forEach(function(t,r){var i=t.sources[0].src;n.appendChild(a.createElement("a",{href:i,className:e.video.index===r?g:void 0,"data-index":r}))})}function p(t){return"undefined"!=typeof t.index?t.index:"undefined"!=typeof e.video.index?e.video.index:e.conf.startIndex||0}var h=i({active:"is-active",advance:!0,query:".fp-playlist a"},e.conf),g=h.active,m=a.find(".fp-ui",t)[0],v=a.hasClass(t,"fp-custom-playlist")||!!h.customPlaylist;a.toggleClass(t,"fp-custom-playlist",v),a.toggleClass(t,"fp-default-playlist",!v),e.play=function(t){if(void 0===t)return e.resume();if("number"==typeof t&&!e.conf.playlist[t])return e;if("number"!=typeof t)return e.load.apply(null,arguments);var n=i({index:t},e.conf.playlist[t]);return e.off("beforeresume.fromfirst"),"number"==typeof t&&t===e.video.index?e.seek(0,function(){e.resume()}):(e.load(n,function(){e.video.index=t}),e)},e.next=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=n===e.conf.playlist.length-1?0:n+1,e.play(n)),e},e.prev=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=0===n?e.conf.playlist.length-1:n-1,e.play(n)),e},e.setPlaylist=function(t,n){return e.conf.playlist=t,n||delete e.video.index,d(),e},e.addPlaylistItem=function(t){return delete e.video.is_last,e.setPlaylist(e.conf.playlist.concat([t]),!0)},e.removePlaylistItem=function(t){var n=e.conf.playlist;return e.setPlaylist(n.slice(0,t).concat(n.slice(t+1)))},o.on(t,"click",".fp-next",e.next),o.on(t,"click",".fp-prev",e.prev),e.off("finish.pl").on("finish.pl",function(e,n){var r="undefined"==typeof n.conf.advance?!0:n.conf.advance;if(r){if(n.video.loop)return n.seek(0,function(){n.resume()});var i=n.video.index>=0?n.video.index+1:void 0;i<n.conf.playlist.length||h.loop?(i=i===n.conf.playlist.length?0:i,a.removeClass(t,"is-finished"),setTimeout(function(){n.play(i)})):n.conf.playlist.length>1&&(n.one("beforeresume.fromfirst",function(e){e.preventDefault(),n.play(0)}),n.one("seek",function(){n.off("beforeresume.fromfirst")}))}});var y=!1;e.conf.playlist.length&&(y=!0,d(),e.conf.clip&&e.conf.clip.sources.length||(e.conf.clip=e.conf.playlist[e.conf.startIndex||0])),n().length&&!y&&(e.conf.playlist=[],delete e.conf.startIndex,n().forEach(function(t){var n=t.href;t.setAttribute("data-index",e.conf.playlist.length);var r=l.resolve(n,e.conf.clip.sources);u&&i(r,u(t).data()),e.conf.playlist.push(r)})),a.find(".fp-prev,.fp-next,.fp-playlist",t).forEach(function(e){m.appendChild(e)}),o.on(c.test(h.query)?document:t,"click",h.query,function(t){t.preventDefault();var n=t.currentTarget,r=Number(n.getAttribute("data-index"));-1!=r&&e.play(r)}),e.on("load",function(n,i,o){if(e.conf.playlist.length){var s=f()[0],l=s&&s.getAttribute("data-index"),u=o.index=p(o),c=a.find(h.query+'[data-index="'+u+'"]',r())[0],d=u==e.conf.playlist.length-1;s&&a.removeClass(s,g),c&&a.addClass(c,g),a.removeClass(t,"video"+l),a.addClass(t,"video"+u),a.toggleClass(t,"last-video",d),o.index=i.video.index=u,o.is_last=i.video.is_last=d}}).on("unload.pl",function(){e.conf.playlist.length&&(f().forEach(function(e){a.toggleClass(e,g)}),e.conf.playlist.forEach(function(e,n){a.removeClass(t,"video"+n)}),delete e.video.index)}),e.conf.playlist.length&&(e.conf.loop=!1)})},{"../common":1,"../flowplayer":31,"./resolve":21,bean:34,"extend-object":39}],20:[function(e,t,n){var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){function n(){i.find(".fp-qsel-menu",t).forEach(i.removeNode),i.find(".fp-qsel",t).forEach(i.removeNode)}function r(e){l.appendChild(i.createElement("strong",{className:"fp-qsel"},"HD"));var t=i.createElement("div",{className:"fp-menu fp-qsel-menu"},"<strong>Quality</strong>");e.forEach(function(e){var n=document.createElement("a"),r="undefined"!=typeof e.value?e.value:e;n.setAttribute("data-quality",r),n.innerHTML=e.label||e,t.appendChild(n)}),s.appendChild(t)}function a(e){i.find(".fp-qsel-menu a",t).forEach(function(t){i.toggleClass(t,"fp-selected",t.getAttribute("data-quality")==e),i.toggleClass(t,"fp-color",t.getAttribute("data-quality")==e)})}var s=i.find(".fp-ui",t)[0],l=i.find(".fp-controls",s)[0];o.on(t,"click",".fp-qsel",function(){var n=i.find(".fp-qsel-menu",t)[0];i.hasClass(n,"fp-active")?e.hideMenu():e.showMenu(n)}),o.on(t,"click",".fp-qsel-menu a",function(t){var n=t.target.getAttribute("data-quality");e.quality(n)}),e.quality=function(t){t=isNaN(Number(t))?t:Number(t),e.trigger("quality",[e,t])},e.on("quality",function(e,t,n){a(n,t.video.qualities)}),e.on("ready",function(e,t,i){n(),!i.qualities||i.qualities.filter(function(e){return"undefined"!=typeof e.value?e.value>-1:!0}).length<2||(r(i.qualities,i.quality),a(i.quality,i.qualities))})})},{"../common":1,"../flowplayer":31,bean:34}],21:[function(e,t,n){"use strict";function r(e){var t=e.attr("src"),n=e.attr("type")||"",r=t.split(o)[1];return n=n.toLowerCase(),a(e.data(),{src:t,suffix:r||n,type:n||r})}function i(e){return/mpegurl/i.test(e)?"application/x-mpegurl":"video/"+e}var o=/\.(\w{3,4})(\?.*)?$/i,a=e("extend-object");t.exports=function(){var e=this;e.sourcesFromVideoTag=function(e,t){var n=[];return t("source",e).each(function(){n.push(r(t(this)))}),!n.length&&e.length&&n.push(r(e)),n},e.resolve=function(e,t){return e?("string"==typeof e&&(e={src:e,sources:[]},e.sources=(t||[]).map(function(t){var n=t.src.split(o)[1];return{type:t.type,src:e.src.replace(o,"."+n+"$2")}})),e instanceof Array&&(e={sources:e.map(function(e){return e.type&&e.src?e:Object.keys(e).reduce(function(t,n){return a(t,{type:i(n),src:e[n]})},{})})}),e):{sources:t}}},t.exports.TYPE_RE=o},{"extend-object":39}],22:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("extend-object"),a=e("bean");r(function(e,t){var n=e.conf;if(n.share===!1)return void i.find(".fp-share",t).forEach(i.removeNode);e.shareUrl=function(t){if(t&&n.embed&&n.embed.iframe)return n.embed.iframe;if("string"==typeof e.conf.share)return e.conf.share;var r=encodeURIComponent(e.video.title||(i.find("title")[0]||{}).innerHTML||"Flowplayer Unlimited video"),a=encodeURIComponent(btoa(JSON.stringify(o({},e.conf,e.extensions)).replace(/[\u007F-\uFFFF]/g,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).substr(-4)}))),s=encodeURIComponent(window.location.toString()),l=t?"https://flowplayer.com/e/":"https://flowplayer.com/s/";return l+"?t="+r+"&c="+a+"&r="+s};var r=i.createElement("div",{className:"fp-menu fp-share-menu"},"<strong>Share</strong>"),s=i.find(".fp-ui",t)[0];s.appendChild(r);var l=i.find(".fp-share",t)[0];a.on(t,"click",".fp-share",function(t){t.preventDefault(),i.hasClass(r,"fp-active")?e.hideMenu():e.showMenu(r,l)})})},{"../common":1,"../flowplayer":31,bean:34,"extend-object":39}],23:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean"),a=e("./subtitles/parser");r.defaults.subtitleParser=a,r(function(e,t){var n,a,s,l,u;(!r.support.inlineVideo||!r.support.fullscreen&&e.conf.native_fullscreen)&&(e.conf.nativesubtitles=!0),e.ui||(e.ui={}),e.ui.createSubtitleControl=function(e,n){return u=n,s=s||i.createElement("strong",{className:"fp-cc"},"CC"),l=l||i.createElement("div",{className:"fp-menu fp-subtitle-menu"},"<strong>Closed Captions</strong>"),i.find("a",l).forEach(i.removeNode),l.appendChild(i.createElement("a",{"data-subtitle-index":-1},"No subtitles")),(e||[]).forEach(function(e,t){var n=e.srclang||"en",r=e.label||"Default ("+n+")",o=i.createElement("a",{"data-subtitle-index":t},r);l.appendChild(o)}),i.find(".fp-ui",t)[0].appendChild(l),i.find(".fp-controls",t)[0].appendChild(s),i.toggleClass(s,"fp-hidden",!e||!e.length),s},e.ui.setActiveSubtitleItem=function(e){f(e)},o.on(t,"click",".fp-cc",function(){i.hasClass(l,"fp-active")?e.hideMenu():e.showMenu(l)}),o.on(t,"click",".fp-subtitle-menu [data-subtitle-index]",function(t){t.preventDefault();var n=t.target.getAttribute("data-subtitle-index");return u?u(n):"-1"===n?e.disableSubtitles():void e.loadSubtitles(n)});var c=function(){a=i.find(".fp-captions",t)[0],a=a||i.appendTo(i.createElement("div",{class:"fp-captions"}),i.find(".fp-player",t)[0]),Array.prototype.forEach.call(a.children,i.removeNode),e.ui.createSubtitleControl(e.video.subtitles)};e.on("ready",function(n,r,o){if(r.subtitles=[],c(),i.removeClass(t,"has-menu"),e.disableSubtitles(),o.subtitles&&o.subtitles.length){var a=o.subtitles.filter(function(e){return e["default"]})[0];a&&r.loadSubtitles(o.subtitles.indexOf(a))}}),e.showSubtitle=function(e){i.html(a,e),i.addClass(a,"fp-shown")},e.hideSubtitle=function(){i.removeClass(a,"fp-shown")},e.bind("cuepoint",function(t,r,i){i.subtitle?(n=i.index,e.showSubtitle(i.subtitle.text)):i.subtitleEnd&&(e.hideSubtitle(),n=i.index)}),e.bind("seek",function(t,r,o){n&&e.cuepoints[n]&&e.cuepoints[n].time>o&&(i.removeClass(a,"fp-shown"),n=null),(e.cuepoints||[]).forEach(function(t,r){var i=t.subtitle;i&&n!=r?o>=t.time&&(!i.endTime||o<=i.endTime)&&e.trigger("cuepoint",[e,t]):t.subtitleEnd&&o>=t.time&&r==n+1&&e.trigger("cuepoint",[e,t])})}),e.on("unload",function(){i.find(".fp-captions",t).forEach(i.removeNode)});var f=function(e){i.toggleClass(i.find("a.fp-selected",l)[0],"fp-selected"),i.toggleClass(i.find('a[data-subtitle-index="'+e+'"]',l)[0],"fp-selected")},d=function(e,n){var r=i.find("video.fp-engine",t)[0].textTracks;r.length&&(null===e?[].forEach.call(r,function(e){e.mode=n}):r[e].mode=n)};e.disableSubtitles=function(){return e.subtitles=[],(e.cuepoints||[]).forEach(function(t){(t.subtitle||t.subtitleEnd)&&e.removeCuepoint(t)}),a&&Array.prototype.forEach.call(a.children,i.removeNode),f(-1),r.support.subtitles&&e.conf.nativesubtitles&&"html5"==e.engine.engineName&&d(null,"disabled"),e},e.loadSubtitles=function(t){e.disableSubtitles();var n=e.video.subtitles[t],o=n.src;return o?(f(t),r.support.subtitles&&e.conf.nativesubtitles&&"html5"==e.engine.engineName?void d(t,"showing"):(i.xhrGet(o,function(t){var n=e.conf.subtitleParser(t);n.forEach(function(t,n){t.title||(t.title="subtitle"+n);var i={time:t.startTime,subtitle:t,visible:!1};e.subtitles.push(t),e.addCuepoint(i),e.addCuepoint({time:t.endTime,subtitleEnd:t.title,visible:!1}),0!==t.startTime||e.video.time||e.splash||e.trigger("cuepoint",[e,r.extend({},i,{index:0})]),e.splash&&e.one("ready",function(){e.trigger("cuepoint",[e,i])})})},function(){return e.trigger("error-subtitles",{code:8,url:o}),!1}),e)):void 0}})},{"../common":1,"../flowplayer":31,"./subtitles/parser":24,bean:34}],24:[function(e,t,n){t.exports=function(e){function t(e){var t=e.split(":");return 2==t.length&&t.unshift(0),60*t[0]*60+60*t[1]+parseFloat(t[2].replace(",","."))}for(var n,r,i,o=/^(([0-9]+:){1,2}[0-9]{2}[,.][0-9]{3}) --\> (([0-9]+:){1,2}[0-9]{2}[,.][0-9]{3})(.*)/,a=[],s=0,l=e.split("\n"),u=l.length,c={};u>s;s++)if(r=o.exec(l[s])){for(n=l[s-1],i="<p>"+l[++s]+"</p><br/>";"string"==typeof l[++s]&&l[s].trim()&&s<l.length;)i+="<p>"+l[s]+"</p><br/>";c={title:n,startTime:t(r[1]),endTime:t(r[3]),text:i},a.push(c)}return a}},{}],25:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("extend-object");!function(){var e=function(e){var t=/iP(ad|hone)(; CPU)? OS (\d+_\d)/.exec(e);return t&&t.length>1?parseFloat(t[t.length-1].replace("_","."),10):0},t=function(){var e=document.createElement("video");return e.loop=!0,e.autoplay=!0,e.preload=!0,e},n={},o=document.documentElement.style,a=navigator.userAgent.toLowerCase(),s=/(chrome)[ \/]([\w.]+)/.exec(a)||/(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];s[1]&&(n[s[1]]=!0,n.version=s[2]||"0"),n.safari&&(n.version=(/version\/([\w.]+)/.exec(a)||[])[1]);var l=t(),u=navigator.userAgent,c=n.msie||/Trident\/7/.test(u),f=/iPad|MeeGo/.test(u)&&!/CriOS/.test(u),d=/iPad/.test(u)&&/CriOS/.test(u),p=/iP(hone|od)/i.test(u)&&!/iPad/.test(u)&&!/IEMobile/i.test(u),h=/Android/.test(u),g=h&&/Firefox/.test(u),m=h&&/SAMSUNG/.test(u),v=/Silk/.test(u),y=/IEMobile/.test(u),w=y?parseFloat(/Windows\ Phone\ (\d+\.\d+)/.exec(u)[1],10):0,b=y?parseFloat(/IEMobile\/(\d+\.\d+)/.exec(u)[1],10):0,I=f||p?e(u):0,M=h?parseFloat(/Android\ (\d+(\.\d+)?)/.exec(u)[1],10):0,C=(p||f||d)&&{iPhone:p,iPad:f||d,version:I,chrome:d},A=i(r.support,{browser:n,iOS:C,android:h?{firefox:g,opera:/Opera/.test(u),samsung:m,version:M}:!1,subtitles:!!l.addTextTrack,fullscreen:"boolean"==typeof document.webkitFullscreenEnabled?document.webkitFullscreenEnabled:"function"==typeof document.webkitCancelFullScreen&&!/Mac OS X 10_5.+Version\/5\.0\.\d Safari/.test(u)||document.mozFullScreenEnabled||"function"==typeof document.exitFullscreen||"function"==typeof document.msExitFullscreen,inlineBlock:!(c&&n.version<8),touch:"ontouchstart"in window,dataload:!f&&!p&&!y,flex:"flexWrap"in o||"WebkitFlexWrap"in o||"msFlexWrap"in o,svg:!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,zeropreload:!c&&!h,volume:!(f||p||v||d),cachedVideoTag:!(f||p||d||y),firstframe:!(v||y||g||m||I&&10>I||h&&4.4>M),inlineVideo:(!p||I>=10)&&(!y||w>=8.1&&b>=11)&&(!h||M>=3),hlsDuration:!h&&(!n.safari||f||p||d),seekable:!f&&!d,preloadMetadata:!C&&!n.safari});A.autoplay=A.firstframe,y&&(A.browser.safari=!1);try{var S=navigator.plugins["Shockwave Flash"],E=c?new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"):S.description;c||S[0].enabledPlugin?(E=E.split(/\D+/),E.length&&!E[0]&&(E=E.slice(1)),A.flashVideo=E[0]>9||9==E[0]&&E[3]>=115):A.flashVideo=!1}catch(j){}try{A.video=!!l.canPlayType,A.video&&l.canPlayType("video/mp4")}catch(D){A.video=!1}A.animation=function(){for(var e=["","Webkit","Moz","O","ms","Khtml"],t=document.createElement("p"),n=0;n<e.length;n++)if("undefined"!=typeof t.style[e[n]+"AnimationName"])return!0}()}()},{"../flowplayer":31,"extend-object":39}],26:[function(e,t,n){"use strict";var r=e("../flowplayer"),i=e("../common"),o=e("bean");r(function(e,t){var n=e.conf;if(n.share!==!1&&n.twitter!==!1){e.tweet=function(){var t,r,i=550,o=420,a=screen.height,s=screen.width,l="scrollbars=yes,resizable=yes,toolbar=no,location=yes",u="string"==typeof n.twitter?n.twitter:e.shareUrl();t=Math.round(s/2-i/2),r=0,a>o&&(r=Math.round(a/2-o/2)),window.open("https://twitter.com/intent/tweet?url="+encodeURIComponent(u),"intent",l+",width="+i+",height="+o+",left="+t+",top="+r)};var r=i.find(".fp-share-menu",t)[0],a=i.createElement("a",{class:"fp-icon fp-twitter"},"Twitter");i.append(r,a),o.on(t,"click",".fp-twitter",function(){e.tweet()})}})},{"../common":1,"../flowplayer":31,bean:34}],27:[function(e,t,n){(function(n){"use strict";function r(e){return e=parseInt(e,10),e>=10?e:"0"+e}function i(e,t){e=Math.max(e||0,0),e=t?Math.ceil(e):Math.floor(e);var n=Math.floor(e/3600),i=Math.floor(e/60);return e-=60*i,n>=1?(i-=60*n,n+":"+r(i)+":"+r(e)):r(i)+":"+r(e)}var o=e("../flowplayer"),a=e("../common"),s=e("bean"),l=e("./ui/slider"),u=e("./ui/bar-slider"),c=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLW91dGxpbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk5Ljg0NCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz4KPHRpdGxlPnBsYXktcm91bmRlZC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNNDEuMDM1OSw3MS4xOWE1LjA0OTIsNS4wNDkyLDAsMCwxLTIuNTU3NS0uNjY3M2MtMS44MDMxLTEuMDQxLTIuNzk1OC0zLjEyNDgtMi43OTU4LTUuODY2NFYzNS4xODg3YzAtMi43NDI5Ljk5MzMtNC44MjcyLDIuNzk3LTUuODY3NiwxLjgwMjUtMS4wNDIyLDQuMTAzNC0uODYsNi40OC41MTQzTDcwLjQ3ODIsNDQuNTY3MmMyLjM3NTEsMS4zNzExLDMuNjgyNiwzLjI3MjUsMy42ODMyLDUuMzU0NXMtMS4zMDc2LDMuOTg0NS0zLjY4MzIsNS4zNTYyTDQ0Ljk1OTIsNzAuMDExNEE3LjkzODQsNy45Mzg0LDAsMCwxLDQxLjAzNTksNzEuMTlabS4wMDY1LTQwLjEyM2EyLjY3OTQsMi42Nzk0LDAsMCwwLTEuMzU4Mi4zNDEzYy0xLjAyNjMuNTkyNi0xLjU5MTIsMS45MzQ5LTEuNTkxMiwzLjc4VjY0LjY1NjNjMCwxLjg0NDkuNTY0OSwzLjE4NjYsMS41OTA2LDMuNzc5MSwxLjAyODEuNTkzMiwyLjQ3MzMuNDEwOCw0LjA3LS41MTJMNjkuMjczLDUzLjE5MDZjMS41OTgzLS45MjI3LDIuNDc4LTIuMDgzOCwyLjQ3OC0zLjI2ODlzLS44OC0yLjM0NDUtMi40NzgtMy4yNjY2TDQzLjc1NCwzMS45MjI3QTUuNTY4NSw1LjU2ODUsMCwwLDAsNDEuMDQyMywzMS4wNjcxWiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=","base64"),f=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1yb3VuZGVkLWZpbGwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgogIDxkZWZzPjxzdHlsZT4uYXtmaWxsOiMwMDA7b3BhY2l0eTowLjY1O30uYntmaWxsOiNmZmY7b3BhY2l0eToxLjA7fTwvc3R5bGU+CiAgPC9kZWZzPjx0aXRsZT5wbGF5LXJvdW5kZWQtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cGF0aCBjbGFzcz0iYiIgZD0iTTM1Ljk0MiwzNS4yMzIzYzAtNC43Mjg5LDMuMzUwNi02LjY2MzcsNy40NDYtNC4yOTcxTDY4LjgzLDQ1LjYyMzVjNC4wOTU2LDIuMzY0LDQuMDk1Niw2LjIzMTksMCw4LjU5NzdMNDMuMzg4LDY4LjkxYy00LjA5NTQsMi4zNjQtNy40NDYuNDMtNy40NDYtNC4yOTc5WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPgogIDwvc3ZnPgogIAo=","base64"),d=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5jb250cm9sYnV0dG9ue2ZpbGw6I2ZmZjt9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlPnBsYXktc2hhcnAtZmlsbDwvdGl0bGU+CiAgPHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjE3LS4wNzhhNTAsNTAsMCwxLDAsNTAsNTBBNTAuMDU2NCw1MC4wNTY0LDAsMCwwLDQ5LjkyMTctLjA3OFoiLz4KICA8cG9seWdvbiBjbGFzcz0iY29udHJvbGJ1dHRvbiIgcG9pbnRzPSI3My42MDEgNTAgMzcuOTY4IDcwLjU3MyAzNy45NjggMjkuNDI3IDczLjYwMSA1MCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgo8L3N2Zz4K","base64"),p=n("PHN2ZyBjbGFzcz0iZnAtcGxheS1zaGFycC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDQgOTkuODQzNCI+PGRlZnM+PHN0eWxlPi5jb250cm9sYnV0dG9uYmd7b3BhY2l0eTowLjY1O30uY29udHJvbGJ1dHRvbntmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGxheS1zaGFycC1vdXRsaW5lPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxwYXRoIGNsYXNzPSJjb250cm9sYnV0dG9uIiBkPSJNMzYuOTQ0Myw3Mi4yNDczVjI3LjI5MTZMNzUuODc3Niw0OS43N1ptMi4yLTQxLjE0NTVWNjguNDM3MUw3MS40Nzc2LDQ5Ljc3WiIgZmlsdGVyPSJ1cmwoI2YxKSIvPjwvc3ZnPgo=","base64"),h=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utcm91bmRlZC1vdXRsaW5lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OS44NDM0IDk5Ljg0MzQiPjxkZWZzPjxzdHlsZT4uZnAtY29sb3ItcGxheXtvcGFjaXR5OjAuNjU7fS5yZWN0e2ZpbGw6I2ZmZjt9PC9zdHlsZT4KPC9kZWZzPjx0aXRsZT5wYXVzZS1yb3VuZGVkLW91dGxpbmU8L3RpdGxlPjxwYXRoIGNsYXNzPSJmcC1jb2xvci1wbGF5IiBkPSJNNDkuOTIxMi0uMDc4M2E1MCw1MCwwLDEsMCw1MC4wMDA2LDUwQTUwLjA1NjIsNTAuMDU2MiwwLDAsMCw0OS45MjEyLS4wNzgzWiIvPjxnIGNsYXNzPSJjb250cm9sYnV0dG9uIj48cGF0aCBjbGFzcz0icmVjdCIgZD0iTTM5LjAwMzYsNzEuOTcyNmE3LjU2NSw3LjU2NSwwLDAsMS03LjU1Ny03LjU1NnYtMjguOTlhNy41NTY1LDcuNTU2NSwwLDAsMSwxNS4xMTMsMHYyOC45OUE3LjU2NDgsNy41NjQ4LDAsMCwxLDM5LjAwMzYsNzEuOTcyNlptMC00MS45MDRhNS4zNjQ3LDUuMzY0NywwLDAsMC01LjM1OTMsNS4zNTgydjI4Ljk5YTUuMzU4Nyw1LjM1ODcsMCwwLDAsMTAuNzE3NCwwdi0yOC45OUE1LjM2NDUsNS4zNjQ1LDAsMCwwLDM5LjAwMzYsMzAuMDY4NloiIGZpbHRlcj0idXJsKCNmMSkiLz48cGF0aCBjbGFzcz0icmVjdCIgZD0iTTYwLjg0LDcxLjk3MjZhNy41NjQ4LDcuNTY0OCwwLDAsMS03LjU1Ni03LjU1NnYtMjguOTlhNy41NTY1LDcuNTU2NSwwLDAsMSwxNS4xMTMsMHYyOC45OUE3LjU2NSw3LjU2NSwwLDAsMSw2MC44NCw3MS45NzI2Wm0wLTQxLjkwNGE1LjM2NDUsNS4zNjQ1LDAsMCwwLTUuMzU4Miw1LjM1ODJ2MjguOTlhNS4zNTg3LDUuMzU4NywwLDAsMCwxMC43MTc0LDB2LTI4Ljk5QTUuMzY0Nyw1LjM2NDcsMCwwLDAsNjAuODQsMzAuMDY4NloiIGZpbHRlcj0idXJsKCNmMSkiLz48L2c+PC9zdmc+Cg==","base64"),g=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utcm91bmRlZC1maWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30ucmVjdHtmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGF1c2Utcm91bmRlZC1maWxsPC90aXRsZT48cGF0aCBjbGFzcz0iZnAtY29sb3ItcGxheSIgZD0iTTQ5LjkyMTctLjA3OGE1MCw1MCwwLDEsMCw1MCw1MEE1MC4wNTY0LDUwLjA1NjQsMCwwLDAsNDkuOTIxNy0uMDc4WiIvPjxnIGNsYXNzPSJjb250cm9sYnV0dG9uIiBmaWx0ZXI9InVybCgjZjEpIj48cmVjdCBjbGFzcz0icmVjdCIgeD0iMzEuODQ0IiB5PSIyOC4xMjMxIiB3aWR0aD0iMTMuNDM2MiIgaGVpZ2h0PSI0My41OTczIiByeD0iNi43MTgxIiByeT0iNi43MTgxIi8+PHJlY3QgY2xhc3M9InJlY3QiIHg9IjU0LjU2MzgiIHk9IjI4LjEyMzEiIHdpZHRoPSIxMy40MzYyIiBoZWlnaHQ9IjQzLjU5NzMiIHJ4PSI2LjcxODEiIHJ5PSI2LjcxODEiLz48L2c+PC9zdmc+Cg==","base64"),m=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utc2hhcnAtZmlsbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PGRlZnM+PHN0eWxlPi5mcC1jb2xvci1wbGF5e29wYWNpdHk6MC42NTt9LnJlY3R7ZmlsbDojZmZmO308L3N0eWxlPgo8L2RlZnM+PHRpdGxlPnBhdXNlLXNoYXJwLWZpbGw8L3RpdGxlPjxwYXRoIGNsYXNzPSJmcC1jb2xvci1wbGF5IiBkPSJNNDkuOTIxNy0uMDc4YTUwLDUwLDAsMSwwLDUwLDUwQTUwLjA1NjQsNTAuMDU2NCwwLDAsMCw0OS45MjE3LS4wNzhaIi8+PGcgY2xhc3M9ImNvbnRyb2xidXR0b24iIGZpbHRlcj0idXJsKCNmMSkiPjxyZWN0IGNsYXNzPSJyZWN0IiB4PSIzMy41IiB5PSIzMC4xMDQyIiB3aWR0aD0iMTIuMjYzNCIgaGVpZ2h0PSIzOS43OTE3Ii8+PHJlY3QgY2xhc3M9InJlY3QiIHg9IjU0LjIzNjYiIHk9IjMwLjEwNDIiIHdpZHRoPSIxMi4yNjM0IiBoZWlnaHQ9IjM5Ljc5MTciLz48L2c+PC9zdmc+Cg==","base64"),v=n("PHN2ZyBjbGFzcz0iZnAtcGF1c2Utc2hhcnAtb3V0bGluZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTkuODQzNCA5OS44NDM0Ij48ZGVmcz48c3R5bGU+LmZwLWNvbG9yLXBsYXl7b3BhY2l0eTowLjY1O30ucmVjdHtmaWxsOiNmZmY7fTwvc3R5bGU+CjwvZGVmcz48dGl0bGU+cGF1c2Utc2hhcnAtb3V0bGluZTwvdGl0bGU+PHBhdGggY2xhc3M9ImZwLWNvbG9yLXBsYXkiIGQ9Ik00OS45MjEyLS4wNzgzYTUwLDUwLDAsMSwwLDUwLjAwMDYsNTBBNTAuMDU2Miw1MC4wNTYyLDAsMCwwLDQ5LjkyMTItLjA3ODNaIi8+PGcgY2xhc3M9ImNvbnRyb2xidXR0b24iIGZpbHRlcj0idXJsKCNmMSkiPjxwYXRoIGNsYXNzPSJyZWN0IiBkPSJNNDYuODcwOSw2OS45NTMxSDMzLjEzODVWMjkuODlINDYuODcwOVpNMzUuMTQxNiw2Ny45NWg5LjcyNjJWMzEuODkzNUgzNS4xNDE2WiIvPjxwYXRoIGNsYXNzPSJyZWN0IiBkPSJNNjYuNzA0Nyw2OS45NTMxSDUyLjk3MjJWMjkuODlINjYuNzA0N1pNNTQuOTc1NCw2Ny45NWg5LjcyNjJWMzEuODkzNUg1NC45NzU0WiIvPjwvZz48L3N2Zz4K","base64"),y=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1yb3VuZGVkLW91dGxpbmUiIHdpZHRoPScxMTJweCcgaGVpZ2h0PScxMTJweCcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPgogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9Ijc2IiBoZWlnaHQ9Ijc2IiBmaWxsPSJyZ2JhKDAsMCwwLDApIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgMjUpIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuMHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC4wcyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCAyNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZSIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjRzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDUwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDAsMCwwLC41KSIgc3Ryb2tlLXdpZHRoPSIzJSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ic3Ryb2tlIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgNTApIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjEuMnMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMS4ycyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgo8L3N2Zz4K","base64"),w=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1yb3VuZGVkLWZpbGwiIHdpZHRoPScxMTJweCcgaGVpZ2h0PScxMTJweCcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPgogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9Ijc2IiBoZWlnaHQ9Ijc2IiBmaWxsPSJyZ2JhKDAsMCwwLDApIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgMjUpIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC4wcyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjBzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDI1KSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuNHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC40cyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCA1MCkiIGZpbGw9InJnYmEoMCwwLDAsLjUpIiBjbGFzcz0ic3EiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUgNTApIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMS4ycyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIxLjJzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogICAgPC9jaXJjbGU+Cjwvc3ZnPgo=","base64"),b=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1zaGFycC1maWxsIiB3aWR0aD0nMTEycHgnIGhlaWdodD0nMTEycHgnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNzYiIGhlaWdodD0iNzYiIGZpbGw9InJnYmEoMCwwLDAsMCkiIGNsYXNzPSJiayI+PC9yZWN0PgogIDxyZWN0IHg9Ii0xMCIgeT0iLTEwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1IDI1KSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjBzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjBzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMTAiIHk9Ii0xMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCAyNSkiIGZpbGw9InJnYmEoMCwwLDAsLjUpIiBjbGFzcz0ic3EiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC40cyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iLTEwIiB5PSItMTAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIiBmaWxsPSJyZ2JhKDAsMCwwLC41KSIgY2xhc3M9InNxIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuOHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgogIDxyZWN0IHg9Ii0xMCIgeT0iLTEwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1IDUwKSIgZmlsbD0icmdiYSgwLDAsMCwuNSkiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIxLjJzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIxLjJzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KPC9zdmc+Cg==","base64"),I=n("PHN2ZyBjbGFzcz0iZnAtbG9hZGluZy1zaGFycC1vdXRsaW5lIiB3aWR0aD0nMTEycHgnIGhlaWdodD0nMTEycHgnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNzYiIGhlaWdodD0iNzYiIGZpbGw9InJnYmEoMCwwLDAsMCkiIGNsYXNzPSJiayI+PC9yZWN0PgogIDxyZWN0IHg9Ii05IiB5PSItOSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNSAyNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjAuMHMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMC4wcyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iLTkiIHk9Ii05IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDI1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDAsMCwwLC41KSIgc3Ryb2tlLXdpZHRoPSIzJSIgY2xhc3M9InNxIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZSIgZnJvbT0icmdiYSgwLDAsMCwwKSIgdG89InJnYmEoMCwwLDAsLjUpIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxLjZzIiBiZWdpbj0iMC40cyIgdmFsdWVzPSJyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwuNSkiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZT4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgYWRkaXRpdmU9InN1bSIgZnJvbT0iMC44IiB0bz0iMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwLjRzIiBkdXI9IjEuNnMiIHZhbHVlcz0iMTswLjg7MC44OzE7MSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvcmVjdD4KICA8cmVjdCB4PSItOSIgeT0iLTkiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAgNTApIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMCwwLDAsLjUpIiBzdHJva2Utd2lkdGg9IjMlIiBjbGFzcz0ic3EiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ic3Ryb2tlIiBmcm9tPSJyZ2JhKDAsMCwwLDApIiB0bz0icmdiYSgwLDAsMCwuNSkiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjEuNnMiIGJlZ2luPSIwLjhzIiB2YWx1ZXM9InJnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsMCk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLC41KTtyZ2JhKDAsMCwwLC41KSIga2V5VGltZXM9IjA7MC4xOzAuMjswLjQ7MSI+PC9hbmltYXRlPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBhZGRpdGl2ZT0ic3VtIiBmcm9tPSIwLjgiIHRvPSIxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjAuOHMiIGR1cj0iMS42cyIgdmFsdWVzPSIxOzAuODswLjg7MTsxIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgogIDxyZWN0IHg9Ii05IiB5PSItOSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNSA1MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgwLDAsMCwuNSkiIHN0cm9rZS13aWR0aD0iMyUiIGNsYXNzPSJzcSI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2UiIGZyb209InJnYmEoMCwwLDAsMCkiIHRvPSJyZ2JhKDAsMCwwLC41KSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMS42cyIgYmVnaW49IjEuMnMiIHZhbHVlcz0icmdiYSgwLDAsMCwuNSk7cmdiYSgwLDAsMCwwKTtyZ2JhKDAsMCwwLDApO3JnYmEoMCwwLDAsLjUpO3JnYmEoMCwwLDAsLjUpIiBrZXlUaW1lcz0iMDswLjE7MC4yOzAuNDsxIj48L2FuaW1hdGU+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGFkZGl0aXZlPSJzdW0iIGZyb209IjAuOCIgdG89IjEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMS4ycyIgZHVyPSIxLjZzIiB2YWx1ZXM9IjE7MC44OzAuODsxOzEiIGtleVRpbWVzPSIwOzAuMTswLjI7MC40OzEiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+Cjwvc3ZnPgo=","base64");o(function(e,t){function r(e){return a.find(".fp-"+e,t)[0]}function M(e){a.css(T,"padding-top",100*e+"%"),D.inlineBlock||a.height(a.find("object",t)[0],a.height(t))}function C(e){e?(a.addClass(t,"is-mouseover"),a.removeClass(t,"is-mouseout")):(a.addClass(t,"is-mouseout"),a.removeClass(t,"is-mouseover"))}a.find(".fp-filters").forEach(a.removeNode);try{var A;document.body.appendChild(A=a.createElement("div",{},n("PHN2ZyBjbGFzcz0iZnAtZmlsdGVycyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIgaWQ9ImYxIiB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIj4KICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNlQWxwaGEiIGR4PSIwIiBkeT0iMCIgLz4KICAgICAgPGZlQ29sb3JNYXRyaXggcmVzdWx0PSJtYXRyaXhPdXQiIGluPSJvZmZPdXQiIHR5cGU9Im1hdHJpeCIKICAgICAgdmFsdWVzPSIwLjMgMCAwIDAgMCAwIDAuMyAwIDAgMCAwIDAgMC4zIDAgMCAwIDAgMCAwLjQgMCIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgaW49Im1hdHJpeE91dCIgc3RkRGV2aWF0aW9uPSI0IiAvPgogICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJibHVyT3V0IiBtb2RlPSJub3JtYWwiIC8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+Cjwvc3ZnPgo=","base64"))),a.css(A,{width:0,height:0,overflow:"hidden",position:"absolute",margin:0,padding:0})}catch(S){}var E,j=e.conf,D=o.support;a.find(".fp-ratio,.fp-ui",t).forEach(a.removeNode),a.addClass(t,"flowplayer"),t.appendChild(a.createElement("div",{className:"fp-ratio"}));var N=a.createElement("div",{className:"fp-ui"},' <div class="fp-waiting"> {{ LOADING_SHARP_OUTLINE }} {{ LOADING_SHARP_FILL }} {{ LOADING_ROUNDED_FILL }} {{ LOADING_ROUNDED_OUTLINE }} </div> <div class="fp-header"> <a class="fp-share fp-icon"></a> <a class="fp-fullscreen fp-icon"></a> <a class="fp-unload fp-icon"></a> </div> <p class="fp-speed-flash"></p> <div class="fp-play fp-visible"> <a class="fp-icon fp-playbtn"></a> {{ PLAY_ROUNDED_FILL }} {{ PLAY_ROUNDED_OUTLINE }} {{ PLAY_SHARP_FILL }} {{ PLAY_SHARP_OUTLINE }} </div> <div class="fp-pause"> <a class="fp-icon fp-playbtn"></a> {{ PAUSE_SHARP_OUTLINE }} {{ PAUSE_SHARP_FILL }} {{ PAUSE_ROUNDED_OUTLINE }} {{ PAUSE_ROUNDED_FILL }} </div> <div class="fp-controls"> <a class="fp-icon fp-playbtn"></a> <span class="fp-elapsed">00:00</span> <div class="fp-timeline fp-bar"> <span class="fp-timestamp"></span> <div class="fp-progress fp-color"></div> </div> <span class="fp-duration"></span> <span class="fp-remaining"></span> <div class="fp-volume"> <a class="fp-icon fp-volumebtn"></a> <div class="fp-volumebar fp-bar-slider"> <em></em><em></em><em></em><em></em><em></em><em></em><em></em> </div> </div> <strong class="fp-speed fp-hidden"></strong> </div>'.replace("{{ PAUSE_ROUNDED_FILL }}",g).replace("{{ PAUSE_ROUNDED_OUTLINE }}",h).replace("{{ PAUSE_SHARP_FILL }}",m).replace("{{ PAUSE_SHARP_OUTLINE }}",v).replace("{{ PLAY_SHARP_OUTLINE }}",p).replace("{{ PLAY_SHARP_FILL }}",d).replace("{{ PLAY_ROUNDED_OUTLINE }}",c).replace("{{ PLAY_ROUNDED_FILL }}",f).replace("{{ LOADING_ROUNDED_OUTLINE }}",y).replace("{{ LOADING_ROUNDED_FILL }}",w).replace("{{ LOADING_SHARP_FILL }}",b).replace("{{ LOADING_SHARP_OUTLINE }}",I).replace(/url\(#/g,"url("+window.location.href.replace(window.location.hash,"").replace(/\#$/g,"")+"#"));t.appendChild(N);var x=r("waiting"),L=r("elapsed"),T=r("ratio"),Z=r("speed-flash"),P=r("duration"),k=r("remaining"),Y=r("timestamp"),z=a.css(T,"padding-top"),O=r("play"),G=r("pause"),R=r("timeline"),W=l(R,e.rtl),U=r("fullscreen"),J=r("volumebar"),B=u(J,{rtl:e.rtl}),F=a.hasClass(t,"no-toggle");W.disableAnimation(a.hasClass(t,"is-touch")),e.sliders=e.sliders||{},e.sliders.timeline=W,e.sliders.volume=B;var H=[];D.svg||a.html(x,"<p>loading …</p>"),j.ratio&&M(j.ratio);try{j.fullscreen||a.removeNode(U)}catch(S){a.removeNode(U)}e.on("dvrwindow",function(){W.disable(!1)}),e.on("ready",function(e,n,r){var o=n.video.duration;W.disable(n.disabled||!o),j.adaptiveRatio&&!isNaN(r.height/r.width)&&M(r.height/r.width,!0),a.html([P,k],n.live?"Live":i(o)),a.toggleClass(t,"is-long",o>=3600),B.slide(n.volumeLevel),"flash"===n.engine.engineName?W.disableAnimation(!0,!0):W.disableAnimation(!1),a.find(".fp-title",N).forEach(a.removeNode),r.title&&a.prepend(N,a.createElement("div",{className:"fp-message fp-title"},r.title)),a.toggleClass(t,"has-title",!!r.title)}).on("unload",function(){z||j.splash||a.css(T,"paddingTop",""),W.slide(0),a.addClass(O,"fp-visible")}).on("buffer",function(e,t,n){var r=t.video,i=r.buffer/r.duration;!r.seekable&&D.seekable&&W.max(t.conf.live?1/0:i),n&&"number"!=typeof n||(n=[{start:0,end:r.buffer}]);var o=a.find(".fp-buffer",R);o.length!==n.length&&(o.forEach(a.removeNode),o=[]),n.forEach(function(e,t){var n=o[t]||a.createElement("div",{className:"fp-buffer"});a.css(n,{left:100*e.start/r.duration+"%",width:100*(e.end-e.start)/r.duration+"%"}),a.prepend(R,n)})}).on("speed",function(e,t,n){t.video.time&&(a.text(Z,n+"x"),a.addClass(Z,"fp-shown"),H=H.filter(function(e){return clearTimeout(e),!1}),H.push(setTimeout(function(){a.addClass(Z,"fp-hilite"),H.push(setTimeout(function(){a.removeClass(Z,"fp-hilite"),H.push(setTimeout(function(){a.removeClass(Z,"fp-shown")},300))},1e3))})))}).on("buffered",function(){W.max(1)}).on("progress seek",function(n,r,o){var s=e.video.duration,l=e.video.seekOffset||0;o=o||e.video.time;var u=(o-l)/(s-l);W.dragging||W.slide(u,e.seeking?0:250),a.toggleClass(t,"is-live-position",s-o<j.livePositionOffset),a.html(L,i(o)),a.html(k,i(s-o,!0))}).on("finish resume seek",function(e){a.toggleClass(t,"is-finished","finish"==e.type)}).on("resume",function(){a.addClass(O,"fp-visible"),setTimeout(function(){a.removeClass(O,"fp-visible")},300)}).on("pause",function(){a.addClass(G,"fp-visible"),setTimeout(function(){a.removeClass(G,"fp-visible")},300)}).on("stop",function(){a.html(L,i(0)),W.slide(0,100)}).on("finish",function(){a.html(L,i(e.video.duration)),W.slide(1,100),a.removeClass(t,"is-seeking")}).on("beforeseek",function(){}).on("volume",function(){B.slide(e.volumeLevel)}).on("disable",function(){var n=e.disabled;W.disable(n),B.disable(n),a.toggleClass(t,"is-disabled",e.disabled)}).on("mute",function(e,n,r){a.toggleClass(t,"is-muted",r)}).on("error",function(e,n,r){if(a.removeClass(t,"is-loading"),a.removeClass(t,"is-seeking"),a.addClass(t,"is-error"),r){n.error=!0;var i=r.code;(r.message||"").match(/DECODER_ERROR_NOT_SUPPORTED/)&&(i=3);var o=n.message((n.engine&&n.engine.engineName||"html5")+": "+j.errors[i]);a.removeClass(t,"is-mouseover"),n.one("load progress",function(){o()})}}).one("resume ready",function(){var e=a.find("video.fp-engine",t)[0];if(e&&(!a.width(e)||!a.height(e))){var n=t.style.overflow;t.style.overflow="visible",setTimeout(function(){n?t.style.overflow=n:t.style.removeProperty("overflow")})}}),s.on(t,"mouseenter mouseleave",function(n){if(!F){var r,i="mouseover"==n.type;if(C(i),i){var o=function(){C(!0),r=new Date};e.on("pause.x volume.x",o),s.on(t,"mousemove.x",o),E=setInterval(function(){new Date-r>j.mouseoutTimeout&&(C(!1),r=new Date)},100)}else s.off(t,"mousemove.x"),e.off("pause.x volume.x"),clearInterval(E)}}),s.on(t,"mouseleave",function(){(W.dragging||B.dragging)&&(a.addClass(t,"is-mouseover"),a.removeClass(t,"is-mouseout"))}),s.on(t,"click.player",function(t){return e.disabled?void 0:a.hasClass(t.target,"fp-ui")||a.hasClass(t.target,"fp-engine")||t.flash||a.hasParent(t.target,".fp-play,.fp-pause")?(t.preventDefault&&t.preventDefault(),e.toggle()):void 0}),s.on(t,"mousemove",".fp-timeline",function(t){var n=t.pageX||t.clientX,r=n-a.offset(R).left,o=r/a.width(R),s=e.video,l=s.duration-(void 0===s.seekOffset?0:s.seekOffset),u=(e.rtl?1-o:o)*l;if(!(0>o)){a.html(Y,i(u));var c=r-a.width(Y)/2;0>c&&(c=0),c>a.width(R)-a.width(Y)&&(c=!1),c!==!1?a.css(Y,{left:c+"px",right:"auto"}):a.css(Y,{left:"auto",right:"0px"})}}),s.on(t,"contextmenu",function(n){var r=window;if(!a.hasClass(t,"is-flash-disabled")){var i=a.find(".fp-context-menu",t)[0];i&&(n.preventDefault(),e.showMenu(i,{left:n.clientX-r.scrollX,top:n.clientY-r.scrollY}),s.on(t,"click",".fp-context-menu",function(e){e.stopPropagation()}))}}),e.on("flashdisabled",function(n,r,i){a.addClass(t,"is-flash-disabled");var o;i!==!1&&(o=e.message("Seems something is blocking Adobe Flash from running")),e.one("ready progress",function(){a.removeClass(t,"is-flash-disabled"),o&&o()})}),j.poster&&a.css(t,"background-image","url("+j.poster+")");var V=a.css(t,"background-color"),X="none"!=a.css(t,"background-image")||V&&"rgba(0, 0, 0, 0)"!=V&&"transparent"!=V;if(X&&!j.splash){j.poster||(j.poster=!0);var _=function(){a.addClass(t,"is-poster"),a.addClass(O,"fp-visible"),e.poster=!0,e.on("resume.poster progress.poster beforeseek.poster",function(n){("beforeseek"===n.type||e.playing)&&(a.removeClass(t,"is-poster"),a.removeClass(O,"fp-visible"),e.poster=!1,e.off(".poster"))})};e.on("stop",function(){_()}),e.on("ready",function(e,t,n){n.index||n.autoplay||_()})}"string"==typeof j.splash&&a.css(t,"background-image","url('"+j.splash+"')"),!X&&e.forcedSplash&&a.css(t,"background-color","#555"),s.on(t,"click",".fp-toggle, .fp-play, .fp-playbtn",function(){e.disabled||e.toggle()}),s.on(t,"click",".fp-volumebtn",function(){e.mute()}),s.on(t,"click",".fp-fullscreen",function(){e.fullscreen()}),s.on(t,"click",".fp-unload",function(){e.unload()}),s.on(R,"slide",function(t){e.seeking=!0,e.seekTo(10*t)}),s.on(J,"slide",function(t){e.volume(t)}),s.on(t,"click",".fp-duration,.fp-remaining",function(){return e.dvr?e.seekTo(10):void a.toggleClass(t,"is-inverted")}),C(F);var K;if(e.on("shutdown",function(){s.off(R),s.off(J),K&&window.cancelAnimationFrame(K),a.removeNode(N),a.find(".fp-ratio",t).forEach(a.removeNode)}),"functionDISABLED-FOR-PERFORMANCE-REASONS"==typeof window.requestAnimationFrame){var Q=a.find(".fp-player",t)[0]||t,q=function(){a.toggleClass(t,"is-tiny",Q.clientWidth<400),a.toggleClass(t,"is-small",Q.clientWidth<600&&Q.clientWidth>=400),K=window.requestAnimationFrame(q)};K=window.requestAnimationFrame(q)}}),t.exports.format=i}).call(this,e("buffer").Buffer)},{"../common":1,"../flowplayer":31,"./ui/bar-slider":28,"./ui/slider":29,bean:34,buffer:35}],28:[function(e,t,n){function r(e,t){function n(t){var n=t.pageX||t.clientX,r=o.offset(e),i=o.width(e);!n&&t.originalEvent&&t.originalEvent.touches&&t.originalEvent.touches.length&&(n=t.originalEvent.touches[0].pageX);var a=n-r.left;a=Math.max(0,Math.min(i,a));var s=a/i;return l&&(s=1-s),s}t=t||{};var r=t.activeClass||"fp-color",a=t.inactiveClass||"fp-grey",s=t.childSelector||"em",l=!!t.rtl,u=!1,c=o.find(s,e).length,f={unload:function(){i.off(e,".barslider")},slide:function(t,n){o.find(s,e).forEach(function(e,n){var i=t>n/c;o.toggleClass(e,r,i),o.toggleClass(e,a,!i)}),n&&i.fire(e,"slide",[t])},disable:function(e){u=e}};return i.on(e,"mousedown.sld touchstart.sld",function(t){t.preventDefault(),u||(f.slide(n(t),!0),i.on(flowplayer.support.touch?e:document,"mousemove.sld touchmove.sld",function(e){e.preventDefault(),f.slide(n(e),!0)}),i.one(document,"mouseup.sld touchup.sld",function(){i.off(flowplayer.support.touch?e:document,"mousemove.sld touchmove.sld")}))}),f}var i=e("bean"),o=e("../../common");t.exports=r},{"../../common":1,bean:34}],29:[function(e,t,n){"use strict";var r=e("bean"),i=e("../../common"),o=function(e,t){var n;return function(){n||(e.apply(this,arguments),n=1,setTimeout(function(){n=0},t))}},a=function(e,t){var n,a,s,l,u,c,f,d,p=i.lastChild(e),h=!1,g=function(){a=i.offset(e),s=i.width(e),l=i.height(e),c=u?l:s,d=w(f)},m=function(t){n||t==b.value||f&&!(f>t)||(r.fire(e,"slide",[t]),b.value=t)},v=function(e){var n=e.pageX||e.clientX;!n&&e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length&&(n=e.originalEvent.touches[0].pageX);var r=u?e.pageY-a.top:n-a.left;r=Math.max(0,Math.min(d||c,r));var i=r/c;return u&&(i=1-i),t&&(i=1-i),y(i,0,!0)},y=function(e,t){void 0===t&&(t=0),e>1&&(e=1);var n=Math.round(1e3*e)/10+"%";return(!f||f>=e)&&(h?i.removeClass(p,"animated"):(i.addClass(p,"animated"),i.css(p,"transition-duration",(t||0)+"ms")),i.css(p,"width",n)),e},w=function(e){return Math.max(0,Math.min(c,u?(1-e)*l:e*s))},b={max:function(e){f=e},disable:function(e){n=e},slide:function(e,t,n){g(),n&&m(e),y(e,t)},disableAnimation:function(t,n){h=t!==!1,i.toggleClass(e,"no-animation",!!n)}};return g(),r.on(e,"mousedown.sld touchstart",function(t){if(t.preventDefault(),!n){var a=o(m,100);g(),b.dragging=!0,i.addClass(e,"is-dragging"),m(v(t)),r.on(document,"mousemove.sld touchmove.sld",function(e){e.preventDefault(),a(v(e))}),r.one(document,"mouseup touchend",function(){b.dragging=!1,i.removeClass(e,"is-dragging"),r.off(document,"mousemove.sld touchmove.sld")})}}),b};t.exports=a},{"../../common":1,bean:34}],30:[function(e,t,n){function r(e){var t=document.createElement("textarea");t.value=e,t.style.opacity=0,t.style.position="absolute",document.body.appendChild(t),t.select();var n=document.execCommand("copy");if(document.body.removeChild(t),!n)throw new Error("Unsuccessfull")}t.exports=function(e,t,n){try{r(e),t()}catch(i){n(i)}}},{}],31:[function(e,t,n){"use strict";function r(e,t,n){t&&t.embed&&(t.embed=i({},v.defaults.embed,t.embed));var r=!1;try{"undefined"==typeof v.conf.storage&&"object"==typeof window.localStorage&&(window.localStorage.flowplayerTestStorage="test",r=!0)}catch(s){}var l,p,h=e,g=i({},v.defaults,v.conf,t),m={},b=h.className,I=new w;u.addClass(h,"is-loading"),u.toggleClass(h,"no-flex",!v.support.flex),u.toggleClass(h,"no-svg",!v.support.svg);try{m=v.conf.storage||(r?window.localStorage:m)}catch(M){}if(g.volume="true"===m.muted?0:g.volume!==v.defaults.volume?g.volume:isNaN(m.volume)?g.volume:m.volume,g.debug=!!m.flowplayerDebug||g.debug,g.aspectRatio&&"string"==typeof g.aspectRatio){var C=g.aspectRatio.split(/[:\/]/);g.ratio=C[1]/C[0]}var A=h.currentStyle&&"rtl"===h.currentStyle.direction||window.getComputedStyle&&null!==window.getComputedStyle(h,null)&&"rtl"===window.getComputedStyle(h,null).getPropertyValue("direction");A&&u.addClass(h,"is-rtl");var S={conf:g,currentSpeed:1,volumeLevel:g.muted?0:"undefined"==typeof g.volume?1*m.volume:g.volume,video:{},disabled:!1,finished:!1,loading:!1,muted:"true"==m.muted||g.muted,paused:!1,playing:!1,ready:!1,splash:!1,rtl:A,hijack:function(e){try{S.engine.suspendEngine()}catch(t){}S.hijacked=e},release:function(){try{S.engine.resumeEngine()}catch(e){}S.hijacked=!1},debug:function(){g.debug&&console.log.apply(console,["DEBUG"].concat([].slice.call(arguments)))},load:function(e,t){if(!S.error&&!S.loading){S.video={},S.finished=!1,e=e||g.clip,e=i({},I.resolve(e,g.clip.sources)),(S.playing||S.engine)&&(e.autoplay=!0);var n=E(e);if(!n)return setTimeout(function(){S.trigger("error",[S,{code:v.support.flashVideo?5:10}])})&&S;if(!n.engineName)throw new Error("engineName property of factory should be exposed");if(S.engine&&n.engineName===S.engine.engineName||(S.ready=!1,S.engine&&(S.engine.unload(),S.conf.autoplay=!0),p=S.engine=n(S,h),S.one("ready",function(){setTimeout(function(){S.muted?S.mute(!0,!0):p.volume(S.volumeLevel)})})),i(e,p.pick(e.sources.filter(function(e){return e.engine?e.engine===p.engineName:!0}))),e.src){var r=S.trigger("load",[S,e,p],!0);r.defaultPrevented?S.loading=!1:(S.ready=!1,p.load(e),o(e)&&(t=e),t&&S.one("ready",t))}return S}},pause:function(e){return S.hijacked?S.hijacked.pause(e)|S:(!S.ready||S.seeking||S.loading||(p.pause(),S.one("pause",e)),S)},resume:function(){var e=S.trigger("beforeresume",[S],!0);if(!e.defaultPrevented)return S.hijacked?S.hijacked.resume()|S:(S.ready&&S.paused&&(p.resume(),S.finished&&(S.trigger("resume",[S]),S.finished=!1)),S)},toggle:function(){return S.ready?S.paused?S.resume():S.pause():S.load()},seek:function(e,t){if("boolean"==typeof e){var n=S.conf.seekStep||.1*S.video.duration;e=S.video.time+(e?n:-n),e=Math.min(Math.max(e,0),S.video.duration-.1)}if("undefined"==typeof e)return S;if(S.hijacked)return S.hijacked.seek(e,t)|S;if(S.ready){l=e;var r=S.trigger("beforeseek",[S,e],!0);r.defaultPrevented?(S.seeking=!1,u.toggleClass(h,"is-seeking",S.seeking)):(p.seek(e),o(t)&&S.one("seek",t))}return S},seekTo:function(e,t){return void 0===e?S.seek(l,t):void 0!==S.video.seekOffset?S.seek(S.video.seekOffset+.1*(S.video.duration-S.video.seekOffset)*e,t):S.seek(.1*S.video.duration*e,t)},mute:function(e,t){return void 0===e&&(e=!S.muted),S.muted=e,t||(m.muted=e,m.volume=isNaN(m.volume)?g.volume:m.volume),"undefined"!=typeof p.mute?p.mute(e):(S.volume(e?0:m.volume,!0),S.trigger("mute",[S,e])),S},volume:function(e,t){return S.ready&&(e=Math.min(Math.max(e,0),1),t||(m.volume=e),p.volume(e)),S},speed:function(e,t){return S.ready&&("boolean"==typeof e&&(e=g.speeds[g.speeds.indexOf(S.currentSpeed)+(e?1:-1)]||S.currentSpeed),p.speed(e),t&&h.one("speed",t)),S},stop:function(){return S.ready&&(S.pause(),!S.live||S.dvr?S.seek(0,function(){S.trigger("stop",[S])}):S.trigger("stop",[S])),S},unload:function(){return g.splash?(S.trigger("unload",[S]),p&&(p.unload(),S.engine=p=0)):S.stop(),S},shutdown:function(){S.unload(),S.trigger("shutdown",[S]),a.off(h),delete f[h.getAttribute("data-flowplayer-instance-id")],h.removeAttribute("data-flowplayer-instance-id")},disable:function(e){return void 0===e&&(e=!S.disabled),e!=S.disabled&&(S.disabled=e,S.trigger("disable",e)),S},registerExtension:function(e,t){e=e||[],t=t||[],"string"==typeof e&&(e=[e]),"string"==typeof t&&(t=[t]),e.forEach(function(e){S.extensions.js.push(e)}),t.forEach(function(e){S.extensions.css.push(e)})}};S.conf=i(S.conf,g),S.extensions={js:[],css:[]},v.extensions.forEach(function(e){S.registerExtension(e[0],e[1])}),c(S);var E=function(e){var t,n=v.engines;if(g.engine){var r=n.filter(function(e){return e.engineName===g.engine})[0];if(r&&e.sources.some(function(e){return e.engine&&e.engine!==r.engineName?!1:r.canPlay(e.type,S.conf)}))return r}return g.enginePreference&&(n=v.engines.filter(function(e){return g.enginePreference.indexOf(e.engineName)>-1}).sort(function(e,t){return g.enginePreference.indexOf(e.engineName)-g.enginePreference.indexOf(t.engineName)})),e.sources.some(function(e){var r=n.filter(function(t){return e.engine&&e.engine!==t.engineName?!1:t.canPlay(e.type,S.conf)}).shift();return r&&(t=r),!!r}),t};return h.getAttribute("data-flowplayer-instance-id")||(h.setAttribute("data-flowplayer-instance-id",y++),S.on("boot",function(){var e=v.support;(g.splash||u.hasClass(h,"is-splash")||!e.firstframe)&&(S.forcedSplash=!g.splash&&!u.hasClass(h,"is-splash"),S.splash=!0,g.splash||(g.splash=!0),u.addClass(h,"is-splash")),g.splash&&u.find("video",h).forEach(u.removeNode),(g.dvr||g.live||u.hasClass(h,"is-live"))&&(S.live=g.live=!0,S.dvr=g.dvr=!!g.dvr||u.hasClass(h,"is-dvr"),u.addClass(h,"is-live"),u.toggleClass(h,"is-dvr",S.dvr)),d.forEach(function(e){e(S,h)}),f.push(S),g.splash?S.unload():S.load(),g.disabled&&S.disable(),S.one("ready",n),S.one("shutdown",function(){h.className=b})}).on("load",function(e,t,n){g.splash&&u.find(".flowplayer.is-ready,.flowplayer.is-loading").forEach(function(e){var t=e.getAttribute("data-flowplayer-instance-id");if(t!==h.getAttribute("data-flowplayer-instance-id")){var n=f[Number(t)];n&&n.conf.splash&&n.unload()}}),u.addClass(h,"is-loading"),t.loading=!0,("undefined"!=typeof n.live||"undefined"!=typeof n.dvr)&&(u.toggleClass(h,"is-live",n.dvr||n.live),u.toggleClass(h,"is-dvr",!!n.dvr),t.live=n.dvr||n.live,t.dvr=!!n.dvr)}).on("ready",function(e,t,n){n.time=0,t.video=n,u.removeClass(h,"is-loading"),t.loading=!1,t.muted?t.mute(!0,!0):t.volume(t.volumeLevel);var r=t.conf.hlsFix&&/mpegurl/i.exec(n.type);u.toggleClass(h,"hls-fix",!!r)}).on("unload",function(){u.removeClass(h,"is-loading"),S.loading=!1}).on("ready unload",function(e){var t="ready"==e.type;u.toggleClass(h,"is-splash",!t),u.toggleClass(h,"is-ready",t),S.ready=t,S.splash=!t}).on("progress",function(e,t,n){t.video.time=n}).on("buffer",function(e,t,n){t.video.buffer="number"==typeof n?n:n.length?n[n.length-1].end:0}).on("speed",function(e,t,n){t.currentSpeed=n}).on("volume",function(e,t,n){t.volumeLevel=Math.round(100*n)/100,t.muted&&n&&t.mute(!1)}).on("beforeseek seek",function(e){S.seeking="beforeseek"==e.type,u.toggleClass(h,"is-seeking",S.seeking)}).on("ready pause resume unload finish stop",function(e){S.paused=/pause|finish|unload|stop/.test(e.type),S.paused=S.paused||"ready"===e.type&&!g.autoplay&&!S.playing,S.playing=!S.paused,u.toggleClass(h,"is-paused",S.paused),u.toggleClass(h,"is-playing",S.playing),S.load.ed||S.pause()}).on("finish",function(){S.finished=!0}).on("error",function(){})),S.trigger("boot",[S,h]),S}var i=e("extend-object"),o=e("is-function"),a=e("bean"),s=e("./ext/ui/slider"),l=e("./ext/ui/bar-slider"),u=e("./common"),c=e("./ext/events"),f=[],d=[],p=window.onbeforeunload;window.onbeforeunload=function(e){return f.forEach(function(e){e.conf.splash?e.unload():e.bind("error",function(){u.find(".flowplayer.is-error .fp-message").forEach(u.removeNode)})}),p?p(e):void 0};var h=/Safari/.exec(navigator.userAgent)&&!/Chrome/.exec(navigator.userAgent),g=/(\d+\.\d+) Safari/.exec(navigator.userAgent),m=g?Number(g[1]):100,v=t.exports=function(e,t,n){if(o(e))return d.push(e);if("number"==typeof e||"undefined"==typeof e)return f[e||0];if(e.nodeType){if(null!==e.getAttribute("data-flowplayer-instance-id"))return f[e.getAttribute("data-flowplayer-instance-id")];if(!t)return;return r(e,t,n)}if(e.jquery)return v(e[0],t,n);if("string"==typeof e){var i=u.find(e)[0];return i&&v(i,t,n)}};i(v,{version:"7.2.7",engines:[],engine:function(e){return v.engines.filter(function(t){return t.engineName===e})[0]},extensions:[],conf:{},set:function(e,t){"string"==typeof e?v.conf[e]=t:i(v.conf,e)},registerExtension:function(e,t){v.extensions.push([e,t])},support:{},defaults:{debug:!1,disabled:!1,fullscreen:window==window.top,keyboard:!0,ratio:9/16,adaptiveRatio:!1,rtmp:0,proxy:"best",hlsQualities:!0,seekStep:!1,splash:!1,live:!1,livePositionOffset:120,swf:"//releases.flowplayer.org/7.2.7/commercial/flowplayer.swf",swfHls:"//releases.flowplayer.org/7.2.7/commercial/flowplayerhls.swf",speeds:[.25,.5,1,1.5,2],tooltip:!0,mouseoutTimeout:5e3,mutedAutoplay:!0,clickToUnMute:!0,volume:1,errors:["","Video loading aborted","Network error","Video not properly encoded","Video file not found","Unsupported video","Skin not found","SWF file not found","Subtitles not found","Invalid RTMP URL","Unsupported video format. Try installing Adobe Flash."],errorUrls:["","","","","","","","","","","http://get.adobe.com/flashplayer/"],playlist:[],hlsFix:h&&8>m,disableInline:!1},bean:a,common:u,slider:s,barSlider:l,extend:i});var y=0,w=e("./ext/resolve");if("undefined"!=typeof window.jQuery){var b=window.jQuery;b(function(){"function"==typeof b.fn.flowplayer&&b('.flowplayer:has(video:not(.fp-engine),script[type="application/json"])').flowplayer()});var I=function(e){if(!e.length)return{};var t=e.data()||{},n={};return b.each(["autoplay","loop","preload","poster"],function(r,i){var o=e.attr(i);void 0!==o&&-1!==["autoplay","poster"].indexOf(i)?n[i]=o?o:!0:void 0!==o&&(t[i]=o?o:!0)}),e[0].autoplay=e[0].preload=!1,t.subtitles=e.find("track").map(function(){var e=b(this);return{src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label"),srclang:e.attr("srclang"),default:e.prop("default")}}).get(),t.sources=(new w).sourcesFromVideoTag(e,b),i(n,{clip:t})};b.fn.flowplayer=function(e,t){return this.each(function(){"string"==typeof e&&(e={swf:e}),o(e)&&(t=e,e={});var n=b(this),i=n.find('script[type="application/json"]'),a=i.length?JSON.parse(i.text()):I(n.find("video")),s=b.extend({},e||{},a,n.data()),l=r(this,s,t);c.EVENTS.forEach(function(e){l.on(e+".jquery",function(e){n.trigger.call(n,e.type,e.detail&&e.detail.args)})}),n.data("flowplayer",l)})}}},{"./common":1,"./ext/events":12,"./ext/resolve":21,"./ext/ui/bar-slider":28,"./ext/ui/slider":29,bean:34,"extend-object":39,"is-function":42}],32:[function(e,t,n){e("es5-shim");var r=t.exports=e("./flowplayer");e("./ext/support"),e("./engine/embed"),e("./engine/hlsjs"),e("./engine/html5"),e("./engine/flash"),e("./ext/ui"),e("./ext/message"),e("./ext/keyboard"),e("./ext/playlist"),e("./ext/cuepoint"),e("./ext/subtitle"),e("./ext/analytics"),e("./ext/share"),e("./ext/facebook"),e("./ext/twitter"),e("./ext/embed"),e("./ext/airplay"),e("./ext/chromecast"),e("./ext/qsel"),e("./ext/menu"),e("./ext/fullscreen"),e("./ext/mobile"),r(function(e,t){function n(e){var t=document.createElement("a");return t.href=e,u.hostname(t.hostname)}function i(e){var t="ab.ca,ac.ac,ac.ae,ac.at,ac.be,ac.cn,ac.il,ac.in,ac.jp,ac.kr,ac.sg,ac.th,ac.uk,ad.jp,adm.br,adv.br,ah.cn,am.br,arq.br,art.br,arts.ro,asn.au,asso.fr,asso.mc,bc.ca,bel.tr,bio.br,biz.pl,biz.tr,bj.cn,br.com,cn.com,cng.br,cnt.br,co.ac,co.at,co.de,co.gl,co.hk,co.id,co.il,co.in,co.jp,co.kr,co.mg,co.ms,co.nz,co.th,co.uk,co.ve,co.vi,co.za,com.ag,com.ai,com.ar,com.au,com.br,com.cn,com.co,com.cy,com.de,com.do,com.ec,com.es,com.fj,com.fr,com.gl,com.gt,com.hk,com.hr,com.hu,com.kg,com.ki,com.lc,com.mg,com.mm,com.ms,com.mt,com.mu,com.mx,com.my,com.na,com.nf,com.ng,com.ni,com.pa,com.ph,com.pl,com.pt,com.qa,com.ro,com.ru,com.sb,com.sc,com.sg,com.sv,com.tr,com.tw,com.ua,com.uy,com.ve,com.vn,cp.tz,cq.cn,de.com,de.org,ecn.br,ed.jp,edu.au,edu.cn,edu.hk,edu.mm,edu.my,edu.pl,edu.pt,edu.qa,edu.sg,edu.tr,edu.tw,eng.br,ernet.in,esp.br,etc.br,eti.br,eu.com,eu.int,eu.lv,firm.in,firm.ro,fm.br,fot.br,fst.br,g12.br,gb.com,gb.net,gd.cn,gen.in,go.jp,go.kr,go.th,gov.au,gov.az,gov.br,gov.cn,gov.il,gov.in,gov.mm,gov.my,gov.qa,gov.sg,gov.tr,gov.tw,gov.uk,govt.nz,gr.jp,gs.cn,gv.ac,gv.at,gx.cn,gz.cn,he.cn,hi.cn,hk.cn,hl.cn,hu.com,id.au,idv.tw,in.th,in.ua,ind.br,ind.in,inf.br,info.pl,info.ro,info.tr,info.ve,iwi.nz,jl.cn,jor.br,js.cn,jus.br,k12.il,k12.tr,kr.com,lel.br,lg.jp,ln.cn,ltd.uk,maori.nz,mb.ca,me.uk,med.br,mi.th,mil.br,mil.uk,mo.cn,mod.uk,muni.il,nb.ca,ne.jp,ne.kr,net.ag,net.ai,net.au,net.br,net.cn,net.do,net.gl,net.hk,net.il,net.in,net.kg,net.ki,net.lc,net.mg,net.mm,net.mu,net.ni,net.nz,net.pl,net.ru,net.sb,net.sc,net.sg,net.th,net.tr,net.tw,net.uk,net.ve,nf.ca,nhs.uk,nm.cn,nm.kr,no.com,nom.br,nom.ni,nom.ro,ns.ca,nt.ca,nt.ro,ntr.br,nx.cn,odo.br,off.ai,on.ca,or.ac,or.at,or.jp,or.kr,or.th,org.ag,org.ai,org.au,org.br,org.cn,org.do,org.es,org.gl,org.hk,org.in,org.kg,org.ki,org.lc,org.mg,org.mm,org.ms,org.nf,org.ng,org.ni,org.nz,org.pl,org.ro,org.ru,org.sb,org.sc,org.sg,org.tr,org.tw,org.uk,org.ve,pe.ca,plc.uk,police.uk,ppg.br,presse.fr,pro.br,psc.br,psi.br,qc.ca,qc.com,qh.cn,rec.br,rec.ro,res.in,sa.com,sc.cn,sch.uk,se.com,se.net,sh.cn,sk.ca,slg.br,sn.cn,store.ro,tj.cn,tm.fr,tm.mc,tm.ro,tmp.br,tur.br,tv.br,tv.tr,tw.cn,uk.com,uk.net,us.com,uy.com,vet.br,waw.pl,web.ve,www.ro,xj.cn,xz.cn,yk.ca,yn.cn,zj.cn,zlg.br".split(",");e=e.toLowerCase();var n=e.split("."),r=n.length;if(2>r||/^\d+$/.test(n[r-1]))return e;var i=n.slice(-2).join(".");return r>=3&&t.indexOf(i)>=0?n.slice(-3).join("."):i}function o(e,t){t=i(t);for(var n=0,r=t.length-1;r>=0;r--)n+=0x65cb98ae4ad1ec*t.charCodeAt(r);for(n=(""+n).substring(0,7),r=0;r<e.length;r++)if(n===e[r].substring(1,8))return 1}var a=function(e,t){var n=e.className.split(" ");-1===n.indexOf(t)&&(e.className+=" "+t)},s=function(e){return"none"!==window.getComputedStyle(e).display},l=e.conf,u=r.common,c=u.createElement,f=l.swf.indexOf("flowplayer.org")&&l.e&&t.getAttribute("data-origin"),d=f?n(f):u.hostname(),p=(document,l.key);if("file:"==location.protocol&&(d="localhost"),e.load.ed=1,l.hostname=d,l.origin=f||location.href,f&&a(t,"is-embedded"),"string"==typeof p&&(p=p.split(/,\s*/)),p&&"function"==typeof o&&o(p,d)){if(l.logo){var h=u.find(".fp-player",t)[0],g=l.logo.href||"",m=l.logo.src||l.logo,v=c("a",{className:"fp-logo",href:g});f&&(v.href=v.href||f),l.embed&&l.embed.popup&&(v.target="_blank");var y=c("img",{src:m});v.appendChild(y),(h||t).appendChild(v)}}else{var v=c("a",{onclick:""}),h=u.find(".fp-player",t)[0];(h||t).appendChild(v);var w=c("div",{className:"fp-context-menu fp-menu"},'<strong>© 2018 Flowplayer AB</strong><a href="https://flowplayer.com/hello/?from=player">About Flowplayer</a><a href="https://flowplayer.com/license">GPL based license</a>'),b=window.location.href.indexOf("localhost");7!==b&&(h||t).appendChild(w),e.on("pause resume finish unload ready",function(e,n){var r=-1;if(n.video.src)for(var i=[["org","flowplayer","drive"],["org","flowplayer","my"],["org","flowplayer","cdn"],["com","flowplayer","cdn"]],o=0;o<i.length&&(r=n.video.src.indexOf("://"+i[o].reverse().join(".")),-1===r);o++);if(/pause|resume/.test(e.type)&&"flash"!=n.engine.engineName&&4!=r&&5!=r){var a={display:"block",position:"absolute",left:"16px",bottom:"56px",zIndex:99999,width:"120px",height:"27px",backgroundImage:"url("+[".png","fplogo","/",".com","foliovision","//"].reverse().join("")+")"};for(var l in a)a.hasOwnProperty(l)&&(v.style[l]=a[l]);n.load.ed=s(v)&&(7===b||w.parentNode==t||w.parentNode==h),n.load.ed||n.pause()}else v.style.display="none"})}})},{"./engine/embed":2,"./engine/flash":3,"./engine/hlsjs":4,"./engine/html5":6,"./ext/airplay":7,"./ext/analytics":8,"./ext/chromecast":9,"./ext/cuepoint":10,"./ext/embed":11,"./ext/facebook":13,"./ext/fullscreen":14,"./ext/keyboard":15,"./ext/menu":16,"./ext/message":17,"./ext/mobile":18,"./ext/playlist":19,"./ext/qsel":20,"./ext/share":22,"./ext/subtitle":23,"./ext/support":25,"./ext/twitter":26,"./ext/ui":27,"./flowplayer":31,"es5-shim":38}],33:[function(e,t,n){"use strict";function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function i(e){var t=r(e),n=t[0],i=t[1];return 3*(n+i)/4-i}function o(e,t,n){return 3*(t+n)/4-n}function a(e){for(var t,n=r(e),i=n[0],a=n[1],s=new d(o(e,i,a)),l=0,u=a>0?i-4:i,c=0;u>c;c+=4)t=f[e.charCodeAt(c)]<<18|f[e.charCodeAt(c+1)]<<12|f[e.charCodeAt(c+2)]<<6|f[e.charCodeAt(c+3)],s[l++]=t>>16&255,s[l++]=t>>8&255,s[l++]=255&t;return 2===a&&(t=f[e.charCodeAt(c)]<<2|f[e.charCodeAt(c+1)]>>4,s[l++]=255&t),1===a&&(t=f[e.charCodeAt(c)]<<10|f[e.charCodeAt(c+1)]<<4|f[e.charCodeAt(c+2)]>>2,s[l++]=t>>8&255,s[l++]=255&t),s}function s(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function l(e,t,n){for(var r,i=[],o=t;n>o;o+=3)r=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),i.push(s(r));return i.join("")}function u(e){for(var t,n=e.length,r=n%3,i=[],o=16383,a=0,s=n-r;s>a;a+=o)i.push(l(e,a,a+o>s?s:a+o));return 1===r?(t=e[n-1],i.push(c[t>>2]+c[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],i.push(c[t>>10]+c[t>>4&63]+c[t<<2&63]+"=")),i.join("")}n.byteLength=i,n.toByteArray=a,n.fromByteArray=u;for(var c=[],f=[],d="undefined"!=typeof Uint8Array?Uint8Array:Array,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,g=p.length;g>h;++h)c[h]=p[h],f[p.charCodeAt(h)]=h;f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63},{}],34:[function(t,n,r){!function(t,r,i){"undefined"!=typeof n&&n.exports?n.exports=i():"function"==typeof e&&e.amd?e(i):r[t]=i()}("bean",this,function(e,t){e=e||"bean",t=t||this;var n,r=window,i=t[e],o=/[^\.]*(?=\..*)\.|.*/,a=/\..*/,s="addEventListener",l="removeEventListener",u=document||{},c=u.documentElement||{},f=c[s],d=f?s:"attachEvent",p={},h=Array.prototype.slice,g=function(e,t){return e.split(t||" ")},m=function(e){return"string"==typeof e},v=function(e){return"function"==typeof e},y="click dblclick mouseup mousedown contextmenu mousewheel mousemultiwheel DOMMouseScroll mouseover mouseout mousemove selectstart selectend keydown keypress keyup orientationchange focus blur change reset select submit load unload beforeunload resize move DOMContentLoaded readystatechange message error abort scroll ",w="show input invalid touchstart touchmove touchend touchcancel gesturestart gesturechange gestureend textinput readystatechange pageshow pagehide popstate hashchange offline online afterprint beforeprint dragstart dragenter dragover dragleave drag drop dragend loadstart progress suspend emptied stalled loadmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate play pause ratechange volumechange cuechange checking noupdate downloading cached updateready obsolete ",b=function(e,t,n){for(n=0;n<t.length;n++)t[n]&&(e[t[n]]=1);return e}({},g(y+(f?w:""))),I=function(){var e="compareDocumentPosition"in c?function(e,t){return t.compareDocumentPosition&&16===(16&t.compareDocumentPosition(e))}:"contains"in c?function(e,t){return t=9===t.nodeType||t===window?c:t,t!==e&&t.contains(e)}:function(e,t){for(;e=e.parentNode;)if(e===t)return 1;return 0},t=function(t){var n=t.relatedTarget;return n?n!==this&&"xul"!==n.prefix&&!/document/.test(this.toString())&&!e(n,this):null==n};return{mouseenter:{base:"mouseover",condition:t},mouseleave:{base:"mouseout",condition:t},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}}}(),M=function(){var e=g("altKey attrChange attrName bubbles cancelable ctrlKey currentTarget detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey srcElement target timeStamp type view which propertyName"),t=e.concat(g("button buttons clientX clientY dataTransfer fromElement offsetX offsetY pageX pageY screenX screenY toElement")),n=t.concat(g("wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ axis")),i=e.concat(g("char charCode key keyCode keyIdentifier keyLocation location")),o=e.concat(g("data")),a=e.concat(g("touches targetTouches changedTouches scale rotation")),s=e.concat(g("data origin source")),l=e.concat(g("state")),f=/over|out/,d=[{reg:/key/i,fix:function(e,t){return t.keyCode=e.keyCode||e.which,i}},{reg:/click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i,fix:function(e,n,r){return n.rightClick=3===e.which||2===e.button,n.pos={x:0,y:0},e.pageX||e.pageY?(n.clientX=e.pageX,n.clientY=e.pageY):(e.clientX||e.clientY)&&(n.clientX=e.clientX+u.body.scrollLeft+c.scrollLeft,n.clientY=e.clientY+u.body.scrollTop+c.scrollTop),f.test(r)&&(n.relatedTarget=e.relatedTarget||e[("mouseover"==r?"from":"to")+"Element"]),t}},{reg:/mouse.*(wheel|scroll)/i,fix:function(){return n}},{reg:/^text/i,fix:function(){return o}},{reg:/^touch|^gesture/i,fix:function(){return a}},{reg:/^message$/i,fix:function(){return s}},{reg:/^popstate$/i,fix:function(){return l}},{reg:/.*/,fix:function(){return e}}],p={},h=function(e,t,n){if(arguments.length&&(e=e||((t.ownerDocument||t.document||t).parentWindow||r).event,this.originalEvent=e,this.isNative=n,this.isBean=!0,e)){var i,o,a,s,l,u=e.type,c=e.target||e.srcElement;if(this.target=c&&3===c.nodeType?c.parentNode:c,n){if(l=p[u],!l)for(i=0,o=d.length;o>i;i++)if(d[i].reg.test(u)){p[u]=l=d[i].fix;break}for(s=l(e,this,u),i=s.length;i--;)!((a=s[i])in this)&&a in e&&(this[a]=e[a])}}};return h.prototype.preventDefault=function(){this.originalEvent.preventDefault?this.originalEvent.preventDefault():this.originalEvent.returnValue=!1},h.prototype.stopPropagation=function(){this.originalEvent.stopPropagation?this.originalEvent.stopPropagation():this.originalEvent.cancelBubble=!0},h.prototype.stop=function(){this.preventDefault(),this.stopPropagation(),this.stopped=!0},h.prototype.stopImmediatePropagation=function(){this.originalEvent.stopImmediatePropagation&&this.originalEvent.stopImmediatePropagation(),this.isImmediatePropagationStopped=function(){return!0}},h.prototype.isImmediatePropagationStopped=function(){return this.originalEvent.isImmediatePropagationStopped&&this.originalEvent.isImmediatePropagationStopped()},h.prototype.clone=function(e){var t=new h(this,this.element,this.isNative);return t.currentTarget=e,t},h}(),C=function(e,t){return f||t||e!==u&&e!==r?e:c},A=function(){var e=function(e,t,n,r){var i=function(n,i){return t.apply(e,r?h.call(i,n?0:1).concat(r):i)},o=function(n,r){return t.__beanDel?t.__beanDel.ft(n.target,e):r},a=n?function(e){var t=o(e,this);return n.apply(t,arguments)?(e&&(e.currentTarget=t),i(e,arguments)):void 0}:function(e){return t.__beanDel&&(e=e.clone(o(e))),i(e,arguments)};return a.__beanDel=t.__beanDel,a},t=function(t,n,r,i,o,a,s){var l,u=I[n];"unload"==n&&(r=N(x,t,n,r,i)),u&&(u.condition&&(r=e(t,r,u.condition,a)),n=u.base||n),this.isNative=l=b[n]&&!!t[d],this.customType=!f&&!l&&n,this.element=t,this.type=n,this.original=i,this.namespaces=o,this.eventType=f||l?n:"propertychange",this.target=C(t,l),this[d]=!!this.target[d],this.root=s,this.handler=e(t,r,null,a)};return t.prototype.inNamespaces=function(e){var t,n,r=0;if(!e)return!0;if(!this.namespaces)return!1;for(t=e.length;t--;)for(n=this.namespaces.length;n--;)e[t]==this.namespaces[n]&&r++;return e.length===r},t.prototype.matches=function(e,t,n){return!(this.element!==e||t&&this.original!==t||n&&this.handler!==n)},t}(),S=function(){var e={},t=function(n,r,i,o,a,s){var l=a?"r":"$";if(r&&"*"!=r){var u,c=0,f=e[l+r],d="*"==n;if(!f)return;for(u=f.length;u>c;c++)if((d||f[c].matches(n,i,o))&&!s(f[c],f,c,r))return}else for(var p in e)p.charAt(0)==l&&t(n,p.substr(1),i,o,a,s)},n=function(t,n,r,i){var o,a=e[(i?"r":"$")+n];if(a)for(o=a.length;o--;)if(!a[o].root&&a[o].matches(t,r,null))return!0;return!1},r=function(e,n,r,i){var o=[];return t(e,n,r,null,i,function(e){return o.push(e)}),o},i=function(t){var n=!t.root&&!this.has(t.element,t.type,null,!1),r=(t.root?"r":"$")+t.type;return(e[r]||(e[r]=[])).push(t),n},o=function(n){t(n.element,n.type,null,n.handler,n.root,function(t,n,r){return n.splice(r,1),t.removed=!0,0===n.length&&delete e[(t.root?"r":"$")+t.type],!1})},a=function(){var t,n=[];for(t in e)"$"==t.charAt(0)&&(n=n.concat(e[t]));return n};return{has:n,get:r,put:i,del:o,entries:a}}(),E=function(e){n=arguments.length?e:u.querySelectorAll?function(e,t){return t.querySelectorAll(e)}:function(){throw new Error("Bean: No selector engine installed")}},j=function(e,t){if(f||!t||!e||e.propertyName=="_on"+t){var n=S.get(this,t||e.type,null,!1),r=n.length,i=0;for(e=new M(e,this,!0),t&&(e.type=t);r>i&&!e.isImmediatePropagationStopped();i++)n[i].removed||n[i].handler.call(this,e)}},D=f?function(e,t,n){e[n?s:l](t,j,!1)}:function(e,t,n,r){var i;n?(S.put(i=new A(e,r||t,function(t){j.call(e,t,r)},j,null,null,!0)),r&&null==e["_on"+r]&&(e["_on"+r]=0),i.target.attachEvent("on"+i.eventType,i.handler)):(i=S.get(e,r||t,j,!0)[0],i&&(i.target.detachEvent("on"+i.eventType,i.handler),S.del(i)))},N=function(e,t,n,r,i){return function(){r.apply(this,arguments),e(t,n,i)}},x=function(e,t,n,r){var i,o,s=t&&t.replace(a,""),l=S.get(e,s,null,!1),u={};for(i=0,o=l.length;o>i;i++)n&&l[i].original!==n||!l[i].inNamespaces(r)||(S.del(l[i]),!u[l[i].eventType]&&l[i][d]&&(u[l[i].eventType]={t:l[i].eventType,c:l[i].type}));for(i in u)S.has(e,u[i].t,null,!1)||D(e,u[i].t,!1,u[i].c)},L=function(e,t){var r=function(t,r){for(var i,o=m(e)?n(e,r):e;t&&t!==r;t=t.parentNode)for(i=o.length;i--;)if(o[i]===t)return t},i=function(e){var n=r(e.target,this);n&&t.apply(n,arguments)};return i.__beanDel={ft:r,selector:e},i},T=f?function(e,t,n){var i=u.createEvent(e?"HTMLEvents":"UIEvents");i[e?"initEvent":"initUIEvent"](t,!0,!0,r,1),n.dispatchEvent(i)}:function(e,t,n){n=C(n,e),e?n.fireEvent("on"+t,u.createEventObject()):n["_on"+t]++},Z=function(e,t,n){var r,i,s,l,u=m(t);if(u&&t.indexOf(" ")>0){for(t=g(t),l=t.length;l--;)Z(e,t[l],n);return e}if(i=u&&t.replace(a,""),i&&I[i]&&(i=I[i].base),!t||u)(s=u&&t.replace(o,""))&&(s=g(s,".")),x(e,i,n,s);else if(v(t))x(e,null,t);else for(r in t)t.hasOwnProperty(r)&&Z(e,r,t[r]);return e},P=function(e,t,r,i){var s,l,u,c,f,m,y;{if(void 0!==r||"object"!=typeof t){for(v(r)?(f=h.call(arguments,3),i=s=r):(s=i,f=h.call(arguments,4),i=L(r,s,n)),u=g(t),this===p&&(i=N(Z,e,t,i,s)),c=u.length;c--;)y=S.put(m=new A(e,u[c].replace(a,""),i,s,g(u[c].replace(o,""),"."),f,!1)),m[d]&&y&&D(e,m.eventType,!0,m.customType);return e}for(l in t)t.hasOwnProperty(l)&&P.call(this,e,l,t[l])}},k=function(e,t,n,r){return P.apply(null,m(n)?[e,n,t,r].concat(arguments.length>3?h.call(arguments,5):[]):h.call(arguments))},Y=function(){return P.apply(p,arguments)},z=function(e,t,n){var r,i,s,l,u,c=g(t);for(r=c.length;r--;)if(t=c[r].replace(a,""),(l=c[r].replace(o,""))&&(l=g(l,".")),l||n||!e[d])for(u=S.get(e,t,null,!1),n=[!1].concat(n),i=0,s=u.length;s>i;i++)u[i].inNamespaces(l)&&u[i].handler.apply(e,n);else T(b[t],t,e);return e},O=function(e,t,n){for(var r,i,o=S.get(t,n,null,!1),a=o.length,s=0;a>s;s++)o[s].original&&(r=[e,o[s].type],(i=o[s].handler.__beanDel)&&r.push(i.selector),r.push(o[s].original),P.apply(null,r));return e},G={on:P,add:k,one:Y,off:Z,remove:Z,clone:O,fire:z,Event:M,setSelectorEngine:E,noConflict:function(){return t[e]=i,this}};if(r.attachEvent){var R=function(){var e,t=S.entries();for(e in t)t[e].type&&"unload"!==t[e].type&&Z(t[e].element,t[e].type);r.detachEvent("onunload",R),r.CollectGarbage&&r.CollectGarbage()};r.attachEvent("onunload",R)}return E(),G})},{}],35:[function(e,t,n){(function(t){"use strict";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function i(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(i()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return c(this,e)}return s(this,e,t,n)}function s(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?p(e,t,n,r):"string"==typeof t?f(e,t,n):h(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(0>e)throw new RangeError('"size" argument must not be negative')}function u(e,t,n,r){return l(t),0>=t?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function c(e,t){if(l(t),e=o(e,0>t?0:0|g(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;t>n;++n)e[n]=0;return e}function f(e,t,n){if(("string"!=typeof n||""===n)&&(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);e=o(e,r);var i=e.write(t,n);return i!==r&&(e=e.slice(0,i)),e}function d(e,t){var n=t.length<0?0:0|g(t.length);e=o(e,n);for(var r=0;n>r;r+=1)e[r]=255&t[r];return e}function p(e,t,n,r){if(t.byteLength,0>n||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=d(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|g(t.length);return e=o(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||K(t.length)?o(e,0):d(e,t);if("Buffer"===t.type&&$(t.data))return d(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function g(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return X(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){var r=!1;if((void 0===t||0>t)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),0>=n)return"";if(n>>>=0,t>>>=0,t>=n)return"";for(e||(e="utf8");;)switch(e){case"hex":return Z(this,t,n);case"utf8":case"utf-8":return N(this,t,n);case"ascii":return L(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return D(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function w(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function b(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:-2147483648>n&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),0>n&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(0>n){if(!i)return-1;n=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:I(e,t,n,r,i);if("number"==typeof t)return t=255&t,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):I(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function I(e,t,n,r,i){function o(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,l=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}var u;if(i){var c=-1;for(u=n;s>u;u++)if(o(e,u)===o(t,-1===c?0:u-c)){if(-1===c&&(c=u),u-c+1===l)return c*a}else-1!==c&&(u-=u-c),c=-1}else for(n+l>s&&(n=s-l),u=n;u>=0;u--){for(var f=!0,d=0;l>d;d++)if(o(e,u+d)!==o(t,d)){f=!1;break}if(f)return u}return-1}function M(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;r>a;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function C(e,t,n,r){return _(F(t,e.length-n),e,n,r)}function A(e,t,n,r){return _(H(t),e,n,r)}function S(e,t,n,r){return A(e,t,n,r)}function E(e,t,n,r){return _(X(t),e,n,r)}function j(e,t,n,r){return _(V(t,e.length-n),e,n,r)}function D(e,t,n){return 0===t&&n===e.length?Q.fromByteArray(e):Q.fromByteArray(e.slice(t,n))}function N(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;n>i;){var o=e[i],a=null,s=o>239?4:o>223?3:o>191?2:1;if(n>=i+s){var l,u,c,f;switch(s){case 1:128>o&&(a=o);break;case 2:l=e[i+1],128===(192&l)&&(f=(31&o)<<6|63&l,f>127&&(a=f));break;case 3:l=e[i+1],u=e[i+2],128===(192&l)&&128===(192&u)&&(f=(15&o)<<12|(63&l)<<6|63&u,f>2047&&(55296>f||f>57343)&&(a=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],128===(192&l)&&128===(192&u)&&128===(192&c)&&(f=(15&o)<<18|(63&l)<<12|(63&u)<<6|63&c,f>65535&&1114112>f&&(a=f))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=s}return x(r)}function x(e){var t=e.length;if(ee>=t)return String.fromCharCode.apply(String,e);for(var n="",r=0;t>r;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ee));return n}function L(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;++i)r+=String.fromCharCode(e[i]);return r}function Z(e,t,n){var r=e.length;(!t||0>t)&&(t=0),(!n||0>n||n>r)&&(n=r);for(var i="",o=t;n>o;++o)i+=B(e[o]);return i}function P(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function k(e,t,n){if(e%1!==0||0>e)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function Y(e,t,n,r,i,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||o>t)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function z(e,t,n,r){0>t&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);o>i;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function O(e,t,n,r){0>t&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);o>i;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function G(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(0>n)throw new RangeError("Index out of range")}function R(e,t,n,r,i){return i||G(e,t,n,4,34028234663852886e22,-34028234663852886e22),q.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,i){return i||G(e,t,n,8,17976931348623157e292,-17976931348623157e292),q.write(e,t,n,r,52,8),n+8}function U(e){if(e=J(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function J(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function B(e){return 16>e?"0"+e.toString(16):e.toString(16)}function F(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;r>a;++a){if(n=e.charCodeAt(a),n>55295&&57344>n){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(56320>n){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,128>n){if((t-=1)<0)break;o.push(n)}else if(2048>n){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(65536>n){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(1114112>n))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function H(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function V(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}function X(e){return Q.toByteArray(U(e))}function _(e,t,n,r){for(var i=0;r>i&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function K(e){return e!==e}var Q=e("base64-js"),q=e("ieee754"),$=e("isarray");n.Buffer=a,n.SlowBuffer=m,n.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:r(),n.kMaxLength=i(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return s(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return u(null,e,t,n)},a.allocUnsafe=function(e){return c(null,e)},a.allocUnsafeSlow=function(e){return c(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);o>i;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return r>n?-1:n>r?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!$(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!a.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},a.byteLength=v,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;e>t;t+=2)w(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;e>t;t+=4)w(this,t,t+3),w(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;e>t;t+=8)w(this,t,t+7),w(this,t+1,t+6),w(this,t+2,t+5),w(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?N(this,0,e):y.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:0===a.compare(this,e)},a.prototype.inspect=function(){var e="",t=n.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},a.prototype.compare=function(e,t,n,r,i){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),0>t||n>e.length||0>r||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,s=n-t,l=Math.min(o,s),u=this.slice(r,i),c=e.slice(t,n),f=0;l>f;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return s>o?-1:o>s?1:0},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.indexOf=function(e,t,n){return b(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return b(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t=0|t,isFinite(n)?(n=0|n,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(0>n||0>t)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return M(this,e,t,n);case"utf8":case"utf-8":return C(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>t?(t+=n,0>t&&(t=0)):t>n&&(t=n),e>t&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var i=t-e;r=new a(i,void 0);for(var o=0;i>o;++o)r[o]=this[o+e]}return r},a.prototype.readUIntLE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},a.prototype.readUIntBE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},a.prototype.readUInt8=function(e,t){return t||k(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||k(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||k(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e=0|e,t=0|t,n||k(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||k(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||k(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||k(e,4,this.length),q.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||k(e,4,this.length),q.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||k(e,8,this.length),q.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||k(e,8,this.length),q.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;Y(this,e,t,n,i,0)}var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;Y(this,e,t,n,i,0)}var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);Y(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)0>e&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);Y(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)0>e&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),0>e&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t=0|t,n||Y(this,e,t,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&n>r&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError("targetStart out of bounds");if(0>n||n>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&t>n&&r>t)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(1e3>o||!a.TYPED_ARRAY_SUPPORT)for(i=0;o>i;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);256>i&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e=255&e);if(0>t||this.length<t||this.length<n)throw new RangeError("Out of range index");if(t>=n)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;n>o;++o)this[o]=e;else{var s=a.isBuffer(e)?e:F(new a(e,r).toString()),l=s.length;for(o=0;n-t>o;++o)this[o+t]=s[o%l]}return this};var te=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":33,ieee754:40,isarray:43}],36:[function(e,t,n){function r(e){function t(e){var t=c();a(t,e)>-1||(t.push(e),f(t))}function n(e){var t=c(),n=a(t,e);-1!==n&&(t.splice(n,1),f(t))}function r(e){return a(c(),e)>-1}function s(e){return r(e)?(n(e),!1):(t(e),!0)}function l(){return e.className}function u(e){var t=c();return t[e]||null}function c(){var t=e.className;return i(t.split(" "),o)}function f(t){var n=t.length;e.className=t.join(" "),p.length=n;for(var r=0;r<t.length;r++)p[r]=t[r];delete t[n]}var d=e.classList;if(d)return d;var p={add:t,remove:n,contains:r,toggle:s,toString:l,length:0,item:u};return p}function i(e,t){for(var n=[],r=0;r<e.length;r++)t(e[r])&&n.push(e[r]);return n}function o(e){return!!e}var a=e("indexof");t.exports=r},{indexof:41}],37:[function(e,t,n){function r(e,t,n,r){return n=window.getComputedStyle,r=n?n(e):e.currentStyle,r?r[t.replace(/-(\w)/gi,function(e,t){return t.toUpperCase()})]:void 0}t.exports=r},{}],38:[function(t,n,r){!function(t,i){"use strict";"function"==typeof e&&e.amd?e(i):"object"==typeof r?n.exports=i():t.returnExports=i()}(this,function(){var e,t,n=Array,r=n.prototype,i=Object,o=i.prototype,a=Function,s=a.prototype,l=String,u=l.prototype,c=Number,f=c.prototype,d=r.slice,p=r.splice,h=r.push,g=r.unshift,m=r.concat,v=r.join,y=s.call,w=s.apply,b=Math.max,I=Math.min,M=o.toString,C="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,A=Function.prototype.toString,S=/^\s*class /,E=function(e){try{var t=A.call(e),n=t.replace(/\/\/.*\n/g,""),r=n.replace(/\/\*[.\s\S]*\*\//g,""),i=r.replace(/\n/gm," ").replace(/ {2}/g," ");return S.test(i)}catch(o){return!1}},j=function(e){try{return E(e)?!1:(A.call(e),!0)}catch(t){return!1}},D="[object Function]",N="[object GeneratorFunction]",e=function(e){if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(C)return j(e);if(E(e))return!1;var t=M.call(e);return t===D||t===N},x=RegExp.prototype.exec,L=function(e){try{return x.call(e),!0}catch(t){return!1}},T="[object RegExp]";t=function(e){return"object"!=typeof e?!1:C?L(e):M.call(e)===T};var Z,P=String.prototype.valueOf,k=function(e){try{return P.call(e),!0}catch(t){return!1}},Y="[object String]";Z=function(e){return"string"==typeof e?!0:"object"!=typeof e?!1:C?k(e):M.call(e)===Y};var z=i.defineProperty&&function(){try{var e={};i.defineProperty(e,"x",{enumerable:!1,value:e});for(var t in e)return!1;return e.x===e}catch(n){return!1}}(),O=function(e){var t;return t=z?function(e,t,n,r){!r&&t in e||i.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(e,t,n,r){!r&&t in e||(e[t]=n)},function(n,r,i){for(var o in r)e.call(r,o)&&t(n,o,r[o],i)}}(o.hasOwnProperty),G=function(e){var t=typeof e;return null===e||"object"!==t&&"function"!==t},R=c.isNaN||function(e){return e!==e},W={ToInteger:function(e){var t=+e;return R(t)?t=0:0!==t&&t!==1/0&&t!==-(1/0)&&(t=(t>0||-1)*Math.floor(Math.abs(t))),t},ToPrimitive:function(t){var n,r,i;if(G(t))return t;if(r=t.valueOf,e(r)&&(n=r.call(t),G(n)))return n;if(i=t.toString,e(i)&&(n=i.call(t),G(n)))return n;throw new TypeError},ToObject:function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return i(e)},ToUint32:function(e){return e>>>0}},U=function(){};O(s,{bind:function(t){var n=this;if(!e(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var r,o=d.call(arguments,1),s=function(){if(this instanceof r){var e=w.call(n,this,m.call(o,d.call(arguments)));return i(e)===e?e:this}return w.call(n,t,m.call(o,d.call(arguments)))},l=b(0,n.length-o.length),u=[],c=0;l>c;c++)h.call(u,"$"+c);return r=a("binder","return function ("+v.call(u,",")+"){ return binder.apply(this, arguments); }")(s),n.prototype&&(U.prototype=n.prototype,r.prototype=new U,U.prototype=null),r}});var J=y.bind(o.hasOwnProperty),B=y.bind(o.toString),F=y.bind(d),H=w.bind(d);if("object"==typeof document&&document&&document.documentElement)try{F(document.documentElement.childNodes)}catch(V){var X=F,_=H;F=function(e){for(var t=[],n=e.length;n-- >0;)t[n]=e[n];return _(t,X(arguments,1))},H=function(e,t){return _(F(e),t)}}var K=y.bind(u.slice),Q=y.bind(u.split),q=y.bind(u.indexOf),$=y.bind(h),ee=y.bind(o.propertyIsEnumerable),te=y.bind(r.sort),ne=n.isArray||function(e){return"[object Array]"===B(e)},re=1!==[].unshift(0);O(r,{unshift:function(){return g.apply(this,arguments),this.length}},re),O(n,{isArray:ne});var ie=i("a"),oe="a"!==ie[0]||!(0 in ie),ae=function(e){var t=!0,n=!0,r=!1;if(e)try{e.call("foo",function(e,n,r){"object"!=typeof r&&(t=!1)}),e.call([1],function(){"use strict";n="string"==typeof this},"x")}catch(i){r=!0}return!!e&&!r&&t&&n};O(r,{forEach:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=-1,a=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++o<a;)o in i&&("undefined"==typeof n?t(i[o],o,r):t.call(n,i[o],o,r))}},!ae(r.forEach)),O(r,{map:function(t){var r,i=W.ToObject(this),o=oe&&Z(this)?Q(this,""):i,a=W.ToUint32(o.length),s=n(a);if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.map callback must be a function");for(var l=0;a>l;l++)l in o&&("undefined"==typeof r?s[l]=t(o[l],l,i):s[l]=t.call(r,o[l],l,i));return s}},!ae(r.map)),O(r,{filter:function(t){var n,r,i=W.ToObject(this),o=oe&&Z(this)?Q(this,""):i,a=W.ToUint32(o.length),s=[];if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.filter callback must be a function");for(var l=0;a>l;l++)l in o&&(n=o[l],("undefined"==typeof r?t(n,l,i):t.call(r,n,l,i))&&$(s,n));return s}},!ae(r.filter)),O(r,{every:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;o>a;a++)if(a in i&&!("undefined"==typeof n?t(i[a],a,r):t.call(n,i[a],a,r)))return!1;return!0}},!ae(r.every)),O(r,{some:function(t){var n,r=W.ToObject(this),i=oe&&Z(this)?Q(this,""):r,o=W.ToUint32(i.length);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;o>a;a++)if(a in i&&("undefined"==typeof n?t(i[a],a,r):t.call(n,i[a],a,r)))return!0;return!1}},!ae(r.some));var se=!1;r.reduce&&(se="object"==typeof r.reduce.call("es5",function(e,t,n,r){return r})),O(r,{reduce:function(t){var n=W.ToObject(this),r=oe&&Z(this)?Q(this,""):n,i=W.ToUint32(r.length);if(!e(t))throw new TypeError("Array.prototype.reduce callback must be a function");if(0===i&&1===arguments.length)throw new TypeError("reduce of empty array with no initial value");var o,a=0;if(arguments.length>=2)o=arguments[1];else for(;;){if(a in r){o=r[a++];break}if(++a>=i)throw new TypeError("reduce of empty array with no initial value")}for(;i>a;a++)a in r&&(o=t(o,r[a],a,n));return o}},!se);var le=!1;r.reduceRight&&(le="object"==typeof r.reduceRight.call("es5",function(e,t,n,r){return r})),O(r,{reduceRight:function(t){var n=W.ToObject(this),r=oe&&Z(this)?Q(this,""):n,i=W.ToUint32(r.length);if(!e(t))throw new TypeError("Array.prototype.reduceRight callback must be a function");if(0===i&&1===arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var o,a=i-1;if(arguments.length>=2)o=arguments[1];else for(;;){if(a in r){o=r[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(0>a)return o;do{a in r&&(o=t(o,r[a],a,n))}while(a--);return o}},!le);var ue=r.indexOf&&-1!==[0,1].indexOf(1,2);O(r,{indexOf:function(e){var t=oe&&Z(this)?Q(this,""):W.ToObject(this),n=W.ToUint32(t.length);if(0===n)return-1;var r=0;for(arguments.length>1&&(r=W.ToInteger(arguments[1])),r=r>=0?r:b(0,n+r);n>r;r++)if(r in t&&t[r]===e)return r;return-1}},ue);var ce=r.lastIndexOf&&-1!==[0,1].lastIndexOf(0,-3);O(r,{lastIndexOf:function(e){var t=oe&&Z(this)?Q(this,""):W.ToObject(this),n=W.ToUint32(t.length);if(0===n)return-1;var r=n-1;for(arguments.length>1&&(r=I(r,W.ToInteger(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}},ce);var fe=function(){var e=[1,2],t=e.splice();return 2===e.length&&ne(t)&&0===t.length}();O(r,{splice:function(e,t){return 0===arguments.length?[]:p.apply(this,arguments)}},!fe);var de=function(){var e={};return r.splice.call(e,0,0,1),1===e.length}();O(r,{splice:function(e,t){if(0===arguments.length)return[];var n=arguments;return this.length=b(W.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof t&&(n=F(arguments),n.length<2?$(n,this.length-e):n[1]=W.ToInteger(t)),p.apply(this,n)}},!de);var pe=function(){var e=new n(1e5);return e[8]="x",e.splice(1,1),7===e.indexOf("x")}(),he=function(){var e=256,t=[];return t[e]="a",t.splice(e+1,0,"b"),"a"===t[e]}();O(r,{splice:function(e,t){for(var n,r=W.ToObject(this),i=[],o=W.ToUint32(r.length),a=W.ToInteger(e),s=0>a?b(o+a,0):I(a,o),u=I(b(W.ToInteger(t),0),o-s),c=0;u>c;)n=l(s+c),J(r,n)&&(i[c]=r[n]),c+=1;var f,d=F(arguments,2),p=d.length;if(u>p){c=s;for(var h=o-u;h>c;)n=l(c+u),f=l(c+p),J(r,n)?r[f]=r[n]:delete r[f],c+=1;c=o;for(var g=o-u+p;c>g;)delete r[c-1],c-=1}else if(p>u)for(c=o-u;c>s;)n=l(c+u-1),f=l(c+p-1),J(r,n)?r[f]=r[n]:delete r[f],c-=1;c=s;for(var m=0;m<d.length;++m)r[c]=d[m],c+=1;return r.length=o-u+p,i}},!pe||!he);var ge,me=r.join;try{ge="1,2,3"!==Array.prototype.join.call("123",",")}catch(V){ge=!0}ge&&O(r,{join:function(e){var t="undefined"==typeof e?",":e;return me.call(Z(this)?Q(this,""):this,t)}},ge);var ve="1,2"!==[1,2].join(void 0);ve&&O(r,{join:function(e){var t="undefined"==typeof e?",":e;return me.call(this,t)}},ve);var ye=function(e){for(var t=W.ToObject(this),n=W.ToUint32(t.length),r=0;r<arguments.length;)t[n+r]=arguments[r],r+=1;return t.length=n+r,n+r},we=function(){var e={},t=Array.prototype.push.call(e,void 0);return 1!==t||1!==e.length||"undefined"!=typeof e[0]||!J(e,0)}();O(r,{push:function(e){return ne(this)?h.apply(this,arguments):ye.apply(this,arguments)}},we);var be=function(){var e=[],t=e.push(void 0);return 1!==t||1!==e.length||"undefined"!=typeof e[0]||!J(e,0)}();O(r,{push:ye},be),O(r,{slice:function(e,t){var n=Z(this)?Q(this,""):this;return H(n,arguments)}},oe);var Ie=function(){try{[1,2].sort(null)}catch(e){try{[1,2].sort({})}catch(t){return!1}}return!0}(),Me=function(){try{return[1,2].sort(/a/),!1}catch(e){}return!0}(),Ce=function(){try{return[1,2].sort(void 0),!0}catch(e){}return!1}();O(r,{sort:function(t){if("undefined"==typeof t)return te(this);if(!e(t))throw new TypeError("Array.prototype.sort callback must be a function");return te(this,t)}},Ie||!Ce||!Me);var Ae=!ee({toString:null},"toString"),Se=ee(function(){},"prototype"),Ee=!J("x","0"),je=function(e){var t=e.constructor;return t&&t.prototype===e},De={$window:!0,$console:!0,$parent:!0,$self:!0,$frame:!0,$frames:!0,$frameElement:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$external:!0,$width:!0,$height:!0,$top:!0,$localStorage:!0},Ne=function(){if("undefined"==typeof window)return!1;for(var e in window)try{!De["$"+e]&&J(window,e)&&null!==window[e]&&"object"==typeof window[e]&&je(window[e])}catch(t){return!0}return!1}(),xe=function(e){if("undefined"==typeof window||!Ne)return je(e);try{return je(e)}catch(t){return!1}},Le=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Te=Le.length,Ze=function(e){return"[object Arguments]"===B(e)},Pe=function(t){return null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&!ne(t)&&e(t.callee)},ke=Ze(arguments)?Ze:Pe;O(i,{keys:function(t){var n=e(t),r=ke(t),i=null!==t&&"object"==typeof t,o=i&&Z(t);if(!i&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var a=[],s=Se&&n;if(o&&Ee||r)for(var u=0;u<t.length;++u)$(a,l(u));if(!r)for(var c in t)s&&"prototype"===c||!J(t,c)||$(a,l(c));if(Ae)for(var f=xe(t),d=0;Te>d;d++){var p=Le[d];f&&"constructor"===p||!J(t,p)||$(a,p)}return a}});var Ye=i.keys&&function(){return 2===i.keys(arguments).length}(1,2),ze=i.keys&&function(){var e=i.keys(arguments);return 1!==arguments.length||1!==e.length||1!==e[0]}(1),Oe=i.keys;O(i,{keys:function(e){return Oe(ke(e)?F(e):e)}},!Ye||ze);var Ge,Re,We=0!==new Date(-0xc782b5b342b24).getUTCMonth(),Ue=new Date(-0x55d318d56a724),Je=new Date(14496624e5),Be="Mon, 01 Jan -45875 11:59:59 GMT"!==Ue.toUTCString(),Fe=Ue.getTimezoneOffset();-720>Fe?(Ge="Tue Jan 02 -45875"!==Ue.toDateString(),Re=!/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/.test(String(Je))):(Ge="Mon Jan 01 -45875"!==Ue.toDateString(),Re=!/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/.test(String(Je)));var He=y.bind(Date.prototype.getFullYear),Ve=y.bind(Date.prototype.getMonth),Xe=y.bind(Date.prototype.getDate),_e=y.bind(Date.prototype.getUTCFullYear),Ke=y.bind(Date.prototype.getUTCMonth),Qe=y.bind(Date.prototype.getUTCDate),qe=y.bind(Date.prototype.getUTCDay),$e=y.bind(Date.prototype.getUTCHours),et=y.bind(Date.prototype.getUTCMinutes),tt=y.bind(Date.prototype.getUTCSeconds),nt=y.bind(Date.prototype.getUTCMilliseconds),rt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],it=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ot=function(e,t){return Xe(new Date(t,e,0))};O(Date.prototype,{getFullYear:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this);return 0>e&&Ve(this)>11?e+1:e},getMonth:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this),t=Ve(this);return 0>e&&t>11?0:t},getDate:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=He(this),t=Ve(this),n=Xe(this);if(0>e&&t>11){if(12===t)return n;var r=ot(0,e+1);return r-n+1}return n},getUTCFullYear:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this);return 0>e&&Ke(this)>11?e+1:e},getUTCMonth:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this),t=Ke(this);return 0>e&&t>11?0:t},getUTCDate:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=_e(this),t=Ke(this),n=Qe(this);if(0>e&&t>11){if(12===t)return n;var r=ot(0,e+1);return r-n+1}return n}},We),O(Date.prototype,{toUTCString:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=qe(this),t=Qe(this),n=Ke(this),r=_e(this),i=$e(this),o=et(this),a=tt(this);return rt[e]+", "+(10>t?"0"+t:t)+" "+it[n]+" "+r+" "+(10>i?"0"+i:i)+":"+(10>o?"0"+o:o)+":"+(10>a?"0"+a:a)+" GMT"}},We||Be),O(Date.prototype,{toDateString:function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),t=this.getDate(),n=this.getMonth(),r=this.getFullYear();return rt[e]+" "+it[n]+" "+(10>t?"0"+t:t)+" "+r}},We||Ge),(We||Re)&&(Date.prototype.toString=function(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),t=this.getDate(),n=this.getMonth(),r=this.getFullYear(),i=this.getHours(),o=this.getMinutes(),a=this.getSeconds(),s=this.getTimezoneOffset(),l=Math.floor(Math.abs(s)/60),u=Math.floor(Math.abs(s)%60);return rt[e]+" "+it[n]+" "+(10>t?"0"+t:t)+" "+r+" "+(10>i?"0"+i:i)+":"+(10>o?"0"+o:o)+":"+(10>a?"0"+a:a)+" GMT"+(s>0?"-":"+")+(10>l?"0"+l:l)+(10>u?"0"+u:u)},z&&i.defineProperty(Date.prototype,"toString",{configurable:!0,enumerable:!1,writable:!0}));var at=-621987552e5,st="-000001",lt=Date.prototype.toISOString&&-1===new Date(at).toISOString().indexOf(st),ut=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new Date(-1).toISOString(),ct=y.bind(Date.prototype.getTime);O(Date.prototype,{toISOString:function(){if(!isFinite(this)||!isFinite(ct(this)))throw new RangeError("Date.prototype.toISOString called on non-finite value.");var e=_e(this),t=Ke(this);e+=Math.floor(t/12),t=(t%12+12)%12;var n=[t+1,Qe(this),$e(this),et(this),tt(this)];e=(0>e?"-":e>9999?"+":"")+K("00000"+Math.abs(e),e>=0&&9999>=e?-4:-6);for(var r=0;r<n.length;++r)n[r]=K("00"+n[r],-2);return e+"-"+F(n,0,2).join("-")+"T"+F(n,2).join(":")+"."+K("000"+nt(this),-3)+"Z"}},lt||ut);var ft=function(){try{return Date.prototype.toJSON&&null===new Date(NaN).toJSON()&&-1!==new Date(at).toJSON().indexOf(st)&&Date.prototype.toJSON.call({toISOString:function(){return!0}})}catch(e){return!1}}();ft||(Date.prototype.toJSON=function(t){var n=i(this),r=W.ToPrimitive(n);if("number"==typeof r&&!isFinite(r))return null;var o=n.toISOString;if(!e(o))throw new TypeError("toISOString property is not callable");return o.call(n)});var dt=1e15===Date.parse("+033658-09-27T01:46:40.000Z"),pt=!isNaN(Date.parse("2012-04-04T24:00:00.500Z"))||!isNaN(Date.parse("2012-11-31T23:59:59.000Z"))||!isNaN(Date.parse("2012-12-31T23:59:60.000Z")),ht=isNaN(Date.parse("2000-01-01T00:00:00.000Z"));if(ht||pt||!dt){var gt=Math.pow(2,31)-1,mt=R(new Date(1970,0,1,0,0,0,gt+1).getTime());Date=function(e){var t=function(n,r,i,o,a,s,u){var c,f=arguments.length;if(this instanceof e){var d=s,p=u;if(mt&&f>=7&&u>gt){var h=Math.floor(u/gt)*gt,g=Math.floor(h/1e3);d+=g,p-=1e3*g}c=1===f&&l(n)===n?new e(t.parse(n)):f>=7?new e(n,r,i,o,a,d,p):f>=6?new e(n,r,i,o,a,d):f>=5?new e(n,r,i,o,a):f>=4?new e(n,r,i,o):f>=3?new e(n,r,i):f>=2?new e(n,r):f>=1?new e(n instanceof e?+n:n):new e}else c=e.apply(this,arguments);return G(c)||O(c,{constructor:t},!0),c},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),r=[0,31,59,90,120,151,181,212,243,273,304,334,365],i=function(e,t){var n=t>1?1:0;return r[t]+Math.floor((e-1969+n)/4)-Math.floor((e-1901+n)/100)+Math.floor((e-1601+n)/400)+365*(e-1970)},o=function(t){var n=0,r=t;if(mt&&r>gt){var i=Math.floor(r/gt)*gt,o=Math.floor(i/1e3);n+=o,r-=1e3*o}return c(new e(1970,0,1,0,0,n,r))};for(var a in e)J(e,a)&&(t[a]=e[a]);O(t,{now:e.now,UTC:e.UTC},!0),t.prototype=e.prototype,O(t.prototype,{constructor:t},!0);var s=function(t){var r=n.exec(t);if(r){var a,s=c(r[1]),l=c(r[2]||1)-1,u=c(r[3]||1)-1,f=c(r[4]||0),d=c(r[5]||0),p=c(r[6]||0),h=Math.floor(1e3*c(r[7]||0)),g=Boolean(r[4]&&!r[8]),m="-"===r[9]?1:-1,v=c(r[10]||0),y=c(r[11]||0),w=d>0||p>0||h>0;return(w?24:25)>f&&60>d&&60>p&&1e3>h&&l>-1&&12>l&&24>v&&60>y&&u>-1&&u<i(s,l+1)-i(s,l)&&(a=60*(24*(i(s,l)+u)+f+v*m),a=1e3*(60*(a+d+y*m)+p)+h,g&&(a=o(a)),a>=-864e13&&864e13>=a)?a:NaN}return e.parse.apply(this,arguments)};return O(t,{parse:s}),t}(Date)}Date.now||(Date.now=function(){return(new Date).getTime()});var vt=f.toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0)),yt={base:1e7,size:6,data:[0,0,0,0,0,0],multiply:function(e,t){for(var n=-1,r=t;++n<yt.size;)r+=e*yt.data[n],yt.data[n]=r%yt.base,r=Math.floor(r/yt.base)},divide:function(e){for(var t=yt.size,n=0;--t>=0;)n+=yt.data[t],yt.data[t]=Math.floor(n/e),n=n%e*yt.base},numToString:function(){for(var e=yt.size,t="";--e>=0;)if(""!==t||0===e||0!==yt.data[e]){var n=l(yt.data[e]);""===t?t=n:t+=K("0000000",0,7-n.length)+n}return t},pow:function Ot(e,t,n){return 0===t?n:t%2===1?Ot(e,t-1,n*e):Ot(e*e,t/2,n)},log:function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}},wt=function(e){var t,n,r,i,o,a,s,u;if(t=c(e),t=R(t)?0:Math.floor(t),0>t||t>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=c(this),R(n))return"NaN";if(-1e21>=n||n>=1e21)return l(n);if(r="",0>n&&(r="-",n=-n),i="0",n>1e-21)if(o=yt.log(n*yt.pow(2,69,1))-69,a=0>o?n*yt.pow(2,-o,1):n/yt.pow(2,o,1),a*=4503599627370496,o=52-o,o>0){for(yt.multiply(0,a),s=t;s>=7;)yt.multiply(1e7,0),s-=7;for(yt.multiply(yt.pow(10,s,1),0),s=o-1;s>=23;)yt.divide(1<<23),s-=23;yt.divide(1<<s),yt.multiply(1,1),yt.divide(2),i=yt.numToString()}else yt.multiply(0,a),yt.multiply(1<<-o,0),i=yt.numToString()+K("0.00000000000000000000",2,2+t);return t>0?(u=i.length,i=t>=u?r+K("0.0000000000000000000",0,t-u+2)+i:r+K(i,0,u-t)+"."+K(i,u-t)):i=r+i,i};O(f,{toFixed:wt},vt);var bt=function(){try{return"1"===1..toPrecision(void 0)}catch(e){return!0}}(),It=f.toPrecision;O(f,{toPrecision:function(e){return"undefined"==typeof e?It.call(this):It.call(this,e)}},bt),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?!function(){var e="undefined"==typeof/()??/.exec("")[1],n=Math.pow(2,32)-1;u.split=function(r,i){var o=String(this);if("undefined"==typeof r&&0===i)return[];if(!t(r))return Q(this,r,i);var a,s,l,u,c=[],f=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":""),d=0,p=new RegExp(r.source,f+"g");e||(a=new RegExp("^"+p.source+"$(?!\\s)",f));var g="undefined"==typeof i?n:W.ToUint32(i);for(s=p.exec(o);s&&(l=s.index+s[0].length,!(l>d&&($(c,K(o,d,s.index)),!e&&s.length>1&&s[0].replace(a,function(){for(var e=1;e<arguments.length-2;e++)"undefined"==typeof arguments[e]&&(s[e]=void 0)}),s.length>1&&s.index<o.length&&h.apply(c,F(s,1)),u=s[0].length,d=l,c.length>=g)));)p.lastIndex===s.index&&p.lastIndex++,s=p.exec(o);return d===o.length?(u||!p.test(""))&&$(c,""):$(c,K(o,d)),c.length>g?F(c,0,g):c}}():"0".split(void 0,0).length&&(u.split=function(e,t){return"undefined"==typeof e&&0===t?[]:Q(this,e,t)});var Mt=u.replace,Ct=function(){var e=[];return"x".replace(/x(.)?/g,function(t,n){$(e,n)}),1===e.length&&"undefined"==typeof e[0]}();Ct||(u.replace=function(n,r){var i=e(r),o=t(n)&&/\)[*?]/.test(n.source);if(i&&o){var a=function(e){var t=arguments.length,i=n.lastIndex;n.lastIndex=0;var o=n.exec(e)||[];return n.lastIndex=i,$(o,arguments[t-2],arguments[t-1]),r.apply(this,o)};return Mt.call(this,n,a)}return Mt.call(this,n,r)});var At=u.substr,St="".substr&&"b"!=="0b".substr(-1);O(u,{substr:function(e,t){var n=e;return 0>e&&(n=b(this.length+e,0)),At.call(this,n,t)}},St);var Et="\t\n\v\f\r \u2028\u2029\ufeff",jt="",Dt="["+Et+"]",Nt=new RegExp("^"+Dt+Dt+"*"),xt=new RegExp(Dt+Dt+"*$"),Lt=u.trim&&(Et.trim()||!jt.trim());O(u,{trim:function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");return l(this).replace(Nt,"").replace(xt,"")}},Lt);var Tt=y.bind(String.prototype.trim),Zt=u.lastIndexOf&&-1!=="abcあい".lastIndexOf("あい",2);O(u,{lastIndexOf:function(e){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");for(var t=l(this),n=l(e),r=arguments.length>1?c(arguments[1]):NaN,i=R(r)?1/0:W.ToInteger(r),o=I(b(i,0),t.length),a=n.length,s=o+a;s>0;){s=b(0,s-a);var u=q(K(t,s,o+a),n);if(-1!==u)return s+u}return-1}},Zt);var Pt=u.lastIndexOf;if(O(u,{lastIndexOf:function(e){return Pt.apply(this,arguments)}},1!==u.lastIndexOf.length),(8!==parseInt(Et+"08")||22!==parseInt(Et+"0x16"))&&(parseInt=function(e){var t=/^[-+]?0[xX]/;return function(n,r){var i=Tt(String(n)),o=c(r)||(t.test(i)?16:10);return e(i,o)}}(parseInt)),1/parseFloat("-0")!==-(1/0)&&(parseFloat=function(e){return function(t){var n=Tt(String(t)),r=e(n);return 0===r&&"-"===K(n,0,1)?-0:r}}(parseFloat)),"RangeError: test"!==String(new RangeError("test"))){var kt=function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");var e=this.name;"undefined"==typeof e?e="Error":"string"!=typeof e&&(e=l(e));var t=this.message;return"undefined"==typeof t?t="":"string"!=typeof t&&(t=l(t)),e?t?e+": "+t:e:t};Error.prototype.toString=kt}if(z){var Yt=function(e,t){if(ee(e,t)){var n=Object.getOwnPropertyDescriptor(e,t);n.configurable&&(n.enumerable=!1,Object.defineProperty(e,t,n))}};Yt(Error.prototype,"message"),""!==Error.prototype.message&&(Error.prototype.message=""),Yt(Error.prototype,"name")}if("/a/gim"!==String(/a/gim)){var zt=function(){var e="/"+this.source+"/";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),e};RegExp.prototype.toString=zt}})},{}],39:[function(e,t,n){var r=[],i=r.forEach,o=r.slice;t.exports=function(e){return i.call(o.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e}},{}],40:[function(e,t,n){n.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,l=(1<<s)-1,u=l>>1,c=-7,f=n?i-1:0,d=n?-1:1,p=e[t+f];for(f+=d,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,r),o-=u}return(p?-1:1)*a*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var a,s,l,u=8*o-i-1,c=(1<<u)-1,f=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,h=r?1:-1,g=0>t||0===t&&0>1/t?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),t+=a+f>=1?d/l:d*Math.pow(2,1-f),t*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+p]=255&s,p+=h,s/=256,i-=8);for(a=a<<i|s,u+=i;u>0;e[n+p]=255&a,p+=h,a/=256,u-=8);e[n+p-h]|=128*g}},{}],41:[function(e,t,n){var r=[].indexOf;t.exports=function(e,t){if(r)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}},{}],42:[function(e,t,n){function r(e){var t=i.call(e);return"[object Function]"===t||"function"==typeof e&&"[object RegExp]"!==t||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}t.exports=r;var i=Object.prototype.toString},{}],43:[function(e,t,n){var r={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},{}],44:[function(t,n,r){(function(t){!function(i){function o(e){throw new RangeError(P[e])}function a(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(Z,".");var i=e.split("."),o=a(i,t).join(".");return r+o}function l(e){for(var t,n,r=[],i=0,o=e.length;o>i;)t=e.charCodeAt(i++),t>=55296&&56319>=t&&o>i?(n=e.charCodeAt(i++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--)):r.push(t);return r}function u(e){return a(e,function(e){var t="";return e>65535&&(e-=65536,t+=z(e>>>10&1023|55296),e=56320|1023&e),t+=z(e)}).join("")}function c(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:C}function f(e,t){return e+22+75*(26>e)-((0!=t)<<5)}function d(e,t,n){var r=0;for(e=n?Y(e/j):e>>1,e+=Y(e/t);e>k*S>>1;r+=C)e=Y(e/k);return Y(r+(k+1)*e/(e+E))}function p(e){var t,n,r,i,a,s,l,f,p,h,g=[],m=e.length,v=0,y=N,w=D;for(n=e.lastIndexOf(x),0>n&&(n=0),r=0;n>r;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;m>i;){for(a=v,s=1,l=C;i>=m&&o("invalid-input"),f=c(e.charCodeAt(i++)),(f>=C||f>Y((M-v)/s))&&o("overflow"),v+=f*s,p=w>=l?A:l>=w+S?S:l-w,!(p>f);l+=C)h=C-p,s>Y(M/h)&&o("overflow"),s*=h;t=g.length+1,w=d(v-a,t,0==a),Y(v/t)>M-y&&o("overflow"),y+=Y(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,a,s,u,c,p,h,g,m,v,y,w,b=[];for(e=l(e),m=e.length,t=N,n=0,a=D,s=0;m>s;++s)g=e[s],128>g&&b.push(z(g));for(r=i=b.length,i&&b.push(x);m>r;){for(u=M,s=0;m>s;++s)g=e[s],g>=t&&u>g&&(u=g);for(v=r+1,u-t>Y((M-n)/v)&&o("overflow"),n+=(u-t)*v,t=u,s=0;m>s;++s)if(g=e[s],t>g&&++n>M&&o("overflow"),g==t){for(c=n,p=C;h=a>=p?A:p>=a+S?S:p-a,!(h>c);p+=C)w=c-h,y=C-h,b.push(z(f(h+w%y,0))),c=Y(w/y);b.push(z(f(c,0))),a=d(n,v,r==i),n=0,++r}++n,++t}return b.join("")}function g(e){return s(e,function(e){return L.test(e)?p(e.slice(4).toLowerCase()):e})}function m(e){return s(e,function(e){return T.test(e)?"xn--"+h(e):e})}var v="object"==typeof r&&r&&!r.nodeType&&r,y="object"==typeof n&&n&&!n.nodeType&&n,w="object"==typeof t&&t;(w.global===w||w.window===w||w.self===w)&&(i=w);var b,I,M=2147483647,C=36,A=1,S=26,E=38,j=700,D=72,N=128,x="-",L=/^xn--/,T=/[^\x20-\x7E]/,Z=/[\x2E\u3002\uFF0E\uFF61]/g,P={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=C-A,Y=Math.floor,z=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:l,encode:u},decode:p,encode:h,toASCII:m,toUnicode:g},"function"==typeof e&&"object"==typeof e.amd&&e.amd)e("punycode",function(){return b});else if(v&&y)if(n.exports==v)y.exports=b;else for(I in b)b.hasOwnProperty(I)&&(v[I]=b[I]);else i.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(t,n,r){!function(t,r){"undefined"!=typeof n&&n.exports?n.exports=r():"function"==typeof e&&e.amd?e(r):this[t]=r()}("$script",function(){function e(e,t){for(var n=0,r=e.length;r>n;++n)if(!t(e[n]))return l;return 1}function t(t,n){e(t,function(e){return!n(e)})}function n(o,a,s){function l(e){return e.call?e():d[e]}function c(){if(!--y){d[v]=1,m&&m();for(var n in h)e(n.split("|"),l)&&!t(h[n],l)&&(h[n]=[])}}o=o[u]?o:[o];var f=a&&a.call,m=f?a:s,v=f?o.join(""):a,y=o.length;return setTimeout(function(){t(o,function e(t,n){return null===t?c():(n||/^https?:\/\//.test(t)||!i||(t=-1===t.indexOf(".js")?i+t+".js":i+t),g[t]?(v&&(p[v]=1),2==g[t]?c():setTimeout(function(){e(t,!0)},0)):(g[t]=1,v&&(p[v]=1),void r(t,c)))})},0),n}function r(e,t){var n,r=a.createElement("script");r.onload=r.onerror=r[f]=function(){r[c]&&!/^c|loade/.test(r[c])||n||(r.onload=r[f]=null,n=1,g[e]=2,t())},r.async=1,r.src=o?e+(-1===e.indexOf("?")?"?":"&")+o:e,s.insertBefore(r,s.lastChild)}var i,o,a=document,s=a.getElementsByTagName("head")[0],l=!1,u="push",c="readyState",f="onreadystatechange",d={},p={},h={},g={};return n.get=r,n.order=function(e,t,r){!function i(o){o=e.shift(),e.length?n(o,i):n(o,t,r)}()},n.path=function(e){i=e},n.urlArgs=function(e){o=e},n.ready=function(r,i,o){r=r[u]?r:[r];var a=[];return!t(r,function(e){d[e]||a[u](e)})&&e(r,function(e){return d[e]})?i():!function(e){h[e]=h[e]||[],h[e][u](i),o&&o(a)}(r.join("|")),n},n.done=function(e){n([null],e)},n})},{}]},{},[32])(32)});if(typeof fv_flowplayer_conf!="undefined"){try{if(typeof window.localStorage=="object"&&typeof window.localStorage.volume!="undefined"){delete fv_flowplayer_conf.volume}}catch(e){}if(typeof fv_flowplayer_conf.chromecast==="undefined"){fv_flowplayer_conf.chromecast=false}flowplayer.conf=fv_flowplayer_conf;flowplayer.conf.embed=false;flowplayer.conf.share=false;try{flowplayer.conf.key=atob(flowplayer.conf.key)}catch(e){}if(!flowplayer.support.android&&flowplayer.conf.dacast_hlsjs){function FVAbrController(hls){this.hls=hls;this.nextAutoLevel=3}FVAbrController.prototype.nextAutoLevel=function(nextLevel){this.nextAutoLevel=nextLevel};FVAbrController.prototype.destroy=function(){};flowplayer.conf.hlsjs={startLevel:-1,abrController:FVAbrController}}if(flowplayer.support.iOS&&parseInt(flowplayer.support.iOS.version)>=13||!flowplayer.support.iOS&&flowplayer.support.browser.safari&&parseInt(flowplayer.support.browser.version)>=8){flowplayer.conf.hlsjs.safari=true}flowplayer.support.fvmobile=!!(!flowplayer.support.firstframe||flowplayer.support.iOS||flowplayer.support.android);var fls=flowplayer.support;if(flowplayer.conf.mobile_native_fullscreen&&"ontouchstart"in window&&fls.fvmobile){flowplayer.conf.native_fullscreen=true}if("ontouchstart"in window){if(fls.android&&fls.android.version<4.4&&!(fls.browser.chrome&&fls.browser.version>54)){flowplayer.conf.native_fullscreen=true}if(fls.iOS&&(fv_player_in_iframe()||fls.iOS.version<7)){flowplayer.conf.native_fullscreen=true}}}if(typeof fv_flowplayer_translations!="undefined"){flowplayer.defaults.errors=fv_flowplayer_translations}var fv_player_did_autoplay=false;function fv_player_videos_parse(args,root){try{var videos=JSON.parse(args)}catch(e){return false}var regex=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)");var results=regex.exec(location.search);if((results!=null&&results[1]=="yes"||(jQuery(window).width()<=480||jQuery(window).height()<=480))&&(results==null||results[1]!="no")){var fv_fp_mobile=false;jQuery(videos.sources).each(function(k,v){if(v.mobile){videos.sources[k]=videos.sources[0];videos.sources[0]=v;fv_fp_mobile=true}if(fv_fp_mobile){jQuery(root).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")}})}return videos}function fv_player_in_iframe(){try{return window.self!==window.top}catch(e){return true}}jQuery(document).ready(function(){var loading_count=0;var loading=setInterval(function(){loading_count++;if(loading_count<1e3&&(window.fv_video_intelligence_conf&&!window.FV_Player_IMA||window.fv_vast_conf&&!window.FV_Player_IMA||window.fv_player_pro&&!window.FV_Flowplayer_Pro&&document.getElementById("fv_player_pro")!=fv_player_pro)){return}clearInterval(loading);fv_player_preload()},10)});function fv_player_preload(){if(flowplayer.support.touch){jQuery(".fp-playlist-external.fv-playlist-design-2017").addClass("visible-captions")}flowplayer(function(api,root){root=jQuery(root);if(root.hasClass("fixed-controls")){root.find(".fp-controls").click(function(e){if(!api.loading&&!api.ready){e.preventDefault();e.stopPropagation();api.load()}})}if(!flowplayer.support.volume&&!flowplayer.support.autoplay){root.find(".fp-volume").hide()}if(root.data("fullscreen")==false){root.find(".fp-fullscreen").remove()}if(root.data("volume")==0&&root.hasClass("no-controlbar")){root.find(".fp-volume").remove()}var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");if((!api.conf.playlist||api.conf.playlist.length==0)&&playlist.length&&playlist.find("a[data-item]").length>0){var items=[];playlist.find("a[data-item]").each(function(){if(parsed=fv_player_videos_parse(jQuery(this).attr("data-item"),root)){items.push(parsed)}else{jQuery(this).remove()}});api.conf.playlist=items;api.conf.clip=items[0]}else if(!api.conf.clip){api.conf.clip=fv_player_videos_parse(jQuery(root).attr("data-item"),root)}jQuery("a",playlist).click(function(e){e.preventDefault();var $this=jQuery(this),playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]"),index=jQuery("a",playlist).index(this);$prev=$this.prev("a");if($prev.length&&$this.is(":visible")&&!$prev.is(":visible")){$prev.click();return false}if(jQuery("#"+$this.parent().attr("rel")).hasClass("dynamic-playlist"))return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");fv_player_playlist_active(playlist,this);if(api){if(api.error){api.pause();api.error=api.loading=false;root.removeClass("is-error");root.find(".fp-message.fp-shown").remove()}if(!api.video||api.video.index==index)return;api.play(index)}var new_splash=$this.find("img").attr("src");if(new_splash){root.find("img.fp-splash").attr("src",new_splash)}var rect=root[0].getBoundingClientRect();if(rect.bottom-100<0){jQuery("html, body").animate({scrollTop:jQuery(root).offset().top-100},300)}});var playlist_external=jQuery("[rel="+root.attr("id")+"]");var playlist_progress=false;var splash_img,splash_text;api.bind("ready",function(e,api,video){setTimeout(function(){if(video.index>-1){if(playlist_external.length>0){var playlist_item=jQuery("a",playlist_external).eq(video.index);fv_player_playlist_active(playlist_external,playlist_item);playlist_progress=playlist_item.find(".fvp-progress")}}},250);splash_img=root.find(".fp-splash").remove();splash_text=root.find(".fv-fp-splash-text").remove()});api.bind("unload",function(){jQuery(".fp-playlist-external .now-playing").remove();jQuery(".fp-playlist-external a").removeClass("is-active");root.find(".fp-player").prepend(splash_text);root.find(".fp-player").prepend(splash_img);playlist_progress=false});api.bind("progress",function(){if(playlist_progress&&api.video.duration){var progress=100*api.video.time/api.video.duration;playlist_progress.css("width",progress+"%")}});api.bind("error-subtitles",function(){console.log("error-subtitles");fv_player_notice(root,fv_flowplayer_translations[8],2e3)});var playlist=jQuery(root).parent().find("div.fp-playlist-vertical[rel="+jQuery(root).attr("id")+"]");if(playlist.length){function check_size_and_all(args){var property=playlist.hasClass("fp-playlist-only-captions")?"height":"max-height";if(playlist.parents(".fp-playlist-text-wrapper").hasClass("is-fv-narrow")){property="max-height"}playlist.css(property,vertical_playlist_height());if(property=="max-height")playlist.css("height","auto")}check_size_and_all();jQuery(window).on("resize tabsactivate",function(){setTimeout(check_size_and_all,0)})}function vertical_playlist_height(args){var height=root.height();if(height==0)height=root.css("max-height");return height}});if(window.self!=window.top&&!location.href.match(/fv_player_preview/)){embed_size();jQuery(window.self).resize(embed_size)}function embed_size(){jQuery(".flowplayer.fp-is-embed").each(function(){var root=jQuery(this);if(!root.hasClass("has-chapters")&&!root.hasClass("has-transcript")&&jQuery(".fp-playlist-external[rel="+root.attr("id")+"]").length==0){root.height(jQuery(window).height())}})}if(typeof fv_flowplayer_playlists!="undefined"){for(var i in fv_flowplayer_playlists){if(!fv_flowplayer_playlists.hasOwnProperty(i))continue;jQuery("#"+i).flowplayer({playlist:fv_flowplayer_playlists[i]})}}fv_player_load();fv_autoplay_exec();jQuery(document).ajaxComplete(function(){fv_player_load()});jQuery(window).on("hashchange",fv_autoplay_exec)}function fv_player_load(){jQuery(".flowplayer").each(function(i,el){var root=jQuery(el);var api=root.data("flowplayer");if(api)return;if(root.attr("data-item")){root.flowplayer({clip:fv_player_videos_parse(root.attr("data-item"),root)})}else if(playlist=jQuery("[rel="+root.attr("id")+"]")){if(playlist.find("a[data-item]").length==0)return;var items=[];playlist.find("a[data-item]").each(function(){if(parsed=fv_player_videos_parse(jQuery(this).attr("data-item"),root)){items.push(parsed)}else{jQuery(this).remove()}});root.flowplayer({playlist:items})}});jQuery(".fv-playlist-slider-wrapper").each(function(i,el){var items=jQuery(this).find("a");jQuery(this).find(".fp-playlist-external").css("width",items.outerWidth()*items.length)});if(typeof jQuery().tabs!="undefined"){jQuery("body").removeClass("fv_flowplayer_tabs_hide");jQuery(".fv_flowplayer_tabs_content").tabs()}}function fv_player_playlist_active(playlist,item){if(playlist){jQuery("a",playlist).removeClass("is-active");jQuery(".now-playing").remove()}$playlist=jQuery(playlist);$item=jQuery(item);var scroll_parent=false;$item.addClass("is-active");var is_design_2014=$playlist.hasClass("fv-playlist-design-2014");if((is_design_2014&&$item.find("h4").length==0||!is_design_2014)&&$item.find(".now-playing").length==0)$item.prepend('<strong class="now-playing"><span>'+fv_flowplayer_translations.playlist_current+"</span></strong>");if(!$playlist.parent().find(".flowplayer").length){scroll_parent=true}if(($playlist.hasClass("fp-playlist-vertical")||$playlist.hasClass("fp-playlist-horizontal")&&$playlist.hasClass("is-audio"))&&!fullyVisibleY($item.get(0))){var $el=scroll_parent?$playlist.parent():$playlist;$el.animate({scrollTop:$el.scrollTop()+($item.position().top-$el.position().top)},750)}else if($playlist.hasClass("fp-playlist-horizontal")&&!fullyVisibleX($item.get(0))){var $el=scroll_parent?$playlist.parent():$playlist;$el.animate({scrollLeft:$el.scrollLeft()+($item.position().left-$el.position().left)},750)}function fullyVisibleY(el){var rect=el.getBoundingClientRect(),top=rect.top,height=rect.height,bottom=top+height,el=el.parentNode;do{rect=el.getBoundingClientRect();if(bottom<=rect.bottom===false)return false;if(top<=rect.top)return false;el=el.parentNode}while(el!=document.body);return bottom<=document.documentElement.clientHeight}function fullyVisibleX(el){var rect=el.getBoundingClientRect(),left=rect.left,width=rect.width,right=left+width,el=el.parentNode;do{rect=el.getBoundingClientRect();if(right<=rect.right===false)return false;if(left<=rect.left)return false;el=el.parentNode}while(el!=document.body);return right<=document.documentElement.clientWidth}}jQuery(function(){jQuery(".flowplayer").each(function(){flowplayer.bean.off(jQuery(this)[0],"contextmenu")})});var fv_fp_date=new Date;var fv_fp_utime=fv_fp_date.getTime();function fv_parse_sharelink(src){src=src.replace("https?://[^./].","");var prefix="fvp_";if(src.match(/(youtube.com)/)){return prefix+src.match(/(?:v=)([A-Za-z0-9_-]*)/)[1]}else if(src.match(/(vimeo.com)|(youtu.be)/)){return prefix+src.match(/(?:\/)([^/]*$)/)[1]}else{var match=src.match(/(?:\/)([^/]*$)/);if(match){return prefix+match[1].match(/^[^.]*/)[0]}}return prefix+src}function fv_player_get_video_link_hash(api){var hash=fv_parse_sharelink(typeof api.video.sources_original!="undefined"&&typeof api.video.sources_original[0]!="undefined"?api.video.sources_original[0].src:api.video.sources[0].src);if(typeof api.video.id!="undefined"){hash=fv_parse_sharelink(api.video.id.toString())}return hash}function fv_player_time_hms(seconds){if(isNaN(seconds)){return NaN}var date=new Date(null);date.setSeconds(seconds);var timeSrting=date.toISOString().substr(11,8);timeSrting=timeSrting.replace(/([0-9]{2}):([0-9]{2}):([0-9]{2}\.?[0-9]*)/,"$1h$2m$3s").replace(/^00h(00m)?/,"").replace(/^0/,"");return timeSrting}function fv_player_time_seconds(time,duration){if(!time)return-1;var seconds=0;var aTime=time.replace(/[hm]/g,":").replace(/s/,"").split(":").reverse();if(typeof aTime[0]!="undefined")seconds+=parseFloat(aTime[0]);if(typeof aTime[1]!="undefined")seconds+=parseInt(60*aTime[1]);if(typeof aTime[2]!="undefined")seconds+=parseInt(60*60*aTime[2]);return duration?Math.min(seconds,duration):seconds}function fv_autoplay_init(root,index,time){if(fv_autoplay_exec_in_progress)return;fv_autoplay_exec_in_progress=true;var api=root.data("flowplayer");if(!api)return;var fTime=fv_player_time_seconds(time);if(root.parent().hasClass("ui-tabs-panel")){var tabId=root.parent().attr("id");jQuery("[aria-controls="+tabId+"] a").click()}if(!root.find(".fp-player").attr("class").match(/\bis-sticky/)){var offset=jQuery(root).offset().top-(jQuery(window).height()-jQuery(root).height())/2;window.scrollTo(0,offset);api.one("ready",function(){window.scrollTo(0,offset)})}if(root.hasClass("lightboxed")){setTimeout(function(){jQuery("[href=\\#"+root.attr("id")+"]").click()},0)}if(index){if(fv_player_video_link_autoplay_can(api,parseInt(index))){if(api.ready){if(fTime>-1)api.seek(fTime);fv_autoplay_exec_in_progress=false}else{api.play(parseInt(index));api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1)api.seek(fTime)})}}else if(flowplayer.support.inlineVideo){api.one(api.playing?"progress":"ready",function(e,api){api.play(parseInt(index));api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1)api.seek(fTime)})});root.find(".fp-splash").attr("src",jQuery("[rel="+root.attr("id")+"] div").eq(index).find("img").attr("src"));if(!fv_player_in_iframe()){fv_player_notice(root,fv_flowplayer_translations[11],"progress")}}}else{if(api.ready){if(fTime>-1)api.seek(fTime);fv_autoplay_exec_in_progress=false}else{if(fv_player_video_link_autoplay_can(api)){api.load()}else if(!fv_player_in_iframe()){fv_player_notice(root,fv_flowplayer_translations[11],"progress")}api.one("ready",function(){fv_autoplay_exec_in_progress=false;if(fTime>-1){var do_seek=setInterval(function(){if(api.loading)return;api.seek(fTime);clearInterval(do_seek)},10)}})}}}var fv_autoplay_exec_in_progress=false;function fv_autoplay_exec(){var autoplay=true;if(typeof flowplayer!=="undefined"&&typeof fv_flowplayer_conf!="undefined"&&fv_flowplayer_conf.video_hash_links&&window.location.hash.substring(1).length){var aHash=window.location.hash.match(/\?t=/)?window.location.hash.substring(1).split("?t="):window.location.hash.substring(1).split(",");var hash=aHash[0];var time=aHash[1]===undefined?false:aHash[1];jQuery(".flowplayer").each(function(){var root=jQuery(this);if(root.hasClass("lightbox-starter")){root=jQuery(root.attr("href"))}var api=root.data("flowplayer");if(!api)return;var playlist=typeof api.conf.playlist!=="undefined"&&api.conf.playlist.length>1?api.conf.playlist:[api.conf.clip];for(var item in playlist){if(!playlist.hasOwnProperty(item))continue;var id=typeof playlist[item].id!=="undefined"?fv_parse_sharelink(playlist[item].id.toString()):false;if(hash===id&&autoplay){console.log("fv_autoplay_exec for "+id,item);fv_autoplay_init(root,parseInt(item),time);autoplay=false;return false}}for(var item in playlist){if(!playlist.hasOwnProperty(item))continue;var src=fv_parse_sharelink(playlist[item].sources[0].src);if(hash===src&&autoplay){console.log("fv_autoplay_exec for "+src,item);fv_autoplay_init(root,parseInt(item),time);autoplay=false;return false}}})}if(autoplay&&flowplayer.support.firstframe){jQuery(".flowplayer[data-fvautoplay]").each(function(){var root=jQuery(this);var api=root.data("flowplayer");if(!fv_player_did_autoplay&&root.data("fvautoplay")){if(!((flowplayer.support.android||flowplayer.support.iOS)&&api&&api.conf.clip.sources[0].type=="video/youtube")){fv_player_did_autoplay=true;api.load();var play_icon=root.find(".fp-play").addClass("invisible"),control_bar=root.find(".fp-controls").addClass("invisible");api.one("progress",function(){play_icon.removeClass("invisible");control_bar.removeClass("invisible")});if(root.data("fvautoplay")=="muted"){api.mute(true,true)}}}})}}function fv_player_video_link_autoplay_can(api,item){var video=item?api.conf.playlist[item]:api.conf.clip;if(video.sources[0].type=="video/youtube"&&(flowplayer.support.iOS||flowplayer.support.android)||fv_player_in_iframe())return false;return flowplayer.support.firstframe}function fv_player_notice(root,message,timeout){var notices=jQuery(".fvfp-notices",root);if(!notices.length){notices=jQuery('<div class="fvfp-notices">');jQuery(".fp-player",root).append(notices)}var notice=jQuery('<div class="fvfp-notice-content">'+message+"</div></div>");notices.append(notice);if(typeof timeout=="string"){var player=jQuery(root).data("flowplayer");player.on(timeout,function(){notice.fadeOut(100,function(){jQuery(this).remove()})})}if(timeout>0){setTimeout(function(){notice.fadeOut(2e3,function(){jQuery(this).remove()})},timeout)}return notice}var fv_player_clipboard=function(text,successCallback,errorCallback){try{fv_player_doCopy(text);successCallback()}catch(e){if(typeof errorCallback!="undefined")errorCallback(e)}};function fv_player_doCopy(text){var textarea=document.createElement("textarea");textarea.value=text;textarea.style.opacity=0;textarea.style.position="absolute";textarea.setAttribute("readonly",true);document.body.appendChild(textarea);var selected=document.getSelection().rangeCount>0?document.getSelection().getRangeAt(0):false;if(navigator.userAgent.match(/ipad|ipod|iphone/i)){var editable=textarea.contentEditable;textarea.contentEditable=true;var range=document.createRange();range.selectNodeContents(textarea);var sel=window.getSelection();sel.removeAllRanges();sel.addRange(range);textarea.setSelectionRange(0,999999);textarea.contentEditable=editable}else{textarea.select()}try{var result=document.execCommand("copy");if(selected){document.getSelection().removeAllRanges();document.getSelection().addRange(selected)}document.body.removeChild(textarea);return result}catch(err){throw new Error("Unsuccessfull")}}if(location.href.match(/elementor-preview=/)){console.log("FV Player: Elementor editor is active");setInterval(fv_player_load,1e3)}if(localStorage.FVPlayerHLSQuality&&typeof flowplayer.conf.hlsjs.autoLevelEnabled=="undefined"){flowplayer.conf.hlsjs.startLevel=localStorage.FVPlayerHLSQuality}flowplayer(function(api,root){var hlsjs;flowplayer.engine("hlsjs-lite").plugin(function(params){hlsjs=params.hls});root=jQuery(root);var search=document.location.search;if(localStorage.FVPlayerDashQuality){if(!api.conf.dash)api.conf.dash={};api.conf.dash.initialVideoQuality="restore"}if(localStorage.FVPlayerHLSQuality&&typeof flowplayer.conf.hlsjs.autoLevelEnabled=="undefined"){flowplayer.conf.hlsjs.startLevel=localStorage.FVPlayerHLSQuality}else if(flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile){flowplayer.conf.hlsjs.startLevel=3}api.bind("quality",function(e,api,quality){if(api.engine.engineName=="dash"){if(quality==-1){localStorage.removeItem("FVPlayerDashQuality")}else if(bitrates[quality]){localStorage.FVPlayerDashQuality=bitrates[quality].height}}else if(api.engine.engineName=="hlsjs-lite"){if(quality==-1){localStorage.removeItem("FVPlayerHLSQuality")}else{localStorage.FVPlayerHLSQuality=quality}}});var bitrates=[];var last_quality=-1;api.bind("ready",function(e,api){if(api.engine.engineName=="dash"){bitrates=api.engine.dash.getBitrateInfoListFor("video");if(localStorage.FVPlayerDashQuality&&api.conf.dash.initialVideoQuality){api.quality(api.conf.dash.initialVideoQuality)}quality_sort()}else if(api.engine.engineName=="hlsjs-lite"){if(api.video.qualities&&api.video.qualities.length>2){var qswitch=-1;if(localStorage.FVPlayerHLSQuality){qswitch=localStorage.FVPlayerHLSQuality}else if(flowplayer.conf.hd_streaming&&!flowplayer.support.fvmobile){jQuery(api.video.qualities).each(function(k,v){var height=parseInt(v.label);if(height>0&&hd_quality==-1&&height>=720&&height<=720){qswitch=k}})}if(qswitch>-1){api.quality(qswitch);root.one("progress",function(){setTimeout(function(){api.quality(qswitch)})})}quality_sort()}}else if(api.video.sources_fvqs&&api.video.sources_fvqs.length>0&&api.video.src.match(/vimeo.*?\.mp4/)){setTimeout(quality_sort,0)}root.find("a[data-quality]").removeClass("is-current")});if(search.match(/dash_debug/)||search.match(/hls_debug/))var debug_log=jQuery('<div class="fv-debug" style="background: gray; color: white; top: 10%; position: absolute; z-index: 1000">').appendTo(root.find(".fp-player"));api.bind("ready progress",quality_process);api.bind("quality",function(){setTimeout(quality_process,0)});function quality_process(){if(api.engine.engineName=="dash"){var stream_info=bitrates[api.engine.dash.getQualityFor("video")];if(stream_info.qualityIndex!=last_quality){last_quality=stream_info.qualityIndex;quality_label(stream_info.qualityIndex,bitrates)}if(search.match(/dash_debug/))quality_debug(stream_info.width,stream_info.height,stream_info.bitrate)}else if(api.engine.engineName=="hlsjs-lite"){if(hlsjs.currentLevel!=last_quality){last_quality=hlsjs.currentLevel;quality_label(hlsjs.currentLevel,hlsjs.levels)}if(search.match(/hls_debug/)){var level=hlsjs.levels[hlsjs.currentLevel];quality_debug(level.width,level.height,level.bitrate)}}}function quality_label(index,qualities){if(!qualities[index])return;var height=qualities[index].height,hd_limit=541,lowest=1e5;jQuery(qualities).each(function(k,v){if(v.height>=720&&v.height<1400)hd_limit=720;if(v.height<lowest)lowest=v.height});root.find("a[data-quality]").removeClass("is-current");root.find("a[data-quality="+index+"]").addClass("is-current");var label="SD";if(height>=360&&lowest<height)label="SD";if(height>=hd_limit)label="HD";if(height>=1400)label="4K";root.find(".fp-qsel").html(label)}function quality_debug(w,h,br){debug_log.html("Using "+w+"x"+h+" at "+Math.round(br/1024)+" kbps")}function quality_sort(){var menu=root.find(".fp-qsel-menu");menu.children().each(function(i,a){menu.prepend(a)});menu.children().each(function(i,a){if(/^NaNp/.test(jQuery(a).html())){var bitrate=jQuery(a).html().match(/\((.*?)\)/);if(bitrate&&typeof bitrate[1]!=="undefined"){jQuery(a).html(bitrate[1])}}else{jQuery(a).html(jQuery(a).html().replace(/\(.*?\)/,""))}});menu.prepend(menu.find("a[data-quality=-1]"));menu.prepend(menu.find("strong"))}});flowplayer(function(api,root){root=jQuery(root);var player_id=root.attr("id"),ad=false;if(root.data("end_popup_preview")){jQuery(document).ready(function(){api.trigger("finish",[api])})}function ad_height_check(){var count=0;var ad_height_check=setInterval(function(){var height=ad&&ad.find(".adsbygoogle").height();count++;if(count>20*10||height>0)clearInterval(ad_height_check);if(height>root.height()){ad.addClass("tall-ad")}},50)}function show_ad(){var ad_data=root.attr("data-ad");if(typeof ad_data!="undefined"&&ad_data.length){try{ad_data=JSON.parse(ad_data)}catch(e){return false}if(!ad&&!root.hasClass("is-cva")&&root.width()>=parseInt(ad_data.width)){var html=ad_data.html;html=html.replace("%random%",Math.random());ad=jQuery('<div id="'+player_id+'_ad" class="wpfp_custom_ad">'+html+"</div>");root.find(".fp-player").append(ad);ad_height_check();setTimeout(function(){if(root.find(".wpfp_custom_ad video").length){api.pause()}},500)}}}function show_popup(event){var popup_data=root.attr("data-popup");if(typeof popup_data!="undefined"&&popup_data.length){try{popup_data=JSON.parse(popup_data)}catch(e){return false}if(event=="finish"||popup_data.pause||popup_data.html.match(/fv-player-ppv-purchase-btn-wrapper/)){root.addClass("is-popup-showing");root.find(".fp-player").append('<div id="'+player_id+'_custom_popup" class="wpfp_custom_popup">'+popup_data.html+"</div>")}}}api.bind("ready",function(e,api){if(ad.length==1){ad.remove();ad=false}if(!root.data("ad_show_after")){show_ad()}}).bind("progress",function(e,api,current){if(current>root.data("ad_show_after")){show_ad()}}).bind("finish",function(e,api){if(typeof api.video.index=="undefined"||api.video.index+1==api.conf.playlist.length){show_popup(e.type)}}).bind("pause",function(e,api){show_popup(e.type)}).bind("resume unload seek",function(e,api){if(root.hasClass("is-popup-showing")){root.find(".wpfp_custom_popup").remove();root.removeClass("is-popup-showing")}})});jQuery(document).on("click",".fv_fp_close",function(){var ad=jQuery(this).parents(".wpfp_custom_ad_content"),video=ad.find("video");ad.fadeOut();if(video.length)video[0].pause();return false});jQuery(document).on("focus",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var api=jQuery(this).parents(".flowplayer").data("flowplayer");if(api)api.disable(true)});jQuery(document).on("blur",".fv_player_popup input[type=text], .fv_player_popup input[type=email], .fv_player_popup textarea",function(){var api=jQuery(this).parents(".flowplayer").data("flowplayer");if(api)api.disable(false)});flowplayer(function(api,root){var root=jQuery(root);api.bind("progress",function(e,api,current){fv_track(e,api,current)}).bind("finish ready ",function(e,api){for(var j in fv_ga_events){if(!fv_ga_events.hasOwnProperty(j))continue;root.removeData("fv_track_"+fv_ga_events[j])}}).bind("error",function(e,api,error){setTimeout(function(){if(!api.error)return;var video=typeof api.video!="undefined"&&typeof api.video.src!="undefined"?api.video:false;if(!video&&typeof api.conf.clip!="undefined"&&typeof api.conf.clip.sources!="undefined"&&typeof api.conf.clip.sources[0]!="undefined"&&typeof api.conf.clip.sources[0].src!="undefined")video=api.conf.clip.sources[0];var name=fv_player_track_name(root,video);if(name&&!name.match(/\/\/vimeo.com\/\d/)){fv_player_track(api.conf.analytics,"Video "+(root.hasClass("is-cva")?"Ad ":"")+"error",error.message,name)}},100)});var fv_ga_events=["start","first quartile","second quartile","third quartile","complete"];function fv_track(e,api,data){var video=api.video,dur=video.duration,i=0;var name=fv_player_track_name(root,video);if(dur){if(data>19*dur/20)i=4;else if(data>3*dur/4)i=3;else if(data>dur/2)i=2;else if(data>dur/4)i=1}if(root.data("fv_track_"+fv_ga_events[i]))return;for(var j in fv_ga_events){if(!fv_ga_events.hasOwnProperty(j))continue;if(j==i)break;if(!root.data("fv_track_"+fv_ga_events[j]))return}root.trigger("fv_track_"+fv_ga_events[i].replace(/ /,"_"),[api,name]);root.data("fv_track_"+fv_ga_events[i],true);fv_player_track(api.conf.analytics,"Video "+(root.hasClass("is-cva")?"Ad ":"")+fv_ga_events[i],api.engine.engineName+"/"+video.type,name)}});function fv_player_track(ga_id,event,engineType,name){if(!ga_id||typeof _gat=="undefined")return;var tracker=_gat._getTracker(ga_id);if(typeof tracker._setAllowLinker=="undefined"){return}if(typeof engineType=="undefined")engineType="Unknown engine";if(/fv_ga_debug/.test(window.location.href))console.log("FV GA: "+event+" - "+engineType+" '"+name+"'");tracker._setAllowLinker(true);tracker._trackEvent(event,engineType,name,1)}function fv_player_track_name(root,video){var name=root.attr("title");if(!name&&typeof video.fv_title!="undefined")name=video.fv_title;if(!name&&typeof video.title!="undefined")name=video.title;if(!name&&typeof video.src!="undefined"){name=video.src.split("/").slice(-1)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"");if(video.type.match(/mpegurl/))name=video.src.split("/").slice(-2)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"")+"/"+name}return name}flowplayer(function(api,root){root=jQuery(root);var player=root.find(".fp-player"),had_no_volume=root.hasClass("no-volume"),had_fp_mute=root.hasClass("fp-mute"),had_fp_full=root.hasClass("fp-full"),timeline=root.find(".fp-timeline"),buttons_count=0;function check_size(){var width=player.width()||root.width();if(width>900){jQuery(".fp-subtitle",root).addClass("is-wide")}else{jQuery(".fp-subtitle",root).removeClass("is-wide")}root.toggleClass("is-tiny",width<400);root.toggleClass("is-small",width<600&&width>=400);if(!had_fp_full){root.toggleClass("fp-full",width<480+buttons_count*35)}var size="";if(width<400)size="is-tiny";else if(width<600&&width>=400)size="is-small";root.trigger("fv-player-size",[size]);var el=player;if(root.parent().hasClass("fp-playlist-vertical-wrapper")||root.parent().hasClass("fp-playlist-text-wrapper"))el=root.parent();if(el.width()<=560){el.addClass("is-fv-narrow")}else{el.removeClass("is-fv-narrow")}if(width<=320){root.addClass("no-volume fp-mute")}else{if(!had_no_volume)root.removeClass("no-volume");if(!had_fp_mute)root.removeClass("fp-mute")}if(!root.hasClass("is-audio")){var speed=root.find(".fp-speed-menu");speed.toggleClass("wont-fit",++speed.children().length*35>player.height());var item=root.find(".fv-fp-list-menu");item.toggleClass("wont-fit",++item.children().length*25>player.height())}}check_size();jQuery(window).on("resize",check_size);api.on("ready fullscreen fullscreen-exit",check_size);api.on("ready fullscreen fullscreen-exit",function(){setTimeout(function(){buttons_count=root.find(".fp-controls > strong:visible").length+root.find(".fp-controls > .fp-icon:visible").length;check_size()},0)});api.on("unload pause finish error",function(){if(typeof checker!=="undefined")clearInterval(checker)})});jQuery(window).on("resize tabsactivate",function(){jQuery(".fp-playlist-external").each(function(){var playlist=jQuery(this);if(playlist.parent().width()>=900)playlist.addClass("is-wide");else playlist.removeClass("is-wide")})}).trigger("resize");flowplayer(function(api,root){api.bind("ready",function(){if(/Chrome/.test(navigator.userAgent)&&parseFloat(/Chrome\/(\d\d)/.exec(navigator.userAgent)[1],10)>54){if(api.video.subtitles){jQuery(root).addClass("chrome55fix-subtitles")}else{jQuery(root).addClass("chrome55fix")}}});root=jQuery(root);var image_src=root.css("background-image");if(image_src){image_src=image_src.replace(/url\((['"])?(.*?)\1\)/gi,"$2").split(",");if(!image_src||!image_src[0].match(/^(https?:)?\/\//))return;var image=new Image;image.src=image_src[0];var image_ratio=image.height/image.width;var player_ratio=root.height()/root.width();var ratio_diff=Math.abs(player_ratio-image_ratio);if(ratio_diff<.05){root.css("background-size","cover")}}});(function($){$(window).on("resize",function(){var iframe=$("iframe[id][src][height][width]");iframe.each(function(){if($(this).attr("id").match(/(fv_vimeo_)|(fv_ytplayer_)/)&&$(this).width()<=$(this).attr("width"))$(this).height($(this).width()*$(this).attr("height")/$(this).attr("width"))});var wistia=jQuery(".wistia_embed");wistia.each(function(){$(this).height($(this).width()*$(this).data("ratio"))})}).trigger("resize")})(jQuery);jQuery(document).on("tabsactivate",".fv_flowplayer_tabs_content",function(event,ui){var oldPlayer=jQuery(".flowplayer.is-playing").data("flowplayer");if(typeof oldPlayer!="undefined"){oldPlayer.pause()}var objPlayer=jQuery(".flowplayer",ui.newPanel);var api=objPlayer.data("flowplayer");api.load()});flowplayer(function(api,root){root=jQuery(root);var bean=flowplayer.bean;if(root.hasClass("is-audio")){bean.off(root[0],"mouseenter");bean.off(root[0],"mouseleave");root.removeClass("is-mouseout");root.addClass("fixed-controls").addClass("is-mouseover");api.on("error",function(e,api,error){jQuery(".fp-message",root).html(jQuery(".fp-message",root).html().replace(/video/,"audio"))});root.click(function(e){if(!api.ready){e.preventDefault();e.stopPropagation();api.load()}})}});jQuery(document).on("mfpClose",function(){if(typeof jQuery(".flowplayer").data("flowplayer")!="undefined")jQuery(".flowplayer").data("flowplayer").unload()});jQuery(document).on("click",".vc_tta-tab a",function(){var api=jQuery(".flowplayer.is-playing").data("flowplayer");if(api)api.pause()});flowplayer(function(api,root){api.bind("ready",function(){setTimeout(function(){var video=jQuery("video",root);if(video.length>0){video.removeAttr("autoplay")}},100)})});jQuery(".flowplayer").on("ready",function(e,api){if(/BB10/.test(navigator.userAgent)){api.fullscreen()}});var fv_flowplayer_safety_resize_arr=Array();function fv_flowplayer_safety_resize(){var fv_flowplayer_safety_resize_init=false;jQuery(".flowplayer").each(function(){if(!jQuery(this).is(":visible")||jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter")||jQuery(this).hasClass("is-audio"))return;if(jQuery(this).width()<30||jQuery(this).height()<20){fv_flowplayer_safety_resize_init=true;var el=jQuery(this);while(jQuery(el).width()<30||jQuery(el).width()==jQuery(this).width()){if(jQuery(el).parent().length==0)break;el=jQuery(el).parent()}jQuery(this).width(jQuery(el).width());jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio")));fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]=el}});if(fv_flowplayer_safety_resize_init){jQuery(window).resize(function(){jQuery(".flowplayer").each(function(){if(jQuery(this).hasClass("lightboxed")||jQuery(this).hasClass("lightbox-starter"))return;if(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")]){jQuery(this).width(fv_flowplayer_safety_resize_arr[jQuery(this).attr("id")].width());jQuery(this).height(parseInt(jQuery(this).width()*jQuery(this).attr("data-ratio")))}})})}}if(typeof flowplayer.conf.safety_resize!="undefined"&&flowplayer.conf.safety_resize){jQuery(document).ready(function(){setTimeout(function(){fv_flowplayer_safety_resize()},10)})}var isIE11=!!navigator.userAgent.match(/Trident.*rv[ :]*11\./);if(isIE11){jQuery(document).ready(function(){jQuery(".fp-waiting").hide()});flowplayer(function(api,root){api.bind("load",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("beforeseek",function(e){jQuery(e.currentTarget).find(".fp-waiting").show()}).bind("progress",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("seek",function(e){jQuery(e.currentTarget).find(".fp-waiting").hide()}).bind("fullscreen",function(e){jQuery("#wpadminbar").hide()}).bind("fullscreen-exit",function(e){jQuery("#wpadminbar").show()})})}if(flowplayer.support.browser&&flowplayer.support.browser.msie&&parseInt(flowplayer.support.browser.version,10)<9){jQuery(".flowplayer").each(function(){jQuery(this).css("width",jQuery(this).css("max-width"));jQuery(this).css("height",jQuery(this).css("max-height"))})}if(location.href.match(/elementor-preview=/)){console.log("FV Player: Elementor editor is active");setInterval(fv_player_load,1e3)}flowplayer(function(player,root){root=jQuery(root);if(typeof root.data("fv-embed")=="undefined"||!root.data("fv-embed")||root.data("fv-embed")=="false")return;player.embedCode=function(){var video=player.video;var width=root.width();var height=root.height();height+=2;if(root.hasClass("has-chapters")||root.hasClass("has-transcript")){height+=300}if(jQuery(".fp-playlist-external[rel="+root.attr("id")+"]").length>0){height+=150+20}var link=root.data("fv-embed")+"#"+fv_player_get_video_link_hash(player);return'<iframe src="'+link+'" allowfullscreen width="'+width+'" height="'+height+'" frameborder="0" style="max-width:100%"></iframe>'}});jQuery(document).on("click",".flowplayer .embed-code-toggle",function(){var button=jQuery(this);var player=button.parents(".flowplayer");var api=player.data("flowplayer");if(typeof api.embedCode=="function"){player.find(".embed-code textarea").val(api.embedCode())}fv_player_clipboard(player.find(".embed-code textarea").val(),function(){fv_player_notice(player,fv_flowplayer_translations.embed_copied,2e3)},function(){button.parents(".fvp-share-bar").find(".embed-code").toggle();button.parents(".fvp-share-bar").toggleClass("visible")});return false});flowplayer(function(api,root){root=jQuery(root);if(flowplayer.conf.wpadmin||jQuery(root).hasClass("is-audio"))return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]"),fsforce=root.data("fsforce")==true||playlist.hasClass("fp-playlist-season")||playlist.hasClass("fp-playlist-polaroid");if(flowplayer.conf.mobile_force_fullscreen&&flowplayer.support.fvmobile||!flowplayer.support.fullscreen&&fsforce){if(!flowplayer.support.fullscreen){api.bind("ready",function(){api.fullscreen(true)})}root.on("click",function(){if(!api.ready||api.paused)api.fullscreen(true)});jQuery("[rel="+root.attr("id")+"] a").on("click",function(e){if(!api.isFullscreen){api.fullscreen();api.resume()}});api.on("resume",function(){if(!api.isFullscreen)api.fullscreen()});api.on("finish",function(){if(api.conf.playlist.length==0||api.conf.playlist.length-1==api.video.index)api.fullscreen(false)}).on("fullscreen",function(a,api){root.addClass("forced-fullscreen")}).on("fullscreen-exit",function(a,api){api.pause();root.removeClass("forced-fullscreen")})}else if(fsforce){var position,unload=root.find(".fp-unload"),is_closing=false;api.isFakeFullscreen=false;unload.show();root.on("click",function(e){if(!api.ready&&e.target!=unload[0])api.fakeFullscreen(true)});unload.on("click",function(e){if(api.ready){api.fullscreen(false)}else if(api.loading){is_closing=true;api.one("ready",function(e){api.unload()})}api.fakeFullscreen(false)});jQuery("[rel="+root.attr("id")+"] a").on("click",function(e){if(!api.isFakeFullscreen){api.fakeFullscreen();api.resume()}});api.on("resume",function(){if(!is_closing&&!api.isFakeFullscreen)api.fakeFullscreen()}).on("finish",function(){if(api.conf.playlist.length==0||api.conf.playlist.length-1==api.video.index)api.fakeFullscreen(false)}).on("fullscreen",function(a,api){root.removeClass("fake-fullscreen")}).on("fullscreen-exit",function(a,api){if(api.isFakeFullscreen)api.fakeFullscreen(true,true)}).on("unload",function(a,api){});api.fakeFullscreen=function(flag,force){if(!force&&(api.isFakeFullscreen==flag||api.disabled))return;if(position===undefined)position=root.css("position");if(flag===undefined)flag=!api.isFakeFullscreen;api.isFakeFullscreen=flag;api.trigger(flag?"fakefullscreen":"fakefullscreen-exit",[api]);root.toggleClass("is-fullscreen fake-fullscreen forced-fullscreen",flag);if(flag){root.css("position","fixed")}else{root.css("position",position)}}}if(flowplayer.support.android&&flowplayer.conf.mobile_landscape_fullscreen){api.on("fullscreen",function(a,api){screen.orientation.lock("landscape-primary")})}});flowplayer(function(api,root){root=jQuery(root);var hlsjs,player,audioUXGroup,audioGroups,hls_audio_button,hls_audio_menu,mse=window.MediaSource||window.WebKitMediaSource;flowplayer.engine("hlsjs-lite").plugin(function(params){hlsjs=params.hls});api.bind("ready",function(e,api){removeAudioMenu();if(hlsjs&&api.video.type=="application/x-mpegurl"){parseAudioTracksHlsJs(hlsjs);createAudioMenu()}});api.one("progress",function(){if(api.engine.engineName=="html5"&&api.video.type=="application/x-mpegurl"){parseAudioTracksSafari();createAudioMenu()}});function getVideoTagAudioTracks(){var video=root.find("video");if(video.length&&video[0].audioTracks){return video[0].audioTracks}return[]}function hilightAudioTrack(audioTrack){if(!audioTrack.name)audioTrack.name=audioTrack.label;root.find(".fv-fp-hls-menu a").each(function(k,el){jQuery(el).toggleClass("fp-selected",jQuery(el).attr("data-audio")===audioTrack.name)})}function createAudioMenu(){if(!audioUXGroup||audioUXGroup.length<2){return}hls_audio_button=jQuery('<strong class="fv-fp-hls">AUD</strong>');hls_audio_menu=jQuery('<div class="fp-menu fv-fp-hls-menu"></div>').insertAfter(root.find(".fp-controls"));hls_audio_menu.append("<strong>Audio</strong>");audioUXGroup.forEach(function(audioTrack){hls_audio_menu.append('<a data-audio="'+audioTrack.name+'">'+audioTrack.name+"</a>")});hls_audio_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(hls_audio_menu.hasClass("fp-active")){api.hideMenu(hls_audio_menu[0])}else{root.click();api.showMenu(hls_audio_menu[0])}});jQuery("a",hls_audio_menu).click(function(e){var adata=e.target.getAttribute("data-audio");if(hlsjs){var gid=hlsjs.audioTracks[hlsjs.audioTrack].groupId;var atrack=hlsjs.audioTracks.filter(function(at){return at.groupId===gid&&(at.name===adata||at.lang===adata)})[0];hlsjs.audioTrack=atrack.id;hilightAudioTrack(atrack)}else{var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;if(tracks[i].label==adata){tracks[i].enabled=true;hilightAudioTrack(tracks[i])}}}});if(hlsjs){hilightAudioTrack(hlsjs.audioTracks[hlsjs.audioTrack])}else{var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;if(tracks[i].enabled){hilightAudioTrack(tracks[i])}}}}function removeAudioMenu(){jQuery(hls_audio_menu).remove();jQuery(hls_audio_button).remove()}function parseAudioTracksHlsJs(data){audioGroups=[];audioUXGroup=[];data.levels.forEach(function(level){var agroup=level.attrs.AUDIO;if(agroup&&audioGroups.indexOf(agroup)<0){audioGroups.push(agroup)}if(audioGroups.length){audioUXGroup=data.audioTracks.filter(function(audioTrack){return audioTrack.groupId===audioGroups[0]})}})}function parseAudioTracksSafari(){audioGroups=[];audioUXGroup=[];var tracks=getVideoTagAudioTracks();for(var i in tracks){if(!tracks.hasOwnProperty(i))continue;audioUXGroup.push({id:tracks[i].id,name:tracks[i].label})}}});flowplayer(function(api,root){var store_engine_pos=-1;var store_engine=false;api.on("error",function(e,api,err){if(err.code!=4||api.engine.engineName!="hlsjs")return;console.log("FV Player: HLSJS failed to play the video, switching to Flash HLS");api.error=api.loading=false;jQuery(root).removeClass("is-error");jQuery(flowplayer.engines).each(function(k,v){if(flowplayer.engines[k].engineName=="hlsjs"){store_engine_pos=k;store_engine=flowplayer.engines[k];delete flowplayer.engines[k]}});var index=typeof api.video.index!="undefined"?api.video.index:0;var video=index>0?api.conf.playlist[index].sources:api.conf.clip.sources;video.index=index;api.load({sources:video});api.bind("unload error",function(){flowplayer.engines[store_engine_pos]=store_engine})})});flowplayer(function(api,root){var initialDelay=30,timer;api.clearLiveStreamCountdown=function(){if(timer){clearInterval(timer);api.error=api.loading=false;jQuery(root).removeClass("is-error");jQuery(root).find(".fp-message.fp-shown").remove();api.unload()}};api.conf.flashls={manifestloadmaxretry:2};api.on("error",function(e,api,err){setTimeout(function(){if(!api.conf.clip.live&&!api.conf.live&&!err.video.src.match(/\/\/vimeo.com\/event\//))return;var delay=initialDelay;if(api.conf.clip.streaming_time){delay=api.conf.clip.streaming_time-Math.floor(Date.now()/1e3)}else if(api.conf.clip.live_starts_in){delay=api.conf.clip.live_starts_in}var startLabel=fv_flowplayer_translations.live_stream_starting.replace(/%d/,secondsToDhms(delay));var retryLabel=fv_flowplayer_translations.live_stream_retry.replace(/%d/,secondsToDhms(delay));var message=api.conf.clip.live_starts_in?startLabel:retryLabel;clearInterval(timer);if(err.code===1||err.code===2||err.code===4){root.className+=" is-offline";if(flowplayer.support.flashVideo){api.one("flashdisabled",function(){root.querySelector(".fp-flash-disabled").style.display="none"})}var messageElement=root.querySelector(".fp-ui .fp-message");messageElement.innerHTML=message;var reload_delay=delay>300?300:delay;timer=setInterval(function(){reload_delay-=1;delay-=1;if(reload_delay>0&&messageElement){messageElement.querySelector("span").innerHTML=secondsToDhms(delay)}else{clearInterval(timer);api.error=api.loading=false;if(messageElement){root.querySelector(".fp-ui").removeChild(messageElement)}root.className=root.className.replace(/\bis-(error|offline)\b/g,"");api.load()}},1e3)}},1)});function secondsToDhms(seconds){seconds=Number(seconds);var d=Math.floor(seconds/(3600*24));var h=Math.floor(seconds%(3600*24)/3600);var m=Math.floor(seconds%3600/60);var s=Math.floor(seconds%60);var t=fv_flowplayer_translations;var output=d>0?d==1?t.duration_1_day.replace(/%s/,d):t.duration_n_days.replace(/%s/,d):"";if(output&&h>0)output+=", ";output+=h>0?h==1?t.duration_1_hour.replace(/%s/,h):t.duration_n_hours.replace(/%s/,h):"";if(output&&m>0)output+=", ";output+=m>0?m==1?t.duration_1_minute.replace(/%s/,m):t.duration_n_minutes.replace(/%s/,m):"";if(output&&s>0)output+=" and ";output+=s>0?s==1?t.duration_1_second.replace(/%s/,s):t.duration_n_seconds.replace(/%s/,s):"";console.log(output);return output}});flowplayer(function(api,root){if(!flowplayer.support.browser.safari&&!flowplayer.support.iOS)return;root=jQuery(root);var video_tag=false,did_start_playing=false;api.on("ready",function(){did_start_playing=false;if(api.engine.engineName=="html5"){video_tag=root.find("video");if(!video_tag.data("fv-ios-recovery")){video_tag.on("waiting",wait_for_stalled);video_tag.data("fv-ios-recovery",true)}api.one("progress",function(){did_start_playing=true})}});api.bind("beforeseek",function(){if(did_start_playing){wait_for_stalled()}});function debug(e){console.log("FV PLayer: iOS video element: "+e.type)}function wait_for_stalled(){if(video_tag&&api.engine.engineName=="html5"){console.log("FV PLayer: iOS video element will trigger error after 'stalled' arrives");video_tag.one("stalled",function(){var time=api.video.time;setTimeout(function(){console.log(api.video.time,time);if(api.video.time!=time){console.log("FV PLayer: iOS video element continues playing, no need for error");return}if(api.paused){console.log("FV PLayer: iOS video element paused, no need for error");return}api.trigger("error",[api,{code:4,video:api.video}])},5e3)})}}});!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(r+"").replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(n+"")).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u<p.length;u++){var l=p[u].split("="),C=l.slice(1).join("=");this.json||'"'!==C.charAt(0)||(C=C.slice(1,-1));try{var m=l[0].replace(d,decodeURIComponent);if(C=o.read?o.read(C,m):o(C,m)||C.replace(d,decodeURIComponent),this.json)try{C=JSON.parse(C)}catch(e){}if(n===m){c=C;break}n||(c[m]=C)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}return n(function(){})});flowplayer.bean.off(document,"keydown.fp");flowplayer(function(api,root){var bean=flowplayer.bean;if(!api.conf.keyboard)return;bean.on(root,"mouseenter mouseleave",function(e){fv_player_focused=!api.disabled&&e.type=="mouseover"?api:0;if(fv_player_focused)fv_player_focusedRoot=root});api.bind("ready",function(e,api,video){if(video.subtitles&&video.subtitles.length>0){var help=jQuery(root).find(".fp-help").html();help+='<div class="fp-help-section fp-help-subtitles"><p><em>c</em>cycle through subtitles</p></div>';jQuery(root).find(".fp-help").html(help)}else{jQuery(root).find(".fp-help-subtitles").remove()}})});flowplayer.bean.on(document,"keydown.fp",function(e){if(typeof fv_player_focused=="undefined")return;var api=fv_player_focused,focusedRoot=api?fv_player_focusedRoot:false,common=flowplayer.common;var el=api&&!api.disabled?api:0,metaKeyPressed=e.ctrlKey||e.metaKey||e.altKey,key=e.which,conf=el&&el.conf;if(common.hasClass(focusedRoot,"no-controlbar")||common.hasClass(focusedRoot,"is-cva"))return;if(!el||!conf.keyboard||el.disabled)return;if([63,187,191].indexOf(key)!=-1){common.toggleClass(focusedRoot,"is-help");return false}if(key==27&&common.hasClass(focusedRoot,"is-help")){common.toggleClass(focusedRoot,"is-help");return false}if(!metaKeyPressed&&el.ready){e.preventDefault();if(e.shiftKey){if(key==39)el.speed(true);else if(key==37)el.speed(false);else if(key==78)el.next();else if(key==80)el.prev();return}if(key<58&&key>47)return el.seekTo(key-48);switch(key){case 38:case 75:el.volume(el.volumeLevel+.15);break;case 40:case 74:el.volume(el.volumeLevel-.15);break;case 39:case 76:el.seeking=true;el.seek(api.video.time+5);break;case 37:case 72:el.seeking=true;el.seek(api.video.time-5);break;case 190:el.seekTo();break;case 32:el.toggle();break;case 70:if(conf.fullscreen)el.fullscreen();break;case 77:el.mute();break;case 81:el.unload();break;case 67:if(!api.video.subtitles||api.video.subtitles.length==0)break;var current_subtitles=jQuery(focusedRoot).find(".fp-dropdown li.active[data-subtitle-index]").data("subtitle-index");if(typeof current_subtitles=="undefined")current_subtitles=-1;current_subtitles++;if(current_subtitles>api.video.subtitles.length-1){current_subtitles=-1}api.trigger("fv-subtitles-switched");if(current_subtitles>-1){el.loadSubtitles(current_subtitles);fv_player_notice(focusedRoot,fv_flowplayer_translations.subtitles_switched+" "+api.video.subtitles[current_subtitles].label,"fv-subtitles-switched")}else{el.disableSubtitles();fv_player_notice(focusedRoot,fv_flowplayer_translations.subtitles_disabled,"fv-subtitles-switched")}break}}});flowplayer(function(api,root){api.bind("load",function(e,api,data){var player=jQuery(e.currentTarget);if(player.data("live")){var live_check=setTimeout(function(){player.find(".fp-ui").append('<div class="fp-message">'+fv_flowplayer_translations.live_stream_failed+"</div>");player.addClass("is-error")},1e4);jQuery(e.currentTarget).data("live_check",live_check)}}).bind("ready",function(e,api,data){clearInterval(jQuery(e.currentTarget).data("live_check"))}).bind("error",function(e,api,data){var player=jQuery(e.currentTarget);if(player.data("live")){player.find(".fp-message").html(fv_flowplayer_translations.live_stream_failed_2)}})});(function($){flowplayer(function(api,root){if(jQuery(root).hasClass("is-cva"))return;$(document).on("submit","#"+jQuery(root).attr("id")+" .mailchimp-form",function(e){e.preventDefault();$(".mailchimp-response",root).remove();$("input[type=submit]",root).attr("disabled","disabled").addClass("fv-form-loading");var data={action:"fv_wp_flowplayer_email_signup"};$("[name]",this).each(function(){data[this.name]=$(this).val()});$.post(fv_fp_ajaxurl,data,function(response){response=JSON.parse(response);$('<div class="mailchimp-response"></div>').insertAfter(".mailchimp-form",root);if(response.text.match(/already subscribed/)){response.status="ERROR"}if(response.status==="OK"){$(".mailchimp-form input[type=text],.mailchimp-form input[type=email]",root).val("");$(".mailchimp-response",root).removeClass("is-fv-error").html(response.text);setTimeout(function(){$(".wpfp_custom_popup",root).fadeOut()},2e3)}else{$(".mailchimp-response",root).addClass("is-fv-error").html(response.text)}$("input[type=submit]",root).removeAttr("disabled").removeClass("fv-form-loading")})})})})(jQuery);function fv_flowplayer_mobile_switch(id){var regex=new RegExp("[\\?&]fv_flowplayer_mobile=([^&#]*)");var results=regex.exec(location.search);if((results!=null&&results[1]=="yes"||(jQuery(window).width()<=480||jQuery(window).height()<=480))&&(results==null||results[1]!="no")){var fv_fp_mobile=false;jQuery("#wpfp_"+id+" video source").each(function(){if(jQuery(this).attr("id")!="wpfp_"+id+"_mobile"){fv_fp_mobile=true;jQuery(this).remove()}});if(fv_fp_mobile){jQuery("#wpfp_"+id).after('<p class="fv-flowplayer-mobile-switch">'+fv_flowplayer_translations.mobile_browser_detected_1+' <a href="'+document.URL+'?fv_flowplayer_mobile=no">'+fv_flowplayer_translations.mobile_browser_detected_2+"</a>.</p>")}}}if(typeof fv_flowplayer_mobile_switch_array!="undefined"){for(var i in fv_flowplayer_mobile_switch_array){if(!fv_flowplayer_mobile_switch_array.hasOwnProperty(i))continue;fv_flowplayer_mobile_switch(i)}}flowplayer(function(api,root){if(!api.conf.multiple_playback)return;root=jQuery(root);var instance_id=root.data("flowplayer-instance-id");flowplayer.audible_instance=-1;api.one("load",function(){setTimeout(function(){api.conf.splash=false},0)});api.on("ready",function(){var is_muted=root.data("volume")==0;if(!is_muted){jQuery(".flowplayer[data-flowplayer-instance-id]").each(function(){if(instance_id==jQuery(this).data("flowplayer-instance-id")||instance_id==flowplayer.audible_instance)return;var player=jQuery(this).data("flowplayer");if(player){if(player.playing){player.mute(true,true)}else{player.clearLiveStreamCountdown()}}});flowplayer.audible_instance=instance_id}}).on("mute",function(e,api,muted){if(!muted&&flowplayer.audible_instance!=instance_id){flowplayer(flowplayer.audible_instance).mute(true,true);flowplayer.audible_instance=instance_id}})});function fv_flowplayer_browser_ff_m4v(hash){if(flowplayer.support.browser&&flowplayer.support.browser.mozilla&&navigator.appVersion.indexOf("Win")!=-1){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}if(typeof fv_flowplayer_browser_ff_m4v_array!="undefined"){for(var i in fv_flowplayer_browser_ff_m4v_array){if(!fv_flowplayer_browser_ff_m4v_array.hasOwnProperty(i))continue;fv_flowplayer_browser_ff_m4v(i)}}function fv_flowplayer_browser_chrome_fail(hash,sAttributes,sVideo,bAutobuffer){jQuery("#wpfp_"+hash).bind("error",function(e,api,error){if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&error!=null&&(error.code==3||error.code==4||error.code==5)){api.unload();jQuery("#wpfp_"+hash).attr("id","bad_wpfp_"+hash);jQuery("#bad_wpfp_"+hash).after('<div id="wpfp_'+hash+'" '+sAttributes+' data-engine="flash"></div>');jQuery("#wpfp_"+hash).flowplayer({playlist:[[{mp4:sVideo}]]});if(bAutobuffer){jQuery("#wpfp_"+hash).bind("ready",function(e,api){api.play()})}else{jQuery("#wpfp_"+hash).flowplayer().play(0)}jQuery("#bad_wpfp_"+hash).remove()}})}if(typeof fv_flowplayer_browser_chrome_fail_array!="undefined"){for(var i in fv_flowplayer_browser_chrome_fail_array){if(!fv_flowplayer_browser_chrome_fail_array.hasOwnProperty(i))continue;fv_flowplayer_browser_chrome_fail(i,fv_flowplayer_browser_chrome_fail_array[i]["attrs"],fv_flowplayer_browser_chrome_fail_array[i]["mp4"],fv_flowplayer_browser_chrome_fail_array[i]["auto_buffer"])}}function fv_flowplayer_browser_ie(hash){if(flowplayer.support.browser&&flowplayer.support.browser.msie&&parseInt(flowplayer.support.browser.version,10)>=9||!!navigator.userAgent.match(/Trident.*rv[ :]*11\./)){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}if(typeof fv_flowplayer_browser_ie_array!="undefined"){for(var i in fv_flowplayer_browser_ie_array){if(!fv_flowplayer_browser_ie_array.hasOwnProperty(i))continue;fv_flowplayer_browser_ie(i)}}function fv_flowplayer_browser_chrome_mp4(hash){var match=window.navigator.appVersion.match(/Chrome\/(\d+)\./);if(match!=null){var chrome_ver=parseInt(match[1],10);if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&chrome_ver<28&&navigator.appVersion.indexOf("Win")!=-1||/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&chrome_ver<27&&navigator.appVersion.indexOf("Linux")!=-1&&navigator.userAgent.toLowerCase().indexOf("android")==-1){jQuery("#wpfp_"+hash).attr("data-engine","flash")}}}if(navigator.platform.indexOf("iPhone")!=-1||navigator.platform.indexOf("iPod")!=-1||navigator.platform.indexOf("iPad")!=-1||navigator.userAgent.toLowerCase().indexOf("android")!=-1){flowplayer(function(api,root){api.bind("error",function(e,api,error){if(error.code==10){jQuery(e.target).find(".fp-message").html(fv_flowplayer_translations.unsupported_format)}})})}jQuery(document).ready(function(){if(navigator.platform.indexOf("iPhone")!=-1||navigator.platform.indexOf("iPod")!=-1||navigator.platform.indexOf("iPad")!=-1){jQuery(window).trigger("load")}jQuery(".flowplayer").mouseleave(function(){jQuery(this).find(".fvp-share-bar").removeClass("visible");jQuery(this).find(".embed-code").hide()})});if(!Date.now){Date.now=function(){return(new Date).getTime()}}(function($){var sendPositionsEvery=60,ajaxCall=null,maxCookieSize=2500,localStorageEnabled=null,cookieKeyName="video_positions",tempPositionCookieKeyName="video_positions_tmp",tempSawCookieKeyName="video_saw_tmp",playPositions=[],sawVideo=[],getSerialized=function(data){var serialized=JSON.stringify(data),dataSize=getTextByteSize(serialized);if(dataSize>maxCookieSize){while(dataSize>maxCookieSize){for(var i in data){if(!data.hasOwnProperty(i))continue;delete data[i];serialized=JSON.stringify(data);dataSize=getTextByteSize(serialized);break}}}return serialized},getVideoId=function(video){if(video.id){return video.id}var out=typeof video.sources_original!="undefined"&&typeof video.sources_original[0]!="undefined"?video.sources_original[0].src:video.sources[0].src;if(typeof video.sources_original=="undefined"||typeof video.sources_original[0]=="undefined"){out=removeAWSSignatures(out)}return out},getTextByteSize=function(txt){return encodeURIComponent(txt).length},getCookieKey=function(key){return localStorageEnabled?localStorage.getItem(key):Cookies.get(key)},setCookieKey=function(key,value){return localStorageEnabled?localStorage.setItem(key,value):Cookies.set(key,value)},removeCookieKey=function(key){if(localStorageEnabled){localStorage.removeItem(key)}{Cookies.remove(key)}},removeVideoPosition=function(e,api){if(api.video.sources){var video_id=getVideoId(api.video);playPositions[video_id]=0;sawVideo[video_id]=1}},removeAWSSignatures=function(videoURL){return videoURL.replace(/(X-Amz-Algorithm=[^&]+&?)/gm,"").replace(/(X-Amz-Credential=[^&]+&?)/gm,"").replace(/(X-Amz-Date=[^&]+&?)/gm,"").replace(/(X-Amz-Expires=[^&]+&?)/gm,"").replace(/(X-Amz-SignedHeaders=[^&]+&?)/gm,"").replace(/(X-Amz-Signature=[^&]+&?)/gm,"")},sendVideoPositions=function(async,callback){var beaconSupported="sendBeacon"in navigator;if(async!==true){async=false}if(!callback||typeof callback=="undefined"){callback=function(){}}postData=[];for(var video_name in playPositions){if(!playPositions.hasOwnProperty(video_name))continue;postData.push({name:video_name,position:playPositions[video_name],saw:typeof sawVideo[video_name]!="undefined"?sawVideo[video_name]:false})}if(!postData.length){removeCookieKey(tempPositionCookieKeyName);removeCookieKey(tempSawCookieKeyName);return}if(flowplayer.conf.is_logged_in=="1"){if(beaconSupported){try{var temp_position_data={},temp_saw_data={};for(var i in postData){if(!postData.hasOwnProperty(i))continue;temp_position_data[postData[i].name]=postData[i].position;temp_saw_data[postData[i].name]=postData[i].saw}setCookieKey(tempPositionCookieKeyName,getSerialized(temp_position_data));setCookieKey(tempSawCookieKeyName,getSerialized(temp_saw_data))}catch(e){return}var fd=new FormData;fd.append("action","fv_wp_flowplayer_video_position_save");fd.append("videoTimes",encodeURIComponent(JSON.stringify(postData)));navigator.sendBeacon(fv_fp_ajaxurl,fd);return false}else{return jQuery.ajax({type:"POST",async:async,url:fv_fp_ajaxurl,complete:callback,data:{action:"fv_wp_flowplayer_video_position_save",videoTimes:postData}})}}else{try{var data=getCookieKey(cookieKeyName);if(data&&typeof data!=="undefined"){data=JSON.parse(data)}else{data={}}for(var i in postData){if(!postData.hasOwnProperty(i))continue;data[postData[i].name]=postData[i].position}var serialized=JSON.stringify(data),dataSize=getTextByteSize(serialized);if(dataSize>maxCookieSize){while(dataSize>maxCookieSize){for(var i in data){if(!data.hasOwnProperty(i))continue;delete data[i];serialized=JSON.stringify(data);dataSize=getTextByteSize(serialized);break}}}setCookieKey(cookieKeyName,serialized)}catch(e){return}}return false};flowplayer(function(api,root){var $root=jQuery(root),enabled=flowplayer.conf.video_position_save_enable&&$root.data("save-position")!="false"||$root.data("save-position"),progressEventsCount=0,seekIntoPosition=function(e,api){if(api.video&&api.video.live)return;var video_id=getVideoId(api.video),position=api.video.position;api.bind("progress",storeVideoPosition);if(position){seek(position)}else{if(flowplayer.conf.is_logged_in!="1"){var data=getCookieKey(cookieKeyName);if(data&&typeof data!=="undefined"){try{data=JSON.parse(data);if(data[video_id]){seek(data[video_id])}}catch(e){return}}}}},storeVideoPosition=function(e,api){if(api.live){return}if(api.video.sources){var video_id=getVideoId(api.video),position=Math.round(api.video.time);playPositions[video_id]=position;if(progressEventsCount++>=sendPositionsEvery&&flowplayer.conf.closingPage){if(ajaxCall){ajaxCall.abort()}ajaxCall=sendVideoPositions(true,function(){ajaxCall=null});progressEventsCount=0}}},forceSavePosition=function(e,api){var inPlaylist=false;for(var i in api.conf.playlist){if(!api.conf.playlist.hasOwnProperty(i))continue;inPlaylist=true;break}if(inPlaylist&&!flowplayer.conf.closingPage){progressEventsCount=sendPositionsEvery+1;storeVideoPosition(e,api);sendVideoPositions()}},seek=function(position){var seek_count=0;var do_seek=setInterval(function(){if(++seek_count>20)clearInterval(do_seek);if(api.loading)return;api.seek(parseInt(position));clearInterval(do_seek)},10)},processTempData=function(temp_data_name,video_id){var data=getCookieKey(temp_data_name),output=false;if(data&&typeof data!=="undefined"){try{data=JSON.parse(data);if(typeof data[video_id]!="undefined"){output=data[video_id];delete data[video_id];var stillHasData=false;for(var i in data){if(!data.hasOwnProperty(i))continue;stillHasData=true;break}if(stillHasData){setCookieKey(temp_data_name,JSON.stringify(data))}else{removeCookieKey(temp_data_name)}}return output}catch(e){}}};if(!enabled)return;api.bind("finish",removeVideoPosition);if(flowplayer.support.fvmobile){api.one("progress",seekIntoPosition)}else{api.bind("ready",seekIntoPosition)}if(flowplayer.conf.is_logged_in=="1"){var playlist=api.conf.playlist.length>0?api.conf.playlist:[api.conf.clip];for(var i in playlist){if(!playlist.hasOwnProperty(i))continue;var video_id=getVideoId(playlist[i]),position=processTempData(tempPositionCookieKeyName,video_id),saw=processTempData(tempSawCookieKeyName,video_id);if(position){if(api.conf.playlist.length){api.conf.playlist[i].sources[0].position=position}else{api.conf.clip.sources[0].position=position}}if(saw){if(api.conf.playlist.length){api.conf.playlist[i].sources[0].saw=true}else{api.conf.clip.sources[0].saw=true}}}}api.bind("finish",function(e,api){if(api.conf.playlist.length){api.conf.playlist[api.video.index].sources[0].saw=true}else{api.conf.clip.sources[0].saw=true}})});jQuery(window).on("beforeunload pagehide",function(){if(!flowplayer.conf.closingPage){flowplayer.conf.closingPage=true;sendVideoPositions()}});if(localStorageEnabled!==null){return localStorageEnabled}localStorageEnabled=true;try{localStorage.setItem("t","t");if(localStorage.getItem("t")!=="t"){localStorageEnabled=false}localStorage.removeItem("t")}catch(e){localStorageEnabled=false}})(jQuery);flowplayer(function(api,root){root=jQuery(root);if(api.conf.playlist.length==0)return;var real_videos=0;jQuery(api.conf.playlist).each(function(k,v){if(typeof v.click=="undefined"){real_videos++}});if(real_videos<2)return;var playlist=jQuery(".fp-playlist-external[rel="+root.attr("id")+"]");var playlist_button=jQuery('<strong class="fv-fp-list">Item 1.</strong>'),playlist_menu=jQuery('<div class="fp-menu fv-fp-list-menu"></div>').insertAfter(root.find(".fp-controls"));var i=0,item_index=[];jQuery(api.conf.playlist).each(function(k,v){if(typeof v.click=="undefined"){playlist_menu.append('<a data-index="'+k+'">'+(i+1)+". "+parse_title(playlist.find("h4").eq(i))+"</a>");item_index.push(k);i++}});playlist_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(playlist_menu.hasClass("fp-active")){api.hideMenu(playlist_menu[0])}else{root.click();api.showMenu(playlist_menu[0])}});jQuery("a",playlist_menu).click(function(){if(typeof api.conf.playlist[jQuery(this).data("index")-1]!="undefined"&&typeof api.conf.playlist[jQuery(this).data("index")-1].click!="undefined"){api.play(jQuery(this).data("index")-1)}else{api.play(jQuery(this).data("index"))}});api.on("ready",function(e,api,video){playlist_menu.find("a").removeClass("fp-selected");var thumb=playlist_menu.find("a[data-index="+video.index+"]");thumb.addClass("fp-selected");var label=fv_flowplayer_translations.playlist_item_no;label=label.replace(/%d/,item_index.indexOf(api.video.index)+1);label=label.replace(/%s/,parse_title(thumb.find("h4")));playlist_button.html(label)});function parse_title(el){var tmp=el.clone();tmp.find("i.dur").remove();return tmp.text()}});flowplayer(function(api,root){root=jQuery(root);var playlist=api.conf.playlist;var videoIndex;api.bind("ready",function(e,api,video){videoIndex=video.index});api.bind("error",function(e,api,error){setTimeout(function(){if(api.conf.playlist.length>0&&api.error==true){api.error=api.loading=false;root.removeClass("is-error");root.find(".fp-message.fp-shown").remove();if(api.conf.video_checker=="1"&&api.conf.playlist[videoIndex].video_checker.length>0){return false}if(videoIndex>=playlist.length-1){api.play(playlist.length-1)}else{api.play(videoIndex+2);videoIndex+=1}}},1e3)})});flowplayer(function(api,root){root=jQuery(root);var original_prev,original_next,random_seed;if(!root.data("button-no-picture")&&!root.data("button-repeat")&&!root.data("button-rewind"))return;api.bind("ready",function(e,api){if(typeof original_next=="undefined"&&typeof original_prev=="undefined"){original_next=api.next;original_prev=api.prev}if(!api.video.type.match(/^audio/)&&root.data("button-no-picture")&&root.find(".fv-fp-no-picture").length==0){var button_no_picture=jQuery('<span class="fv-fp-no-picture"><svg viewBox="0 0 90 80" width="20px" height="20px" class="fvp-icon fvp-nopicture"><use xlink:href="#fvp-nopicture"></use></svg></span>');button_no_picture.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();jQuery(".fp-engine",root).slideToggle(20);jQuery(this).toggleClass("is-active fp-color-fill")})}if(root.data("button-repeat")){if(api.conf.playlist.length>0&&root.find(".fv-fp-playlist").length==0){var t=fv_flowplayer_translations,playlist_button=jQuery('<strong class="fv-fp-playlist mode-normal"> <svg viewBox="0 0 80.333 80" width="20px" height="20px" class="fvp-icon fvp-replay-list"><title>'+t.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-shuffle"><title>'+t.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><title>'+t.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span id="fvp-playlist-play" title="'+t.playlist_play_all+'">'+t.playlist_play_all_button+"</span> </strong>"),playlist_menu=jQuery('<div class="fp-menu fv-fp-playlist-menu"> <a data-action="repeat_playlist"><svg viewBox="0 0 80.333 80" width="20px" height="20px" class="fvp-icon fvp-replay-list"><title>'+t.playlist_replay_all+'</title><use xlink:href="#fvp-replay-list"></use></svg> <span class="screen-reader-text">'+t.playlist_replay_all+'</span></a> <a data-action="shuffle_playlist"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-shuffle"><title>'+t.playlist_shuffle+'</title><use xlink:href="#fvp-shuffle"></use></svg> <span class="screen-reader-text">'+t.playlist_shuffle+'</span></a> <a data-action="repeat_track"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><title>'+t.playlist_replay_video+'</title><use xlink:href="#fvp-replay-track"></use></svg> <span class="screen-reader-text">'+t.playlist_replay_video+'</span></a> <a class="fp-selected" data-action="normal"><span id="fvp-playlist-play" title="'+t.playlist_play_all+'">'+t.playlist_play_all_button+"</span></a> </div>").insertAfter(root.find(".fp-controls"));api.conf.playlist_shuffle=api.conf.track_repeat=false;random_seed=randomize();var should_advance=api.conf.advance;playlist_button.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();if(playlist_menu.css("right")!=="auto"){playlist_menu.css({right:"auto",left:playlist_button.position().left+"px"})}if(playlist_menu.hasClass("fp-active")){api.hideMenu(playlist_menu[0])}else{root.click();api.showMenu(playlist_menu[0])}});jQuery("a",playlist_menu).click(function(){jQuery(this).siblings("a").removeClass("fp-selected");jQuery(this).addClass("fp-selected");playlist_button.removeClass("mode-normal mode-repeat-track mode-repeat-playlist mode-shuffle-playlist");var action=jQuery(this).data("action");if(action=="repeat_playlist"){playlist_button.addClass("mode-repeat-playlist");api.conf.loop=true;api.conf.advance=true;api.video.loop=api.conf.track_repeat=false;api.conf.playlist_shuffle=false}else if(action=="shuffle_playlist"){playlist_button.addClass("mode-shuffle-playlist");api.conf.loop=true;api.conf.advance=true;api.conf.playlist_shuffle=true}else if(action=="repeat_track"){playlist_button.addClass("mode-repeat-track");api.conf.track_repeat=api.video.loop=true;api.conf.loop=api.conf.playlist_shuffle=false}else if(action=="normal"){playlist_button.addClass("mode-normal");api.conf.track_repeat=api.video.loop=false;api.conf.loop=api.conf.playlist_shuffle=false}if(api.conf.playlist_shuffle){api.next=function(){api.play(random_seed.pop());if(random_seed.length==0)random_seed=randomize()};api.prev=function(){api.play(random_seed.shift());if(random_seed.length==0)random_seed=randomize()}}else{api.next=original_next;api.prev=original_prev}});if(api.conf.loop){jQuery("a[data-action=repeat_playlist]",playlist_menu).click()}api.on("progress",function(){api.video.loop=api.conf.track_repeat});api.on("finish.pl",function(e,api){console.log("playlist_repeat",api.conf.loop,"advance",api.conf.advance,"video.loop",api.video.loop);if(api.conf.playlist_shuffle){api.play(random_seed.pop());if(random_seed.length==0)random_seed=randomize()}})}else if(root.find(".fv-fp-track-repeat").length==0&&api.conf.playlist.length==0){var button_track_repeat=jQuery('<strong class="fv-fp-track-repeat"><svg viewBox="0 0 80.333 71" width="20px" height="20px" class="fvp-icon fvp-replay-track"><use xlink:href="#fvp-replay-track"></use></svg></strong>');button_track_repeat.insertAfter(root.find(".fp-controls .fp-volume")).click(function(e){e.preventDefault();e.stopPropagation();jQuery(this).toggleClass("is-active fp-color-fill",api.video.loop);if(api.video.loop){api.video.loop=false}else{api.video.loop=true}});if(api.conf.loop){button_track_repeat.addClass("is-active fp-color-fill")}}}if(root.data("button-rewind")&&root.find(".fv-fp-rewind").length==0){var button_rewind=jQuery('<span class="fv-fp-rewind"><svg viewBox="0 0 24 24" width="24px" height="24px" class="fvp-icon fvp-rewind"><use xlink:href="#fvp-rewind"></use></svg></span>');button_rewind.insertBefore(root.find(".fp-controls .fp-elapsed")).click(function(e){e.preventDefault();e.stopPropagation();api.seek(api.video.time-10)});button_rewind.toggle(!api.video.live)}}).bind("finish",function(){var finished_at=api.video.time;if(api.video.loop){api.one("pause",function(){if(finished_at<=api.video.time){api.resume()}})}}).bind("unload",function(){root.find(".fv-fp-no-picture").remove();root.find(".fv-fp-playlist").remove();root.find(".fv-fp-track-repeat").remove()});function array_shuffle(a){var j,x,i;for(i=a.length;i;i--){j=Math.floor(Math.random()*i);x=a[i-1];a[i-1]=a[j];a[j]=x}return a}function randomize(random_seed){random_seed=[];jQuery(api.conf.playlist).each(function(k,v){random_seed.push(k)});random_seed=array_shuffle(random_seed);console.log("FV Player Randomizer random seed:",random_seed);return random_seed}});flowplayer(function(api,root){var $root=jQuery(root),start_index=$root.data("playlist_start");if(typeof start_index=="undefined")return;function start_position_changer(){if($root.data("position_changed")!==1&&api.conf.playlist.length){start_index--;api.play(start_index);$root.data("position_changed",1)}}api.bind("unload",function(){start_index=$root.data("playlist_start");$root.removeData("position_changed");api.one("ready",start_position_changer);api.video.index=0});api.one("ready",start_position_changer);jQuery(".fp-ui",root).on("click",function(){start_position_changer();$root.data("position_changed",1)})});function fv_flowplayer_amazon_s3(hash,time){jQuery("#wpfp_"+hash).bind("error",function(e,api,error){var fv_fp_date=new Date;if(error.code==4&&fv_fp_date.getTime()>fv_fp_utime+parseInt(time)){jQuery(e.target).find(".fp-message").delay(500).queue(function(n){jQuery(this).html(fv_flowplayer_translations.video_expired);n()})}})}flowplayer(function(api,root){root=jQuery(root);root.find(".fp-logo").removeAttr("href");if(root.hasClass("no-controlbar")){var timelineApi=api.sliders.timeline;timelineApi.disable(true);api.bind("ready",function(){timelineApi.disable(true)})}jQuery(".fvfp_admin_error",root).remove();root.find(".fp-logo, .fp-header").click(function(e){if(e.target!==this)return;root.find(".fp-ui").click()});jQuery(".fvp-share-bar .sharing-facebook",root).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Facebook</title><path d="M11.9 5.2l-2.6 0 0-1.6c0-0.7 0.3-0.7 0.7-0.7 0.3 0 1.6 0 1.6 0l0-2.9 -2.3 0c-2.6 0-3.3 2-3.3 3.3l0 2 -1.6 0 0 2.9 1.6 0c0 3.6 0 7.8 0 7.8l3.3 0c0 0 0-4.2 0-7.8l2.3 0 0.3-2.9Z"/></svg>');jQuery(".fvp-share-bar .sharing-twitter",root).append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="#fff"><title>Twitter</title><path d="M16 3.1c-0.6 0.3-1.2 0.4-1.9 0.5 0.7-0.4 1.2-1 1.4-1.8 -0.6 0.4-1.3 0.6-2.1 0.8 -0.6-0.6-1.4-1-2.4-1 -2 0.1-3.2 1.6-3.2 4 -2.7-0.1-5.1-1.4-6.7-3.4 -0.9 1.4 0.2 3.8 1 4.4 -0.5 0-1-0.1-1.5-0.4l0 0.1c0 1.6 1.1 2.9 2.6 3.2 -0.7 0.2-1.3 0.1-1.5 0.1 0.4 1.3 1.6 2.2 3 2.3 -1.6 1.7-4.6 1.4-4.8 1.3 1.4 0.9 3.2 1.4 5 1.4 6 0 9.3-5 9.3-9.3 0-0.1 0-0.3 0-0.4 0.6-0.4 1.2-1 1.6-1.7Z"/></svg>');jQuery(".fvp-share-bar .sharing-email",root).append('<svg xmlns="http://www.w3.org/2000/svg" height="16" viewBox="0 0 16 16" width="16" fill="#fff"><title>Email</title><path d="M8 10c0 0 0 0-1 0L0 6v7c0 1 0 1 1 1h14c1 0 1 0 1-1V6L9 10C9 10 8 10 8 10zM15 2H1C0 2 0 2 0 3v1l8 4 8-4V3C16 2 16 2 15 2z"/></svg>');jQuery(".fp-header",root).prepend(jQuery(".fvp-share-bar",root));if(api.conf.playlist.length){var show=true;var playlist=api.conf.playlist;if(playlist.length==2){if(typeof playlist[0].click!="undefined"&&typeof playlist[1].click=="undefined"){show=false}if(typeof playlist[0].click=="undefined"&&typeof playlist[1].click!="undefined"){show=false}}else if(playlist.length==3){if(typeof playlist[0].click!="undefined"&&typeof playlist[1].click=="undefined"&&typeof playlist[2].click!="undefined"){show=false}}if(show){var prev=jQuery('<a class="fp-icon fv-fp-prevbtn"></a>');var next=jQuery('<a class="fp-icon fv-fp-nextbtn"></a>');root.find(".fp-controls .fp-playbtn").before(prev).after(next);prev.click(function(){api.trigger("prev",[api]);api.prev()});next.click(function(){api.trigger("next",[api]);api.next()})}}api.bind("pause resume finish unload ready",function(e,api){root.addClass("no-brand")});api.one("ready",function(){root.find(".fp-fullscreen").clone().appendTo(root.find(".fp-controls"))});api.bind("ready",function(e,api,video){setTimeout(function(){jQuery(".fvp-share-bar",root).show();jQuery(".fv-player-buttons-wrap",root).appendTo(jQuery(".fv-player-buttons-wrap",root).parent().find(".fp-ui"))},100)});api.bind("finish",function(){var url=root.data("fv_redirect");if(url&&(typeof api.video.is_last=="undefined"||api.video.is_last)){location.href=url}});if(flowplayer.support.iOS&&flowplayer.support.iOS.version==11){api.bind("error",function(e,api,error){if(error.code==4)root.find(".fp-engine").hide()})}jQuery(document).on("contextmenu",".flowplayer",function(e){e.preventDefault()});api.one("ready",function(e,api,video){root.find(".fp-chromecast").insertAfter(root.find(".fp-header .fp-fullscreen"))});root.find(".fp-waiting").html('<div class="fp-preload"><b></b><b></b><b></b><b></b></div>');if(!flowplayer.support.fullscreen){var id=root.attr("id"),alternative=!flowplayer.conf.native_fullscreen&&flowplayer.conf.mobile_alternative_fullscreen;api.bind("fullscreen",function(e,api){jQuery("#wpadminbar, .nc_wrapper").hide();if(alternative){if(api.video.type=="video/youtube")return;root.before('<span data-fv-placeholder="'+id+'"></span>');root.appendTo("body")}});api.bind("fullscreen-exit",function(e,api,video){jQuery("#wpadminbar, .nc_wrapper").show();if(alternative)jQuery("span[data-fv-placeholder="+id+"]").replaceWith(root)})}});(function(){var extension=function(flowplayer){flowplayer(function(api,root){if(!jQuery(root).data("speedb"))return;var support=flowplayer.support;if(!support.video||!support.inlineVideo)return;var common=flowplayer.common,bean=flowplayer.bean,ui=common.find(".fp-ui",root)[0],controlbar=common.find(".fp-controls",ui)[0],speeds=api.conf.speeds;bean.on(root,"click",".fp-speed",function(){var menu=common.find(".fp-speed-menu",root)[0];if(common.hasClass(menu,"fp-active"))api.hideMenu();else api.showMenu(menu)});bean.on(root,"click",".fp-speed-menu a",function(ev){var s=ev.target.getAttribute("data-speed");api.speed(s)});api.on("speed",function(ev,_a,rate){if(speeds.length>1){selectSpeed(rate)}}).on("ready",function(ev,api){removeMenu();if(flowplayer.support.android&&api.engine.engineName=="html5"&&api.video.type=="application/x-mpegurl")return;speeds=api.conf.speeds;if(speeds.length>1){createMenu()}});function removeMenu(){common.find(".fp-speed-menu",root).forEach(common.removeNode);common.find(".fp-speed",root).forEach(common.removeNode)}function round(val){return Math.round(val*100)/100}function createMenu(){controlbar.appendChild(common.createElement("strong",{className:"fp-speed"},api.currentSpeed+"x"));var menu=common.createElement("div",{className:"fp-menu fp-speed-menu",css:{width:"auto"}},"<strong>Speed</strong>");speeds.forEach(function(s){var a=common.createElement("a",{"data-speed":round(s)},round(s)+"x");menu.appendChild(a)});ui.appendChild(menu);selectSpeed(api.currentSpeed)}function selectSpeed(rate){common.find(".fp-speed",root)[0].innerHTML=rate+"x";common.find(".fp-speed-menu a",root).forEach(function(el){common.toggleClass(el,"fp-selected",el.getAttribute("data-speed")==rate);common.toggleClass(el,"fp-color",el.getAttribute("data-speed")==rate)})}})};if(typeof module==="object"&&module.exports)module.exports=extension;else if(typeof window.flowplayer==="function")extension(window.flowplayer)})();flowplayer(function(api,root){api.on("speed",function(ev,_a,rate){try{window.localStorage.fv_player_speed=rate}catch(e){}});api.on("ready",function(){if(window.localStorage.fv_player_speed&&jQuery(root).find("strong.fp-speed").is(":visible")){api.speed(parseFloat(window.localStorage.fv_player_speed))}if(jQuery(root).data("volume")==0){api.mute(true,true)}})});flowplayer(function(api,root){root=jQuery(root);if(!api.conf.fv_stats||!api.conf.fv_stats.enabled&&(!root.data("fv_stats")||root.data("fv_stats")=="no"))return;api.on("ready",function(e,api){api.one("progress",function(e,api){if(api.video.id){jQuery.post(api.conf.fv_stats.url,{blog_id:api.conf.fv_stats.blog_id,tag:"play",video_id:api.video.id})}})})});flowplayer(function(api,root){var $root=jQuery(root);var $playerDiv=$root.find(".fp-player");var sticky=$root.data("fvsticky");var globalSticky=false;var videoRatio=$root.data("ratio");if(typeof videoRatio=="undefined"){videoRatio=.5625}if(flowplayer.conf.sticky_video==1&&typeof sticky=="undefined"){globalSticky=true}if(globalSticky||sticky){if(flowplayer.support.firstframe){var stickyPlace=flowplayer.conf.sticky_place;var stickyWidth=flowplayer.conf.sticky_width;if(stickyWidth==""){stickyWidth=380}var stickyHeight=stickyWidth*videoRatio;fv_player_sticky_video()}else{return}}function fv_player_sticky_video(){var change=false;var $window=jQuery(window),$flowplayerDiv=$root,top=$flowplayerDiv.offset().top,offset=Math.floor(top+$flowplayerDiv.outerHeight()/2);api.on("ready",function(){change=true});api.on("progress",function(){change=true});api.on("unload",function(){change=false;fv_player_sticky_class_remove();$root.removeClass("is-unSticky")});$window.on("resize",function(){top=$flowplayerDiv.offset().top;offset=Math.floor(top+$flowplayerDiv.outerHeight()/2)}).on("scroll",function(){top=$flowplayerDiv.offset().top;offset=Math.floor(top+$flowplayerDiv.outerHeight()/2);if($window.scrollTop()>offset&&change){if(jQuery("div.flowplayer.is-unSticky").length>0){console.log("unSticky",jQuery("div.flowplayer.is-unSticky").length);return false}else{fv_player_sticky_class_add()}}else{fv_player_sticky_class_remove();change=false}})}function fv_player_sticky_class_add(){if($playerDiv.hasClass("is-sticky-"+stickyPlace)){return}else{$playerDiv.addClass("is-sticky-"+stickyPlace);if($root.find("a.fp-sticky").length==0){$root.find("div.fp-header").prepend('<a class="fp-sticky fp-icon"></a>')}$playerDiv.css("width",stickyWidth);$playerDiv.css("height",stickyHeight);$playerDiv.css("max-height",stickyHeight)}$playerDiv.parent(".flowplayer").addClass("is-stickable")}function fv_player_sticky_class_remove(){$playerDiv.removeClass("is-sticky-"+stickyPlace);$playerDiv.css("width","");$playerDiv.css("height","");$playerDiv.css("max-height","");$playerDiv.parent(".flowplayer").removeClass("is-stickable")}});jQuery(function($){$(document).on("click","a.fp-sticky",function(){$("div.flowplayer.is-stickable").addClass("is-unSticky");var $playerDiv=$("div.flowplayer.is-stickable").find(".fp-player");$playerDiv.removeClass("is-sticky-right-bottom");$playerDiv.removeClass("is-sticky-left-bottom");$playerDiv.removeClass("is-sticky-right-top");$playerDiv.removeClass("is-sticky-left-top");$playerDiv.css("width","");$playerDiv.css("height","");$playerDiv.css("max-height","")});$(document).on("click","div.flowplayer.is-unSticky",function(){$("div.flowplayer").removeClass("is-unSticky")})});flowplayer(function(api,root){root=jQuery(root);api.on("ready",function(e,api,video){if(window.localStorage.fv_player_subtitle&&root.find("strong.fp-cc").is(":visible")){if(api.video.subtitles.length){api.video.subtitles.forEach(function(item,index){if(item.srclang===window.localStorage.fv_player_subtitle){api.loadSubtitles(index)}})}}root.find(".fp-subtitle-menu").click(function(e){if(typeof e.target.getAttribute("data-subtitle-index")=="string"&&e.target.getAttribute("data-subtitle-index").length){try{window.localStorage.fv_player_subtitle=api.video.subtitles[e.target.getAttribute("data-subtitle-index")].srclang}catch(e){}}})})});flowplayer(function(api,root){root=jQuery(root);var currentPoint,check=false;api.bind("cuepoint",function(e,api,cue){check=false;if(cue.subtitle){currentPoint=cue.index}});root.on("click",".fp-subtitle-menu a[data-subtitle-index]",function(e){if(jQuery(this).data("subtitle-index")>-1){check=true;api.on("progress",time_check)}});function time_check(e,api,time){if(check){(api.cuepoints||[]).forEach(function(cue,index){var entry=cue.subtitle;if(entry&¤tPoint!=index){if(time>=cue.time&&(!entry.endTime||time<=entry.endTime)){api.trigger("cuepoint",[api,cue])}}})}}});if(typeof flowplayer!=="undefined"&&typeof fv_flowplayer_conf!="undefined"&&fv_flowplayer_conf.video_hash_links){flowplayer(function(api,root){if(jQuery(root).find(".sharing-link").length>0){api.on("progress",function(e,api){if(!api.video.sources||!api.video.sources[0]){return}var hash=fv_player_get_video_link_hash(api);var sTime=","+fv_player_time_hms(api.video.time);jQuery(".fvp-sharing>li>a",root).each(function(){jQuery(this).attr("href",jQuery(this).attr("href").replace(/%23.*/,"")+"%23"+hash)});jQuery(".sharing-link",root).attr("href",jQuery(".sharing-link",root).attr("href").replace(/#.*/,"")+"#"+hash+sTime)});jQuery(".sharing-link",root).click(function(e){fv_player_clipboard(jQuery(this).attr("href"),function(){e.preventDefault();fv_player_notice(root,fv_flowplayer_translations.link_copied,2e3)})})}});jQuery(document).on("click",'a[href*="fvp_"]',function(){var link=jQuery(this);setTimeout(function(){if(link.parents(".fvp-share-bar").length==0)fv_autoplay_exec()})})}flowplayer(function(api,root){root=jQuery(root);var bean=flowplayer.bean;var restore=-1;root.on("click",".fp-volumebtn",function(e){if(api.volumeLevel==0&&restore!=-1){api.volume(restore);return false}});root.on("mousedown touchstart mouseup touchend",".fp-volumebar",function(e){if(api.volumeLevel!=0){restore=api.volumeLevel}});root.on("mousedown touchstart",".fp-volumebtn",function(e){if(api.volumeLevel>0){restore=-1}});api.on("volume",function(e,api){if(root.hasClass("is-mouseover")&&!api.muted){if(api.volumeLevel==0){bean.off(flowplayer.support.touch?root:document,"mousemove.sld touchmove.sld");api.mute(true)}}})});if(typeof flowplayer!="undefined"){flowplayer(function(api,root){root=jQuery(root);if(navigator.userAgent.match(/iPhone.* OS [0-6]_/i)){api.one("progress",function(e){if(typeof api.video.subtitles!=="undefined"&&api.video.subtitles.length){fv_player_warning(root,fv_flowplayer_translations.warning_iphone_subs)}})}if(flowplayer.support.android&&flowplayer.support.android.version<5&&(flowplayer.support.android.samsung||flowplayer.support.browser.safari)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox")}if(/Android 4/.test(navigator.userAgent)&&!/Firefox/.test(navigator.userAgent)){api.on("ready",function(e,api,video){setTimeout(function(){if(video.src&&video.src.match(/fpdl.vimeocdn.com/)&&(video.time==0||video.time==1)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox");api.on("progress",function(e,api){root.prev().find(".fv-player-warning-firefox").remove()})}},1500)});api.on("error",function(e,api,error){if(error.MEDIA_ERR_NETWORK==2&&error.video.src.match(/fpdl.vimeocdn.com/)){fv_player_warning(root,fv_flowplayer_translations.warning_unstable_android,"firefox")}})}if(/Safari/.test(navigator.userAgent)&&/Version\/5/.test(navigator.userAgent)){api.on("error",function(e,api,error){if(error.video.src.match(/fpdl.vimeocdn.com/)){fv_player_warning(root,fv_flowplayer_translations.warning_old_safari)}})}var sup=flowplayer.support;if(sup.android&&(sup.android.samsung&&parseInt(sup.browser.version)<66||sup.browser.safari)){api.on("error",function(e,api,error){fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser,"warning_samsungbrowser")})}});function fv_player_warning(root,warning,classname){var wrapper=jQuery(root).prev(".fv-player-warning-wrapper");if(wrapper.length==0){jQuery(root).before('<div class="fv-player-warning-wrapper">');wrapper=jQuery(root).prev(".fv-player-warning-wrapper")}if(wrapper.find(".fv-player-warning-"+classname).length==0){var latest=jQuery("<p style='display: none' "+(classname?" class='fv-player-warning-"+classname+"'":"")+">"+warning+"</p>");wrapper.append(latest);latest.slideDown()}}}
|
flowplayer/modules/compatibility.module.js
CHANGED
@@ -116,7 +116,7 @@ if( isIE11 ) {
|
|
116 |
/*
|
117 |
* IE < 9 - disabling responsiveness
|
118 |
*/
|
119 |
-
if(
|
120 |
jQuery('.flowplayer').each( function() {
|
121 |
jQuery(this).css('width', jQuery(this).css('max-width'));
|
122 |
jQuery(this).css('height', jQuery(this).css('max-height'));
|
116 |
/*
|
117 |
* IE < 9 - disabling responsiveness
|
118 |
*/
|
119 |
+
if( flowplayer.support.browser && flowplayer.support.browser.msie && parseInt(flowplayer.support.browser.version, 10) < 9 ) {
|
120 |
jQuery('.flowplayer').each( function() {
|
121 |
jQuery(this).css('width', jQuery(this).css('max-width'));
|
122 |
jQuery(this).css('height', jQuery(this).css('max-height'));
|
flowplayer/modules/hls-live-check.module.js
CHANGED
@@ -3,10 +3,20 @@ If there is an error in live stream, it shows a special message and reload the s
|
|
3 |
*/
|
4 |
|
5 |
flowplayer( function(api,root) {
|
6 |
-
|
7 |
var initialDelay = 30,
|
8 |
timer;
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
api.conf.flashls = {
|
11 |
// limit amount of retries to load hls manifests in Flash
|
12 |
manifestloadmaxretry: 2
|
@@ -17,8 +27,17 @@ flowplayer( function(api,root) {
|
|
17 |
// whitelisting Vimeo Event URLs used by FV Player Vimeo Live Streaming
|
18 |
if( !api.conf.clip.live && !api.conf.live && !err.video.src.match(/\/\/vimeo.com\/event\//) ) return;
|
19 |
|
20 |
-
var delay =
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
clearInterval(timer);
|
24 |
|
@@ -35,10 +54,14 @@ flowplayer( function(api,root) {
|
|
35 |
var messageElement = root.querySelector(".fp-ui .fp-message");
|
36 |
messageElement.innerHTML = message;
|
37 |
|
|
|
|
|
|
|
38 |
timer = setInterval(function () {
|
|
|
39 |
delay -= 1;
|
40 |
|
41 |
-
if (
|
42 |
messageElement.querySelector("span").innerHTML = secondsToDhms(delay);
|
43 |
} else {
|
44 |
clearInterval(timer);
|
@@ -62,12 +85,20 @@ flowplayer( function(api,root) {
|
|
62 |
var h = Math.floor(seconds % (3600*24) / 3600);
|
63 |
var m = Math.floor(seconds % 3600 / 60);
|
64 |
var s = Math.floor(seconds % 60);
|
65 |
-
|
66 |
-
|
67 |
-
var
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
|
73 |
});
|
3 |
*/
|
4 |
|
5 |
flowplayer( function(api,root) {
|
|
|
6 |
var initialDelay = 30,
|
7 |
timer;
|
8 |
|
9 |
+
// clear interval, error + unload allowing the player to be clicked to play again
|
10 |
+
api.clearLiveStreamCountdown = function() {
|
11 |
+
if( timer ) {
|
12 |
+
clearInterval(timer);
|
13 |
+
api.error = api.loading = false;
|
14 |
+
jQuery(root).removeClass('is-error');
|
15 |
+
jQuery(root).find('.fp-message.fp-shown').remove();
|
16 |
+
api.unload();
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
api.conf.flashls = {
|
21 |
// limit amount of retries to load hls manifests in Flash
|
22 |
manifestloadmaxretry: 2
|
27 |
// whitelisting Vimeo Event URLs used by FV Player Vimeo Live Streaming
|
28 |
if( !api.conf.clip.live && !api.conf.live && !err.video.src.match(/\/\/vimeo.com\/event\//) ) return;
|
29 |
|
30 |
+
var delay = initialDelay;
|
31 |
+
if( api.conf.clip.streaming_time ) {
|
32 |
+
delay = api.conf.clip.streaming_time - Math.floor( Date.now()/1000 );
|
33 |
+
} else if( api.conf.clip.live_starts_in ) {
|
34 |
+
delay = api.conf.clip.live_starts_in;
|
35 |
+
}
|
36 |
+
|
37 |
+
var startLabel = fv_flowplayer_translations.live_stream_starting.replace( /%d/, secondsToDhms(delay) );
|
38 |
+
var retryLabel = fv_flowplayer_translations.live_stream_retry.replace( /%d/, secondsToDhms(delay) );
|
39 |
+
|
40 |
+
var message = api.conf.clip.live_starts_in ? startLabel : retryLabel;
|
41 |
|
42 |
clearInterval(timer);
|
43 |
|
54 |
var messageElement = root.querySelector(".fp-ui .fp-message");
|
55 |
messageElement.innerHTML = message;
|
56 |
|
57 |
+
// do not use too big waiting time, what if the stream is re-scheduled
|
58 |
+
var reload_delay = delay > 300 ? 300 : delay;
|
59 |
+
|
60 |
timer = setInterval(function () {
|
61 |
+
reload_delay -= 1;
|
62 |
delay -= 1;
|
63 |
|
64 |
+
if (reload_delay > 0 && messageElement) {
|
65 |
messageElement.querySelector("span").innerHTML = secondsToDhms(delay);
|
66 |
} else {
|
67 |
clearInterval(timer);
|
85 |
var h = Math.floor(seconds % (3600*24) / 3600);
|
86 |
var m = Math.floor(seconds % 3600 / 60);
|
87 |
var s = Math.floor(seconds % 60);
|
88 |
+
var t = fv_flowplayer_translations;
|
89 |
+
|
90 |
+
var output = d > 0 ? (d == 1 ? t.duration_1_day.replace(/%s/,d) : t.duration_n_days.replace(/%s/,d) ) : "";
|
91 |
+
if( output && h > 0 ) output += ", ";
|
92 |
+
output += h > 0 ? (h == 1 ? t.duration_1_hour.replace(/%s/,h) : t.duration_n_hours.replace(/%s/,h) ) : "";
|
93 |
+
if( output && m > 0 ) output += ", ";
|
94 |
+
output += m > 0 ? (m == 1 ? t.duration_1_minute.replace(/%s/,m) : t.duration_n_minutes.replace(/%s/,m) ) : "";
|
95 |
+
if( output && s > 0 ) output += " and ";
|
96 |
+
output += s > 0 ? (s == 1 ? t.duration_1_second.replace(/%s/,s) : t.duration_n_seconds.replace(/%s/,s) ) : "";
|
97 |
+
|
98 |
+
|
99 |
+
console.log(output);
|
100 |
+
|
101 |
+
return output;
|
102 |
}
|
103 |
|
104 |
});
|
flowplayer/modules/multiple-playback.module.js
CHANGED
@@ -18,23 +18,25 @@ flowplayer( function(api,root) {
|
|
18 |
});
|
19 |
|
20 |
// on iOS only one audible video can play at a time, so we must mute the other players
|
21 |
-
api.on('
|
22 |
-
var
|
23 |
-
is_muted = root.data('volume') == 0;
|
24 |
|
25 |
if( !is_muted ) {
|
26 |
// we go through all the players to mute them all
|
27 |
jQuery('.flowplayer[data-flowplayer-instance-id]').each( function() {
|
28 |
|
29 |
-
// we must skip the current player, as the
|
30 |
// like for example when you switch to another video in playlist
|
31 |
-
|
32 |
-
if( current_instance_id == flowplayer.audible_instance ) return;
|
33 |
|
34 |
var player = jQuery(this).data('flowplayer');
|
35 |
|
36 |
-
if( player
|
37 |
-
player.
|
|
|
|
|
|
|
|
|
38 |
}
|
39 |
});
|
40 |
|
18 |
});
|
19 |
|
20 |
// on iOS only one audible video can play at a time, so we must mute the other players
|
21 |
+
api.on('ready', function() { // using ready event to making sure other players are muted only if the video actually loads
|
22 |
+
var is_muted = root.data('volume') == 0;
|
|
|
23 |
|
24 |
if( !is_muted ) {
|
25 |
// we go through all the players to mute them all
|
26 |
jQuery('.flowplayer[data-flowplayer-instance-id]').each( function() {
|
27 |
|
28 |
+
// we must skip the current player, as the ready event can occur multiple times
|
29 |
// like for example when you switch to another video in playlist
|
30 |
+
if( instance_id == jQuery(this).data('flowplayer-instance-id') || instance_id == flowplayer.audible_instance ) return;
|
|
|
31 |
|
32 |
var player = jQuery(this).data('flowplayer');
|
33 |
|
34 |
+
if( player ) {
|
35 |
+
if(player.playing) {
|
36 |
+
player.mute(true,true);
|
37 |
+
} else {
|
38 |
+
player.clearLiveStreamCountdown(); // if not playing stop countdown and unload if other video plays
|
39 |
+
}
|
40 |
}
|
41 |
});
|
42 |
|
flowplayer/modules/old-browsers.module.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
function fv_flowplayer_browser_ff_m4v( hash ) {
|
2 |
-
if(
|
3 |
jQuery('#wpfp_'+hash).attr('data-engine','flash');
|
4 |
}
|
5 |
}
|
@@ -40,7 +40,7 @@ if( typeof(fv_flowplayer_browser_chrome_fail_array) != "undefined" ) {
|
|
40 |
}
|
41 |
|
42 |
function fv_flowplayer_browser_ie( hash ) {
|
43 |
-
if( (
|
44 |
jQuery('#wpfp_'+hash).attr('data-engine','flash');
|
45 |
}
|
46 |
}
|
1 |
function fv_flowplayer_browser_ff_m4v( hash ) {
|
2 |
+
if( flowplayer.support.browser && flowplayer.support.browser.mozilla && navigator.appVersion.indexOf("Win")!=-1 ) {
|
3 |
jQuery('#wpfp_'+hash).attr('data-engine','flash');
|
4 |
}
|
5 |
}
|
40 |
}
|
41 |
|
42 |
function fv_flowplayer_browser_ie( hash ) {
|
43 |
+
if( ( flowplayer.support.browser && flowplayer.support.browser.msie && parseInt(flowplayer.support.browser.version, 10) >= 9) || !!navigator.userAgent.match(/Trident.*rv[ :]*11\./) ) {
|
44 |
jQuery('#wpfp_'+hash).attr('data-engine','flash');
|
45 |
}
|
46 |
}
|
includes/aws/Aws/Api/DateTimeResult.php
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Api;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* DateTime overrides that make DateTime work more seamlessly as a string,
|
6 |
-
* with JSON documents, and with JMESPath.
|
7 |
-
*/
|
8 |
-
class DateTimeResult extends \DateTime implements \JsonSerializable
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
* Create a new DateTimeResult from a unix timestamp.
|
12 |
-
*
|
13 |
-
* @param $unixTimestamp
|
14 |
-
*
|
15 |
-
* @return DateTimeResult
|
16 |
-
*/
|
17 |
-
public static function fromEpoch($unixTimestamp)
|
18 |
-
{
|
19 |
-
return new self(gmdate('c', $unixTimestamp));
|
20 |
-
}
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Serialize the DateTimeResult as an ISO 8601 date string.
|
24 |
-
*
|
25 |
-
* @return string
|
26 |
-
*/
|
27 |
-
public function __toString()
|
28 |
-
{
|
29 |
-
return $this->format('c');
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Serialize the date as an ISO 8601 date when serializing as JSON.
|
34 |
-
*
|
35 |
-
* @return mixed|string
|
36 |
-
*/
|
37 |
-
public function jsonSerialize()
|
38 |
-
{
|
39 |
-
return (string) $this;
|
40 |
-
}
|
41 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Api/ErrorParser/XmlErrorParser.php
DELETED
@@ -1,82 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Api\ErrorParser;
|
3 |
-
|
4 |
-
use Aws\Api\Parser\PayloadParserTrait;
|
5 |
-
use Psr\Http\Message\ResponseInterface;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Parses XML errors.
|
9 |
-
*/
|
10 |
-
class XmlErrorParser
|
11 |
-
{
|
12 |
-
use PayloadParserTrait;
|
13 |
-
|
14 |
-
public function __invoke(ResponseInterface $response)
|
15 |
-
{
|
16 |
-
$code = (string) $response->getStatusCode();
|
17 |
-
|
18 |
-
$data = [
|
19 |
-
'type' => $code[0] == '4' ? 'client' : 'server',
|
20 |
-
'request_id' => null,
|
21 |
-
'code' => null,
|
22 |
-
'message' => null,
|
23 |
-
'parsed' => null
|
24 |
-
];
|
25 |
-
|
26 |
-
$body = $response->getBody();
|
27 |
-
if ($body->getSize() > 0) {
|
28 |
-
$this->parseBody($this->parseXml($body), $data);
|
29 |
-
} else {
|
30 |
-
$this->parseHeaders($response, $data);
|
31 |
-
}
|
32 |
-
|
33 |
-
return $data;
|
34 |
-
}
|
35 |
-
|
36 |
-
private function parseHeaders(ResponseInterface $response, array &$data)
|
37 |
-
{
|
38 |
-
if ($response->getStatusCode() == '404') {
|
39 |
-
$data['code'] = 'NotFound';
|
40 |
-
}
|
41 |
-
|
42 |
-
$data['message'] = $response->getStatusCode() . ' '
|
43 |
-
. $response->getReasonPhrase();
|
44 |
-
|
45 |
-
if ($requestId = $response->getHeaderLine('x-amz-request-id')) {
|
46 |
-
$data['request_id'] = $requestId;
|
47 |
-
$data['message'] .= " (Request-ID: $requestId)";
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
private function parseBody(\SimpleXMLElement $body, array &$data)
|
52 |
-
{
|
53 |
-
$data['parsed'] = $body;
|
54 |
-
|
55 |
-
$namespaces = $body->getDocNamespaces();
|
56 |
-
if (!isset($namespaces[''])) {
|
57 |
-
$prefix = '';
|
58 |
-
} else {
|
59 |
-
// Account for the default namespace being defined and PHP not
|
60 |
-
// being able to handle it :(.
|
61 |
-
$body->registerXPathNamespace('ns', $namespaces['']);
|
62 |
-
$prefix = 'ns:';
|
63 |
-
}
|
64 |
-
|
65 |
-
if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
|
66 |
-
$data['code'] = (string) $tempXml[0];
|
67 |
-
}
|
68 |
-
|
69 |
-
if ($tempXml = $body->xpath("//{$prefix}Message[1]")) {
|
70 |
-
$data['message'] = (string) $tempXml[0];
|
71 |
-
}
|
72 |
-
|
73 |
-
$tempXml = $body->xpath("//{$prefix}RequestId[1]");
|
74 |
-
if (empty($tempXml)) {
|
75 |
-
$tempXml = $body->xpath("//{$prefix}RequestID[1]");
|
76 |
-
}
|
77 |
-
|
78 |
-
if (isset($tempXml[0])) {
|
79 |
-
$data['request_id'] = (string) $tempXml[0];
|
80 |
-
}
|
81 |
-
}
|
82 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Api/Parser/Exception/ParserException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Api\Parser\Exception;
|
3 |
-
|
4 |
-
class ParserException extends \RuntimeException {}
|
|
|
|
|
|
|
|
includes/aws/Aws/CloudFront/CloudFrontClient.php
DELETED
@@ -1,142 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\CloudFront;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* This client is used to interact with the **Amazon CloudFront** service.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result createCloudFrontOriginAccessIdentity(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise createCloudFrontOriginAccessIdentityAsync(array $args = [])
|
11 |
-
* @method \Aws\Result createDistribution(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise createDistributionAsync(array $args = [])
|
13 |
-
* @method \Aws\Result createInvalidation(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise createInvalidationAsync(array $args = [])
|
15 |
-
* @method \Aws\Result createStreamingDistribution(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise createStreamingDistributionAsync(array $args = [])
|
17 |
-
* @method \Aws\Result deleteCloudFrontOriginAccessIdentity(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise deleteCloudFrontOriginAccessIdentityAsync(array $args = [])
|
19 |
-
* @method \Aws\Result deleteDistribution(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise deleteDistributionAsync(array $args = [])
|
21 |
-
* @method \Aws\Result deleteStreamingDistribution(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise deleteStreamingDistributionAsync(array $args = [])
|
23 |
-
* @method \Aws\Result getCloudFrontOriginAccessIdentity(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityAsync(array $args = [])
|
25 |
-
* @method \Aws\Result getCloudFrontOriginAccessIdentityConfig(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityConfigAsync(array $args = [])
|
27 |
-
* @method \Aws\Result getDistribution(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise getDistributionAsync(array $args = [])
|
29 |
-
* @method \Aws\Result getDistributionConfig(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise getDistributionConfigAsync(array $args = [])
|
31 |
-
* @method \Aws\Result getInvalidation(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise getInvalidationAsync(array $args = [])
|
33 |
-
* @method \Aws\Result getStreamingDistribution(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise getStreamingDistributionAsync(array $args = [])
|
35 |
-
* @method \Aws\Result getStreamingDistributionConfig(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise getStreamingDistributionConfigAsync(array $args = [])
|
37 |
-
* @method \Aws\Result listCloudFrontOriginAccessIdentities(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise listCloudFrontOriginAccessIdentitiesAsync(array $args = [])
|
39 |
-
* @method \Aws\Result listDistributions(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise listDistributionsAsync(array $args = [])
|
41 |
-
* @method \Aws\Result listDistributionsByWebACLId(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise listDistributionsByWebACLIdAsync(array $args = [])
|
43 |
-
* @method \Aws\Result listInvalidations(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise listInvalidationsAsync(array $args = [])
|
45 |
-
* @method \Aws\Result listStreamingDistributions(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise listStreamingDistributionsAsync(array $args = [])
|
47 |
-
* @method \Aws\Result updateCloudFrontOriginAccessIdentity(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise updateCloudFrontOriginAccessIdentityAsync(array $args = [])
|
49 |
-
* @method \Aws\Result updateDistribution(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise updateDistributionAsync(array $args = [])
|
51 |
-
* @method \Aws\Result updateStreamingDistribution(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise updateStreamingDistributionAsync(array $args = [])
|
53 |
-
*/
|
54 |
-
class CloudFrontClient extends AwsClient
|
55 |
-
{
|
56 |
-
/**
|
57 |
-
* Create a signed Amazon CloudFront URL.
|
58 |
-
*
|
59 |
-
* This method accepts an array of configuration options:
|
60 |
-
*
|
61 |
-
* - url: (string) URL of the resource being signed (can include query
|
62 |
-
* string and wildcards). For example: rtmp://s5c39gqb8ow64r.cloudfront.net/videos/mp3_name.mp3
|
63 |
-
* http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
|
64 |
-
* - policy: (string) JSON policy. Use this option when creating a signed
|
65 |
-
* URL for a custom policy.
|
66 |
-
* - expires: (int) UTC Unix timestamp used when signing with a canned
|
67 |
-
* policy. Not required when passing a custom 'policy' option.
|
68 |
-
* - key_pair_id: (string) The ID of the key pair used to sign CloudFront
|
69 |
-
* URLs for private distributions.
|
70 |
-
* - private_key: (string) The filepath ot the private key used to sign
|
71 |
-
* CloudFront URLs for private distributions.
|
72 |
-
*
|
73 |
-
* @param array $options Array of configuration options used when signing
|
74 |
-
*
|
75 |
-
* @return string Signed URL with authentication parameters
|
76 |
-
* @throws \InvalidArgumentException if url, key_pair_id, or private_key
|
77 |
-
* were not specified.
|
78 |
-
* @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
|
79 |
-
*/
|
80 |
-
public function getSignedUrl(array $options)
|
81 |
-
{
|
82 |
-
foreach (['url', 'key_pair_id', 'private_key'] as $required) {
|
83 |
-
if (!isset($options[$required])) {
|
84 |
-
throw new \InvalidArgumentException("$required is required");
|
85 |
-
}
|
86 |
-
}
|
87 |
-
|
88 |
-
$urlSigner = new UrlSigner(
|
89 |
-
$options['key_pair_id'],
|
90 |
-
$options['private_key']
|
91 |
-
);
|
92 |
-
|
93 |
-
return $urlSigner->getSignedUrl(
|
94 |
-
$options['url'],
|
95 |
-
isset($options['expires']) ? $options['expires'] : null,
|
96 |
-
isset($options['policy']) ? $options['policy'] : null
|
97 |
-
);
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* Create a signed Amazon CloudFront cookie.
|
102 |
-
*
|
103 |
-
* This method accepts an array of configuration options:
|
104 |
-
*
|
105 |
-
* - url: (string) URL of the resource being signed (can include query
|
106 |
-
* string and wildcards). For example: http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
|
107 |
-
* - policy: (string) JSON policy. Use this option when creating a signed
|
108 |
-
* URL for a custom policy.
|
109 |
-
* - expires: (int) UTC Unix timestamp used when signing with a canned
|
110 |
-
* policy. Not required when passing a custom 'policy' option.
|
111 |
-
* - key_pair_id: (string) The ID of the key pair used to sign CloudFront
|
112 |
-
* URLs for private distributions.
|
113 |
-
* - private_key: (string) The filepath ot the private key used to sign
|
114 |
-
* CloudFront URLs for private distributions.
|
115 |
-
*
|
116 |
-
* @param array $options Array of configuration options used when signing
|
117 |
-
*
|
118 |
-
* @return array Key => value pairs of signed cookies to set
|
119 |
-
* @throws \InvalidArgumentException if url, key_pair_id, or private_key
|
120 |
-
* were not specified.
|
121 |
-
* @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
|
122 |
-
*/
|
123 |
-
public function getSignedCookie(array $options)
|
124 |
-
{
|
125 |
-
foreach (['key_pair_id', 'private_key'] as $required) {
|
126 |
-
if (!isset($options[$required])) {
|
127 |
-
throw new \InvalidArgumentException("$required is required");
|
128 |
-
}
|
129 |
-
}
|
130 |
-
|
131 |
-
$cookieSigner = new CookieSigner(
|
132 |
-
$options['key_pair_id'],
|
133 |
-
$options['private_key']
|
134 |
-
);
|
135 |
-
|
136 |
-
return $cookieSigner->getSignedCookie(
|
137 |
-
isset($options['url']) ? $options['url'] : null,
|
138 |
-
isset($options['expires']) ? $options['expires'] : null,
|
139 |
-
isset($options['policy']) ? $options['policy'] : null
|
140 |
-
);
|
141 |
-
}
|
142 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/ConfigService/ConfigServiceClient.php
DELETED
@@ -1,56 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\ConfigService;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* This client is used to interact with AWS Config.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result deleteConfigRule(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise deleteConfigRuleAsync(array $args = [])
|
11 |
-
* @method \Aws\Result deleteDeliveryChannel(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise deleteDeliveryChannelAsync(array $args = [])
|
13 |
-
* @method \Aws\Result deliverConfigSnapshot(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise deliverConfigSnapshotAsync(array $args = [])
|
15 |
-
* @method \Aws\Result describeComplianceByConfigRule(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise describeComplianceByConfigRuleAsync(array $args = [])
|
17 |
-
* @method \Aws\Result describeComplianceByResource(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise describeComplianceByResourceAsync(array $args = [])
|
19 |
-
* @method \Aws\Result describeConfigRuleEvaluationStatus(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise describeConfigRuleEvaluationStatusAsync(array $args = [])
|
21 |
-
* @method \Aws\Result describeConfigRules(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise describeConfigRulesAsync(array $args = [])
|
23 |
-
* @method \Aws\Result describeConfigurationRecorderStatus(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise describeConfigurationRecorderStatusAsync(array $args = [])
|
25 |
-
* @method \Aws\Result describeConfigurationRecorders(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise describeConfigurationRecordersAsync(array $args = [])
|
27 |
-
* @method \Aws\Result describeDeliveryChannelStatus(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise describeDeliveryChannelStatusAsync(array $args = [])
|
29 |
-
* @method \Aws\Result describeDeliveryChannels(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise describeDeliveryChannelsAsync(array $args = [])
|
31 |
-
* @method \Aws\Result getComplianceDetailsByConfigRule(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise getComplianceDetailsByConfigRuleAsync(array $args = [])
|
33 |
-
* @method \Aws\Result getComplianceDetailsByResource(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise getComplianceDetailsByResourceAsync(array $args = [])
|
35 |
-
* @method \Aws\Result getComplianceSummaryByConfigRule(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise getComplianceSummaryByConfigRuleAsync(array $args = [])
|
37 |
-
* @method \Aws\Result getComplianceSummaryByResourceType(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise getComplianceSummaryByResourceTypeAsync(array $args = [])
|
39 |
-
* @method \Aws\Result getResourceConfigHistory(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise getResourceConfigHistoryAsync(array $args = [])
|
41 |
-
* @method \Aws\Result listDiscoveredResources(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise listDiscoveredResourcesAsync(array $args = [])
|
43 |
-
* @method \Aws\Result putConfigRule(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise putConfigRuleAsync(array $args = [])
|
45 |
-
* @method \Aws\Result putConfigurationRecorder(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise putConfigurationRecorderAsync(array $args = [])
|
47 |
-
* @method \Aws\Result putDeliveryChannel(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise putDeliveryChannelAsync(array $args = [])
|
49 |
-
* @method \Aws\Result putEvaluations(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise putEvaluationsAsync(array $args = [])
|
51 |
-
* @method \Aws\Result startConfigurationRecorder(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise startConfigurationRecorderAsync(array $args = [])
|
53 |
-
* @method \Aws\Result stopConfigurationRecorder(array $args = [])
|
54 |
-
* @method \GuzzleHttp\Promise\Promise stopConfigurationRecorderAsync(array $args = [])
|
55 |
-
*/
|
56 |
-
class ConfigServiceClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Credentials/CredentialProvider.php
DELETED
@@ -1,324 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Credentials;
|
3 |
-
|
4 |
-
use Aws;
|
5 |
-
use Aws\CacheInterface;
|
6 |
-
use Aws\Exception\CredentialsException;
|
7 |
-
use GuzzleHttp\Promise;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Credential providers are functions that accept no arguments and return a
|
11 |
-
* promise that is fulfilled with an {@see \Aws\Credentials\CredentialsInterface}
|
12 |
-
* or rejected with an {@see \Aws\Exception\CredentialsException}.
|
13 |
-
*
|
14 |
-
* <code>
|
15 |
-
* use Aws\Credentials\CredentialProvider;
|
16 |
-
* $provider = CredentialProvider::defaultProvider();
|
17 |
-
* // Returns a CredentialsInterface or throws.
|
18 |
-
* $creds = $provider()->wait();
|
19 |
-
* </code>
|
20 |
-
*
|
21 |
-
* Credential providers can be composed to create credentials using conditional
|
22 |
-
* logic that can create different credentials in different environments. You
|
23 |
-
* can compose multiple providers into a single provider using
|
24 |
-
* {@see Aws\Credentials\CredentialProvider::chain}. This function accepts
|
25 |
-
* providers as variadic arguments and returns a new function that will invoke
|
26 |
-
* each provider until a successful set of credentials is returned.
|
27 |
-
*
|
28 |
-
* <code>
|
29 |
-
* // First try an INI file at this location.
|
30 |
-
* $a = CredentialProvider::ini(null, '/path/to/file.ini');
|
31 |
-
* // Then try an INI file at this location.
|
32 |
-
* $b = CredentialProvider::ini(null, '/path/to/other-file.ini');
|
33 |
-
* // Then try loading from envrionment variables.
|
34 |
-
* $c = CredentialProvider::env();
|
35 |
-
* // Combine the three providers together.
|
36 |
-
* $composed = CredentialProvider::chain($a, $b, $c);
|
37 |
-
* // Returns a promise that is fulfilled with credentials or throws.
|
38 |
-
* $promise = $composed();
|
39 |
-
* // Wait on the credentials to resolve.
|
40 |
-
* $creds = $promise->wait();
|
41 |
-
* </code>
|
42 |
-
*/
|
43 |
-
class CredentialProvider
|
44 |
-
{
|
45 |
-
const ENV_KEY = 'AWS_ACCESS_KEY_ID';
|
46 |
-
const ENV_SECRET = 'AWS_SECRET_ACCESS_KEY';
|
47 |
-
const ENV_SESSION = 'AWS_SESSION_TOKEN';
|
48 |
-
const ENV_PROFILE = 'AWS_PROFILE';
|
49 |
-
|
50 |
-
/**
|
51 |
-
* Create a default credential provider that first checks for environment
|
52 |
-
* variables, then checks for the "default" profile in ~/.aws/credentials,
|
53 |
-
* and finally checks for credentials using EC2 instance profile
|
54 |
-
* credentials.
|
55 |
-
*
|
56 |
-
* This provider is automatically wrapped in a memoize function that caches
|
57 |
-
* previously provided credentials.
|
58 |
-
*
|
59 |
-
* @param array $config Optional array of instance profile credentials
|
60 |
-
* provider options.
|
61 |
-
* @return callable
|
62 |
-
*/
|
63 |
-
public static function defaultProvider(array $config = [])
|
64 |
-
{
|
65 |
-
$instanceProfileProvider = self::instanceProfile($config);
|
66 |
-
if (isset($config['credentials'])
|
67 |
-
&& $config['credentials'] instanceof CacheInterface
|
68 |
-
) {
|
69 |
-
$instanceProfileProvider = self::cache(
|
70 |
-
$instanceProfileProvider,
|
71 |
-
$config['credentials']
|
72 |
-
);
|
73 |
-
}
|
74 |
-
|
75 |
-
return self::memoize(
|
76 |
-
self::chain(
|
77 |
-
self::env(),
|
78 |
-
self::ini(),
|
79 |
-
$instanceProfileProvider
|
80 |
-
)
|
81 |
-
);
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* Create a credential provider function from a set of static credentials.
|
86 |
-
*
|
87 |
-
* @param CredentialsInterface $creds
|
88 |
-
*
|
89 |
-
* @return callable
|
90 |
-
*/
|
91 |
-
public static function fromCredentials(CredentialsInterface $creds)
|
92 |
-
{
|
93 |
-
$promise = Promise\promise_for($creds);
|
94 |
-
|
95 |
-
return function () use ($promise) {
|
96 |
-
return $promise;
|
97 |
-
};
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* Creates an aggregate credentials provider that invokes the provided
|
102 |
-
* variadic providers one after the other until a provider returns
|
103 |
-
* credentials.
|
104 |
-
*
|
105 |
-
* @return callable
|
106 |
-
*/
|
107 |
-
public static function chain()
|
108 |
-
{
|
109 |
-
$links = func_get_args();
|
110 |
-
if (empty($links)) {
|
111 |
-
throw new \InvalidArgumentException('No providers in chain');
|
112 |
-
}
|
113 |
-
|
114 |
-
return function () use ($links) {
|
115 |
-
/** @var callable $parent */
|
116 |
-
$parent = array_shift($links);
|
117 |
-
$promise = $parent();
|
118 |
-
while ($next = array_shift($links)) {
|
119 |
-
$promise = $promise->otherwise($next);
|
120 |
-
}
|
121 |
-
return $promise;
|
122 |
-
};
|
123 |
-
}
|
124 |
-
|
125 |
-
/**
|
126 |
-
* Wraps a credential provider and caches previously provided credentials.
|
127 |
-
*
|
128 |
-
* Ensures that cached credentials are refreshed when they expire.
|
129 |
-
*
|
130 |
-
* @param callable $provider Credentials provider function to wrap.
|
131 |
-
*
|
132 |
-
* @return callable
|
133 |
-
*/
|
134 |
-
public static function memoize(callable $provider)
|
135 |
-
{
|
136 |
-
return function () use ($provider) {
|
137 |
-
static $result;
|
138 |
-
static $isConstant;
|
139 |
-
|
140 |
-
// Constant credentials will be returned constantly.
|
141 |
-
if ($isConstant) {
|
142 |
-
return $result;
|
143 |
-
}
|
144 |
-
|
145 |
-
// Create the initial promise that will be used as the cached value
|
146 |
-
// until it expires.
|
147 |
-
if (null === $result) {
|
148 |
-
$result = $provider();
|
149 |
-
}
|
150 |
-
|
151 |
-
// Return credentials that could expire and refresh when needed.
|
152 |
-
return $result
|
153 |
-
->then(function (CredentialsInterface $creds) use ($provider, &$isConstant, &$result) {
|
154 |
-
// Determine if these are constant credentials.
|
155 |
-
if (!$creds->getExpiration()) {
|
156 |
-
$isConstant = true;
|
157 |
-
return $creds;
|
158 |
-
}
|
159 |
-
|
160 |
-
// Refresh expired credentials.
|
161 |
-
if (!$creds->isExpired()) {
|
162 |
-
return $creds;
|
163 |
-
}
|
164 |
-
// Refresh the result and forward the promise.
|
165 |
-
return $result = $provider();
|
166 |
-
});
|
167 |
-
};
|
168 |
-
}
|
169 |
-
|
170 |
-
/**
|
171 |
-
* Wraps a credential provider and saves provided credentials in an
|
172 |
-
* instance of Aws\CacheInterface. Forwards calls when no credentials found
|
173 |
-
* in cache and updates cache with the results.
|
174 |
-
*
|
175 |
-
* Defaults to using a simple file-based cache when none provided.
|
176 |
-
*
|
177 |
-
* @param callable $provider Credentials provider function to wrap
|
178 |
-
* @param CacheInterface $cache (optional) Cache to store credentials
|
179 |
-
* @param string|null $cacheKey (optional) Cache key to use
|
180 |
-
*
|
181 |
-
* @return callable
|
182 |
-
*/
|
183 |
-
public static function cache(
|
184 |
-
callable $provider,
|
185 |
-
CacheInterface $cache,
|
186 |
-
$cacheKey = null
|
187 |
-
) {
|
188 |
-
$cacheKey = $cacheKey ?: 'aws_cached_credentials';
|
189 |
-
|
190 |
-
return function () use ($provider, $cache, $cacheKey) {
|
191 |
-
$found = $cache->get($cacheKey);
|
192 |
-
if ($found instanceof CredentialsInterface && !$found->isExpired()) {
|
193 |
-
return Promise\promise_for($found);
|
194 |
-
}
|
195 |
-
|
196 |
-
return $provider()
|
197 |
-
->then(function (CredentialsInterface $creds) use (
|
198 |
-
$cache,
|
199 |
-
$cacheKey
|
200 |
-
) {
|
201 |
-
$cache->set(
|
202 |
-
$cacheKey,
|
203 |
-
$creds,
|
204 |
-
null === $creds->getExpiration() ?
|
205 |
-
0 : $creds->getExpiration() - time()
|
206 |
-
);
|
207 |
-
|
208 |
-
return $creds;
|
209 |
-
});
|
210 |
-
};
|
211 |
-
}
|
212 |
-
|
213 |
-
/**
|
214 |
-
* Provider that creates credentials from environment variables
|
215 |
-
* AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN.
|
216 |
-
*
|
217 |
-
* @return callable
|
218 |
-
*/
|
219 |
-
public static function env()
|
220 |
-
{
|
221 |
-
return function () {
|
222 |
-
// Use credentials from environment variables, if available
|
223 |
-
$key = getenv(self::ENV_KEY);
|
224 |
-
$secret = getenv(self::ENV_SECRET);
|
225 |
-
if ($key && $secret) {
|
226 |
-
return Promise\promise_for(
|
227 |
-
new Credentials($key, $secret, getenv(self::ENV_SESSION))
|
228 |
-
);
|
229 |
-
}
|
230 |
-
|
231 |
-
return self::reject('Could not find environment variable '
|
232 |
-
. 'credentials in ' . self::ENV_KEY . '/' . self::ENV_SECRET);
|
233 |
-
};
|
234 |
-
}
|
235 |
-
|
236 |
-
/**
|
237 |
-
* Credential provider that creates credentials using instance profile
|
238 |
-
* credentials.
|
239 |
-
*
|
240 |
-
* @param array $config Array of configuration data.
|
241 |
-
*
|
242 |
-
* @return InstanceProfileProvider
|
243 |
-
* @see Aws\Credentials\InstanceProfileProvider for $config details.
|
244 |
-
*/
|
245 |
-
public static function instanceProfile(array $config = [])
|
246 |
-
{
|
247 |
-
return new InstanceProfileProvider($config);
|
248 |
-
}
|
249 |
-
|
250 |
-
/**
|
251 |
-
* Credentials provider that creates credentials using an ini file stored
|
252 |
-
* in the current user's home directory.
|
253 |
-
*
|
254 |
-
* @param string|null $profile Profile to use. If not specified will use
|
255 |
-
* the "default" profile.
|
256 |
-
* @param string|null $filename If provided, uses a custom filename rather
|
257 |
-
* than looking in the home directory for the
|
258 |
-
*
|
259 |
-
* @return callable
|
260 |
-
*/
|
261 |
-
public static function ini($profile = null, $filename = null)
|
262 |
-
{
|
263 |
-
$filename = $filename ?: (self::getHomeDir() . '/.aws/credentials');
|
264 |
-
$profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'default');
|
265 |
-
|
266 |
-
return function () use ($profile, $filename) {
|
267 |
-
if (!is_readable($filename)) {
|
268 |
-
return self::reject("Cannot read credentials from $filename");
|
269 |
-
}
|
270 |
-
$data = parse_ini_file($filename, true);
|
271 |
-
if ($data === false) {
|
272 |
-
return self::reject("Invalid credentials file: $filename");
|
273 |
-
}
|
274 |
-
if (!isset($data[$profile])) {
|
275 |
-
return self::reject("'$profile' not found in credentials file");
|
276 |
-
}
|
277 |
-
if (!isset($data[$profile]['aws_access_key_id'])
|
278 |
-
|| !isset($data[$profile]['aws_secret_access_key'])
|
279 |
-
) {
|
280 |
-
return self::reject("No credentials present in INI profile "
|
281 |
-
. "'$profile' ($filename)");
|
282 |
-
}
|
283 |
-
|
284 |
-
if (empty($data[$profile]['aws_session_token'])) {
|
285 |
-
$data[$profile]['aws_session_token']
|
286 |
-
= isset($data[$profile]['aws_security_token'])
|
287 |
-
? $data[$profile]['aws_security_token']
|
288 |
-
: null;
|
289 |
-
}
|
290 |
-
|
291 |
-
return Promise\promise_for(
|
292 |
-
new Credentials(
|
293 |
-
$data[$profile]['aws_access_key_id'],
|
294 |
-
$data[$profile]['aws_secret_access_key'],
|
295 |
-
$data[$profile]['aws_session_token']
|
296 |
-
)
|
297 |
-
);
|
298 |
-
};
|
299 |
-
}
|
300 |
-
|
301 |
-
/**
|
302 |
-
* Gets the environment's HOME directory if available.
|
303 |
-
*
|
304 |
-
* @return null|string
|
305 |
-
*/
|
306 |
-
private static function getHomeDir()
|
307 |
-
{
|
308 |
-
// On Linux/Unix-like systems, use the HOME environment variable
|
309 |
-
if ($homeDir = getenv('HOME')) {
|
310 |
-
return $homeDir;
|
311 |
-
}
|
312 |
-
|
313 |
-
// Get the HOMEDRIVE and HOMEPATH values for Windows hosts
|
314 |
-
$homeDrive = getenv('HOMEDRIVE');
|
315 |
-
$homePath = getenv('HOMEPATH');
|
316 |
-
|
317 |
-
return ($homeDrive && $homePath) ? $homeDrive . $homePath : null;
|
318 |
-
}
|
319 |
-
|
320 |
-
private static function reject($msg)
|
321 |
-
{
|
322 |
-
return new Promise\RejectedPromise(new CredentialsException($msg));
|
323 |
-
}
|
324 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Credentials/InstanceProfileProvider.php
DELETED
@@ -1,102 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Credentials;
|
3 |
-
|
4 |
-
use Aws\Exception\CredentialsException;
|
5 |
-
use GuzzleHttp\Promise;
|
6 |
-
use GuzzleHttp\Psr7\Request;
|
7 |
-
use GuzzleHttp\Promise\PromiseInterface;
|
8 |
-
use Psr\Http\Message\ResponseInterface;
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Credential provider that provides credentials from the EC2 metadata server.
|
12 |
-
*/
|
13 |
-
class InstanceProfileProvider
|
14 |
-
{
|
15 |
-
const SERVER_URI = 'http://169.254.169.254/latest/';
|
16 |
-
const CRED_PATH = 'meta-data/iam/security-credentials/';
|
17 |
-
|
18 |
-
/** @var string */
|
19 |
-
private $profile;
|
20 |
-
|
21 |
-
/** @var callable */
|
22 |
-
private $client;
|
23 |
-
|
24 |
-
/**
|
25 |
-
* The constructor accepts the following options:
|
26 |
-
*
|
27 |
-
* - timeout: Connection timeout, in seconds.
|
28 |
-
* - profile: Optional EC2 profile name, if known.
|
29 |
-
*
|
30 |
-
* @param array $config Configuration options.
|
31 |
-
*/
|
32 |
-
public function __construct(array $config = [])
|
33 |
-
{
|
34 |
-
$this->timeout = isset($config['timeout']) ? $config['timeout'] : 1.0;
|
35 |
-
$this->profile = isset($config['profile']) ? $config['profile'] : null;
|
36 |
-
$this->client = isset($config['client'])
|
37 |
-
? $config['client'] // internal use only
|
38 |
-
: \Aws\default_http_handler();
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Loads instance profile credentials.
|
43 |
-
*
|
44 |
-
* @return PromiseInterface
|
45 |
-
*/
|
46 |
-
public function __invoke()
|
47 |
-
{
|
48 |
-
return Promise\coroutine(function () {
|
49 |
-
if (!$this->profile) {
|
50 |
-
$this->profile = (yield $this->request(self::CRED_PATH));
|
51 |
-
}
|
52 |
-
$json = (yield $this->request(self::CRED_PATH . $this->profile));
|
53 |
-
$result = $this->decodeResult($json);
|
54 |
-
yield new Credentials(
|
55 |
-
$result['AccessKeyId'],
|
56 |
-
$result['SecretAccessKey'],
|
57 |
-
$result['Token'],
|
58 |
-
strtotime($result['Expiration'])
|
59 |
-
);
|
60 |
-
});
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* @param string $url
|
65 |
-
* @return PromiseInterface Returns a promise that is fulfilled with the
|
66 |
-
* body of the response as a string.
|
67 |
-
*/
|
68 |
-
private function request($url)
|
69 |
-
{
|
70 |
-
$fn = $this->client;
|
71 |
-
$request = new Request('GET', self::SERVER_URI . $url);
|
72 |
-
|
73 |
-
return $fn($request, ['timeout' => $this->timeout])
|
74 |
-
->then(function (ResponseInterface $response) {
|
75 |
-
return (string) $response->getBody();
|
76 |
-
})->otherwise(function (array $reason) {
|
77 |
-
$reason = $reason['exception'];
|
78 |
-
$msg = $reason->getMessage();
|
79 |
-
throw new CredentialsException(
|
80 |
-
$this->createErrorMessage($msg, 0, $reason)
|
81 |
-
);
|
82 |
-
});
|
83 |
-
}
|
84 |
-
|
85 |
-
private function createErrorMessage($previous)
|
86 |
-
{
|
87 |
-
return "Error retrieving credentials from the instance profile "
|
88 |
-
. "metadata server. ({$previous})";
|
89 |
-
}
|
90 |
-
|
91 |
-
private function decodeResult($response)
|
92 |
-
{
|
93 |
-
$result = json_decode($response, true);
|
94 |
-
|
95 |
-
if ($result['Code'] !== 'Success') {
|
96 |
-
throw new CredentialsException('Unexpected instance profile '
|
97 |
-
. 'response code: ' . $result['Code']);
|
98 |
-
}
|
99 |
-
|
100 |
-
return $result;
|
101 |
-
}
|
102 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/DirectConnect/DirectConnectClient.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\DirectConnect;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* This client is used to interact with the **AWS Direct Connect** service.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result allocateConnectionOnInterconnect(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise allocateConnectionOnInterconnectAsync(array $args = [])
|
11 |
-
* @method \Aws\Result allocatePrivateVirtualInterface(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise allocatePrivateVirtualInterfaceAsync(array $args = [])
|
13 |
-
* @method \Aws\Result allocatePublicVirtualInterface(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise allocatePublicVirtualInterfaceAsync(array $args = [])
|
15 |
-
* @method \Aws\Result confirmConnection(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise confirmConnectionAsync(array $args = [])
|
17 |
-
* @method \Aws\Result confirmPrivateVirtualInterface(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise confirmPrivateVirtualInterfaceAsync(array $args = [])
|
19 |
-
* @method \Aws\Result confirmPublicVirtualInterface(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise confirmPublicVirtualInterfaceAsync(array $args = [])
|
21 |
-
* @method \Aws\Result createConnection(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = [])
|
23 |
-
* @method \Aws\Result createInterconnect(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise createInterconnectAsync(array $args = [])
|
25 |
-
* @method \Aws\Result createPrivateVirtualInterface(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise createPrivateVirtualInterfaceAsync(array $args = [])
|
27 |
-
* @method \Aws\Result createPublicVirtualInterface(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise createPublicVirtualInterfaceAsync(array $args = [])
|
29 |
-
* @method \Aws\Result deleteConnection(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
|
31 |
-
* @method \Aws\Result deleteInterconnect(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise deleteInterconnectAsync(array $args = [])
|
33 |
-
* @method \Aws\Result deleteVirtualInterface(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise deleteVirtualInterfaceAsync(array $args = [])
|
35 |
-
* @method \Aws\Result describeConnections(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = [])
|
37 |
-
* @method \Aws\Result describeConnectionsOnInterconnect(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise describeConnectionsOnInterconnectAsync(array $args = [])
|
39 |
-
* @method \Aws\Result describeInterconnects(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise describeInterconnectsAsync(array $args = [])
|
41 |
-
* @method \Aws\Result describeLocations(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise describeLocationsAsync(array $args = [])
|
43 |
-
* @method \Aws\Result describeVirtualGateways(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise describeVirtualGatewaysAsync(array $args = [])
|
45 |
-
* @method \Aws\Result describeVirtualInterfaces(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise describeVirtualInterfacesAsync(array $args = [])
|
47 |
-
*/
|
48 |
-
class DirectConnectClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/DirectoryService/DirectoryServiceClient.php
DELETED
@@ -1,54 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\DirectoryService;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* AWS Directory Service client
|
8 |
-
*
|
9 |
-
* @method \Aws\Result connectDirectory(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise connectDirectoryAsync(array $args = [])
|
11 |
-
* @method \Aws\Result createAlias(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = [])
|
13 |
-
* @method \Aws\Result createComputer(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise createComputerAsync(array $args = [])
|
15 |
-
* @method \Aws\Result createDirectory(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise createDirectoryAsync(array $args = [])
|
17 |
-
* @method \Aws\Result createMicrosoftAD(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise createMicrosoftADAsync(array $args = [])
|
19 |
-
* @method \Aws\Result createSnapshot(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = [])
|
21 |
-
* @method \Aws\Result createTrust(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise createTrustAsync(array $args = [])
|
23 |
-
* @method \Aws\Result deleteDirectory(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise deleteDirectoryAsync(array $args = [])
|
25 |
-
* @method \Aws\Result deleteSnapshot(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise deleteSnapshotAsync(array $args = [])
|
27 |
-
* @method \Aws\Result deleteTrust(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise deleteTrustAsync(array $args = [])
|
29 |
-
* @method \Aws\Result describeDirectories(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise describeDirectoriesAsync(array $args = [])
|
31 |
-
* @method \Aws\Result describeSnapshots(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise describeSnapshotsAsync(array $args = [])
|
33 |
-
* @method \Aws\Result describeTrusts(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise describeTrustsAsync(array $args = [])
|
35 |
-
* @method \Aws\Result disableRadius(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise disableRadiusAsync(array $args = [])
|
37 |
-
* @method \Aws\Result disableSso(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise disableSsoAsync(array $args = [])
|
39 |
-
* @method \Aws\Result enableRadius(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise enableRadiusAsync(array $args = [])
|
41 |
-
* @method \Aws\Result enableSso(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise enableSsoAsync(array $args = [])
|
43 |
-
* @method \Aws\Result getDirectoryLimits(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise getDirectoryLimitsAsync(array $args = [])
|
45 |
-
* @method \Aws\Result getSnapshotLimits(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise getSnapshotLimitsAsync(array $args = [])
|
47 |
-
* @method \Aws\Result restoreFromSnapshot(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise restoreFromSnapshotAsync(array $args = [])
|
49 |
-
* @method \Aws\Result updateRadius(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise updateRadiusAsync(array $args = [])
|
51 |
-
* @method \Aws\Result verifyTrust(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise verifyTrustAsync(array $args = [])
|
53 |
-
*/
|
54 |
-
class DirectoryServiceClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Exception/CredentialsException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Exception;
|
3 |
-
|
4 |
-
class CredentialsException extends \RuntimeException {}
|
|
|
|
|
|
|
|
includes/aws/Aws/Exception/UnresolvedApiException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Exception;
|
3 |
-
|
4 |
-
class UnresolvedApiException extends \RuntimeException {}
|
|
|
|
|
|
|
|
includes/aws/Aws/Exception/UnresolvedEndpointException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Exception;
|
3 |
-
|
4 |
-
class UnresolvedEndpointException extends \RuntimeException {}
|
|
|
|
|
|
|
|
includes/aws/Aws/Exception/UnresolvedSignatureException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Exception;
|
3 |
-
|
4 |
-
class UnresolvedSignatureException extends \RuntimeException {}
|
|
|
|
|
|
|
|
includes/aws/Aws/Handler/GuzzleV6/GuzzleHandler.php
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Handler\GuzzleV6;
|
3 |
-
|
4 |
-
use Aws\Sdk;
|
5 |
-
use Exception;
|
6 |
-
use GuzzleHttp\Exception\ConnectException;
|
7 |
-
use GuzzleHttp\Exception\RequestException;
|
8 |
-
use GuzzleHttp\Promise;
|
9 |
-
use GuzzleHttp\Client;
|
10 |
-
use GuzzleHttp\ClientInterface;
|
11 |
-
use Psr\Http\Message\RequestInterface as Psr7Request;
|
12 |
-
|
13 |
-
/**
|
14 |
-
* A request handler that sends PSR-7-compatible requests with Guzzle 6.
|
15 |
-
*/
|
16 |
-
class GuzzleHandler
|
17 |
-
{
|
18 |
-
/** @var ClientInterface */
|
19 |
-
private $client;
|
20 |
-
|
21 |
-
/**
|
22 |
-
* @param ClientInterface $client
|
23 |
-
*/
|
24 |
-
public function __construct(ClientInterface $client = null)
|
25 |
-
{
|
26 |
-
$this->client = $client ?: new Client();
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* @param Psr7Request $request
|
31 |
-
* @param array $options
|
32 |
-
*
|
33 |
-
* @return Promise\Promise
|
34 |
-
*/
|
35 |
-
public function __invoke(Psr7Request $request, array $options = [])
|
36 |
-
{
|
37 |
-
$request = $request->withHeader(
|
38 |
-
'User-Agent',
|
39 |
-
$request->getHeaderLine('User-Agent')
|
40 |
-
. ' ' . \GuzzleHttp\default_user_agent()
|
41 |
-
);
|
42 |
-
|
43 |
-
return $this->client->sendAsync($request, $options)->otherwise(
|
44 |
-
static function (\Exception $e) {
|
45 |
-
$error = [
|
46 |
-
'exception' => $e,
|
47 |
-
'connection_error' => $e instanceof ConnectException,
|
48 |
-
'response' => null,
|
49 |
-
];
|
50 |
-
|
51 |
-
if ($e instanceof RequestException && $e->getResponse()) {
|
52 |
-
$error['response'] = $e->getResponse();
|
53 |
-
}
|
54 |
-
|
55 |
-
return new Promise\RejectedPromise($error);
|
56 |
-
}
|
57 |
-
);
|
58 |
-
}
|
59 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Inspector/InspectorClient.php
DELETED
@@ -1,82 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Inspector;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* This client is used to interact with the **Amazon Inspector** service.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result addAttributesToFindings(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise addAttributesToFindingsAsync(array $args = [])
|
11 |
-
* @method \Aws\Result attachAssessmentAndRulesPackage(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise attachAssessmentAndRulesPackageAsync(array $args = [])
|
13 |
-
* @method \Aws\Result createApplication(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
|
15 |
-
* @method \Aws\Result createAssessment(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise createAssessmentAsync(array $args = [])
|
17 |
-
* @method \Aws\Result createResourceGroup(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise createResourceGroupAsync(array $args = [])
|
19 |
-
* @method \Aws\Result deleteApplication(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
|
21 |
-
* @method \Aws\Result deleteAssessment(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise deleteAssessmentAsync(array $args = [])
|
23 |
-
* @method \Aws\Result deleteRun(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise deleteRunAsync(array $args = [])
|
25 |
-
* @method \Aws\Result describeApplication(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise describeApplicationAsync(array $args = [])
|
27 |
-
* @method \Aws\Result describeAssessment(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise describeAssessmentAsync(array $args = [])
|
29 |
-
* @method \Aws\Result describeCrossAccountAccessRole(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise describeCrossAccountAccessRoleAsync(array $args = [])
|
31 |
-
* @method \Aws\Result describeFinding(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise describeFindingAsync(array $args = [])
|
33 |
-
* @method \Aws\Result describeResourceGroup(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise describeResourceGroupAsync(array $args = [])
|
35 |
-
* @method \Aws\Result describeRulesPackage(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise describeRulesPackageAsync(array $args = [])
|
37 |
-
* @method \Aws\Result describeRun(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise describeRunAsync(array $args = [])
|
39 |
-
* @method \Aws\Result detachAssessmentAndRulesPackage(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise detachAssessmentAndRulesPackageAsync(array $args = [])
|
41 |
-
* @method \Aws\Result getAssessmentTelemetry(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise getAssessmentTelemetryAsync(array $args = [])
|
43 |
-
* @method \Aws\Result listApplications(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
|
45 |
-
* @method \Aws\Result listAssessmentAgents(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise listAssessmentAgentsAsync(array $args = [])
|
47 |
-
* @method \Aws\Result listAssessments(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise listAssessmentsAsync(array $args = [])
|
49 |
-
* @method \Aws\Result listAttachedAssessments(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise listAttachedAssessmentsAsync(array $args = [])
|
51 |
-
* @method \Aws\Result listAttachedRulesPackages(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise listAttachedRulesPackagesAsync(array $args = [])
|
53 |
-
* @method \Aws\Result listFindings(array $args = [])
|
54 |
-
* @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = [])
|
55 |
-
* @method \Aws\Result listRulesPackages(array $args = [])
|
56 |
-
* @method \GuzzleHttp\Promise\Promise listRulesPackagesAsync(array $args = [])
|
57 |
-
* @method \Aws\Result listRuns(array $args = [])
|
58 |
-
* @method \GuzzleHttp\Promise\Promise listRunsAsync(array $args = [])
|
59 |
-
* @method \Aws\Result listTagsForResource(array $args = [])
|
60 |
-
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
|
61 |
-
* @method \Aws\Result localizeText(array $args = [])
|
62 |
-
* @method \GuzzleHttp\Promise\Promise localizeTextAsync(array $args = [])
|
63 |
-
* @method \Aws\Result previewAgentsForResourceGroup(array $args = [])
|
64 |
-
* @method \GuzzleHttp\Promise\Promise previewAgentsForResourceGroupAsync(array $args = [])
|
65 |
-
* @method \Aws\Result registerCrossAccountAccessRole(array $args = [])
|
66 |
-
* @method \GuzzleHttp\Promise\Promise registerCrossAccountAccessRoleAsync(array $args = [])
|
67 |
-
* @method \Aws\Result removeAttributesFromFindings(array $args = [])
|
68 |
-
* @method \GuzzleHttp\Promise\Promise removeAttributesFromFindingsAsync(array $args = [])
|
69 |
-
* @method \Aws\Result runAssessment(array $args = [])
|
70 |
-
* @method \GuzzleHttp\Promise\Promise runAssessmentAsync(array $args = [])
|
71 |
-
* @method \Aws\Result setTagsForResource(array $args = [])
|
72 |
-
* @method \GuzzleHttp\Promise\Promise setTagsForResourceAsync(array $args = [])
|
73 |
-
* @method \Aws\Result startDataCollection(array $args = [])
|
74 |
-
* @method \GuzzleHttp\Promise\Promise startDataCollectionAsync(array $args = [])
|
75 |
-
* @method \Aws\Result stopDataCollection(array $args = [])
|
76 |
-
* @method \GuzzleHttp\Promise\Promise stopDataCollectionAsync(array $args = [])
|
77 |
-
* @method \Aws\Result updateApplication(array $args = [])
|
78 |
-
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
|
79 |
-
* @method \Aws\Result updateAssessment(array $args = [])
|
80 |
-
* @method \GuzzleHttp\Promise\Promise updateAssessmentAsync(array $args = [])
|
81 |
-
*/
|
82 |
-
class InspectorClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Iot/IotClient.php
DELETED
@@ -1,88 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\Iot;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* This client is used to interact with the **AWS IoT** service.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result acceptCertificateTransfer(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise acceptCertificateTransferAsync(array $args = [])
|
11 |
-
* @method \Aws\Result attachPrincipalPolicy(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise attachPrincipalPolicyAsync(array $args = [])
|
13 |
-
* @method \Aws\Result attachThingPrincipal(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise attachThingPrincipalAsync(array $args = [])
|
15 |
-
* @method \Aws\Result cancelCertificateTransfer(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise cancelCertificateTransferAsync(array $args = [])
|
17 |
-
* @method \Aws\Result createCertificateFromCsr(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise createCertificateFromCsrAsync(array $args = [])
|
19 |
-
* @method \Aws\Result createKeysAndCertificate(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise createKeysAndCertificateAsync(array $args = [])
|
21 |
-
* @method \Aws\Result createPolicy(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise createPolicyAsync(array $args = [])
|
23 |
-
* @method \Aws\Result createPolicyVersion(array $args = [])
|
24 |
-
* @method \GuzzleHttp\Promise\Promise createPolicyVersionAsync(array $args = [])
|
25 |
-
* @method \Aws\Result createThing(array $args = [])
|
26 |
-
* @method \GuzzleHttp\Promise\Promise createThingAsync(array $args = [])
|
27 |
-
* @method \Aws\Result createTopicRule(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise createTopicRuleAsync(array $args = [])
|
29 |
-
* @method \Aws\Result deleteCertificate(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
|
31 |
-
* @method \Aws\Result deletePolicy(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = [])
|
33 |
-
* @method \Aws\Result deletePolicyVersion(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise deletePolicyVersionAsync(array $args = [])
|
35 |
-
* @method \Aws\Result deleteThing(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise deleteThingAsync(array $args = [])
|
37 |
-
* @method \Aws\Result deleteTopicRule(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise deleteTopicRuleAsync(array $args = [])
|
39 |
-
* @method \Aws\Result describeCertificate(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = [])
|
41 |
-
* @method \Aws\Result describeEndpoint(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise describeEndpointAsync(array $args = [])
|
43 |
-
* @method \Aws\Result describeThing(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise describeThingAsync(array $args = [])
|
45 |
-
* @method \Aws\Result detachPrincipalPolicy(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise detachPrincipalPolicyAsync(array $args = [])
|
47 |
-
* @method \Aws\Result detachThingPrincipal(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise detachThingPrincipalAsync(array $args = [])
|
49 |
-
* @method \Aws\Result getLoggingOptions(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise getLoggingOptionsAsync(array $args = [])
|
51 |
-
* @method \Aws\Result getPolicy(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = [])
|
53 |
-
* @method \Aws\Result getPolicyVersion(array $args = [])
|
54 |
-
* @method \GuzzleHttp\Promise\Promise getPolicyVersionAsync(array $args = [])
|
55 |
-
* @method \Aws\Result getTopicRule(array $args = [])
|
56 |
-
* @method \GuzzleHttp\Promise\Promise getTopicRuleAsync(array $args = [])
|
57 |
-
* @method \Aws\Result listCertificates(array $args = [])
|
58 |
-
* @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = [])
|
59 |
-
* @method \Aws\Result listPolicies(array $args = [])
|
60 |
-
* @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = [])
|
61 |
-
* @method \Aws\Result listPolicyVersions(array $args = [])
|
62 |
-
* @method \GuzzleHttp\Promise\Promise listPolicyVersionsAsync(array $args = [])
|
63 |
-
* @method \Aws\Result listPrincipalPolicies(array $args = [])
|
64 |
-
* @method \GuzzleHttp\Promise\Promise listPrincipalPoliciesAsync(array $args = [])
|
65 |
-
* @method \Aws\Result listPrincipalThings(array $args = [])
|
66 |
-
* @method \GuzzleHttp\Promise\Promise listPrincipalThingsAsync(array $args = [])
|
67 |
-
* @method \Aws\Result listThingPrincipals(array $args = [])
|
68 |
-
* @method \GuzzleHttp\Promise\Promise listThingPrincipalsAsync(array $args = [])
|
69 |
-
* @method \Aws\Result listThings(array $args = [])
|
70 |
-
* @method \GuzzleHttp\Promise\Promise listThingsAsync(array $args = [])
|
71 |
-
* @method \Aws\Result listTopicRules(array $args = [])
|
72 |
-
* @method \GuzzleHttp\Promise\Promise listTopicRulesAsync(array $args = [])
|
73 |
-
* @method \Aws\Result rejectCertificateTransfer(array $args = [])
|
74 |
-
* @method \GuzzleHttp\Promise\Promise rejectCertificateTransferAsync(array $args = [])
|
75 |
-
* @method \Aws\Result replaceTopicRule(array $args = [])
|
76 |
-
* @method \GuzzleHttp\Promise\Promise replaceTopicRuleAsync(array $args = [])
|
77 |
-
* @method \Aws\Result setDefaultPolicyVersion(array $args = [])
|
78 |
-
* @method \GuzzleHttp\Promise\Promise setDefaultPolicyVersionAsync(array $args = [])
|
79 |
-
* @method \Aws\Result setLoggingOptions(array $args = [])
|
80 |
-
* @method \GuzzleHttp\Promise\Promise setLoggingOptionsAsync(array $args = [])
|
81 |
-
* @method \Aws\Result transferCertificate(array $args = [])
|
82 |
-
* @method \GuzzleHttp\Promise\Promise transferCertificateAsync(array $args = [])
|
83 |
-
* @method \Aws\Result updateCertificate(array $args = [])
|
84 |
-
* @method \GuzzleHttp\Promise\Promise updateCertificateAsync(array $args = [])
|
85 |
-
* @method \Aws\Result updateThing(array $args = [])
|
86 |
-
* @method \GuzzleHttp\Promise\Promise updateThingAsync(array $args = [])
|
87 |
-
*/
|
88 |
-
class IotClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/RetryMiddleware.php
DELETED
@@ -1,125 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws;
|
3 |
-
|
4 |
-
use Aws\Exception\AwsException;
|
5 |
-
use Psr\Http\Message\RequestInterface;
|
6 |
-
use GuzzleHttp\Promise\PromiseInterface;
|
7 |
-
use GuzzleHttp\Psr7;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* @internal Middleware that retries failures.
|
11 |
-
*/
|
12 |
-
class RetryMiddleware
|
13 |
-
{
|
14 |
-
private static $retryStatusCodes = [
|
15 |
-
500 => true,
|
16 |
-
503 => true
|
17 |
-
];
|
18 |
-
|
19 |
-
private static $retryCodes = [
|
20 |
-
'RequestLimitExceeded' => true,
|
21 |
-
'Throttling' => true,
|
22 |
-
'ThrottlingException' => true,
|
23 |
-
'ProvisionedThroughputExceededException' => true,
|
24 |
-
'RequestThrottled' => true,
|
25 |
-
];
|
26 |
-
|
27 |
-
private $decider;
|
28 |
-
private $delay;
|
29 |
-
private $nextHandler;
|
30 |
-
|
31 |
-
public function __construct(
|
32 |
-
callable $decider,
|
33 |
-
callable $delay,
|
34 |
-
callable $nextHandler
|
35 |
-
) {
|
36 |
-
$this->decider = $decider;
|
37 |
-
$this->delay = $delay;
|
38 |
-
$this->nextHandler = $nextHandler;
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Creates a default AWS retry decider function.
|
43 |
-
*
|
44 |
-
* @param int $maxRetries
|
45 |
-
*
|
46 |
-
* @return callable
|
47 |
-
*/
|
48 |
-
public static function createDefaultDecider($maxRetries = 3)
|
49 |
-
{
|
50 |
-
return function (
|
51 |
-
$retries,
|
52 |
-
CommandInterface $command,
|
53 |
-
RequestInterface $request,
|
54 |
-
ResultInterface $result = null,
|
55 |
-
$error = null
|
56 |
-
) use ($maxRetries) {
|
57 |
-
// Allow command-level options to override this value
|
58 |
-
$maxRetries = null !== $command['@retries'] ?
|
59 |
-
$command['@retries']
|
60 |
-
: $maxRetries;
|
61 |
-
|
62 |
-
if ($retries >= $maxRetries) {
|
63 |
-
return false;
|
64 |
-
} elseif (!$error) {
|
65 |
-
return isset(self::$retryStatusCodes[$result['@metadata']['statusCode']]);
|
66 |
-
} elseif (!($error instanceof AwsException)) {
|
67 |
-
return false;
|
68 |
-
} elseif ($error->isConnectionError()) {
|
69 |
-
return true;
|
70 |
-
} elseif (isset(self::$retryCodes[$error->getAwsErrorCode()])) {
|
71 |
-
return true;
|
72 |
-
} elseif (isset(self::$retryStatusCodes[$error->getStatusCode()])) {
|
73 |
-
return true;
|
74 |
-
} else {
|
75 |
-
return false;
|
76 |
-
}
|
77 |
-
};
|
78 |
-
}
|
79 |
-
|
80 |
-
/**
|
81 |
-
* Delay function that calculates an exponential delay.
|
82 |
-
*
|
83 |
-
* @param $retries
|
84 |
-
*
|
85 |
-
* @return int
|
86 |
-
*/
|
87 |
-
public static function exponentialDelay($retries)
|
88 |
-
{
|
89 |
-
return mt_rand(0, (int) pow(2, $retries - 1) * 100);
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* @param CommandInterface $command
|
94 |
-
* @param RequestInterface $request
|
95 |
-
*
|
96 |
-
* @return PromiseInterface
|
97 |
-
*/
|
98 |
-
public function __invoke(
|
99 |
-
CommandInterface $command,
|
100 |
-
RequestInterface $request = null
|
101 |
-
) {
|
102 |
-
$retries = 0;
|
103 |
-
$handler = $this->nextHandler;
|
104 |
-
$decider = $this->decider;
|
105 |
-
$delay = $this->delay;
|
106 |
-
|
107 |
-
$g = function ($value) use ($handler, $decider, $delay, $command, $request, &$retries, &$g) {
|
108 |
-
if ($value instanceof \Exception) {
|
109 |
-
if (!$decider($retries, $command, $request, null, $value)) {
|
110 |
-
return \GuzzleHttp\Promise\rejection_for($value);
|
111 |
-
}
|
112 |
-
} elseif ($value instanceof ResultInterface
|
113 |
-
&& !$decider($retries, $command, $request, $value, null)
|
114 |
-
) {
|
115 |
-
return $value;
|
116 |
-
}
|
117 |
-
|
118 |
-
// Delay fn is called with 0, 1, ... so increment after the call.
|
119 |
-
$command['@http']['delay'] = $delay($retries++);
|
120 |
-
return $handler($command, $request)->then($g, $g);
|
121 |
-
};
|
122 |
-
|
123 |
-
return $handler($command, $request)->then($g, $g);
|
124 |
-
}
|
125 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/S3/S3Client.php
DELETED
@@ -1,855 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\S3;
|
3 |
-
|
4 |
-
use Aws\Api\ApiProvider;
|
5 |
-
use Aws\Api\DocModel;
|
6 |
-
use Aws\Api\Service;
|
7 |
-
use Aws\AwsClient;
|
8 |
-
use Aws\ClientResolver;
|
9 |
-
use Aws\Command;
|
10 |
-
use Aws\Exception\AwsException;
|
11 |
-
use Aws\HandlerList;
|
12 |
-
use Aws\Middleware;
|
13 |
-
use Aws\RetryMiddleware;
|
14 |
-
use Aws\S3\Exception\S3Exception;
|
15 |
-
use Aws\ResultInterface;
|
16 |
-
use Aws\CommandInterface;
|
17 |
-
use GuzzleHttp\Exception\RequestException;
|
18 |
-
use GuzzleHttp\Promise;
|
19 |
-
use GuzzleHttp\Promise\PromiseInterface;
|
20 |
-
use GuzzleHttp\Psr7;
|
21 |
-
use Psr\Http\Message\RequestInterface;
|
22 |
-
use Psr\Http\Message\StreamInterface;
|
23 |
-
|
24 |
-
/**
|
25 |
-
* Client used to interact with **Amazon Simple Storage Service (Amazon S3)**.
|
26 |
-
*
|
27 |
-
* @method \Aws\Result abortMultipartUpload(array $args = [])
|
28 |
-
* @method \GuzzleHttp\Promise\Promise abortMultipartUploadAsync(array $args = [])
|
29 |
-
* @method \Aws\Result completeMultipartUpload(array $args = [])
|
30 |
-
* @method \GuzzleHttp\Promise\Promise completeMultipartUploadAsync(array $args = [])
|
31 |
-
* @method \Aws\Result copyObject(array $args = [])
|
32 |
-
* @method \GuzzleHttp\Promise\Promise copyObjectAsync(array $args = [])
|
33 |
-
* @method \Aws\Result createBucket(array $args = [])
|
34 |
-
* @method \GuzzleHttp\Promise\Promise createBucketAsync(array $args = [])
|
35 |
-
* @method \Aws\Result createMultipartUpload(array $args = [])
|
36 |
-
* @method \GuzzleHttp\Promise\Promise createMultipartUploadAsync(array $args = [])
|
37 |
-
* @method \Aws\Result deleteBucket(array $args = [])
|
38 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketAsync(array $args = [])
|
39 |
-
* @method \Aws\Result deleteBucketCors(array $args = [])
|
40 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketCorsAsync(array $args = [])
|
41 |
-
* @method \Aws\Result deleteBucketLifecycle(array $args = [])
|
42 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketLifecycleAsync(array $args = [])
|
43 |
-
* @method \Aws\Result deleteBucketPolicy(array $args = [])
|
44 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketPolicyAsync(array $args = [])
|
45 |
-
* @method \Aws\Result deleteBucketReplication(array $args = [])
|
46 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketReplicationAsync(array $args = [])
|
47 |
-
* @method \Aws\Result deleteBucketTagging(array $args = [])
|
48 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketTaggingAsync(array $args = [])
|
49 |
-
* @method \Aws\Result deleteBucketWebsite(array $args = [])
|
50 |
-
* @method \GuzzleHttp\Promise\Promise deleteBucketWebsiteAsync(array $args = [])
|
51 |
-
* @method \Aws\Result deleteObject(array $args = [])
|
52 |
-
* @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = [])
|
53 |
-
* @method \Aws\Result deleteObjects(array $args = [])
|
54 |
-
* @method \GuzzleHttp\Promise\Promise deleteObjectsAsync(array $args = [])
|
55 |
-
* @method \Aws\Result getBucketAcl(array $args = [])
|
56 |
-
* @method \GuzzleHttp\Promise\Promise getBucketAclAsync(array $args = [])
|
57 |
-
* @method \Aws\Result getBucketCors(array $args = [])
|
58 |
-
* @method \GuzzleHttp\Promise\Promise getBucketCorsAsync(array $args = [])
|
59 |
-
* @method \Aws\Result getBucketLifecycle(array $args = [])
|
60 |
-
* @method \GuzzleHttp\Promise\Promise getBucketLifecycleAsync(array $args = [])
|
61 |
-
* @method \Aws\Result getBucketLifecycleConfiguration(array $args = [])
|
62 |
-
* @method \GuzzleHttp\Promise\Promise getBucketLifecycleConfigurationAsync(array $args = [])
|
63 |
-
* @method \Aws\Result getBucketLocation(array $args = [])
|
64 |
-
* @method \GuzzleHttp\Promise\Promise getBucketLocationAsync(array $args = [])
|
65 |
-
* @method \Aws\Result getBucketLogging(array $args = [])
|
66 |
-
* @method \GuzzleHttp\Promise\Promise getBucketLoggingAsync(array $args = [])
|
67 |
-
* @method \Aws\Result getBucketNotification(array $args = [])
|
68 |
-
* @method \GuzzleHttp\Promise\Promise getBucketNotificationAsync(array $args = [])
|
69 |
-
* @method \Aws\Result getBucketNotificationConfiguration(array $args = [])
|
70 |
-
* @method \GuzzleHttp\Promise\Promise getBucketNotificationConfigurationAsync(array $args = [])
|
71 |
-
* @method \Aws\Result getBucketPolicy(array $args = [])
|
72 |
-
* @method \GuzzleHttp\Promise\Promise getBucketPolicyAsync(array $args = [])
|
73 |
-
* @method \Aws\Result getBucketReplication(array $args = [])
|
74 |
-
* @method \GuzzleHttp\Promise\Promise getBucketReplicationAsync(array $args = [])
|
75 |
-
* @method \Aws\Result getBucketRequestPayment(array $args = [])
|
76 |
-
* @method \GuzzleHttp\Promise\Promise getBucketRequestPaymentAsync(array $args = [])
|
77 |
-
* @method \Aws\Result getBucketTagging(array $args = [])
|
78 |
-
* @method \GuzzleHttp\Promise\Promise getBucketTaggingAsync(array $args = [])
|
79 |
-
* @method \Aws\Result getBucketVersioning(array $args = [])
|
80 |
-
* @method \GuzzleHttp\Promise\Promise getBucketVersioningAsync(array $args = [])
|
81 |
-
* @method \Aws\Result getBucketWebsite(array $args = [])
|
82 |
-
* @method \GuzzleHttp\Promise\Promise getBucketWebsiteAsync(array $args = [])
|
83 |
-
* @method \Aws\Result getObject(array $args = [])
|
84 |
-
* @method \GuzzleHttp\Promise\Promise getObjectAsync(array $args = [])
|
85 |
-
* @method \Aws\Result getObjectAcl(array $args = [])
|
86 |
-
* @method \GuzzleHttp\Promise\Promise getObjectAclAsync(array $args = [])
|
87 |
-
* @method \Aws\Result getObjectTorrent(array $args = [])
|
88 |
-
* @method \GuzzleHttp\Promise\Promise getObjectTorrentAsync(array $args = [])
|
89 |
-
* @method \Aws\Result headBucket(array $args = [])
|
90 |
-
* @method \GuzzleHttp\Promise\Promise headBucketAsync(array $args = [])
|
91 |
-
* @method \Aws\Result headObject(array $args = [])
|
92 |
-
* @method \GuzzleHttp\Promise\Promise headObjectAsync(array $args = [])
|
93 |
-
* @method \Aws\Result listBuckets(array $args = [])
|
94 |
-
* @method \GuzzleHttp\Promise\Promise listBucketsAsync(array $args = [])
|
95 |
-
* @method \Aws\Result listMultipartUploads(array $args = [])
|
96 |
-
* @method \GuzzleHttp\Promise\Promise listMultipartUploadsAsync(array $args = [])
|
97 |
-
* @method \Aws\Result listObjectVersions(array $args = [])
|
98 |
-
* @method \GuzzleHttp\Promise\Promise listObjectVersionsAsync(array $args = [])
|
99 |
-
* @method \Aws\Result listObjects(array $args = [])
|
100 |
-
* @method \GuzzleHttp\Promise\Promise listObjectsAsync(array $args = [])
|
101 |
-
* @method \Aws\Result listParts(array $args = [])
|
102 |
-
* @method \GuzzleHttp\Promise\Promise listPartsAsync(array $args = [])
|
103 |
-
* @method \Aws\Result putBucketAcl(array $args = [])
|
104 |
-
* @method \GuzzleHttp\Promise\Promise putBucketAclAsync(array $args = [])
|
105 |
-
* @method \Aws\Result putBucketCors(array $args = [])
|
106 |
-
* @method \GuzzleHttp\Promise\Promise putBucketCorsAsync(array $args = [])
|
107 |
-
* @method \Aws\Result putBucketLifecycle(array $args = [])
|
108 |
-
* @method \GuzzleHttp\Promise\Promise putBucketLifecycleAsync(array $args = [])
|
109 |
-
* @method \Aws\Result putBucketLifecycleConfiguration(array $args = [])
|
110 |
-
* @method \GuzzleHttp\Promise\Promise putBucketLifecycleConfigurationAsync(array $args = [])
|
111 |
-
* @method \Aws\Result putBucketLogging(array $args = [])
|
112 |
-
* @method \GuzzleHttp\Promise\Promise putBucketLoggingAsync(array $args = [])
|
113 |
-
* @method \Aws\Result putBucketNotification(array $args = [])
|
114 |
-
* @method \GuzzleHttp\Promise\Promise putBucketNotificationAsync(array $args = [])
|
115 |
-
* @method \Aws\Result putBucketNotificationConfiguration(array $args = [])
|
116 |
-
* @method \GuzzleHttp\Promise\Promise putBucketNotificationConfigurationAsync(array $args = [])
|
117 |
-
* @method \Aws\Result putBucketPolicy(array $args = [])
|
118 |
-
* @method \GuzzleHttp\Promise\Promise putBucketPolicyAsync(array $args = [])
|
119 |
-
* @method \Aws\Result putBucketReplication(array $args = [])
|
120 |
-
* @method \GuzzleHttp\Promise\Promise putBucketReplicationAsync(array $args = [])
|
121 |
-
* @method \Aws\Result putBucketRequestPayment(array $args = [])
|
122 |
-
* @method \GuzzleHttp\Promise\Promise putBucketRequestPaymentAsync(array $args = [])
|
123 |
-
* @method \Aws\Result putBucketTagging(array $args = [])
|
124 |
-
* @method \GuzzleHttp\Promise\Promise putBucketTaggingAsync(array $args = [])
|
125 |
-
* @method \Aws\Result putBucketVersioning(array $args = [])
|
126 |
-
* @method \GuzzleHttp\Promise\Promise putBucketVersioningAsync(array $args = [])
|
127 |
-
* @method \Aws\Result putBucketWebsite(array $args = [])
|
128 |
-
* @method \GuzzleHttp\Promise\Promise putBucketWebsiteAsync(array $args = [])
|
129 |
-
* @method \Aws\Result putObject(array $args = [])
|
130 |
-
* @method \GuzzleHttp\Promise\Promise putObjectAsync(array $args = [])
|
131 |
-
* @method \Aws\Result putObjectAcl(array $args = [])
|
132 |
-
* @method \GuzzleHttp\Promise\Promise putObjectAclAsync(array $args = [])
|
133 |
-
* @method \Aws\Result restoreObject(array $args = [])
|
134 |
-
* @method \GuzzleHttp\Promise\Promise restoreObjectAsync(array $args = [])
|
135 |
-
* @method \Aws\Result uploadPart(array $args = [])
|
136 |
-
* @method \GuzzleHttp\Promise\Promise uploadPartAsync(array $args = [])
|
137 |
-
* @method \Aws\Result uploadPartCopy(array $args = [])
|
138 |
-
* @method \GuzzleHttp\Promise\Promise uploadPartCopyAsync(array $args = [])
|
139 |
-
*/
|
140 |
-
class S3Client extends AwsClient
|
141 |
-
{
|
142 |
-
public static function getArguments()
|
143 |
-
{
|
144 |
-
$args = parent::getArguments();
|
145 |
-
$args['retries']['fn'] = [__CLASS__, '_applyRetryConfig'];
|
146 |
-
$args['api_provider']['fn'] = [__CLASS__, '_applyApiProvider'];
|
147 |
-
|
148 |
-
return $args + [
|
149 |
-
'bucket_endpoint' => [
|
150 |
-
'type' => 'config',
|
151 |
-
'valid' => ['bool'],
|
152 |
-
'doc' => 'Set to true to send requests to a hardcoded '
|
153 |
-
. 'bucket endpoint rather than create an endpoint as a '
|
154 |
-
. 'result of injecting the bucket into the URL. This '
|
155 |
-
. 'option is useful for interacting with CNAME endpoints.',
|
156 |
-
],
|
157 |
-
];
|
158 |
-
}
|
159 |
-
|
160 |
-
/**
|
161 |
-
* {@inheritdoc}
|
162 |
-
*
|
163 |
-
* In addition to the options available to
|
164 |
-
* {@see Aws\AwsClient::__construct}, S3Client accepts the following
|
165 |
-
* options:
|
166 |
-
*
|
167 |
-
* - bucket_endpoint: (bool) Set to true to send requests to a
|
168 |
-
* hardcoded bucket endpoint rather than create an endpoint as a result
|
169 |
-
* of injecting the bucket into the URL. This option is useful for
|
170 |
-
* interacting with CNAME endpoints.
|
171 |
-
* - calculate_md5: (bool) Set to false to disable calculating an MD5
|
172 |
-
* for all Amazon S3 signed uploads.
|
173 |
-
*
|
174 |
-
* @param array $args
|
175 |
-
*/
|
176 |
-
public function __construct(array $args)
|
177 |
-
{
|
178 |
-
parent::__construct($args);
|
179 |
-
$stack = $this->getHandlerList();
|
180 |
-
$stack->appendInit(SSECMiddleware::wrap($this->getEndpoint()->getScheme()), 's3.ssec');
|
181 |
-
$stack->appendBuild(ApplyChecksumMiddleware::wrap(), 's3.checksum');
|
182 |
-
$stack->appendBuild(
|
183 |
-
Middleware::contentType(['PutObject', 'UploadPart']),
|
184 |
-
's3.content_type'
|
185 |
-
);
|
186 |
-
|
187 |
-
// Use the bucket style middleware when using a "bucket_endpoint" (for cnames)
|
188 |
-
if ($this->getConfig('bucket_endpoint')) {
|
189 |
-
$stack->appendBuild(BucketEndpointMiddleware::wrap(), 's3.bucket_endpoint');
|
190 |
-
}
|
191 |
-
|
192 |
-
$stack->appendSign(PutObjectUrlMiddleware::wrap(), 's3.put_object_url');
|
193 |
-
$stack->appendSign(PermanentRedirectMiddleware::wrap(), 's3.permanent_redirect');
|
194 |
-
$stack->appendInit(Middleware::sourceFile($this->getApi()), 's3.source_file');
|
195 |
-
$stack->appendInit($this->getSaveAsParameter(), 's3.save_as');
|
196 |
-
$stack->appendInit($this->getLocationConstraintMiddleware(), 's3.location');
|
197 |
-
}
|
198 |
-
|
199 |
-
/**
|
200 |
-
* Determine if a string is a valid name for a DNS compatible Amazon S3
|
201 |
-
* bucket.
|
202 |
-
*
|
203 |
-
* DNS compatible bucket names can be used as a subdomain in a URL (e.g.,
|
204 |
-
* "<bucket>.s3.amazonaws.com").
|
205 |
-
*
|
206 |
-
* @param string $bucket Bucket name to check.
|
207 |
-
*
|
208 |
-
* @return bool
|
209 |
-
*/
|
210 |
-
public static function isBucketDnsCompatible($bucket)
|
211 |
-
{
|
212 |
-
$bucketLen = strlen($bucket);
|
213 |
-
|
214 |
-
return ($bucketLen >= 3 && $bucketLen <= 63) &&
|
215 |
-
// Cannot look like an IP address
|
216 |
-
!filter_var($bucket, FILTER_VALIDATE_IP) &&
|
217 |
-
preg_match('/^[a-z0-9]([a-z0-9\-\.]*[a-z0-9])?$/', $bucket);
|
218 |
-
}
|
219 |
-
|
220 |
-
/**
|
221 |
-
* Create a pre-signed URL for the given S3 command object.
|
222 |
-
*
|
223 |
-
* @param CommandInterface $command Command to create a pre-signed
|
224 |
-
* URL for.
|
225 |
-
* @param int|string|\DateTime $expires The time at which the URL should
|
226 |
-
* expire. This can be a Unix
|
227 |
-
* timestamp, a PHP DateTime object,
|
228 |
-
* or a string that can be evaluated
|
229 |
-
* by strtotime().
|
230 |
-
*
|
231 |
-
* @return RequestInterface
|
232 |
-
*/
|
233 |
-
public function createPresignedRequest(CommandInterface $command, $expires)
|
234 |
-
{
|
235 |
-
/** @var \Aws\Signature\SignatureInterface $signer */
|
236 |
-
$signer = call_user_func(
|
237 |
-
$this->getSignatureProvider(),
|
238 |
-
$this->getConfig('signature_version'),
|
239 |
-
$this->getApi()->getSigningName(),
|
240 |
-
$this->getRegion()
|
241 |
-
);
|
242 |
-
|
243 |
-
return $signer->presign(
|
244 |
-
\Aws\serialize($command),
|
245 |
-
$this->getCredentials()->wait(),
|
246 |
-
$expires
|
247 |
-
);
|
248 |
-
}
|
249 |
-
|
250 |
-
/**
|
251 |
-
* Returns the URL to an object identified by its bucket and key.
|
252 |
-
*
|
253 |
-
* The URL returned by this method is not signed nor does it ensure the the
|
254 |
-
* bucket and key given to the method exist. If you need a signed URL, then
|
255 |
-
* use the {@see \Aws\S3\S3Client::createPresignedRequest} method and get
|
256 |
-
* the URI of the signed request.
|
257 |
-
*
|
258 |
-
* @param string $bucket The name of the bucket where the object is located
|
259 |
-
* @param string $key The key of the object
|
260 |
-
*
|
261 |
-
* @return string The URL to the object
|
262 |
-
*/
|
263 |
-
public function getObjectUrl($bucket, $key)
|
264 |
-
{
|
265 |
-
$command = $this->getCommand('GetObject', [
|
266 |
-
'Bucket' => $bucket,
|
267 |
-
'Key' => $key
|
268 |
-
]);
|
269 |
-
|
270 |
-
return (string) \Aws\serialize($command)->getUri();
|
271 |
-
}
|
272 |
-
|
273 |
-
/**
|
274 |
-
* Determines whether or not a bucket exists by name.
|
275 |
-
*
|
276 |
-
* @param string $bucket The name of the bucket
|
277 |
-
*
|
278 |
-
* @return bool
|
279 |
-
*/
|
280 |
-
public function doesBucketExist($bucket)
|
281 |
-
{
|
282 |
-
return $this->checkExistenceWithCommand(
|
283 |
-
$this->getCommand('HeadBucket', ['Bucket' => $bucket])
|
284 |
-
);
|
285 |
-
}
|
286 |
-
|
287 |
-
/**
|
288 |
-
* Determines whether or not an object exists by name.
|
289 |
-
*
|
290 |
-
* @param string $bucket The name of the bucket
|
291 |
-
* @param string $key The key of the object
|
292 |
-
* @param array $options Additional options available in the HeadObject
|
293 |
-
* operation (e.g., VersionId).
|
294 |
-
*
|
295 |
-
* @return bool
|
296 |
-
*/
|
297 |
-
public function doesObjectExist($bucket, $key, array $options = [])
|
298 |
-
{
|
299 |
-
return $this->checkExistenceWithCommand(
|
300 |
-
$this->getCommand('HeadObject', [
|
301 |
-
'Bucket' => $bucket,
|
302 |
-
'Key' => $key
|
303 |
-
] + $options)
|
304 |
-
);
|
305 |
-
}
|
306 |
-
|
307 |
-
/**
|
308 |
-
* Raw URL encode a key and allow for '/' characters
|
309 |
-
*
|
310 |
-
* @param string $key Key to encode
|
311 |
-
*
|
312 |
-
* @return string Returns the encoded key
|
313 |
-
*/
|
314 |
-
public static function encodeKey($key)
|
315 |
-
{
|
316 |
-
return str_replace('%2F', '/', rawurlencode($key));
|
317 |
-
}
|
318 |
-
|
319 |
-
/**
|
320 |
-
* Register the Amazon S3 stream wrapper with this client instance.
|
321 |
-
*/
|
322 |
-
public function registerStreamWrapper()
|
323 |
-
{
|
324 |
-
StreamWrapper::register($this);
|
325 |
-
}
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Deletes objects from Amazon S3 that match the result of a ListObjects
|
329 |
-
* operation. For example, this allows you to do things like delete all
|
330 |
-
* objects that match a specific key prefix.
|
331 |
-
*
|
332 |
-
* @param string $bucket Bucket that contains the object keys
|
333 |
-
* @param string $prefix Optionally delete only objects under this key prefix
|
334 |
-
* @param string $regex Delete only objects that match this regex
|
335 |
-
* @param array $options Aws\S3\BatchDelete options array.
|
336 |
-
*
|
337 |
-
* @see Aws\S3\S3Client::listObjects
|
338 |
-
* @throws \RuntimeException if no prefix and no regex is given
|
339 |
-
*/
|
340 |
-
public function deleteMatchingObjects(
|
341 |
-
$bucket,
|
342 |
-
$prefix = '',
|
343 |
-
$regex = '',
|
344 |
-
array $options = []
|
345 |
-
) {
|
346 |
-
if (!$prefix && !$regex) {
|
347 |
-
throw new \RuntimeException('A prefix or regex is required.');
|
348 |
-
}
|
349 |
-
|
350 |
-
$params = ['Bucket' => $bucket, 'Prefix' => $prefix];
|
351 |
-
$iter = $this->getIterator('ListObjects', $params);
|
352 |
-
|
353 |
-
if ($regex) {
|
354 |
-
$iter = \Aws\filter($iter, function ($c) use ($regex) {
|
355 |
-
return preg_match($regex, $c['Key']);
|
356 |
-
});
|
357 |
-
}
|
358 |
-
|
359 |
-
BatchDelete::fromIterator($this, $bucket, $iter, $options)->delete();
|
360 |
-
}
|
361 |
-
|
362 |
-
/**
|
363 |
-
* Upload a file, stream, or string to a bucket.
|
364 |
-
*
|
365 |
-
* If the upload size exceeds the specified threshold, the upload will be
|
366 |
-
* performed using concurrent multipart uploads.
|
367 |
-
*
|
368 |
-
* The options array accepts the following options:
|
369 |
-
*
|
370 |
-
* - before_upload: (callable) Callback to invoke before any upload
|
371 |
-
* operations during the upload process. The callback should have a
|
372 |
-
* function signature like `function (Aws\Command $command) {...}`.
|
373 |
-
* - concurrency: (int, default=int(3)) Maximum number of concurrent
|
374 |
-
* `UploadPart` operations allowed during a multipart upload.
|
375 |
-
* - mup_threshold: (int, default=int(16777216)) The size, in bytes, allowed
|
376 |
-
* before the upload must be sent via a multipart upload. Default: 16 MB.
|
377 |
-
* - params: (array, default=array([])) Custom parameters to use with the
|
378 |
-
* upload. For single uploads, they must correspond to those used for the
|
379 |
-
* `PutObject` operation. For multipart uploads, they correspond to the
|
380 |
-
* parameters of the `CreateMultipartUpload` operation.
|
381 |
-
* - part_size: (int) Part size to use when doing a multipart upload.
|
382 |
-
*
|
383 |
-
* @param string $bucket Bucket to upload the object.
|
384 |
-
* @param string $key Key of the object.
|
385 |
-
* @param mixed $body Object data to upload. Can be a
|
386 |
-
* StreamInterface, PHP stream resource, or a
|
387 |
-
* string of data to upload.
|
388 |
-
* @param string $acl ACL to apply to the object (default: private).
|
389 |
-
* @param array $options Options used to configure the upload process.
|
390 |
-
*
|
391 |
-
* @see Aws\S3\MultipartUploader for more info about multipart uploads.
|
392 |
-
* @return ResultInterface Returns the result of the upload.
|
393 |
-
*/
|
394 |
-
public function upload(
|
395 |
-
$bucket,
|
396 |
-
$key,
|
397 |
-
$body,
|
398 |
-
$acl = 'private',
|
399 |
-
array $options = []
|
400 |
-
) {
|
401 |
-
return $this
|
402 |
-
->uploadAsync($bucket, $key, $body, $acl, $options)
|
403 |
-
->wait();
|
404 |
-
}
|
405 |
-
|
406 |
-
/**
|
407 |
-
* Upload a file, stream, or string to a bucket asynchronously.
|
408 |
-
*
|
409 |
-
* @param string $bucket Bucket to upload the object.
|
410 |
-
* @param string $key Key of the object.
|
411 |
-
* @param mixed $body Object data to upload. Can be a
|
412 |
-
* StreamInterface, PHP stream resource, or a
|
413 |
-
* string of data to upload.
|
414 |
-
* @param string $acl ACL to apply to the object (default: private).
|
415 |
-
* @param array $options Options used to configure the upload process.
|
416 |
-
*
|
417 |
-
* @see self::upload
|
418 |
-
* @return PromiseInterface Returns a promise that will be fulfilled
|
419 |
-
* with the result of the upload.
|
420 |
-
*/
|
421 |
-
public function uploadAsync(
|
422 |
-
$bucket,
|
423 |
-
$key,
|
424 |
-
$body,
|
425 |
-
$acl = 'private',
|
426 |
-
array $options = []
|
427 |
-
) {
|
428 |
-
// Prepare the options.
|
429 |
-
static $defaults = [
|
430 |
-
'before_upload' => null,
|
431 |
-
'concurrency' => 3,
|
432 |
-
'mup_threshold' => 16777216,
|
433 |
-
'params' => [],
|
434 |
-
'part_size' => null,
|
435 |
-
];
|
436 |
-
$options = array_intersect_key($options + $defaults, $defaults);
|
437 |
-
|
438 |
-
// Perform the required operations to upload the S3 Object.
|
439 |
-
$body = Psr7\stream_for($body);
|
440 |
-
if ($this->requiresMultipart($body, $options['mup_threshold'])) {
|
441 |
-
// Perform a multipart upload.
|
442 |
-
$options['before_initiate'] = function ($command) use ($options) {
|
443 |
-
foreach ($options['params'] as $k => $v) {
|
444 |
-
$command[$k] = $v;
|
445 |
-
}
|
446 |
-
};
|
447 |
-
return (new MultipartUploader($this, $body, [
|
448 |
-
'bucket' => $bucket,
|
449 |
-
'key' => $key,
|
450 |
-
'acl' => $acl
|
451 |
-
] + $options))->promise();
|
452 |
-
} else {
|
453 |
-
// Perform a regular PutObject operation.
|
454 |
-
$command = $this->getCommand('PutObject', [
|
455 |
-
'Bucket' => $bucket,
|
456 |
-
'Key' => $key,
|
457 |
-
'Body' => $body,
|
458 |
-
'ACL' => $acl,
|
459 |
-
] + $options['params']);
|
460 |
-
if (is_callable($options['before_upload'])) {
|
461 |
-
$options['before_upload']($command);
|
462 |
-
}
|
463 |
-
return $this->executeAsync($command);
|
464 |
-
}
|
465 |
-
}
|
466 |
-
|
467 |
-
/**
|
468 |
-
* Copy an object of any size to a different location.
|
469 |
-
*
|
470 |
-
* If the upload size exceeds the maximum allowable size for direct S3
|
471 |
-
* copying, a multipart copy will be used.
|
472 |
-
*
|
473 |
-
* The options array accepts the following options:
|
474 |
-
*
|
475 |
-
* - before_upload: (callable) Callback to invoke before any upload
|
476 |
-
* operations during the upload process. The callback should have a
|
477 |
-
* function signature like `function (Aws\Command $command) {...}`.
|
478 |
-
* - concurrency: (int, default=int(5)) Maximum number of concurrent
|
479 |
-
* `UploadPart` operations allowed during a multipart upload.
|
480 |
-
* - params: (array, default=array([])) Custom parameters to use with the
|
481 |
-
* upload. For single uploads, they must correspond to those used for the
|
482 |
-
* `CopyObject` operation. For multipart uploads, they correspond to the
|
483 |
-
* parameters of the `CreateMultipartUpload` operation.
|
484 |
-
* - part_size: (int) Part size to use when doing a multipart upload.
|
485 |
-
*
|
486 |
-
* @param string $fromBucket Bucket where the copy source resides.
|
487 |
-
* @param string $fromKey Key of the copy source.
|
488 |
-
* @param string $destBucket Bucket to which to copy the object.
|
489 |
-
* @param string $destKey Key to which to copy the object.
|
490 |
-
* @param string $acl ACL to apply to the copy (default: private).
|
491 |
-
* @param array $options Options used to configure the upload process.
|
492 |
-
*
|
493 |
-
* @see Aws\S3\MultipartCopy for more info about multipart uploads.
|
494 |
-
* @return ResultInterface Returns the result of the copy.
|
495 |
-
*/
|
496 |
-
public function copy(
|
497 |
-
$fromBucket,
|
498 |
-
$fromKey,
|
499 |
-
$destBucket,
|
500 |
-
$destKey,
|
501 |
-
$acl = 'private',
|
502 |
-
array $options = []
|
503 |
-
) {
|
504 |
-
return $this
|
505 |
-
->copyAsync($fromBucket, $fromKey, $destBucket, $destKey, $acl, $options)
|
506 |
-
->wait();
|
507 |
-
}
|
508 |
-
|
509 |
-
/**
|
510 |
-
* Copy an object of any size to a different location asynchronously.
|
511 |
-
*
|
512 |
-
* @param string $fromBucket Bucket where the copy source resides.
|
513 |
-
* @param string $fromKey Key of the copy source.
|
514 |
-
* @param string $destBucket Bucket to which to copy the object.
|
515 |
-
* @param string $destKey Key to which to copy the object.
|
516 |
-
* @param string $acl ACL to apply to the copy (default: private).
|
517 |
-
* @param array $options Options used to configure the upload process.
|
518 |
-
*
|
519 |
-
* @see self::copy for more info about the parameters above.
|
520 |
-
* @return PromiseInterface Returns a promise that will be fulfilled
|
521 |
-
* with the result of the copy.
|
522 |
-
*/
|
523 |
-
public function copyAsync(
|
524 |
-
$fromBucket,
|
525 |
-
$fromKey,
|
526 |
-
$destBucket,
|
527 |
-
$destKey,
|
528 |
-
$acl = 'private',
|
529 |
-
array $options = []
|
530 |
-
) {
|
531 |
-
// Prepare the options.
|
532 |
-
static $defaults = [
|
533 |
-
'before_upload' => null,
|
534 |
-
'concurrency' => 5,
|
535 |
-
'mup_threshold' => MultipartUploader::PART_MAX_SIZE,
|
536 |
-
'params' => [],
|
537 |
-
'part_size' => null,
|
538 |
-
'version_id' => null,
|
539 |
-
];
|
540 |
-
|
541 |
-
return Promise\coroutine($this->doCopyAsync(
|
542 |
-
['Bucket' => $fromBucket, 'Key' => $fromKey],
|
543 |
-
['Bucket' => $destBucket, 'Key' => $destKey],
|
544 |
-
$acl,
|
545 |
-
$options + $defaults
|
546 |
-
));
|
547 |
-
}
|
548 |
-
|
549 |
-
private function doCopyAsync(
|
550 |
-
array $source,
|
551 |
-
array $destination,
|
552 |
-
$acl,
|
553 |
-
array $options
|
554 |
-
) {
|
555 |
-
return function () use ($source, $destination, $acl, $options) {
|
556 |
-
$sourcePath = '/' . $source['Bucket'] . '/' . rawurlencode($source['Key']);
|
557 |
-
if ($options['version_id']) {
|
558 |
-
$sourcePath .= "?versionId={$options['version_id']}";
|
559 |
-
$source['VersionId'] = $options['version_id'];
|
560 |
-
}
|
561 |
-
|
562 |
-
$objectStats = (yield $this->headObjectAsync($source));
|
563 |
-
|
564 |
-
if ($objectStats['ContentLength'] > $options['mup_threshold']) {
|
565 |
-
$mup = new MultipartCopy($this, $sourcePath, $destination + [
|
566 |
-
'source_metadata' => $objectStats,
|
567 |
-
'acl' => $acl,
|
568 |
-
] + $options);
|
569 |
-
|
570 |
-
yield $mup->promise();
|
571 |
-
} else {
|
572 |
-
yield $this->copyObjectAsync($options + $destination + [
|
573 |
-
'ACL' => $acl,
|
574 |
-
'MetadataDirective' => 'COPY',
|
575 |
-
'CopySource' => $sourcePath,
|
576 |
-
] + $options['params']);
|
577 |
-
}
|
578 |
-
};
|
579 |
-
}
|
580 |
-
|
581 |
-
/**
|
582 |
-
* Recursively uploads all files in a given directory to a given bucket.
|
583 |
-
*
|
584 |
-
* @param string $directory Full path to a directory to upload
|
585 |
-
* @param string $bucket Name of the bucket
|
586 |
-
* @param string $keyPrefix Virtual directory key prefix to add to each upload
|
587 |
-
* @param array $options Options available in Aws\S3\Transfer::__construct
|
588 |
-
*
|
589 |
-
* @see Aws\S3\Transfer for more options and customization
|
590 |
-
*/
|
591 |
-
public function uploadDirectory(
|
592 |
-
$directory,
|
593 |
-
$bucket,
|
594 |
-
$keyPrefix = null,
|
595 |
-
array $options = []
|
596 |
-
) {
|
597 |
-
$d = "s3://$bucket" . ($keyPrefix ? '/' . ltrim($keyPrefix, '/') : '');
|
598 |
-
(new Transfer($this, $directory, $d, $options))->transfer();
|
599 |
-
}
|
600 |
-
|
601 |
-
/**
|
602 |
-
* Downloads a bucket to the local filesystem
|
603 |
-
*
|
604 |
-
* @param string $directory Directory to download to
|
605 |
-
* @param string $bucket Bucket to download from
|
606 |
-
* @param string $keyPrefix Only download objects that use this key prefix
|
607 |
-
* @param array $options Options available in Aws\S3\Transfer::__construct
|
608 |
-
*/
|
609 |
-
public function downloadBucket(
|
610 |
-
$directory,
|
611 |
-
$bucket,
|
612 |
-
$keyPrefix = '',
|
613 |
-
array $options = []
|
614 |
-
) {
|
615 |
-
$s = "s3://$bucket" . ($keyPrefix ? '/' . ltrim($keyPrefix, '/') : '');
|
616 |
-
(new Transfer($this, $s, $directory, $options))->transfer();
|
617 |
-
}
|
618 |
-
|
619 |
-
/**
|
620 |
-
* Determines if the body should be uploaded using PutObject or the
|
621 |
-
* Multipart Upload System. It also modifies the passed-in $body as needed
|
622 |
-
* to support the upload.
|
623 |
-
*
|
624 |
-
* @param StreamInterface $body Stream representing the body.
|
625 |
-
* @param integer $threshold Minimum bytes before using Multipart.
|
626 |
-
*
|
627 |
-
* @return bool
|
628 |
-
*/
|
629 |
-
private function requiresMultipart(StreamInterface &$body, $threshold)
|
630 |
-
{
|
631 |
-
// If body size known, compare to threshold to determine if Multipart.
|
632 |
-
if ($body->getSize() !== null) {
|
633 |
-
return $body->getSize() >= $threshold;
|
634 |
-
}
|
635 |
-
|
636 |
-
// Handle the situation where the body size is unknown.
|
637 |
-
// Read up to 5MB into a buffer to determine how to upload the body.
|
638 |
-
$buffer = Psr7\stream_for();
|
639 |
-
Psr7\copy_to_stream($body, $buffer, MultipartUploader::PART_MIN_SIZE);
|
640 |
-
|
641 |
-
// If body < 5MB, use PutObject with the buffer.
|
642 |
-
if ($buffer->getSize() < MultipartUploader::PART_MIN_SIZE) {
|
643 |
-
$buffer->seek(0);
|
644 |
-
$body = $buffer;
|
645 |
-
return false;
|
646 |
-
}
|
647 |
-
|
648 |
-
// If body >= 5 MB, then use multipart. [YES]
|
649 |
-
if ($body->isSeekable()) {
|
650 |
-
// If the body is seekable, just rewind the body.
|
651 |
-
$body->seek(0);
|
652 |
-
} else {
|
653 |
-
// If the body is non-seekable, stitch the rewind the buffer and
|
654 |
-
// the partially read body together into one stream. This avoids
|
655 |
-
// unnecessary disc usage and does not require seeking on the
|
656 |
-
// original stream.
|
657 |
-
$buffer->seek(0);
|
658 |
-
$body = new Psr7\AppendStream([$buffer, $body]);
|
659 |
-
}
|
660 |
-
|
661 |
-
return true;
|
662 |
-
}
|
663 |
-
|
664 |
-
/**
|
665 |
-
* Determines whether or not a resource exists using a command
|
666 |
-
*
|
667 |
-
* @param CommandInterface $command Command used to poll for the resource
|
668 |
-
*
|
669 |
-
* @return bool
|
670 |
-
* @throws S3Exception|\Exception if there is an unhandled exception
|
671 |
-
*/
|
672 |
-
private function checkExistenceWithCommand(CommandInterface $command)
|
673 |
-
{
|
674 |
-
try {
|
675 |
-
$this->execute($command);
|
676 |
-
return true;
|
677 |
-
} catch (S3Exception $e) {
|
678 |
-
if ($e->getAwsErrorCode() == 'AccessDenied') {
|
679 |
-
return true;
|
680 |
-
}
|
681 |
-
if ($e->getStatusCode() >= 500) {
|
682 |
-
throw $e;
|
683 |
-
}
|
684 |
-
return false;
|
685 |
-
}
|
686 |
-
}
|
687 |
-
|
688 |
-
/**
|
689 |
-
* Provides a middleware that removes the need to specify LocationConstraint on CreateBucket.
|
690 |
-
*
|
691 |
-
* @return \Closure
|
692 |
-
*/
|
693 |
-
private function getLocationConstraintMiddleware()
|
694 |
-
{
|
695 |
-
$region = $this->getRegion();
|
696 |
-
return static function (callable $handler) use ($region) {
|
697 |
-
return function (Command $command, $request = null) use ($handler, $region) {
|
698 |
-
if ($command->getName() === 'CreateBucket') {
|
699 |
-
$locationConstraint = isset($command['CreateBucketConfiguration']['LocationConstraint'])
|
700 |
-
? $command['CreateBucketConfiguration']['LocationConstraint']
|
701 |
-
: null;
|
702 |
-
|
703 |
-
if ($locationConstraint === 'us-east-1') {
|
704 |
-
unset($command['CreateBucketConfiguration']);
|
705 |
-
} elseif ('us-east-1' !== $region && empty($locationConstraint)) {
|
706 |
-
$command['CreateBucketConfiguration'] = ['LocationConstraint' => $region];
|
707 |
-
}
|
708 |
-
}
|
709 |
-
|
710 |
-
return $handler($command, $request);
|
711 |
-
};
|
712 |
-
};
|
713 |
-
}
|
714 |
-
|
715 |
-
/**
|
716 |
-
* Provides a middleware that supports the `SaveAs` parameter.
|
717 |
-
*
|
718 |
-
* @return \Closure
|
719 |
-
*/
|
720 |
-
private function getSaveAsParameter()
|
721 |
-
{
|
722 |
-
return static function (callable $handler) {
|
723 |
-
return function (Command $command, $request = null) use ($handler) {
|
724 |
-
if ($command->getName() === 'GetObject' && isset($command['SaveAs'])) {
|
725 |
-
$command['@http']['sink'] = $command['SaveAs'];
|
726 |
-
unset($command['SaveAs']);
|
727 |
-
}
|
728 |
-
|
729 |
-
return $handler($command, $request);
|
730 |
-
};
|
731 |
-
};
|
732 |
-
}
|
733 |
-
|
734 |
-
/** @internal */
|
735 |
-
public static function _applyRetryConfig($value, $_, HandlerList $list)
|
736 |
-
{
|
737 |
-
if (!$value) {
|
738 |
-
return;
|
739 |
-
}
|
740 |
-
|
741 |
-
$decider = RetryMiddleware::createDefaultDecider($value);
|
742 |
-
$decider = function ($retries, $command, $request, $result, $error) use ($decider, $value) {
|
743 |
-
$maxRetries = null !== $command['@retries']
|
744 |
-
? $command['@retries']
|
745 |
-
: $value;
|
746 |
-
|
747 |
-
if ($decider($retries, $command, $request, $result, $error)) {
|
748 |
-
return true;
|
749 |
-
} elseif ($error instanceof AwsException
|
750 |
-
&& $retries < $maxRetries
|
751 |
-
) {
|
752 |
-
if (
|
753 |
-
$error->getResponse()
|
754 |
-
&& $error->getResponse()->getStatusCode() >= 400
|
755 |
-
) {
|
756 |
-
return strpos(
|
757 |
-
$error->getResponse()->getBody(),
|
758 |
-
'Your socket connection to the server'
|
759 |
-
) !== false;
|
760 |
-
} elseif ($error->getPrevious() instanceof RequestException) {
|
761 |
-
// All commands except CompleteMultipartUpload are
|
762 |
-
// idempotent and may be retried without worry if a
|
763 |
-
// networking error has occurred.
|
764 |
-
return $command->getName() !== 'CompleteMultipartUpload';
|
765 |
-
}
|
766 |
-
}
|
767 |
-
return false;
|
768 |
-
};
|
769 |
-
|
770 |
-
$delay = [RetryMiddleware::class, 'exponentialDelay'];
|
771 |
-
$list->appendSign(Middleware::retry($decider, $delay), 'retry');
|
772 |
-
}
|
773 |
-
|
774 |
-
/** @internal */
|
775 |
-
public static function _applyApiProvider($value, array &$args, HandlerList $list)
|
776 |
-
{
|
777 |
-
ClientResolver::_apply_api_provider($value, $args, $list);
|
778 |
-
$args['parser'] = new GetBucketLocationParser(
|
779 |
-
new AmbiguousSuccessParser(
|
780 |
-
new RetryableMalformedResponseParser(
|
781 |
-
$args['parser'],
|
782 |
-
$args['exception_class']
|
783 |
-
),
|
784 |
-
$args['error_parser'],
|
785 |
-
$args['exception_class']
|
786 |
-
)
|
787 |
-
);
|
788 |
-
}
|
789 |
-
|
790 |
-
/**
|
791 |
-
* @internal
|
792 |
-
* @codeCoverageIgnore
|
793 |
-
*/
|
794 |
-
public static function applyDocFilters(array $api, array $docs)
|
795 |
-
{
|
796 |
-
$b64 = '<div class="alert alert-info">This value will be base64 encoded on your behalf.</div>';
|
797 |
-
$opt = '<div class="alert alert-info">This value will be computed for you it is not supplied.</div>';
|
798 |
-
|
799 |
-
// Add the SourceFile parameter.
|
800 |
-
$docs['shapes']['SourceFile']['base'] = 'The path to a file on disk to use instead of the Body parameter.';
|
801 |
-
$api['shapes']['SourceFile'] = ['type' => 'string'];
|
802 |
-
$api['shapes']['PutObjectRequest']['members']['SourceFile'] = ['shape' => 'SourceFile'];
|
803 |
-
$api['shapes']['UploadPartRequest']['members']['SourceFile'] = ['shape' => 'SourceFile'];
|
804 |
-
|
805 |
-
// Add the ContentSHA256 parameter.
|
806 |
-
$docs['shapes']['ContentSHA256']['base'] = 'A SHA256 hash of the body content of the request.';
|
807 |
-
$api['shapes']['ContentSHA256'] = ['type' => 'string'];
|
808 |
-
$api['shapes']['PutObjectRequest']['members']['ContentSHA256'] = ['shape' => 'ContentSHA256'];
|
809 |
-
$api['shapes']['UploadPartRequest']['members']['ContentSHA256'] = ['shape' => 'ContentSHA256'];
|
810 |
-
unset($api['shapes']['PutObjectRequest']['members']['ContentMD5']);
|
811 |
-
unset($api['shapes']['UploadPartRequest']['members']['ContentMD5']);
|
812 |
-
$docs['shapes']['ContentSHA256']['append'] = $opt;
|
813 |
-
|
814 |
-
// Add the SaveAs parameter.
|
815 |
-
$docs['shapes']['SaveAs']['base'] = 'The path to a file on disk to save the object data.';
|
816 |
-
$api['shapes']['SaveAs'] = ['type' => 'string'];
|
817 |
-
$api['shapes']['GetObjectRequest']['members']['SaveAs'] = ['shape' => 'SaveAs'];
|
818 |
-
|
819 |
-
// Several SSECustomerKey documentation updates.
|
820 |
-
$docs['shapes']['SSECustomerKey']['append'] = $b64;
|
821 |
-
$docs['shapes']['CopySourceSSECustomerKey']['append'] = $b64;
|
822 |
-
$docs['shapes']['SSECustomerKeyMd5']['append'] = $opt;
|
823 |
-
|
824 |
-
// Add the ObjectURL to various output shapes and documentation.
|
825 |
-
$docs['shapes']['ObjectURL']['base'] = 'The URI of the created object.';
|
826 |
-
$api['shapes']['ObjectURL'] = ['type' => 'string'];
|
827 |
-
$api['shapes']['PutObjectOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL'];
|
828 |
-
$api['shapes']['CopyObjectOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL'];
|
829 |
-
$api['shapes']['CompleteMultipartUploadOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL'];
|
830 |
-
|
831 |
-
// Fix references to Location Constraint.
|
832 |
-
unset($api['shapes']['CreateBucketRequest']['payload']);
|
833 |
-
$api['shapes']['BucketLocationConstraint']['enum'] = [
|
834 |
-
"ap-northeast-1",
|
835 |
-
"ap-southeast-2",
|
836 |
-
"ap-southeast-1",
|
837 |
-
"cn-north-1",
|
838 |
-
"eu-central-1",
|
839 |
-
"eu-west-1",
|
840 |
-
"us-east-1",
|
841 |
-
"us-west-1",
|
842 |
-
"us-west-2",
|
843 |
-
"sa-east-1",
|
844 |
-
];
|
845 |
-
|
846 |
-
// Add a note that the ContentMD5 is optional.
|
847 |
-
$docs['shapes']['ContentMD5']['append'] = '<div class="alert alert-info">The value will be computed on '
|
848 |
-
. 'your behalf.</div>';
|
849 |
-
|
850 |
-
return [
|
851 |
-
new Service($api, ApiProvider::defaultProvider()),
|
852 |
-
new DocModel($docs)
|
853 |
-
];
|
854 |
-
}
|
855 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/Sdk.php
DELETED
@@ -1,149 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Builds AWS clients based on configuration settings.
|
6 |
-
*
|
7 |
-
* @method \Aws\ApiGateway\ApiGatewayClient createApiGateway(array $args = [])
|
8 |
-
* @method \Aws\AutoScaling\AutoScalingClient createAutoScaling(array $args = [])
|
9 |
-
* @method \Aws\CloudFormation\CloudFormationClient createCloudFormation(array $args = [])
|
10 |
-
* @method \Aws\CloudFront\CloudFrontClient createCloudFront(array $args = [])
|
11 |
-
* @method \Aws\CloudHsm\CloudHsmClient createCloudHsm(array $args = [])
|
12 |
-
* @method \Aws\CloudSearch\CloudSearchClient createCloudSearch(array $args = [])
|
13 |
-
* @method \Aws\CloudSearchDomain\CloudSearchDomainClient createCloudSearchDomain(array $args = [])
|
14 |
-
* @method \Aws\CloudTrail\CloudTrailClient createCloudTrail(array $args = [])
|
15 |
-
* @method \Aws\CloudWatch\CloudWatchClient createCloudWatch(array $args = [])
|
16 |
-
* @method \Aws\CloudWatchLogs\CloudWatchLogsClient createCloudWatchLogs(array $args = [])
|
17 |
-
* @method \Aws\CodeCommit\CodeCommitClient createCodeCommit(array $args = [])
|
18 |
-
* @method \Aws\CodeDeploy\CodeDeployClient createCodeDeploy(array $args = [])
|
19 |
-
* @method \Aws\CodePipeline\CodePipelineClient createCodePipeline(array $args = [])
|
20 |
-
* @method \Aws\CognitoIdentity\CognitoIdentityClient createCognitoIdentity(array $args = [])
|
21 |
-
* @method \Aws\CognitoSync\CognitoSyncClient createCognitoSync(array $args = [])
|
22 |
-
* @method \Aws\ConfigService\ConfigServiceClient createConfigService(array $args = [])
|
23 |
-
* @method \Aws\DataPipeline\DataPipelineClient createDataPipeline(array $args = [])
|
24 |
-
* @method \Aws\DeviceFarm\DeviceFarmClient createDeviceFarm(array $args = [])
|
25 |
-
* @method \Aws\DirectConnect\DirectConnectClient createDirectConnect(array $args = [])
|
26 |
-
* @method \Aws\DirectoryService\DirectoryServiceClient createDirectoryService(array $args = [])
|
27 |
-
* @method \Aws\DynamoDb\DynamoDbClient createDynamoDb(array $args = [])
|
28 |
-
* @method \Aws\DynamoDbStreams\DynamoDbStreamsClient createDynamoDbStreams(array $args = [])
|
29 |
-
* @method \Aws\Ec2\Ec2Client createEc2(array $args = [])
|
30 |
-
* @method \Aws\Ecr\EcrClient createEcr(array $args = [])
|
31 |
-
* @method \Aws\Ecs\EcsClient createEcs(array $args = [])
|
32 |
-
* @method \Aws\Efs\EfsClient createEfs(array $args = [])
|
33 |
-
* @method \Aws\ElastiCache\ElastiCacheClient createElastiCache(array $args = [])
|
34 |
-
* @method \Aws\ElasticBeanstalk\ElasticBeanstalkClient createElasticBeanstalk(array $args = [])
|
35 |
-
* @method \Aws\ElasticLoadBalancing\ElasticLoadBalancingClient createElasticLoadBalancing(array $args = [])
|
36 |
-
* @method \Aws\ElasticTranscoder\ElasticTranscoderClient createElasticTranscoder(array $args = [])
|
37 |
-
* @method \Aws\ElasticsearchService\ElasticsearchServiceClient createElasticsearchService(array $args = [])
|
38 |
-
* @method \Aws\Emr\EmrClient createEmr(array $args = [])
|
39 |
-
* @method \Aws\Firehose\FirehoseClient createFirehose(array $args = [])
|
40 |
-
* @method \Aws\Glacier\GlacierClient createGlacier(array $args = [])
|
41 |
-
* @method \Aws\Iam\IamClient createIam(array $args = [])
|
42 |
-
* @method \Aws\Inspector\InspectorClient createInspector(array $args = [])
|
43 |
-
* @method \Aws\Iot\IotClient createIot(array $args = [])
|
44 |
-
* @method \Aws\IotDataPlane\IotDataPlaneClient createIotDataPlane(array $args = [])
|
45 |
-
* @method \Aws\Kinesis\KinesisClient createKinesis(array $args = [])
|
46 |
-
* @method \Aws\Kms\KmsClient createKms(array $args = [])
|
47 |
-
* @method \Aws\Lambda\LambdaClient createLambda(array $args = [])
|
48 |
-
* @method \Aws\MachineLearning\MachineLearningClient createMachineLearning(array $args = [])
|
49 |
-
* @method \Aws\MarketplaceCommerceAnalytics\MarketplaceCommerceAnalyticsClient createMarketplaceCommerceAnalytics(array $args = [])
|
50 |
-
* @method \Aws\OpsWorks\OpsWorksClient createOpsWorks(array $args = [])
|
51 |
-
* @method \Aws\Rds\RdsClient createRds(array $args = [])
|
52 |
-
* @method \Aws\Redshift\RedshiftClient createRedshift(array $args = [])
|
53 |
-
* @method \Aws\Route53\Route53Client createRoute53(array $args = [])
|
54 |
-
* @method \Aws\Route53Domains\Route53DomainsClient createRoute53Domains(array $args = [])
|
55 |
-
* @method \Aws\S3\S3Client createS3(array $args = [])
|
56 |
-
* @method \Aws\Ses\SesClient createSes(array $args = [])
|
57 |
-
* @method \Aws\Sns\SnsClient createSns(array $args = [])
|
58 |
-
* @method \Aws\Sqs\SqsClient createSqs(array $args = [])
|
59 |
-
* @method \Aws\Ssm\SsmClient createSsm(array $args = [])
|
60 |
-
* @method \Aws\StorageGateway\StorageGatewayClient createStorageGateway(array $args = [])
|
61 |
-
* @method \Aws\Sts\StsClient createSts(array $args = [])
|
62 |
-
* @method \Aws\Support\SupportClient createSupport(array $args = [])
|
63 |
-
* @method \Aws\Swf\SwfClient createSwf(array $args = [])
|
64 |
-
* @method \Aws\Waf\WafClient createWaf(array $args = [])
|
65 |
-
* @method \Aws\WorkSpaces\WorkSpacesClient createWorkSpaces(array $args = [])
|
66 |
-
*/
|
67 |
-
class Sdk
|
68 |
-
{
|
69 |
-
const VERSION = '3.12.0';
|
70 |
-
|
71 |
-
/** @var array Arguments for creating clients */
|
72 |
-
private $args;
|
73 |
-
|
74 |
-
/**
|
75 |
-
* Constructs a new SDK object with an associative array of default
|
76 |
-
* client settings.
|
77 |
-
*
|
78 |
-
* @param array $args
|
79 |
-
*
|
80 |
-
* @throws \InvalidArgumentException
|
81 |
-
* @see Aws\Sdk::getClient for a list of available options.
|
82 |
-
*/
|
83 |
-
public function __construct(array $args = [])
|
84 |
-
{
|
85 |
-
$this->args = $args;
|
86 |
-
|
87 |
-
if (!isset($args['handler']) && !isset($args['http_handler'])) {
|
88 |
-
$this->args['http_handler'] = default_http_handler();
|
89 |
-
}
|
90 |
-
}
|
91 |
-
|
92 |
-
public function __call($name, array $args)
|
93 |
-
{
|
94 |
-
if (strpos($name, 'create') === 0) {
|
95 |
-
return $this->createClient(
|
96 |
-
substr($name, 6),
|
97 |
-
isset($args[0]) ? $args[0] : []
|
98 |
-
);
|
99 |
-
}
|
100 |
-
|
101 |
-
throw new \BadMethodCallException("Unknown method: {$name}.");
|
102 |
-
}
|
103 |
-
|
104 |
-
/**
|
105 |
-
* Get a client by name using an array of constructor options.
|
106 |
-
*
|
107 |
-
* @param string $name Service name or namespace (e.g., DynamoDb, s3).
|
108 |
-
* @param array $args Arguments to configure the client.
|
109 |
-
*
|
110 |
-
* @return AwsClientInterface
|
111 |
-
* @throws \InvalidArgumentException if any required options are missing or
|
112 |
-
* the service is not supported.
|
113 |
-
* @see Aws\AwsClient::__construct for a list of available options for args.
|
114 |
-
*/
|
115 |
-
public function createClient($name, array $args = [])
|
116 |
-
{
|
117 |
-
// Get information about the service from the manifest file.
|
118 |
-
$service = manifest($name);
|
119 |
-
$namespace = $service['namespace'];
|
120 |
-
|
121 |
-
// Merge provided args with stored, service-specific args.
|
122 |
-
if (isset($this->args[$namespace])) {
|
123 |
-
$args += $this->args[$namespace];
|
124 |
-
}
|
125 |
-
|
126 |
-
// Provide the endpoint prefix in the args.
|
127 |
-
if (!isset($args['service'])) {
|
128 |
-
$args['service'] = $service['endpoint'];
|
129 |
-
}
|
130 |
-
|
131 |
-
// Instantiate the client class.
|
132 |
-
$client = "Aws\\{$namespace}\\{$namespace}Client";
|
133 |
-
return new $client($args + $this->args);
|
134 |
-
}
|
135 |
-
|
136 |
-
/**
|
137 |
-
* Determine the endpoint prefix from a client namespace.
|
138 |
-
*
|
139 |
-
* @param string $name Namespace name
|
140 |
-
*
|
141 |
-
* @return string
|
142 |
-
* @internal
|
143 |
-
* @deprecated Use the `\Aws\manifest()` function instead.
|
144 |
-
*/
|
145 |
-
public static function getEndpointPrefix($name)
|
146 |
-
{
|
147 |
-
return manifest($name)['endpoint'];
|
148 |
-
}
|
149 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/WorkSpaces/WorkSpacesClient.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Aws\WorkSpaces;
|
3 |
-
|
4 |
-
use Aws\AwsClient;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Amazon WorkSpaces client.
|
8 |
-
*
|
9 |
-
* @method \Aws\Result createWorkspaces(array $args = [])
|
10 |
-
* @method \GuzzleHttp\Promise\Promise createWorkspacesAsync(array $args = [])
|
11 |
-
* @method \Aws\Result describeWorkspaceBundles(array $args = [])
|
12 |
-
* @method \GuzzleHttp\Promise\Promise describeWorkspaceBundlesAsync(array $args = [])
|
13 |
-
* @method \Aws\Result describeWorkspaceDirectories(array $args = [])
|
14 |
-
* @method \GuzzleHttp\Promise\Promise describeWorkspaceDirectoriesAsync(array $args = [])
|
15 |
-
* @method \Aws\Result describeWorkspaces(array $args = [])
|
16 |
-
* @method \GuzzleHttp\Promise\Promise describeWorkspacesAsync(array $args = [])
|
17 |
-
* @method \Aws\Result rebootWorkspaces(array $args = [])
|
18 |
-
* @method \GuzzleHttp\Promise\Promise rebootWorkspacesAsync(array $args = [])
|
19 |
-
* @method \Aws\Result rebuildWorkspaces(array $args = [])
|
20 |
-
* @method \GuzzleHttp\Promise\Promise rebuildWorkspacesAsync(array $args = [])
|
21 |
-
* @method \Aws\Result terminateWorkspaces(array $args = [])
|
22 |
-
* @method \GuzzleHttp\Promise\Promise terminateWorkspacesAsync(array $args = [])
|
23 |
-
*/
|
24 |
-
class WorkSpacesClient extends AwsClient {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/Aws/data/cloudfront/2015-09-17/api-2.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/cloudfront/2015-09-17/api-2.json
|
3 |
-
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-09-17', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2015_09_17', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2015_09_17', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-09-17/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2015_09_17', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-09-17/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2015_09_17', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-09-17/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2015_09_17', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2015_09_17', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-09-17/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2015_09_17', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-09-17/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2015_09_17', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-09-17/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2015_09_17', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-09-17/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2015_09_17', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-09-17/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2015_09_17', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-09-17/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-09-17/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'string', ], 'CertificateSource' => [ 'shape' => 'CertificateSource', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'IAMCertificateId' => [ 'shape' => 'string', 'deprecated' => true, ], 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/cloudfront/2015-09-17/examples-1.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/cloudfront/2015-09-17/examples-1.json
|
3 |
-
return [ 'version' => '1.0', 'examples' => [],];
|
|
|
|
|
|
includes/aws/Aws/data/cloudfront/2015-09-17/waiters-2.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/cloudfront/2015-09-17/waiters-2.json
|
3 |
-
return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Status', ], ], ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/config/2014-11-12/api-2.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/config/2014-11-12/api-2.json
|
3 |
-
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-11-12', 'endpointPrefix' => 'config', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Config Service', 'serviceFullName' => 'AWS Config', 'signatureVersion' => 'v4', 'targetPrefix' => 'StarlingDoveService', ], 'operations' => [ 'DeleteConfigRule' => [ 'name' => 'DeleteConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigRuleRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteDeliveryChannel' => [ 'name' => 'DeleteDeliveryChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeliveryChannelRequest', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], [ 'shape' => 'LastDeliveryChannelDeleteFailedException', ], ], ], 'DeliverConfigSnapshot' => [ 'name' => 'DeliverConfigSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeliverConfigSnapshotRequest', ], 'output' => [ 'shape' => 'DeliverConfigSnapshotResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'NoRunningConfigurationRecorderException', ], ], ], 'DescribeComplianceByConfigRule' => [ 'name' => 'DescribeComplianceByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeComplianceByConfigRuleRequest', ], 'output' => [ 'shape' => 'DescribeComplianceByConfigRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'DescribeComplianceByResource' => [ 'name' => 'DescribeComplianceByResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeComplianceByResourceRequest', ], 'output' => [ 'shape' => 'DescribeComplianceByResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeConfigRuleEvaluationStatus' => [ 'name' => 'DescribeConfigRuleEvaluationStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigRuleEvaluationStatusRequest', ], 'output' => [ 'shape' => 'DescribeConfigRuleEvaluationStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'DescribeConfigRules' => [ 'name' => 'DescribeConfigRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigRulesRequest', ], 'output' => [ 'shape' => 'DescribeConfigRulesResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'DescribeConfigurationRecorderStatus' => [ 'name' => 'DescribeConfigurationRecorderStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationRecorderStatusRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationRecorderStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'DescribeConfigurationRecorders' => [ 'name' => 'DescribeConfigurationRecorders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationRecordersRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationRecordersResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'DescribeDeliveryChannelStatus' => [ 'name' => 'DescribeDeliveryChannelStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeliveryChannelStatusRequest', ], 'output' => [ 'shape' => 'DescribeDeliveryChannelStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], ], ], 'DescribeDeliveryChannels' => [ 'name' => 'DescribeDeliveryChannels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeliveryChannelsRequest', ], 'output' => [ 'shape' => 'DescribeDeliveryChannelsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], ], ], 'GetComplianceDetailsByConfigRule' => [ 'name' => 'GetComplianceDetailsByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailsByConfigRuleRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailsByConfigRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'GetComplianceDetailsByResource' => [ 'name' => 'GetComplianceDetailsByResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailsByResourceRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailsByResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetComplianceSummaryByConfigRule' => [ 'name' => 'GetComplianceSummaryByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetComplianceSummaryByConfigRuleResponse', ], ], 'GetComplianceSummaryByResourceType' => [ 'name' => 'GetComplianceSummaryByResourceType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceSummaryByResourceTypeRequest', ], 'output' => [ 'shape' => 'GetComplianceSummaryByResourceTypeResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetResourceConfigHistory' => [ 'name' => 'GetResourceConfigHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourceConfigHistoryRequest', ], 'output' => [ 'shape' => 'GetResourceConfigHistoryResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidTimeRangeException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'ResourceNotDiscoveredException', ], ], ], 'ListDiscoveredResources' => [ 'name' => 'ListDiscoveredResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDiscoveredResourcesRequest', ], 'output' => [ 'shape' => 'ListDiscoveredResourcesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], ], ], 'PutConfigRule' => [ 'name' => 'PutConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConfigRuleRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MaxNumberOfConfigRulesExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InsufficientPermissionsException', ], ], ], 'PutConfigurationRecorder' => [ 'name' => 'PutConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'MaxNumberOfConfigurationRecordersExceededException', ], [ 'shape' => 'InvalidConfigurationRecorderNameException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'InvalidRecordingGroupException', ], ], ], 'PutDeliveryChannel' => [ 'name' => 'PutDeliveryChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDeliveryChannelRequest', ], 'errors' => [ [ 'shape' => 'MaxNumberOfDeliveryChannelsExceededException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'InvalidDeliveryChannelNameException', ], [ 'shape' => 'NoSuchBucketException', ], [ 'shape' => 'InvalidS3KeyPrefixException', ], [ 'shape' => 'InvalidSNSTopicARNException', ], [ 'shape' => 'InsufficientDeliveryPolicyException', ], ], ], 'PutEvaluations' => [ 'name' => 'PutEvaluations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutEvaluationsRequest', ], 'output' => [ 'shape' => 'PutEvaluationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidResultTokenException', ], [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'StartConfigurationRecorder' => [ 'name' => 'StartConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], [ 'shape' => 'NoAvailableDeliveryChannelException', ], ], ], 'StopConfigurationRecorder' => [ 'name' => 'StopConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AccountId' => [ 'type' => 'string', ], 'AllSupported' => [ 'type' => 'boolean', ], 'AvailabilityZone' => [ 'type' => 'string', ], 'AwsRegion' => [ 'type' => 'string', ], 'Boolean' => [ 'type' => 'boolean', ], 'ChannelName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ChronologicalOrder' => [ 'type' => 'string', 'enum' => [ 'Reverse', 'Forward', ], ], 'Compliance' => [ 'type' => 'structure', 'members' => [ 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'ComplianceContributorCount' => [ 'shape' => 'ComplianceContributorCount', ], ], ], 'ComplianceByConfigRule' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'Compliance' => [ 'shape' => 'Compliance', ], ], ], 'ComplianceByConfigRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceByConfigRule', ], ], 'ComplianceByResource' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'StringWithCharLimit256', ], 'Compliance' => [ 'shape' => 'Compliance', ], ], ], 'ComplianceByResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceByResource', ], ], 'ComplianceContributorCount' => [ 'type' => 'structure', 'members' => [ 'CappedCount' => [ 'shape' => 'Integer', ], 'CapExceeded' => [ 'shape' => 'Boolean', ], ], ], 'ComplianceResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 100, 'min' => 0, ], 'ComplianceSummariesByResourceType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceSummaryByResourceType', ], ], 'ComplianceSummary' => [ 'type' => 'structure', 'members' => [ 'CompliantResourceCount' => [ 'shape' => 'ComplianceContributorCount', ], 'NonCompliantResourceCount' => [ 'shape' => 'ComplianceContributorCount', ], 'ComplianceSummaryTimestamp' => [ 'shape' => 'Date', ], ], ], 'ComplianceSummaryByResourceType' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceSummary' => [ 'shape' => 'ComplianceSummary', ], ], ], 'ComplianceType' => [ 'type' => 'string', 'enum' => [ 'COMPLIANT', 'NON_COMPLIANT', 'NOT_APPLICABLE', 'INSUFFICIENT_DATA', ], ], 'ComplianceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceType', ], 'max' => 3, 'min' => 0, ], 'ConfigExportDeliveryInfo' => [ 'type' => 'structure', 'members' => [ 'lastStatus' => [ 'shape' => 'DeliveryStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastAttemptTime' => [ 'shape' => 'Date', ], 'lastSuccessfulTime' => [ 'shape' => 'Date', ], 'nextDeliveryTime' => [ 'shape' => 'Date', ], ], ], 'ConfigRule' => [ 'type' => 'structure', 'required' => [ 'Source', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ConfigRuleArn' => [ 'shape' => 'String', ], 'ConfigRuleId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'EmptiableStringWithCharLimit256', ], 'Scope' => [ 'shape' => 'Scope', ], 'Source' => [ 'shape' => 'Source', ], 'InputParameters' => [ 'shape' => 'StringWithCharLimit256', ], 'MaximumExecutionFrequency' => [ 'shape' => 'MaximumExecutionFrequency', ], 'ConfigRuleState' => [ 'shape' => 'ConfigRuleState', ], ], ], 'ConfigRuleEvaluationStatus' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ConfigRuleArn' => [ 'shape' => 'String', ], 'ConfigRuleId' => [ 'shape' => 'String', ], 'LastSuccessfulInvocationTime' => [ 'shape' => 'Date', ], 'LastFailedInvocationTime' => [ 'shape' => 'Date', ], 'LastSuccessfulEvaluationTime' => [ 'shape' => 'Date', ], 'LastFailedEvaluationTime' => [ 'shape' => 'Date', ], 'FirstActivatedTime' => [ 'shape' => 'Date', ], 'LastErrorCode' => [ 'shape' => 'String', ], 'LastErrorMessage' => [ 'shape' => 'String', ], 'FirstEvaluationStarted' => [ 'shape' => 'Boolean', ], ], ], 'ConfigRuleEvaluationStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigRuleEvaluationStatus', ], ], 'ConfigRuleNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit64', ], 'max' => 25, 'min' => 0, ], 'ConfigRuleState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETING', ], ], 'ConfigRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigRule', ], ], 'ConfigSnapshotDeliveryProperties' => [ 'type' => 'structure', 'members' => [ 'deliveryFrequency' => [ 'shape' => 'MaximumExecutionFrequency', ], ], ], 'ConfigStreamDeliveryInfo' => [ 'type' => 'structure', 'members' => [ 'lastStatus' => [ 'shape' => 'DeliveryStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastStatusChangeTime' => [ 'shape' => 'Date', ], ], ], 'Configuration' => [ 'type' => 'string', ], 'ConfigurationItem' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], 'accountId' => [ 'shape' => 'AccountId', ], 'configurationItemCaptureTime' => [ 'shape' => 'ConfigurationItemCaptureTime', ], 'configurationItemStatus' => [ 'shape' => 'ConfigurationItemStatus', ], 'configurationStateId' => [ 'shape' => 'ConfigurationStateId', ], 'configurationItemMD5Hash' => [ 'shape' => 'ConfigurationItemMD5Hash', ], 'arn' => [ 'shape' => 'ARN', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'awsRegion' => [ 'shape' => 'AwsRegion', ], 'availabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'resourceCreationTime' => [ 'shape' => 'ResourceCreationTime', ], 'tags' => [ 'shape' => 'Tags', ], 'relatedEvents' => [ 'shape' => 'RelatedEventList', ], 'relationships' => [ 'shape' => 'RelationshipList', ], 'configuration' => [ 'shape' => 'Configuration', ], ], ], 'ConfigurationItemCaptureTime' => [ 'type' => 'timestamp', ], 'ConfigurationItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationItem', ], ], 'ConfigurationItemMD5Hash' => [ 'type' => 'string', ], 'ConfigurationItemStatus' => [ 'type' => 'string', 'enum' => [ 'Ok', 'Failed', 'Discovered', 'Deleted', ], ], 'ConfigurationRecorder' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'RecorderName', ], 'roleARN' => [ 'shape' => 'String', ], 'recordingGroup' => [ 'shape' => 'RecordingGroup', ], ], ], 'ConfigurationRecorderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationRecorder', ], ], 'ConfigurationRecorderNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecorderName', ], ], 'ConfigurationRecorderStatus' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'lastStartTime' => [ 'shape' => 'Date', ], 'lastStopTime' => [ 'shape' => 'Date', ], 'recording' => [ 'shape' => 'Boolean', ], 'lastStatus' => [ 'shape' => 'RecorderStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastStatusChangeTime' => [ 'shape' => 'Date', ], ], ], 'ConfigurationRecorderStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationRecorderStatus', ], ], 'ConfigurationStateId' => [ 'type' => 'string', ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], ], ], 'DeleteDeliveryChannelRequest' => [ 'type' => 'structure', 'required' => [ 'DeliveryChannelName', ], 'members' => [ 'DeliveryChannelName' => [ 'shape' => 'ChannelName', ], ], ], 'DeliverConfigSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'deliveryChannelName', ], 'members' => [ 'deliveryChannelName' => [ 'shape' => 'ChannelName', ], ], ], 'DeliverConfigSnapshotResponse' => [ 'type' => 'structure', 'members' => [ 'configSnapshotId' => [ 'shape' => 'String', ], ], ], 'DeliveryChannel' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ChannelName', ], 's3BucketName' => [ 'shape' => 'String', ], 's3KeyPrefix' => [ 'shape' => 'String', ], 'snsTopicARN' => [ 'shape' => 'String', ], 'configSnapshotDeliveryProperties' => [ 'shape' => 'ConfigSnapshotDeliveryProperties', ], ], ], 'DeliveryChannelList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryChannel', ], ], 'DeliveryChannelNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelName', ], ], 'DeliveryChannelStatus' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'configSnapshotDeliveryInfo' => [ 'shape' => 'ConfigExportDeliveryInfo', ], 'configHistoryDeliveryInfo' => [ 'shape' => 'ConfigExportDeliveryInfo', ], 'configStreamDeliveryInfo' => [ 'shape' => 'ConfigStreamDeliveryInfo', ], ], ], 'DeliveryChannelStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryChannelStatus', ], ], 'DeliveryStatus' => [ 'type' => 'string', 'enum' => [ 'Success', 'Failure', 'Not_Applicable', ], ], 'DescribeComplianceByConfigRuleRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComplianceByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceByConfigRules' => [ 'shape' => 'ComplianceByConfigRules', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComplianceByResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeComplianceByResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceByResources' => [ 'shape' => 'ComplianceByResources', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeConfigRuleEvaluationStatusRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], ], ], 'DescribeConfigRuleEvaluationStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigRulesEvaluationStatus' => [ 'shape' => 'ConfigRuleEvaluationStatusList', ], ], ], 'DescribeConfigRulesRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigRulesResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigRules' => [ 'shape' => 'ConfigRules', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigurationRecorderStatusRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorderNames' => [ 'shape' => 'ConfigurationRecorderNameList', ], ], ], 'DescribeConfigurationRecorderStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecordersStatus' => [ 'shape' => 'ConfigurationRecorderStatusList', ], ], ], 'DescribeConfigurationRecordersRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorderNames' => [ 'shape' => 'ConfigurationRecorderNameList', ], ], ], 'DescribeConfigurationRecordersResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorders' => [ 'shape' => 'ConfigurationRecorderList', ], ], ], 'DescribeDeliveryChannelStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelNames' => [ 'shape' => 'DeliveryChannelNameList', ], ], ], 'DescribeDeliveryChannelStatusResponse' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelsStatus' => [ 'shape' => 'DeliveryChannelStatusList', ], ], ], 'DescribeDeliveryChannelsRequest' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelNames' => [ 'shape' => 'DeliveryChannelNameList', ], ], ], 'DescribeDeliveryChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannels' => [ 'shape' => 'DeliveryChannelList', ], ], ], 'EarlierTime' => [ 'type' => 'timestamp', ], 'EmptiableStringWithCharLimit256' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Evaluation' => [ 'type' => 'structure', 'required' => [ 'ComplianceResourceType', 'ComplianceResourceId', 'ComplianceType', 'OrderingTimestamp', ], 'members' => [ 'ComplianceResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceResourceId' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'Annotation' => [ 'shape' => 'StringWithCharLimit256', ], 'OrderingTimestamp' => [ 'shape' => 'OrderingTimestamp', ], ], ], 'EvaluationResult' => [ 'type' => 'structure', 'members' => [ 'EvaluationResultIdentifier' => [ 'shape' => 'EvaluationResultIdentifier', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'ResultRecordedTime' => [ 'shape' => 'Date', ], 'ConfigRuleInvokedTime' => [ 'shape' => 'Date', ], 'Annotation' => [ 'shape' => 'StringWithCharLimit256', ], 'ResultToken' => [ 'shape' => 'String', ], ], ], 'EvaluationResultIdentifier' => [ 'type' => 'structure', 'members' => [ 'EvaluationResultQualifier' => [ 'shape' => 'EvaluationResultQualifier', ], 'OrderingTimestamp' => [ 'shape' => 'Date', ], ], ], 'EvaluationResultQualifier' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'StringWithCharLimit256', ], ], ], 'EvaluationResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'EvaluationResult', ], ], 'Evaluations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Evaluation', ], 'max' => 100, 'min' => 0, ], 'EventSource' => [ 'type' => 'string', 'enum' => [ 'aws.config', ], ], 'GetComplianceDetailsByConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetComplianceDetailsByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetComplianceDetailsByResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', ], 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetComplianceDetailsByResourceResponse' => [ 'type' => 'structure', 'members' => [ 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetComplianceSummaryByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceSummary' => [ 'shape' => 'ComplianceSummary', ], ], ], 'GetComplianceSummaryByResourceTypeRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], ], ], 'GetComplianceSummaryByResourceTypeResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceSummariesByResourceType' => [ 'shape' => 'ComplianceSummariesByResourceType', ], ], ], 'GetResourceConfigHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resourceId', ], 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'laterTime' => [ 'shape' => 'LaterTime', ], 'earlierTime' => [ 'shape' => 'EarlierTime', ], 'chronologicalOrder' => [ 'shape' => 'ChronologicalOrder', ], 'limit' => [ 'shape' => 'Limit', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetResourceConfigHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'configurationItems' => [ 'shape' => 'ConfigurationItemList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'IncludeGlobalResourceTypes' => [ 'type' => 'boolean', ], 'InsufficientDeliveryPolicyException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InsufficientPermissionsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'InvalidConfigurationRecorderNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeliveryChannelNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLimitException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRecordingGroupException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidResultTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRoleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3KeyPrefixException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSNSTopicARNException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTimeRangeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LastDeliveryChannelDeleteFailedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LaterTime' => [ 'type' => 'timestamp', ], 'Limit' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ListDiscoveredResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'resourceType', ], 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceIds' => [ 'shape' => 'ResourceIdList', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'limit' => [ 'shape' => 'Limit', ], 'includeDeletedResources' => [ 'shape' => 'Boolean', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDiscoveredResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'resourceIdentifiers' => [ 'shape' => 'ResourceIdentifierList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxNumberOfConfigRulesExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxNumberOfConfigurationRecordersExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxNumberOfDeliveryChannelsExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumExecutionFrequency' => [ 'type' => 'string', 'enum' => [ 'One_Hour', 'Three_Hours', 'Six_Hours', 'Twelve_Hours', 'TwentyFour_Hours', ], ], 'MessageType' => [ 'type' => 'string', 'enum' => [ 'ConfigurationItemChangeNotification', 'ConfigurationSnapshotDeliveryCompleted', ], ], 'Name' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', ], 'NoAvailableConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoAvailableDeliveryChannelException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoRunningConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchBucketException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchConfigRuleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchDeliveryChannelException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrderingTimestamp' => [ 'type' => 'timestamp', ], 'Owner' => [ 'type' => 'string', 'enum' => [ 'CUSTOM_LAMBDA', 'AWS', ], ], 'PutConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRule', ], 'members' => [ 'ConfigRule' => [ 'shape' => 'ConfigRule', ], ], ], 'PutConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorder', ], 'members' => [ 'ConfigurationRecorder' => [ 'shape' => 'ConfigurationRecorder', ], ], ], 'PutDeliveryChannelRequest' => [ 'type' => 'structure', 'required' => [ 'DeliveryChannel', ], 'members' => [ 'DeliveryChannel' => [ 'shape' => 'DeliveryChannel', ], ], ], 'PutEvaluationsRequest' => [ 'type' => 'structure', 'required' => [ 'ResultToken', ], 'members' => [ 'Evaluations' => [ 'shape' => 'Evaluations', ], 'ResultToken' => [ 'shape' => 'String', ], ], ], 'PutEvaluationsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedEvaluations' => [ 'shape' => 'Evaluations', ], ], ], 'RecorderName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'RecorderStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Success', 'Failure', ], ], 'RecordingGroup' => [ 'type' => 'structure', 'members' => [ 'allSupported' => [ 'shape' => 'AllSupported', ], 'includeGlobalResourceTypes' => [ 'shape' => 'IncludeGlobalResourceTypes', ], 'resourceTypes' => [ 'shape' => 'ResourceTypeList', ], ], ], 'RelatedEvent' => [ 'type' => 'string', ], 'RelatedEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelatedEvent', ], ], 'Relationship' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'relationshipName' => [ 'shape' => 'RelationshipName', ], ], ], 'RelationshipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Relationship', ], ], 'RelationshipName' => [ 'type' => 'string', ], 'ResourceCreationTime' => [ 'type' => 'timestamp', ], 'ResourceDeletionTime' => [ 'type' => 'timestamp', ], 'ResourceId' => [ 'type' => 'string', ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceId', ], ], 'ResourceIdentifier' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'resourceDeletionTime' => [ 'shape' => 'ResourceDeletionTime', ], ], ], 'ResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceIdentifier', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceName' => [ 'type' => 'string', ], 'ResourceNotDiscoveredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'AWS::EC2::CustomerGateway', 'AWS::EC2::EIP', 'AWS::EC2::Host', 'AWS::EC2::Instance', 'AWS::EC2::InternetGateway', 'AWS::EC2::NetworkAcl', 'AWS::EC2::NetworkInterface', 'AWS::EC2::RouteTable', 'AWS::EC2::SecurityGroup', 'AWS::EC2::Subnet', 'AWS::CloudTrail::Trail', 'AWS::EC2::Volume', 'AWS::EC2::VPC', 'AWS::EC2::VPNConnection', 'AWS::EC2::VPNGateway', 'AWS::IAM::Group', 'AWS::IAM::Policy', 'AWS::IAM::Role', 'AWS::IAM::User', ], ], 'ResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'ResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 100, 'min' => 0, ], 'Scope' => [ 'type' => 'structure', 'members' => [ 'ComplianceResourceTypes' => [ 'shape' => 'ComplianceResourceTypes', ], 'TagKey' => [ 'shape' => 'StringWithCharLimit128', ], 'TagValue' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceResourceId' => [ 'shape' => 'StringWithCharLimit256', ], ], ], 'Source' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'SourceIdentifier' => [ 'shape' => 'StringWithCharLimit256', ], 'SourceDetails' => [ 'shape' => 'SourceDetails', ], ], ], 'SourceDetail' => [ 'type' => 'structure', 'members' => [ 'EventSource' => [ 'shape' => 'EventSource', ], 'MessageType' => [ 'shape' => 'MessageType', ], ], ], 'SourceDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceDetail', ], 'max' => 25, 'min' => 0, ], 'StartConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorderName', ], 'members' => [ 'ConfigurationRecorderName' => [ 'shape' => 'RecorderName', ], ], ], 'StopConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorderName', ], 'members' => [ 'ConfigurationRecorderName' => [ 'shape' => 'RecorderName', ], ], ], 'String' => [ 'type' => 'string', ], 'StringWithCharLimit128' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'StringWithCharLimit256' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'StringWithCharLimit64' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'Name', ], 'value' => [ 'shape' => 'Value', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'string', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/config/2014-11-12/paginators-1.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/config/2014-11-12/paginators-1.json
|
3 |
-
return [ 'pagination' => [ 'GetResourceConfigHistory' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'limit', 'result_key' => 'configurationItems', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/endpoints.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/endpoints.json
|
3 |
-
return [ 'version' => 2, 'endpoints' => [ '*/*' => [ 'endpoint' => '{service}.{region}.amazonaws.com', ], 'cn-north-1/*' => [ 'endpoint' => '{service}.{region}.amazonaws.com.cn', 'signatureVersion' => 'v4', ], 'us-gov-west-1/iam' => [ 'endpoint' => 'iam.us-gov.amazonaws.com', ], 'us-gov-west-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], '*/cloudfront' => [ 'endpoint' => 'cloudfront.amazonaws.com', ], '*/iam' => [ 'endpoint' => 'iam.amazonaws.com', ], 'us-gov-west-1/sts' => [ 'endpoint' => 'sts.us-gov-west-1.amazonaws.com', ], '*/importexport' => [ 'endpoint' => 'importexport.amazonaws.com', ], '*/route53' => [ 'endpoint' => 'route53.amazonaws.com', ], '*/sts' => [ 'endpoint' => 'sts.amazonaws.com', ], '*/waf' => [ 'endpoint' => 'waf.amazonaws.com', ], 'us-east-1/sdb' => [ 'endpoint' => 'sdb.amazonaws.com', ], 'us-east-1/s3' => [ 'endpoint' => 's3.amazonaws.com', ], 'us-west-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'us-west-2/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'eu-west-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'ap-southeast-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'ap-southeast-2/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'ap-northeast-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], 'sa-east-1/s3' => [ 'endpoint' => 's3-{region}.amazonaws.com', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/manifest.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/manifest.json
|
3 |
-
return [ 'apigateway' => [ 'namespace' => 'ApiGateway', 'versions' => [ 'latest' => '2015-07-09', '2015-07-09' => '2015-07-09', '2015-06-01' => '2015-07-09', ], ], 'autoscaling' => [ 'namespace' => 'AutoScaling', 'versions' => [ 'latest' => '2011-01-01', '2011-01-01' => '2011-01-01', ], ], 'cloudformation' => [ 'namespace' => 'CloudFormation', 'versions' => [ 'latest' => '2010-05-15', '2010-05-15' => '2010-05-15', ], ], 'cloudfront' => [ 'namespace' => 'CloudFront', 'versions' => [ 'latest' => '2015-09-17', '2015-09-17' => '2015-09-17', '2015-07-27' => '2015-09-17', '2015-04-17' => '2015-09-17', '2014-11-06' => '2015-09-17', ], ], 'cloudhsm' => [ 'namespace' => 'CloudHsm', 'versions' => [ 'latest' => '2014-05-30', '2014-05-30' => '2014-05-30', ], ], 'cloudsearch' => [ 'namespace' => 'CloudSearch', 'versions' => [ 'latest' => '2013-01-01', '2013-01-01' => '2013-01-01', ], ], 'cloudsearchdomain' => [ 'namespace' => 'CloudSearchDomain', 'versions' => [ 'latest' => '2013-01-01', '2013-01-01' => '2013-01-01', ], ], 'cloudtrail' => [ 'namespace' => 'CloudTrail', 'versions' => [ 'latest' => '2013-11-01', '2013-11-01' => '2013-11-01', ], ], 'codecommit' => [ 'namespace' => 'CodeCommit', 'versions' => [ 'latest' => '2015-04-13', '2015-04-13' => '2015-04-13', ], ], 'codedeploy' => [ 'namespace' => 'CodeDeploy', 'versions' => [ 'latest' => '2014-10-06', '2014-10-06' => '2014-10-06', ], ], 'codepipeline' => [ 'namespace' => 'CodePipeline', 'versions' => [ 'latest' => '2015-07-09', '2015-07-09' => '2015-07-09', ], ], 'cognito-identity' => [ 'namespace' => 'CognitoIdentity', 'versions' => [ 'latest' => '2014-06-30', '2014-06-30' => '2014-06-30', ], ], 'cognito-sync' => [ 'namespace' => 'CognitoSync', 'versions' => [ 'latest' => '2014-06-30', '2014-06-30' => '2014-06-30', ], ], 'config' => [ 'namespace' => 'ConfigService', 'versions' => [ 'latest' => '2014-11-12', '2014-11-12' => '2014-11-12', ], ], 'data.iot' => [ 'namespace' => 'IotDataPlane', 'versions' => [ 'latest' => '2015-05-28', '2015-05-28' => '2015-05-28', ], ], 'datapipeline' => [ 'namespace' => 'DataPipeline', 'versions' => [ 'latest' => '2012-10-29', '2012-10-29' => '2012-10-29', ], ], 'devicefarm' => [ 'namespace' => 'DeviceFarm', 'versions' => [ 'latest' => '2015-06-23', '2015-06-23' => '2015-06-23', ], ], 'directconnect' => [ 'namespace' => 'DirectConnect', 'versions' => [ 'latest' => '2012-10-25', '2012-10-25' => '2012-10-25', ], ], 'ds' => [ 'namespace' => 'DirectoryService', 'versions' => [ 'latest' => '2015-04-16', '2015-04-16' => '2015-04-16', ], ], 'dynamodb' => [ 'namespace' => 'DynamoDb', 'versions' => [ 'latest' => '2012-08-10', '2012-08-10' => '2012-08-10', ], ], 'ec2' => [ 'namespace' => 'Ec2', 'versions' => [ 'latest' => '2015-10-01', '2015-10-01' => '2015-10-01', '2015-04-15' => '2015-10-01', ], ], 'ecr' => [ 'namespace' => 'Ecr', 'versions' => [ 'latest' => '2015-09-21', '2015-09-21' => '2015-09-21', ], ], 'ecs' => [ 'namespace' => 'Ecs', 'versions' => [ 'latest' => '2014-11-13', '2014-11-13' => '2014-11-13', ], ], 'elasticache' => [ 'namespace' => 'ElastiCache', 'versions' => [ 'latest' => '2015-02-02', '2015-02-02' => '2015-02-02', ], ], 'elasticbeanstalk' => [ 'namespace' => 'ElasticBeanstalk', 'versions' => [ 'latest' => '2010-12-01', '2010-12-01' => '2010-12-01', ], ], 'elasticfilesystem' => [ 'namespace' => 'Efs', 'versions' => [ 'latest' => '2015-02-01', '2015-02-01' => '2015-02-01', ], ], 'elasticloadbalancing' => [ 'namespace' => 'ElasticLoadBalancing', 'versions' => [ 'latest' => '2012-06-01', '2012-06-01' => '2012-06-01', ], ], 'elasticmapreduce' => [ 'namespace' => 'Emr', 'versions' => [ 'latest' => '2009-03-31', '2009-03-31' => '2009-03-31', ], ], 'elastictranscoder' => [ 'namespace' => 'ElasticTranscoder', 'versions' => [ 'latest' => '2012-09-25', '2012-09-25' => '2012-09-25', ], ], 'email' => [ 'namespace' => 'Ses', 'versions' => [ 'latest' => '2010-12-01', '2010-12-01' => '2010-12-01', ], ], 'es' => [ 'namespace' => 'ElasticsearchService', 'versions' => [ 'latest' => '2015-01-01', '2015-01-01' => '2015-01-01', ], ], 'firehose' => [ 'namespace' => 'Firehose', 'versions' => [ 'latest' => '2015-08-04', '2015-08-04' => '2015-08-04', ], ], 'glacier' => [ 'namespace' => 'Glacier', 'versions' => [ 'latest' => '2012-06-01', '2012-06-01' => '2012-06-01', ], ], 'iam' => [ 'namespace' => 'Iam', 'versions' => [ 'latest' => '2010-05-08', '2010-05-08' => '2010-05-08', ], ], 'inspector' => [ 'namespace' => 'Inspector', 'versions' => [ 'latest' => '2015-08-18', '2015-08-18' => '2015-08-18', ], ], 'iot' => [ 'namespace' => 'Iot', 'versions' => [ 'latest' => '2015-05-28', '2015-05-28' => '2015-05-28', ], ], 'kinesis' => [ 'namespace' => 'Kinesis', 'versions' => [ 'latest' => '2013-12-02', '2013-12-02' => '2013-12-02', ], ], 'kms' => [ 'namespace' => 'Kms', 'versions' => [ 'latest' => '2014-11-01', '2014-11-01' => '2014-11-01', ], ], 'lambda' => [ 'namespace' => 'Lambda', 'versions' => [ 'latest' => '2015-03-31', '2015-03-31' => '2015-03-31', ], ], 'logs' => [ 'namespace' => 'CloudWatchLogs', 'versions' => [ 'latest' => '2014-03-28', '2014-03-28' => '2014-03-28', ], ], 'machinelearning' => [ 'namespace' => 'MachineLearning', 'versions' => [ 'latest' => '2014-12-12', '2014-12-12' => '2014-12-12', ], ], 'marketplacecommerceanalytics' => [ 'namespace' => 'MarketplaceCommerceAnalytics', 'versions' => [ 'latest' => '2015-07-01', '2015-07-01' => '2015-07-01', ], ], 'monitoring' => [ 'namespace' => 'CloudWatch', 'versions' => [ 'latest' => '2010-08-01', '2010-08-01' => '2010-08-01', ], ], 'opsworks' => [ 'namespace' => 'OpsWorks', 'versions' => [ 'latest' => '2013-02-18', '2013-02-18' => '2013-02-18', ], ], 'rds' => [ 'namespace' => 'Rds', 'versions' => [ 'latest' => '2014-10-31', '2014-10-31' => '2014-10-31', ], ], 'redshift' => [ 'namespace' => 'Redshift', 'versions' => [ 'latest' => '2012-12-01', '2012-12-01' => '2012-12-01', ], ], 'route53' => [ 'namespace' => 'Route53', 'versions' => [ 'latest' => '2013-04-01', '2013-04-01' => '2013-04-01', ], ], 'route53domains' => [ 'namespace' => 'Route53Domains', 'versions' => [ 'latest' => '2014-05-15', '2014-05-15' => '2014-05-15', ], ], 's3' => [ 'namespace' => 'S3', 'versions' => [ 'latest' => '2006-03-01', '2006-03-01' => '2006-03-01', ], ], 'sns' => [ 'namespace' => 'Sns', 'versions' => [ 'latest' => '2010-03-31', '2010-03-31' => '2010-03-31', ], ], 'sqs' => [ 'namespace' => 'Sqs', 'versions' => [ 'latest' => '2012-11-05', '2012-11-05' => '2012-11-05', ], ], 'ssm' => [ 'namespace' => 'Ssm', 'versions' => [ 'latest' => '2014-11-06', '2014-11-06' => '2014-11-06', ], ], 'storagegateway' => [ 'namespace' => 'StorageGateway', 'versions' => [ 'latest' => '2013-06-30', '2013-06-30' => '2013-06-30', ], ], 'streams.dynamodb' => [ 'namespace' => 'DynamoDbStreams', 'versions' => [ 'latest' => '2012-08-10', '2012-08-10' => '2012-08-10', ], ], 'sts' => [ 'namespace' => 'Sts', 'versions' => [ 'latest' => '2011-06-15', '2011-06-15' => '2011-06-15', ], ], 'support' => [ 'namespace' => 'Support', 'versions' => [ 'latest' => '2013-04-15', '2013-04-15' => '2013-04-15', ], ], 'swf' => [ 'namespace' => 'Swf', 'versions' => [ 'latest' => '2012-01-25', '2012-01-25' => '2012-01-25', ], ], 'waf' => [ 'namespace' => 'Waf', 'versions' => [ 'latest' => '2015-08-24', '2015-08-24' => '2015-08-24', ], ], 'workspaces' => [ 'namespace' => 'WorkSpaces', 'versions' => [ 'latest' => '2015-04-08', '2015-04-08' => '2015-04-08', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/s3/2006-03-01/api-2.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/api-2.json
|
3 |
-
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2006-03-01', 'checksumFormat' => 'md5', 'endpointPrefix' => 's3', 'globalEndpoint' => 's3.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'Amazon S3', 'serviceFullName' => 'Amazon Simple Storage Service', 'signatureVersion' => 'v4', 'timestampFormat' => 'rfc822', ], 'operations' => [ 'AbortMultipartUpload' => [ 'name' => 'AbortMultipartUpload', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'AbortMultipartUploadRequest', ], 'output' => [ 'shape' => 'AbortMultipartUploadOutput', ], 'errors' => [ [ 'shape' => 'NoSuchUpload', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html', ], 'CompleteMultipartUpload' => [ 'name' => 'CompleteMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'CompleteMultipartUploadRequest', ], 'output' => [ 'shape' => 'CompleteMultipartUploadOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html', ], 'CopyObject' => [ 'name' => 'CopyObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'CopyObjectRequest', ], 'output' => [ 'shape' => 'CopyObjectOutput', ], 'errors' => [ [ 'shape' => 'ObjectNotInActiveTierError', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html', 'alias' => 'PutObjectCopy', ], 'CreateBucket' => [ 'name' => 'CreateBucket', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'CreateBucketRequest', ], 'output' => [ 'shape' => 'CreateBucketOutput', ], 'errors' => [ [ 'shape' => 'BucketAlreadyExists', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html', 'alias' => 'PutBucket', ], 'CreateMultipartUpload' => [ 'name' => 'CreateMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}?uploads', ], 'input' => [ 'shape' => 'CreateMultipartUploadRequest', ], 'output' => [ 'shape' => 'CreateMultipartUploadOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html', 'alias' => 'InitiateMultipartUpload', ], 'DeleteBucket' => [ 'name' => 'DeleteBucket', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'DeleteBucketRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html', ], 'DeleteBucketCors' => [ 'name' => 'DeleteBucketCors', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'DeleteBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html', ], 'DeleteBucketLifecycle' => [ 'name' => 'DeleteBucketLifecycle', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'DeleteBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html', ], 'DeleteBucketPolicy' => [ 'name' => 'DeleteBucketPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'DeleteBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html', ], 'DeleteBucketReplication' => [ 'name' => 'DeleteBucketReplication', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'DeleteBucketReplicationRequest', ], ], 'DeleteBucketTagging' => [ 'name' => 'DeleteBucketTagging', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'DeleteBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html', ], 'DeleteBucketWebsite' => [ 'name' => 'DeleteBucketWebsite', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'DeleteBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html', ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'DeleteObjectRequest', ], 'output' => [ 'shape' => 'DeleteObjectOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html', ], 'DeleteObjects' => [ 'name' => 'DeleteObjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}?delete', ], 'input' => [ 'shape' => 'DeleteObjectsRequest', ], 'output' => [ 'shape' => 'DeleteObjectsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html', 'alias' => 'DeleteMultipleObjects', ], 'GetBucketAcl' => [ 'name' => 'GetBucketAcl', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?acl', ], 'input' => [ 'shape' => 'GetBucketAclRequest', ], 'output' => [ 'shape' => 'GetBucketAclOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html', ], 'GetBucketCors' => [ 'name' => 'GetBucketCors', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'GetBucketCorsRequest', ], 'output' => [ 'shape' => 'GetBucketCorsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html', ], 'GetBucketLifecycle' => [ 'name' => 'GetBucketLifecycle', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'GetBucketLifecycleRequest', ], 'output' => [ 'shape' => 'GetBucketLifecycleOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html', 'deprecated' => true, ], 'GetBucketLifecycleConfiguration' => [ 'name' => 'GetBucketLifecycleConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'GetBucketLifecycleConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketLifecycleConfigurationOutput', ], ], 'GetBucketLocation' => [ 'name' => 'GetBucketLocation', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?location', ], 'input' => [ 'shape' => 'GetBucketLocationRequest', ], 'output' => [ 'shape' => 'GetBucketLocationOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html', ], 'GetBucketLogging' => [ 'name' => 'GetBucketLogging', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?logging', ], 'input' => [ 'shape' => 'GetBucketLoggingRequest', ], 'output' => [ 'shape' => 'GetBucketLoggingOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html', ], 'GetBucketNotification' => [ 'name' => 'GetBucketNotification', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'GetBucketNotificationConfigurationRequest', ], 'output' => [ 'shape' => 'NotificationConfigurationDeprecated', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html', 'deprecated' => true, ], 'GetBucketNotificationConfiguration' => [ 'name' => 'GetBucketNotificationConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'GetBucketNotificationConfigurationRequest', ], 'output' => [ 'shape' => 'NotificationConfiguration', ], ], 'GetBucketPolicy' => [ 'name' => 'GetBucketPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'GetBucketPolicyRequest', ], 'output' => [ 'shape' => 'GetBucketPolicyOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html', ], 'GetBucketReplication' => [ 'name' => 'GetBucketReplication', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'GetBucketReplicationRequest', ], 'output' => [ 'shape' => 'GetBucketReplicationOutput', ], ], 'GetBucketRequestPayment' => [ 'name' => 'GetBucketRequestPayment', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?requestPayment', ], 'input' => [ 'shape' => 'GetBucketRequestPaymentRequest', ], 'output' => [ 'shape' => 'GetBucketRequestPaymentOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html', ], 'GetBucketTagging' => [ 'name' => 'GetBucketTagging', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'GetBucketTaggingRequest', ], 'output' => [ 'shape' => 'GetBucketTaggingOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETtagging.html', ], 'GetBucketVersioning' => [ 'name' => 'GetBucketVersioning', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?versioning', ], 'input' => [ 'shape' => 'GetBucketVersioningRequest', ], 'output' => [ 'shape' => 'GetBucketVersioningOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html', ], 'GetBucketWebsite' => [ 'name' => 'GetBucketWebsite', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'GetBucketWebsiteRequest', ], 'output' => [ 'shape' => 'GetBucketWebsiteOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html', ], 'GetObject' => [ 'name' => 'GetObject', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'GetObjectRequest', ], 'output' => [ 'shape' => 'GetObjectOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html', ], 'GetObjectAcl' => [ 'name' => 'GetObjectAcl', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?acl', ], 'input' => [ 'shape' => 'GetObjectAclRequest', ], 'output' => [ 'shape' => 'GetObjectAclOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html', ], 'GetObjectTorrent' => [ 'name' => 'GetObjectTorrent', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?torrent', ], 'input' => [ 'shape' => 'GetObjectTorrentRequest', ], 'output' => [ 'shape' => 'GetObjectTorrentOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html', ], 'HeadBucket' => [ 'name' => 'HeadBucket', 'http' => [ 'method' => 'HEAD', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'HeadBucketRequest', ], 'errors' => [ [ 'shape' => 'NoSuchBucket', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html', ], 'HeadObject' => [ 'name' => 'HeadObject', 'http' => [ 'method' => 'HEAD', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'HeadObjectRequest', ], 'output' => [ 'shape' => 'HeadObjectOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html', ], 'ListBuckets' => [ 'name' => 'ListBuckets', 'http' => [ 'method' => 'GET', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ListBucketsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html', 'alias' => 'GetService', ], 'ListMultipartUploads' => [ 'name' => 'ListMultipartUploads', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?uploads', ], 'input' => [ 'shape' => 'ListMultipartUploadsRequest', ], 'output' => [ 'shape' => 'ListMultipartUploadsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html', ], 'ListObjectVersions' => [ 'name' => 'ListObjectVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?versions', ], 'input' => [ 'shape' => 'ListObjectVersionsRequest', ], 'output' => [ 'shape' => 'ListObjectVersionsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html', 'alias' => 'GetBucketObjectVersions', ], 'ListObjects' => [ 'name' => 'ListObjects', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'ListObjectsRequest', ], 'output' => [ 'shape' => 'ListObjectsOutput', ], 'errors' => [ [ 'shape' => 'NoSuchBucket', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html', 'alias' => 'GetBucket', ], 'ListParts' => [ 'name' => 'ListParts', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'ListPartsRequest', ], 'output' => [ 'shape' => 'ListPartsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html', ], 'PutBucketAcl' => [ 'name' => 'PutBucketAcl', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?acl', ], 'input' => [ 'shape' => 'PutBucketAclRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html', ], 'PutBucketCors' => [ 'name' => 'PutBucketCors', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'PutBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html', ], 'PutBucketLifecycle' => [ 'name' => 'PutBucketLifecycle', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'PutBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html', 'deprecated' => true, ], 'PutBucketLifecycleConfiguration' => [ 'name' => 'PutBucketLifecycleConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'PutBucketLifecycleConfigurationRequest', ], ], 'PutBucketLogging' => [ 'name' => 'PutBucketLogging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?logging', ], 'input' => [ 'shape' => 'PutBucketLoggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html', ], 'PutBucketNotification' => [ 'name' => 'PutBucketNotification', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'PutBucketNotificationRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html', 'deprecated' => true, ], 'PutBucketNotificationConfiguration' => [ 'name' => 'PutBucketNotificationConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'PutBucketNotificationConfigurationRequest', ], ], 'PutBucketPolicy' => [ 'name' => 'PutBucketPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'PutBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html', ], 'PutBucketReplication' => [ 'name' => 'PutBucketReplication', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'PutBucketReplicationRequest', ], ], 'PutBucketRequestPayment' => [ 'name' => 'PutBucketRequestPayment', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?requestPayment', ], 'input' => [ 'shape' => 'PutBucketRequestPaymentRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html', ], 'PutBucketTagging' => [ 'name' => 'PutBucketTagging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'PutBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTtagging.html', ], 'PutBucketVersioning' => [ 'name' => 'PutBucketVersioning', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?versioning', ], 'input' => [ 'shape' => 'PutBucketVersioningRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html', ], 'PutBucketWebsite' => [ 'name' => 'PutBucketWebsite', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'PutBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html', ], 'PutObject' => [ 'name' => 'PutObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'PutObjectRequest', ], 'output' => [ 'shape' => 'PutObjectOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html', ], 'PutObjectAcl' => [ 'name' => 'PutObjectAcl', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?acl', ], 'input' => [ 'shape' => 'PutObjectAclRequest', ], 'output' => [ 'shape' => 'PutObjectAclOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html', ], 'RestoreObject' => [ 'name' => 'RestoreObject', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}?restore', ], 'input' => [ 'shape' => 'RestoreObjectRequest', ], 'output' => [ 'shape' => 'RestoreObjectOutput', ], 'errors' => [ [ 'shape' => 'ObjectAlreadyInActiveTierError', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html', 'alias' => 'PostObjectRestore', ], 'UploadPart' => [ 'name' => 'UploadPart', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'UploadPartRequest', ], 'output' => [ 'shape' => 'UploadPartOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html', ], 'UploadPartCopy' => [ 'name' => 'UploadPartCopy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'UploadPartCopyRequest', ], 'output' => [ 'shape' => 'UploadPartCopyOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html', ], ], 'shapes' => [ 'AbortMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'AbortMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'AcceptRanges' => [ 'type' => 'string', ], 'AccessControlPolicy' => [ 'type' => 'structure', 'members' => [ 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'AllowedHeader' => [ 'type' => 'string', ], 'AllowedHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedHeader', ], 'flattened' => true, ], 'AllowedMethod' => [ 'type' => 'string', ], 'AllowedMethods' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedMethod', ], 'flattened' => true, ], 'AllowedOrigin' => [ 'type' => 'string', ], 'AllowedOrigins' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedOrigin', ], 'flattened' => true, ], 'Body' => [ 'type' => 'blob', ], 'Bucket' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'BucketName', ], 'CreationDate' => [ 'shape' => 'CreationDate', ], ], ], 'BucketAlreadyExists' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BucketCannedACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'authenticated-read', ], ], 'BucketLifecycleConfiguration' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'LifecycleRules', 'locationName' => 'Rule', ], ], ], 'BucketLocationConstraint' => [ 'type' => 'string', 'enum' => [ 'EU', 'eu-west-1', 'us-west-1', 'us-west-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1', 'cn-north-1', 'eu-central-1', ], ], 'BucketLoggingStatus' => [ 'type' => 'structure', 'members' => [ 'LoggingEnabled' => [ 'shape' => 'LoggingEnabled', ], ], ], 'BucketLogsPermission' => [ 'type' => 'string', 'enum' => [ 'FULL_CONTROL', 'READ', 'WRITE', ], ], 'BucketName' => [ 'type' => 'string', ], 'BucketVersioningStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Suspended', ], ], 'Buckets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Bucket', 'locationName' => 'Bucket', ], ], 'CORSConfiguration' => [ 'type' => 'structure', 'required' => [ 'CORSRules', ], 'members' => [ 'CORSRules' => [ 'shape' => 'CORSRules', 'locationName' => 'CORSRule', ], ], ], 'CORSRule' => [ 'type' => 'structure', 'required' => [ 'AllowedMethods', 'AllowedOrigins', ], 'members' => [ 'AllowedHeaders' => [ 'shape' => 'AllowedHeaders', 'locationName' => 'AllowedHeader', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', 'locationName' => 'AllowedMethod', ], 'AllowedOrigins' => [ 'shape' => 'AllowedOrigins', 'locationName' => 'AllowedOrigin', ], 'ExposeHeaders' => [ 'shape' => 'ExposeHeaders', 'locationName' => 'ExposeHeader', ], 'MaxAgeSeconds' => [ 'shape' => 'MaxAgeSeconds', ], ], ], 'CORSRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'CORSRule', ], 'flattened' => true, ], 'CacheControl' => [ 'type' => 'string', ], 'CloudFunction' => [ 'type' => 'string', ], 'CloudFunctionConfiguration' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'CloudFunction' => [ 'shape' => 'CloudFunction', ], 'InvocationRole' => [ 'shape' => 'CloudFunctionInvocationRole', ], ], ], 'CloudFunctionInvocationRole' => [ 'type' => 'string', ], 'Code' => [ 'type' => 'string', ], 'CommonPrefix' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], ], ], 'CommonPrefixList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommonPrefix', ], 'flattened' => true, ], 'CompleteMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'Location', ], 'Bucket' => [ 'shape' => 'BucketName', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'ETag' => [ 'shape' => 'ETag', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'CompleteMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MultipartUpload' => [ 'shape' => 'CompletedMultipartUpload', 'locationName' => 'CompleteMultipartUpload', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'MultipartUpload', ], 'CompletedMultipartUpload' => [ 'type' => 'structure', 'members' => [ 'Parts' => [ 'shape' => 'CompletedPartList', 'locationName' => 'Part', ], ], ], 'CompletedPart' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'PartNumber' => [ 'shape' => 'PartNumber', ], ], ], 'CompletedPartList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompletedPart', ], 'flattened' => true, ], 'Condition' => [ 'type' => 'structure', 'members' => [ 'HttpErrorCodeReturnedEquals' => [ 'shape' => 'HttpErrorCodeReturnedEquals', ], 'KeyPrefixEquals' => [ 'shape' => 'KeyPrefixEquals', ], ], ], 'ContentDisposition' => [ 'type' => 'string', ], 'ContentEncoding' => [ 'type' => 'string', ], 'ContentLanguage' => [ 'type' => 'string', ], 'ContentLength' => [ 'type' => 'integer', ], 'ContentMD5' => [ 'type' => 'string', ], 'ContentRange' => [ 'type' => 'string', ], 'ContentType' => [ 'type' => 'string', ], 'CopyObjectOutput' => [ 'type' => 'structure', 'members' => [ 'CopyObjectResult' => [ 'shape' => 'CopyObjectResult', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'CopySourceVersionId' => [ 'shape' => 'CopySourceVersionId', 'location' => 'header', 'locationName' => 'x-amz-copy-source-version-id', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'CopyObjectResult', ], 'CopyObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CopySource', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'CopySource' => [ 'shape' => 'CopySource', 'location' => 'header', 'locationName' => 'x-amz-copy-source', ], 'CopySourceIfMatch' => [ 'shape' => 'CopySourceIfMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-match', ], 'CopySourceIfModifiedSince' => [ 'shape' => 'CopySourceIfModifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-modified-since', ], 'CopySourceIfNoneMatch' => [ 'shape' => 'CopySourceIfNoneMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-none-match', ], 'CopySourceIfUnmodifiedSince' => [ 'shape' => 'CopySourceIfUnmodifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-unmodified-since', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'MetadataDirective' => [ 'shape' => 'MetadataDirective', 'location' => 'header', 'locationName' => 'x-amz-metadata-directive', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'CopySourceSSECustomerAlgorithm' => [ 'shape' => 'CopySourceSSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-algorithm', ], 'CopySourceSSECustomerKey' => [ 'shape' => 'CopySourceSSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key', ], 'CopySourceSSECustomerKeyMD5' => [ 'shape' => 'CopySourceSSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'CopyObjectResult' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'CopyPartResult' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'CopySource' => [ 'type' => 'string', 'pattern' => '\\/.+\\/.+', ], 'CopySourceIfMatch' => [ 'type' => 'string', ], 'CopySourceIfModifiedSince' => [ 'type' => 'timestamp', ], 'CopySourceIfNoneMatch' => [ 'type' => 'string', ], 'CopySourceIfUnmodifiedSince' => [ 'type' => 'timestamp', ], 'CopySourceRange' => [ 'type' => 'string', ], 'CopySourceSSECustomerAlgorithm' => [ 'type' => 'string', ], 'CopySourceSSECustomerKey' => [ 'type' => 'string', 'sensitive' => true, ], 'CopySourceSSECustomerKeyMD5' => [ 'type' => 'string', ], 'CopySourceVersionId' => [ 'type' => 'string', ], 'CreateBucketConfiguration' => [ 'type' => 'structure', 'members' => [ 'LocationConstraint' => [ 'shape' => 'BucketLocationConstraint', ], ], ], 'CreateBucketOutput' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'Location', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'ACL' => [ 'shape' => 'BucketCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CreateBucketConfiguration' => [ 'shape' => 'CreateBucketConfiguration', 'locationName' => 'CreateBucketConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], ], 'payload' => 'CreateBucketConfiguration', ], 'CreateMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'CreateMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'CreationDate' => [ 'type' => 'timestamp', ], 'Date' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'Days' => [ 'type' => 'integer', ], 'Delete' => [ 'type' => 'structure', 'required' => [ 'Objects', ], 'members' => [ 'Objects' => [ 'shape' => 'ObjectIdentifierList', 'locationName' => 'Object', ], 'Quiet' => [ 'shape' => 'Quiet', ], ], ], 'DeleteBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteMarker' => [ 'type' => 'boolean', ], 'DeleteMarkerEntry' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'IsLatest' => [ 'shape' => 'IsLatest', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'DeleteMarkerVersionId' => [ 'type' => 'string', ], 'DeleteMarkers' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteMarkerEntry', ], 'flattened' => true, ], 'DeleteObjectOutput' => [ 'type' => 'structure', 'members' => [ 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'DeleteObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'DeleteObjectsOutput' => [ 'type' => 'structure', 'members' => [ 'Deleted' => [ 'shape' => 'DeletedObjects', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'Errors' => [ 'shape' => 'Errors', 'locationName' => 'Error', ], ], ], 'DeleteObjectsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Delete', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delete' => [ 'shape' => 'Delete', 'locationName' => 'Delete', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'Delete', ], 'DeletedObject' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'DeleteMarker' => [ 'shape' => 'DeleteMarker', ], 'DeleteMarkerVersionId' => [ 'shape' => 'DeleteMarkerVersionId', ], ], ], 'DeletedObjects' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeletedObject', ], 'flattened' => true, ], 'Delimiter' => [ 'type' => 'string', ], 'Destination' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], ], ], 'DisplayName' => [ 'type' => 'string', ], 'ETag' => [ 'type' => 'string', ], 'EmailAddress' => [ 'type' => 'string', ], 'EncodingType' => [ 'type' => 'string', 'enum' => [ 'url', ], ], 'Error' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'Code' => [ 'shape' => 'Code', ], 'Message' => [ 'shape' => 'Message', ], ], ], 'ErrorDocument' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], ], ], 'Errors' => [ 'type' => 'list', 'member' => [ 'shape' => 'Error', ], 'flattened' => true, ], 'Event' => [ 'type' => 'string', 'enum' => [ 's3:ReducedRedundancyLostObject', 's3:ObjectCreated:*', 's3:ObjectCreated:Put', 's3:ObjectCreated:Post', 's3:ObjectCreated:Copy', 's3:ObjectCreated:CompleteMultipartUpload', 's3:ObjectRemoved:*', 's3:ObjectRemoved:Delete', 's3:ObjectRemoved:DeleteMarkerCreated', ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], 'flattened' => true, ], 'Expiration' => [ 'type' => 'string', ], 'ExpirationStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'Expires' => [ 'type' => 'timestamp', ], 'ExposeHeader' => [ 'type' => 'string', ], 'ExposeHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExposeHeader', ], 'flattened' => true, ], 'FilterRule' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterRuleName', ], 'Value' => [ 'shape' => 'FilterRuleValue', ], ], ], 'FilterRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterRule', ], 'flattened' => true, ], 'FilterRuleName' => [ 'type' => 'string', 'enum' => [ 'prefix', 'suffix', ], ], 'FilterRuleValue' => [ 'type' => 'string', ], 'GetBucketAclOutput' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], ], ], 'GetBucketAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketCorsOutput' => [ 'type' => 'structure', 'members' => [ 'CORSRules' => [ 'shape' => 'CORSRules', 'locationName' => 'CORSRule', ], ], ], 'GetBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLifecycleConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'LifecycleRules', 'locationName' => 'Rule', ], ], ], 'GetBucketLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLifecycleOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', 'locationName' => 'Rule', ], ], ], 'GetBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLocationOutput' => [ 'type' => 'structure', 'members' => [ 'LocationConstraint' => [ 'shape' => 'BucketLocationConstraint', ], ], ], 'GetBucketLocationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLoggingOutput' => [ 'type' => 'structure', 'members' => [ 'LoggingEnabled' => [ 'shape' => 'LoggingEnabled', ], ], ], 'GetBucketLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketNotificationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], 'payload' => 'Policy', ], 'GetBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketReplicationOutput' => [ 'type' => 'structure', 'members' => [ 'ReplicationConfiguration' => [ 'shape' => 'ReplicationConfiguration', ], ], 'payload' => 'ReplicationConfiguration', ], 'GetBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketRequestPaymentOutput' => [ 'type' => 'structure', 'members' => [ 'Payer' => [ 'shape' => 'Payer', ], ], ], 'GetBucketRequestPaymentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketTaggingOutput' => [ 'type' => 'structure', 'required' => [ 'TagSet', ], 'members' => [ 'TagSet' => [ 'shape' => 'TagSet', ], ], ], 'GetBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketVersioningOutput' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BucketVersioningStatus', ], 'MFADelete' => [ 'shape' => 'MFADeleteStatus', 'locationName' => 'MfaDelete', ], ], ], 'GetBucketVersioningRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketWebsiteOutput' => [ 'type' => 'structure', 'members' => [ 'RedirectAllRequestsTo' => [ 'shape' => 'RedirectAllRequestsTo', ], 'IndexDocument' => [ 'shape' => 'IndexDocument', ], 'ErrorDocument' => [ 'shape' => 'ErrorDocument', ], 'RoutingRules' => [ 'shape' => 'RoutingRules', ], ], ], 'GetBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetObjectAclOutput' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'GetObjectAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetObjectOutput' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'AcceptRanges' => [ 'shape' => 'AcceptRanges', 'location' => 'header', 'locationName' => 'accept-ranges', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'Restore' => [ 'shape' => 'Restore', 'location' => 'header', 'locationName' => 'x-amz-restore', ], 'LastModified' => [ 'shape' => 'LastModified', 'location' => 'header', 'locationName' => 'Last-Modified', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'MissingMeta' => [ 'shape' => 'MissingMeta', 'location' => 'header', 'locationName' => 'x-amz-missing-meta', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentRange' => [ 'shape' => 'ContentRange', 'location' => 'header', 'locationName' => 'Content-Range', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'ReplicationStatus' => [ 'shape' => 'ReplicationStatus', 'location' => 'header', 'locationName' => 'x-amz-replication-status', ], ], 'payload' => 'Body', ], 'GetObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'IfMatch' => [ 'shape' => 'IfMatch', 'location' => 'header', 'locationName' => 'If-Match', ], 'IfModifiedSince' => [ 'shape' => 'IfModifiedSince', 'location' => 'header', 'locationName' => 'If-Modified-Since', ], 'IfNoneMatch' => [ 'shape' => 'IfNoneMatch', 'location' => 'header', 'locationName' => 'If-None-Match', ], 'IfUnmodifiedSince' => [ 'shape' => 'IfUnmodifiedSince', 'location' => 'header', 'locationName' => 'If-Unmodified-Since', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Range' => [ 'shape' => 'Range', 'location' => 'header', 'locationName' => 'Range', ], 'ResponseCacheControl' => [ 'shape' => 'ResponseCacheControl', 'location' => 'querystring', 'locationName' => 'response-cache-control', ], 'ResponseContentDisposition' => [ 'shape' => 'ResponseContentDisposition', 'location' => 'querystring', 'locationName' => 'response-content-disposition', ], 'ResponseContentEncoding' => [ 'shape' => 'ResponseContentEncoding', 'location' => 'querystring', 'locationName' => 'response-content-encoding', ], 'ResponseContentLanguage' => [ 'shape' => 'ResponseContentLanguage', 'location' => 'querystring', 'locationName' => 'response-content-language', ], 'ResponseContentType' => [ 'shape' => 'ResponseContentType', 'location' => 'querystring', 'locationName' => 'response-content-type', ], 'ResponseExpires' => [ 'shape' => 'ResponseExpires', 'location' => 'querystring', 'locationName' => 'response-expires', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetObjectTorrentOutput' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'Body', ], 'GetObjectTorrentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'Grant' => [ 'type' => 'structure', 'members' => [ 'Grantee' => [ 'shape' => 'Grantee', ], 'Permission' => [ 'shape' => 'Permission', ], ], ], 'GrantFullControl' => [ 'type' => 'string', ], 'GrantRead' => [ 'type' => 'string', ], 'GrantReadACP' => [ 'type' => 'string', ], 'GrantWrite' => [ 'type' => 'string', ], 'GrantWriteACP' => [ 'type' => 'string', ], 'Grantee' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'DisplayName' => [ 'shape' => 'DisplayName', ], 'EmailAddress' => [ 'shape' => 'EmailAddress', ], 'ID' => [ 'shape' => 'ID', ], 'Type' => [ 'shape' => 'Type', 'locationName' => 'xsi:type', 'xmlAttribute' => true, ], 'URI' => [ 'shape' => 'URI', ], ], 'xmlNamespace' => [ 'prefix' => 'xsi', 'uri' => 'http://www.w3.org/2001/XMLSchema-instance', ], ], 'Grants' => [ 'type' => 'list', 'member' => [ 'shape' => 'Grant', 'locationName' => 'Grant', ], ], 'HeadBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'HeadObjectOutput' => [ 'type' => 'structure', 'members' => [ 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'AcceptRanges' => [ 'shape' => 'AcceptRanges', 'location' => 'header', 'locationName' => 'accept-ranges', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'Restore' => [ 'shape' => 'Restore', 'location' => 'header', 'locationName' => 'x-amz-restore', ], 'LastModified' => [ 'shape' => 'LastModified', 'location' => 'header', 'locationName' => 'Last-Modified', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'MissingMeta' => [ 'shape' => 'MissingMeta', 'location' => 'header', 'locationName' => 'x-amz-missing-meta', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'ReplicationStatus' => [ 'shape' => 'ReplicationStatus', 'location' => 'header', 'locationName' => 'x-amz-replication-status', ], ], ], 'HeadObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'IfMatch' => [ 'shape' => 'IfMatch', 'location' => 'header', 'locationName' => 'If-Match', ], 'IfModifiedSince' => [ 'shape' => 'IfModifiedSince', 'location' => 'header', 'locationName' => 'If-Modified-Since', ], 'IfNoneMatch' => [ 'shape' => 'IfNoneMatch', 'location' => 'header', 'locationName' => 'If-None-Match', ], 'IfUnmodifiedSince' => [ 'shape' => 'IfUnmodifiedSince', 'location' => 'header', 'locationName' => 'If-Unmodified-Since', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Range' => [ 'shape' => 'Range', 'location' => 'header', 'locationName' => 'Range', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'HostName' => [ 'type' => 'string', ], 'HttpErrorCodeReturnedEquals' => [ 'type' => 'string', ], 'HttpRedirectCode' => [ 'type' => 'string', ], 'ID' => [ 'type' => 'string', ], 'IfMatch' => [ 'type' => 'string', ], 'IfModifiedSince' => [ 'type' => 'timestamp', ], 'IfNoneMatch' => [ 'type' => 'string', ], 'IfUnmodifiedSince' => [ 'type' => 'timestamp', ], 'IndexDocument' => [ 'type' => 'structure', 'required' => [ 'Suffix', ], 'members' => [ 'Suffix' => [ 'shape' => 'Suffix', ], ], ], 'Initiated' => [ 'type' => 'timestamp', ], 'Initiator' => [ 'type' => 'structure', 'members' => [ 'ID' => [ 'shape' => 'ID', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], ], ], 'IsLatest' => [ 'type' => 'boolean', ], 'IsTruncated' => [ 'type' => 'boolean', ], 'KeyMarker' => [ 'type' => 'string', ], 'KeyPrefixEquals' => [ 'type' => 'string', ], 'LambdaFunctionArn' => [ 'type' => 'string', ], 'LambdaFunctionConfiguration' => [ 'type' => 'structure', 'required' => [ 'LambdaFunctionArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'LambdaFunctionArn' => [ 'shape' => 'LambdaFunctionArn', 'locationName' => 'CloudFunction', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'LambdaFunctionConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionConfiguration', ], 'flattened' => true, ], 'LastModified' => [ 'type' => 'timestamp', ], 'LifecycleConfiguration' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'Rules', 'locationName' => 'Rule', ], ], ], 'LifecycleExpiration' => [ 'type' => 'structure', 'members' => [ 'Date' => [ 'shape' => 'Date', ], 'Days' => [ 'shape' => 'Days', ], ], ], 'LifecycleRule' => [ 'type' => 'structure', 'required' => [ 'Prefix', 'Status', ], 'members' => [ 'Expiration' => [ 'shape' => 'LifecycleExpiration', ], 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Status' => [ 'shape' => 'ExpirationStatus', ], 'Transitions' => [ 'shape' => 'TransitionList', 'locationName' => 'Transition', ], 'NoncurrentVersionTransitions' => [ 'shape' => 'NoncurrentVersionTransitionList', 'locationName' => 'NoncurrentVersionTransition', ], 'NoncurrentVersionExpiration' => [ 'shape' => 'NoncurrentVersionExpiration', ], ], ], 'LifecycleRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecycleRule', ], 'flattened' => true, ], 'ListBucketsOutput' => [ 'type' => 'structure', 'members' => [ 'Buckets' => [ 'shape' => 'Buckets', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ListMultipartUploadsOutput' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', ], 'UploadIdMarker' => [ 'shape' => 'UploadIdMarker', ], 'NextKeyMarker' => [ 'shape' => 'NextKeyMarker', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'NextUploadIdMarker' => [ 'shape' => 'NextUploadIdMarker', ], 'MaxUploads' => [ 'shape' => 'MaxUploads', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Uploads' => [ 'shape' => 'MultipartUploadList', 'locationName' => 'Upload', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListMultipartUploadsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', 'location' => 'querystring', 'locationName' => 'key-marker', ], 'MaxUploads' => [ 'shape' => 'MaxUploads', 'location' => 'querystring', 'locationName' => 'max-uploads', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'UploadIdMarker' => [ 'shape' => 'UploadIdMarker', 'location' => 'querystring', 'locationName' => 'upload-id-marker', ], ], ], 'ListObjectVersionsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', ], 'VersionIdMarker' => [ 'shape' => 'VersionIdMarker', ], 'NextKeyMarker' => [ 'shape' => 'NextKeyMarker', ], 'NextVersionIdMarker' => [ 'shape' => 'NextVersionIdMarker', ], 'Versions' => [ 'shape' => 'ObjectVersionList', 'locationName' => 'Version', ], 'DeleteMarkers' => [ 'shape' => 'DeleteMarkers', 'locationName' => 'DeleteMarker', ], 'Name' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListObjectVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', 'location' => 'querystring', 'locationName' => 'key-marker', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', 'location' => 'querystring', 'locationName' => 'max-keys', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'VersionIdMarker' => [ 'shape' => 'VersionIdMarker', 'location' => 'querystring', 'locationName' => 'version-id-marker', ], ], ], 'ListObjectsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Marker' => [ 'shape' => 'Marker', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Contents' => [ 'shape' => 'ObjectList', ], 'Name' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListObjectsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'Marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', 'location' => 'querystring', 'locationName' => 'max-keys', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], ], ], 'ListPartsOutput' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'PartNumberMarker' => [ 'shape' => 'PartNumberMarker', ], 'NextPartNumberMarker' => [ 'shape' => 'NextPartNumberMarker', ], 'MaxParts' => [ 'shape' => 'MaxParts', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Parts' => [ 'shape' => 'Parts', 'locationName' => 'Part', ], 'Initiator' => [ 'shape' => 'Initiator', ], 'Owner' => [ 'shape' => 'Owner', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'ListPartsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MaxParts' => [ 'shape' => 'MaxParts', 'location' => 'querystring', 'locationName' => 'max-parts', ], 'PartNumberMarker' => [ 'shape' => 'PartNumberMarker', 'location' => 'querystring', 'locationName' => 'part-number-marker', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'Location' => [ 'type' => 'string', ], 'LoggingEnabled' => [ 'type' => 'structure', 'members' => [ 'TargetBucket' => [ 'shape' => 'TargetBucket', ], 'TargetGrants' => [ 'shape' => 'TargetGrants', ], 'TargetPrefix' => [ 'shape' => 'TargetPrefix', ], ], ], 'MFA' => [ 'type' => 'string', ], 'MFADelete' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'MFADeleteStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'Marker' => [ 'type' => 'string', ], 'MaxAgeSeconds' => [ 'type' => 'integer', ], 'MaxKeys' => [ 'type' => 'integer', ], 'MaxParts' => [ 'type' => 'integer', ], 'MaxUploads' => [ 'type' => 'integer', ], 'Message' => [ 'type' => 'string', ], 'Metadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'MetadataKey', ], 'value' => [ 'shape' => 'MetadataValue', ], ], 'MetadataDirective' => [ 'type' => 'string', 'enum' => [ 'COPY', 'REPLACE', ], ], 'MetadataKey' => [ 'type' => 'string', ], 'MetadataValue' => [ 'type' => 'string', ], 'MissingMeta' => [ 'type' => 'integer', ], 'MultipartUpload' => [ 'type' => 'structure', 'members' => [ 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'Initiated' => [ 'shape' => 'Initiated', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'Owner' => [ 'shape' => 'Owner', ], 'Initiator' => [ 'shape' => 'Initiator', ], ], ], 'MultipartUploadId' => [ 'type' => 'string', ], 'MultipartUploadList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MultipartUpload', ], 'flattened' => true, ], 'NextKeyMarker' => [ 'type' => 'string', ], 'NextMarker' => [ 'type' => 'string', ], 'NextPartNumberMarker' => [ 'type' => 'integer', ], 'NextUploadIdMarker' => [ 'type' => 'string', ], 'NextVersionIdMarker' => [ 'type' => 'string', ], 'NoSuchBucket' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchKey' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchUpload' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoncurrentVersionExpiration' => [ 'type' => 'structure', 'members' => [ 'NoncurrentDays' => [ 'shape' => 'Days', ], ], ], 'NoncurrentVersionTransition' => [ 'type' => 'structure', 'members' => [ 'NoncurrentDays' => [ 'shape' => 'Days', ], 'StorageClass' => [ 'shape' => 'TransitionStorageClass', ], ], ], 'NoncurrentVersionTransitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NoncurrentVersionTransition', ], 'flattened' => true, ], 'NotificationConfiguration' => [ 'type' => 'structure', 'members' => [ 'TopicConfigurations' => [ 'shape' => 'TopicConfigurationList', 'locationName' => 'TopicConfiguration', ], 'QueueConfigurations' => [ 'shape' => 'QueueConfigurationList', 'locationName' => 'QueueConfiguration', ], 'LambdaFunctionConfigurations' => [ 'shape' => 'LambdaFunctionConfigurationList', 'locationName' => 'CloudFunctionConfiguration', ], ], ], 'NotificationConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'TopicConfiguration' => [ 'shape' => 'TopicConfigurationDeprecated', ], 'QueueConfiguration' => [ 'shape' => 'QueueConfigurationDeprecated', ], 'CloudFunctionConfiguration' => [ 'shape' => 'CloudFunctionConfiguration', ], ], ], 'NotificationConfigurationFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'S3KeyFilter', 'locationName' => 'S3Key', ], ], ], 'NotificationId' => [ 'type' => 'string', ], 'Object' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], 'StorageClass' => [ 'shape' => 'ObjectStorageClass', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ObjectAlreadyInActiveTierError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectCannedACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'authenticated-read', 'aws-exec-read', 'bucket-owner-read', 'bucket-owner-full-control', ], ], 'ObjectIdentifier' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], ], ], 'ObjectIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectIdentifier', ], 'flattened' => true, ], 'ObjectKey' => [ 'type' => 'string', 'min' => 1, ], 'ObjectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Object', ], 'flattened' => true, ], 'ObjectNotInActiveTierError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectStorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'GLACIER', ], ], 'ObjectVersion' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], 'StorageClass' => [ 'shape' => 'ObjectVersionStorageClass', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'IsLatest' => [ 'shape' => 'IsLatest', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ObjectVersionId' => [ 'type' => 'string', ], 'ObjectVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectVersion', ], 'flattened' => true, ], 'ObjectVersionStorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', ], ], 'Owner' => [ 'type' => 'structure', 'members' => [ 'DisplayName' => [ 'shape' => 'DisplayName', ], 'ID' => [ 'shape' => 'ID', ], ], ], 'Part' => [ 'type' => 'structure', 'members' => [ 'PartNumber' => [ 'shape' => 'PartNumber', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'PartNumber' => [ 'type' => 'integer', ], 'PartNumberMarker' => [ 'type' => 'integer', ], 'Parts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Part', ], 'flattened' => true, ], 'Payer' => [ 'type' => 'string', 'enum' => [ 'Requester', 'BucketOwner', ], ], 'Permission' => [ 'type' => 'string', 'enum' => [ 'FULL_CONTROL', 'WRITE', 'WRITE_ACP', 'READ', 'READ_ACP', ], ], 'Policy' => [ 'type' => 'string', ], 'Prefix' => [ 'type' => 'string', ], 'Protocol' => [ 'type' => 'string', 'enum' => [ 'http', 'https', ], ], 'PutBucketAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'ACL' => [ 'shape' => 'BucketCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'AccessControlPolicy' => [ 'shape' => 'AccessControlPolicy', 'locationName' => 'AccessControlPolicy', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], ], 'payload' => 'AccessControlPolicy', ], 'PutBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CORSConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CORSConfiguration' => [ 'shape' => 'CORSConfiguration', 'locationName' => 'CORSConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'CORSConfiguration', ], 'PutBucketLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'LifecycleConfiguration' => [ 'shape' => 'BucketLifecycleConfiguration', 'locationName' => 'LifecycleConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'LifecycleConfiguration', ], 'PutBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'LifecycleConfiguration' => [ 'shape' => 'LifecycleConfiguration', 'locationName' => 'LifecycleConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'LifecycleConfiguration', ], 'PutBucketLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'BucketLoggingStatus', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'BucketLoggingStatus' => [ 'shape' => 'BucketLoggingStatus', 'locationName' => 'BucketLoggingStatus', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'BucketLoggingStatus', ], 'PutBucketNotificationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'NotificationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfiguration', 'locationName' => 'NotificationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'NotificationConfiguration', ], 'PutBucketNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'NotificationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfigurationDeprecated', 'locationName' => 'NotificationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'NotificationConfiguration', ], 'PutBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Policy', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Policy' => [ 'shape' => 'Policy', ], ], 'payload' => 'Policy', ], 'PutBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'ReplicationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ReplicationConfiguration' => [ 'shape' => 'ReplicationConfiguration', 'locationName' => 'ReplicationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'ReplicationConfiguration', ], 'PutBucketRequestPaymentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'RequestPaymentConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'RequestPaymentConfiguration' => [ 'shape' => 'RequestPaymentConfiguration', 'locationName' => 'RequestPaymentConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'RequestPaymentConfiguration', ], 'PutBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Tagging', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Tagging' => [ 'shape' => 'Tagging', 'locationName' => 'Tagging', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'Tagging', ], 'PutBucketVersioningRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'VersioningConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'VersioningConfiguration' => [ 'shape' => 'VersioningConfiguration', 'locationName' => 'VersioningConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'VersioningConfiguration', ], 'PutBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'WebsiteConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'WebsiteConfiguration' => [ 'shape' => 'WebsiteConfiguration', 'locationName' => 'WebsiteConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'WebsiteConfiguration', ], 'PutObjectAclOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'AccessControlPolicy' => [ 'shape' => 'AccessControlPolicy', 'locationName' => 'AccessControlPolicy', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'AccessControlPolicy', ], 'PutObjectOutput' => [ 'type' => 'structure', 'members' => [ 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'Body', ], 'QueueArn' => [ 'type' => 'string', ], 'QueueConfiguration' => [ 'type' => 'structure', 'required' => [ 'QueueArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'QueueArn' => [ 'shape' => 'QueueArn', 'locationName' => 'Queue', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'QueueConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Queue' => [ 'shape' => 'QueueArn', ], ], ], 'QueueConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueueConfiguration', ], 'flattened' => true, ], 'Quiet' => [ 'type' => 'boolean', ], 'Range' => [ 'type' => 'string', ], 'Redirect' => [ 'type' => 'structure', 'members' => [ 'HostName' => [ 'shape' => 'HostName', ], 'HttpRedirectCode' => [ 'shape' => 'HttpRedirectCode', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'ReplaceKeyPrefixWith' => [ 'shape' => 'ReplaceKeyPrefixWith', ], 'ReplaceKeyWith' => [ 'shape' => 'ReplaceKeyWith', ], ], ], 'RedirectAllRequestsTo' => [ 'type' => 'structure', 'required' => [ 'HostName', ], 'members' => [ 'HostName' => [ 'shape' => 'HostName', ], 'Protocol' => [ 'shape' => 'Protocol', ], ], ], 'ReplaceKeyPrefixWith' => [ 'type' => 'string', ], 'ReplaceKeyWith' => [ 'type' => 'string', ], 'ReplicationConfiguration' => [ 'type' => 'structure', 'required' => [ 'Role', 'Rules', ], 'members' => [ 'Role' => [ 'shape' => 'Role', ], 'Rules' => [ 'shape' => 'ReplicationRules', 'locationName' => 'Rule', ], ], ], 'ReplicationRule' => [ 'type' => 'structure', 'required' => [ 'Prefix', 'Status', 'Destination', ], 'members' => [ 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Status' => [ 'shape' => 'ReplicationRuleStatus', ], 'Destination' => [ 'shape' => 'Destination', ], ], ], 'ReplicationRuleStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'ReplicationRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationRule', ], 'flattened' => true, ], 'ReplicationStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLETE', 'PENDING', 'FAILED', 'REPLICA', ], ], 'RequestCharged' => [ 'type' => 'string', 'enum' => [ 'requester', ], ], 'RequestPayer' => [ 'type' => 'string', 'enum' => [ 'requester', ], ], 'RequestPaymentConfiguration' => [ 'type' => 'structure', 'required' => [ 'Payer', ], 'members' => [ 'Payer' => [ 'shape' => 'Payer', ], ], ], 'ResponseCacheControl' => [ 'type' => 'string', ], 'ResponseContentDisposition' => [ 'type' => 'string', ], 'ResponseContentEncoding' => [ 'type' => 'string', ], 'ResponseContentLanguage' => [ 'type' => 'string', ], 'ResponseContentType' => [ 'type' => 'string', ], 'ResponseExpires' => [ 'type' => 'timestamp', ], 'Restore' => [ 'type' => 'string', ], 'RestoreObjectOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'RestoreObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RestoreRequest' => [ 'shape' => 'RestoreRequest', 'locationName' => 'RestoreRequest', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'RestoreRequest', ], 'RestoreRequest' => [ 'type' => 'structure', 'required' => [ 'Days', ], 'members' => [ 'Days' => [ 'shape' => 'Days', ], ], ], 'Role' => [ 'type' => 'string', ], 'RoutingRule' => [ 'type' => 'structure', 'required' => [ 'Redirect', ], 'members' => [ 'Condition' => [ 'shape' => 'Condition', ], 'Redirect' => [ 'shape' => 'Redirect', ], ], ], 'RoutingRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoutingRule', 'locationName' => 'RoutingRule', ], ], 'Rule' => [ 'type' => 'structure', 'required' => [ 'Prefix', 'Status', ], 'members' => [ 'Expiration' => [ 'shape' => 'LifecycleExpiration', ], 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Status' => [ 'shape' => 'ExpirationStatus', ], 'Transition' => [ 'shape' => 'Transition', ], 'NoncurrentVersionTransition' => [ 'shape' => 'NoncurrentVersionTransition', ], 'NoncurrentVersionExpiration' => [ 'shape' => 'NoncurrentVersionExpiration', ], ], ], 'Rules' => [ 'type' => 'list', 'member' => [ 'shape' => 'Rule', ], 'flattened' => true, ], 'S3KeyFilter' => [ 'type' => 'structure', 'members' => [ 'FilterRules' => [ 'shape' => 'FilterRuleList', 'locationName' => 'FilterRule', ], ], ], 'SSECustomerAlgorithm' => [ 'type' => 'string', ], 'SSECustomerKey' => [ 'type' => 'string', 'sensitive' => true, ], 'SSECustomerKeyMD5' => [ 'type' => 'string', ], 'SSEKMSKeyId' => [ 'type' => 'string', 'sensitive' => true, ], 'ServerSideEncryption' => [ 'type' => 'string', 'enum' => [ 'AES256', 'aws:kms', ], ], 'Size' => [ 'type' => 'integer', ], 'StorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'STANDARD_IA', ], ], 'Suffix' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'Value' => [ 'shape' => 'Value', ], ], ], 'TagSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'Tagging' => [ 'type' => 'structure', 'required' => [ 'TagSet', ], 'members' => [ 'TagSet' => [ 'shape' => 'TagSet', ], ], ], 'TargetBucket' => [ 'type' => 'string', ], 'TargetGrant' => [ 'type' => 'structure', 'members' => [ 'Grantee' => [ 'shape' => 'Grantee', ], 'Permission' => [ 'shape' => 'BucketLogsPermission', ], ], ], 'TargetGrants' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGrant', 'locationName' => 'Grant', ], ], 'TargetPrefix' => [ 'type' => 'string', ], 'TopicArn' => [ 'type' => 'string', ], 'TopicConfiguration' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'TopicArn' => [ 'shape' => 'TopicArn', 'locationName' => 'Topic', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'TopicConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Topic' => [ 'shape' => 'TopicArn', ], ], ], 'TopicConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicConfiguration', ], 'flattened' => true, ], 'Transition' => [ 'type' => 'structure', 'members' => [ 'Date' => [ 'shape' => 'Date', ], 'Days' => [ 'shape' => 'Days', ], 'StorageClass' => [ 'shape' => 'TransitionStorageClass', ], ], ], 'TransitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Transition', ], 'flattened' => true, ], 'TransitionStorageClass' => [ 'type' => 'string', 'enum' => [ 'GLACIER', 'STANDARD_IA', ], ], 'Type' => [ 'type' => 'string', 'enum' => [ 'CanonicalUser', 'AmazonCustomerByEmail', 'Group', ], ], 'URI' => [ 'type' => 'string', ], 'UploadIdMarker' => [ 'type' => 'string', ], 'UploadPartCopyOutput' => [ 'type' => 'structure', 'members' => [ 'CopySourceVersionId' => [ 'shape' => 'CopySourceVersionId', 'location' => 'header', 'locationName' => 'x-amz-copy-source-version-id', ], 'CopyPartResult' => [ 'shape' => 'CopyPartResult', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'CopyPartResult', ], 'UploadPartCopyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CopySource', 'Key', 'PartNumber', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CopySource' => [ 'shape' => 'CopySource', 'location' => 'header', 'locationName' => 'x-amz-copy-source', ], 'CopySourceIfMatch' => [ 'shape' => 'CopySourceIfMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-match', ], 'CopySourceIfModifiedSince' => [ 'shape' => 'CopySourceIfModifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-modified-since', ], 'CopySourceIfNoneMatch' => [ 'shape' => 'CopySourceIfNoneMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-none-match', ], 'CopySourceIfUnmodifiedSince' => [ 'shape' => 'CopySourceIfUnmodifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-unmodified-since', ], 'CopySourceRange' => [ 'shape' => 'CopySourceRange', 'location' => 'header', 'locationName' => 'x-amz-copy-source-range', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'CopySourceSSECustomerAlgorithm' => [ 'shape' => 'CopySourceSSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-algorithm', ], 'CopySourceSSECustomerKey' => [ 'shape' => 'CopySourceSSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key', ], 'CopySourceSSECustomerKeyMD5' => [ 'shape' => 'CopySourceSSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'UploadPartOutput' => [ 'type' => 'structure', 'members' => [ 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'UploadPartRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'PartNumber', 'UploadId', ], 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'Body', ], 'Value' => [ 'type' => 'string', ], 'VersionIdMarker' => [ 'type' => 'string', ], 'VersioningConfiguration' => [ 'type' => 'structure', 'members' => [ 'MFADelete' => [ 'shape' => 'MFADelete', 'locationName' => 'MfaDelete', ], 'Status' => [ 'shape' => 'BucketVersioningStatus', ], ], ], 'WebsiteConfiguration' => [ 'type' => 'structure', 'members' => [ 'ErrorDocument' => [ 'shape' => 'ErrorDocument', ], 'IndexDocument' => [ 'shape' => 'IndexDocument', ], 'RedirectAllRequestsTo' => [ 'shape' => 'RedirectAllRequestsTo', ], 'RoutingRules' => [ 'shape' => 'RoutingRules', ], ], ], 'WebsiteRedirectLocation' => [ 'type' => 'string', ], ],];
|
|
|
|
|
|
includes/aws/Aws/data/s3/2006-03-01/waiters-2.json.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/waiters-2.json
|
3 |
-
return [ 'version' => 2, 'waiters' => [ 'BucketExists' => [ 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 403, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 404, 'matcher' => 'status', 'state' => 'retry', ], ], 'delay' => 5, 'maxAttempts' => 20, 'operation' => 'HeadBucket', ], 'BucketNotExists' => [ 'acceptors' => [ [ 'expected' => 404, 'matcher' => 'status', 'state' => 'success', ], ], 'delay' => 5, 'maxAttempts' => 20, 'operation' => 'HeadBucket', ], 'ObjectExists' => [ 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 404, 'matcher' => 'status', 'state' => 'retry', ], ], 'delay' => 5, 'maxAttempts' => 20, 'operation' => 'HeadObject', ], 'ObjectNotExists' => [ 'acceptors' => [ [ 'expected' => 404, 'matcher' => 'status', 'state' => 'success', ], ], 'delay' => 5, 'maxAttempts' => 20, 'operation' => 'HeadObject', ], ],];
|
|
|
|
|
|
includes/aws/CHANGELOG.md
DELETED
@@ -1,1387 +0,0 @@
|
|
1 |
-
# CHANGELOG
|
2 |
-
|
3 |
-
## 3.12.0 - 2015-12-21
|
4 |
-
|
5 |
-
* `Aws\Ecr` - Added support for the Amazon EC2 Container Registry.
|
6 |
-
* `Aws\Emr` - Added support for specifying a service security group when calling
|
7 |
-
the RunJobFlow API.
|
8 |
-
|
9 |
-
## 3.11.7 - 2015-12-17
|
10 |
-
|
11 |
-
* `Aws\CloudFront` - Added support for generating signed cookies.
|
12 |
-
* `Aws\CloudFront` - Added support for GZip compression.
|
13 |
-
* `Aws\CloudTrail` - Added support for multi-region trails.
|
14 |
-
* `Aws\Config` - Added for IAM resource types.
|
15 |
-
* `Aws\Ec2` - Added support for managed NATs.
|
16 |
-
* `Aws\Rds` - Added support for enhanced monitoring.
|
17 |
-
|
18 |
-
## 3.11.6 - 2015-12-15
|
19 |
-
|
20 |
-
* `Aws\Ec2` - Added support for specifying encryption on CopyImage commands.
|
21 |
-
|
22 |
-
## 3.11.5 - 2015-12-08
|
23 |
-
|
24 |
-
* `Aws\AutoScaling` - Added support for setting and describing instance
|
25 |
-
protection status.
|
26 |
-
* `Aws\Emr` - Added support for using release labels instead of version numbers.
|
27 |
-
* `Aws\Rds` - Added support for Aurora encryption at rest.
|
28 |
-
|
29 |
-
## 3.11.4 - 2015-12-03
|
30 |
-
|
31 |
-
* `Aws\DirectoryService` - Added support for launching a fully managed Microsoft
|
32 |
-
Active Directory.
|
33 |
-
* `Aws\Rds` - Added support for specifying a port number when modifying database
|
34 |
-
instances.
|
35 |
-
* `Aws\Route53` - Added support for Traffic Flow, a traffic management service.
|
36 |
-
* `Aws\Ses` - Added support for generating SMTP passwords from credentials.
|
37 |
-
|
38 |
-
## 3.11.3 - 2015-12-01
|
39 |
-
|
40 |
-
* `Aws\Config` - Update documentation.
|
41 |
-
|
42 |
-
## 3.11.2 - 2015-11-23
|
43 |
-
|
44 |
-
* `Aws\Config` - Reverted doc model change.
|
45 |
-
|
46 |
-
## 3.11.1 - 2015-11-23
|
47 |
-
|
48 |
-
* `Aws\Ec2` - Added support for EC2 dedicated hosts.
|
49 |
-
* `Aws\Ecs` - Added support for task stopped reasons and task start and stop
|
50 |
-
times.
|
51 |
-
* `Aws\ElasticBeanstalk` - Added support for composable web applications.
|
52 |
-
* `Aws\S3` - Added support for the `aws-exec-read` canned ACL on objects.
|
53 |
-
|
54 |
-
## 3.11.0 - 2015-11-19
|
55 |
-
|
56 |
-
* `Aws\CognitoIdentity` - Added a CognitoIdentity credentials provider.
|
57 |
-
* `Aws\DeviceFarm` - Marked app ARN as optional on `ScheduleRun` and
|
58 |
-
`GetDevicePoolCompatibility` operations.
|
59 |
-
* `Aws\DynamoDb` - Fixed bug where calling `session_regenerate_id` without
|
60 |
-
changing session data would prevent data from being carried over from the
|
61 |
-
previous session ID.
|
62 |
-
* `Aws\Inspector` - Added support for client-side validation of required
|
63 |
-
parameters throughout service.
|
64 |
-
* Fixed error parser bug where certain errors could throw an uncaught
|
65 |
-
parsing exception.
|
66 |
-
|
67 |
-
## 3.10.1 - 2015-11-12
|
68 |
-
|
69 |
-
* `Aws\Config` - Fixed parsing of null responses.
|
70 |
-
* `Aws\Rds` - Added support for snapshot attributes.
|
71 |
-
|
72 |
-
## 3.10.0 - 2015-11-10
|
73 |
-
|
74 |
-
* `Aws\ApiGateway` - Added support for stage variables.
|
75 |
-
* `Aws\DynamoDb` - Updated the session handler to emit warnings on write and
|
76 |
-
delete failures.
|
77 |
-
* `Aws\DynamoDb` - Fixed session ID assignment timing bug encountered in PHP 7.
|
78 |
-
* `Aws\S3` - Removed ServerSideEncryption parameter from UploadPart operation.
|
79 |
-
* Added jitter to the default retry delay algorithm.
|
80 |
-
* Updated the compatibility test script.
|
81 |
-
|
82 |
-
## 3.9.4 - 2015-11-03
|
83 |
-
|
84 |
-
* `Aws\DeviceFarm` - Added support for managing projects, device pools, runs,
|
85 |
-
and uploads.
|
86 |
-
* `Aws\Sts` - Added support for 64-character role session names.
|
87 |
-
|
88 |
-
## 3.9.3 - 2015-11-02
|
89 |
-
|
90 |
-
* `Aws\Iam` - Added support for service-aware policy simulation.
|
91 |
-
|
92 |
-
## 3.9.2 - 2015-10-29
|
93 |
-
|
94 |
-
* `Aws\ApiGateway` - Fixed parameter name collision that occurred when calling
|
95 |
-
`PutIntegration`.
|
96 |
-
* `Aws\S3` - Added support for asynchronous copy and upload.
|
97 |
-
* `Aws\S3` - Added support for setting a location constraint other than the
|
98 |
-
region of the S3 client.
|
99 |
-
|
100 |
-
## 3.9.1 - 2015-10-26
|
101 |
-
|
102 |
-
* `Aws\ApiGateway` - Fixed erroneous version number. Previous version number
|
103 |
-
support kept for backwards compatibility, but "2015-06-01" should be
|
104 |
-
considered deprecated.
|
105 |
-
|
106 |
-
## 3.9.0 - 2015-10-26
|
107 |
-
|
108 |
-
* `Aws\ApiGateway` - Added support for the **AWS API Gateway** service.
|
109 |
-
* `Aws\Ssm` - Added support for EC2 Run Command, a new EC2 feature that enables
|
110 |
-
you to securely and remotely manage the configuration of your Amazon EC2
|
111 |
-
Windows instances.
|
112 |
-
|
113 |
-
## 3.8.2 - 2015-10-22
|
114 |
-
|
115 |
-
* `Aws\AutoScaling` - Added support for EBS encryption.
|
116 |
-
* `Aws\Iam` - Added support for resource-based policy simulations.
|
117 |
-
|
118 |
-
## 3.8.1 - 2015-10-15
|
119 |
-
|
120 |
-
* `Aws\Kms` - Added support for scheduling and cancelling key deletions and
|
121 |
-
listing retirable grants.
|
122 |
-
* `Aws\S3` - Added support for specifying server side encryption on an when
|
123 |
-
uploading a part of a multipart upload.
|
124 |
-
|
125 |
-
## 3.8.0 - 2015-10-08
|
126 |
-
|
127 |
-
* `Aws\Ecs` - Added support for more Docker options hostname, Docker labels,
|
128 |
-
working directory, networking disabled, privileged execution, read-only root
|
129 |
-
filesystem, DNS servers, DNS search domains, ulimits, log configuration, extra
|
130 |
-
hosts (hosts to add to /etc/hosts), and security options (for MLS systems like
|
131 |
-
SELinux).
|
132 |
-
* `Aws\Iot` - Added support for the **AWS IoT** service.
|
133 |
-
* `Aws\IotDataPlane` - Added support for the **AWS IoT Data Plane** service.
|
134 |
-
* `Aws\Lambda` - Added support for function versioning.
|
135 |
-
|
136 |
-
## 3.7.0 - 2015-10-07
|
137 |
-
|
138 |
-
* `Aws\ConfigService` - Added support for config rules, evaluation strategies,
|
139 |
-
and compliance querying.
|
140 |
-
* `Aws\Firehose` - Added support for the **Amazon Kinesis Firehose** service.
|
141 |
-
* `Aws\Inspector` - Added support for the **Amazon Inspector** service.
|
142 |
-
* `Aws\Kinesis` - Added support for increasing and decreasing stream retention
|
143 |
-
periods.
|
144 |
-
* `Aws\MarketplaceCommerceAnalytics` - Added support for the **AWS Marketplace
|
145 |
-
Commerce Analytics** service.
|
146 |
-
|
147 |
-
## 3.6.0 - 2015-10-06
|
148 |
-
|
149 |
-
* `Aws\CloudFront` - Added support for WebACL identifiers and related
|
150 |
-
operations.
|
151 |
-
* `Aws\CloudFront` - Fixed URL presigner to always sign URL-encoded URLs.
|
152 |
-
* `Aws\Ec2` - Added support for spot blocks.
|
153 |
-
* `Aws\S3` - Fixed byte range specified on multipart copies.
|
154 |
-
* `Aws\Waf` - Added support for AWS WAF.
|
155 |
-
|
156 |
-
## 3.5.0 - 2015-10-01
|
157 |
-
|
158 |
-
* `Aws\Cloudtrail` - Added support for log file integrity validation, log
|
159 |
-
encryption with AWS KMS–Managed Keys (SSE-KMS), and trail tagging.
|
160 |
-
* `Aws\ElasticsearchService` - Added support for the Amazon Elasticsearch
|
161 |
-
Service.
|
162 |
-
* `Aws\Rds` - Added support for resource tags.
|
163 |
-
* `Aws\S3` - Added support for copying objects of any size.
|
164 |
-
* `Aws\Workspaces` - Added support for storage volume encryption with AWS KMS.
|
165 |
-
|
166 |
-
## 3.4.1 - 2015-09-29
|
167 |
-
|
168 |
-
* `Aws\CloudFormation` - Added support for specifying affected resource types
|
169 |
-
in `CreateStack` and `UpdateStack` operations.
|
170 |
-
* `Aws\CloudFormation` - Added support for the `DescribeAccountLimits` API.
|
171 |
-
* `Aws\Ec2` - Added support modifying previously created spot fleet requests.
|
172 |
-
* `Aws\Ses` - Added support for inbound email APIs.
|
173 |
-
* Fixed validation to allow using objects implementing `__toString` for string
|
174 |
-
fields in serialized output.
|
175 |
-
|
176 |
-
## 3.4.0 - 2015-09-24
|
177 |
-
|
178 |
-
* `Aws\S3` - Fixed retry handling of networking errors and client socket timeout
|
179 |
-
errors to ensure the client `retries` option is respected.
|
180 |
-
* Added `@method` annotations on all clients to support autocomplete and static
|
181 |
-
analysis.
|
182 |
-
* Added performance tests to the acceptance test suite.
|
183 |
-
* Fixed error when `getIterator` was called on a paginator with no specified
|
184 |
-
`output_token`.
|
185 |
-
* Added support for reading the `aws_session_token` parameter from credentials
|
186 |
-
files.
|
187 |
-
|
188 |
-
## 3.3.8 - 2015-09-17
|
189 |
-
|
190 |
-
* `Aws\CloudWatchLogs` - Added support for export task operations.
|
191 |
-
|
192 |
-
## 3.3.7 - 2015-09-16
|
193 |
-
|
194 |
-
* `Aws\S3` - Added support for new `STANDARD_IA` storage class.
|
195 |
-
* `Aws\S3` - Added support for specifying storage class in cross-region
|
196 |
-
replication configuration.
|
197 |
-
* `Aws\Sqs` - Added a 'QueueExists' waiter to create a queue and wait until it
|
198 |
-
has been fully provisioned.
|
199 |
-
|
200 |
-
## 3.3.6 - 2015-09-15
|
201 |
-
|
202 |
-
* `Aws\Ec2` - Added support for the "diversified" SpotFleet allocation strategy.
|
203 |
-
* `Aws\Ec2` - Added support for reading `StateMessage` and `DataEncryptionKeyId`
|
204 |
-
from a `DescribeSnapshots` response.
|
205 |
-
* `Aws\Efs` - Added support for using a `MountTargetId` parameter instead of a
|
206 |
-
`FileSystemId` parameter with the `DescribeMountTargets` command.
|
207 |
-
* `Aws\Route53` - Added support for calculated and latency health checks.
|
208 |
-
* `Aws\S3` - Fixed warning emitted by `BatchDelete` when no matching objects
|
209 |
-
were found to delete.
|
210 |
-
|
211 |
-
## 3.3.5 - 2015-09-10
|
212 |
-
|
213 |
-
* `Aws\Iam` - Added support for new policy simulation APIs.
|
214 |
-
* `Aws\Kinesis` - Added support for timestamped GetRecords call.
|
215 |
-
* `Aws\MachineLearning` - Fixed invalid validation constraint on `Predict`
|
216 |
-
operation.
|
217 |
-
* `Aws\S3` - Added support for retrying special error cases with the
|
218 |
-
`ListObjects`, `CompleteMultipartUpload`, `CopyObject`, and `UploadPartCopy`.
|
219 |
-
|
220 |
-
## 3.3.4 - 2015-09-03
|
221 |
-
|
222 |
-
* `Aws\StorageGateway` - Added support for tagging and untagging resources.
|
223 |
-
|
224 |
-
## 3.3.3 - 2015-08-31
|
225 |
-
|
226 |
-
* `Aws\Ec2` - Added support for using instance weights with the
|
227 |
-
`RequestSpotFleet` API.
|
228 |
-
|
229 |
-
## 3.3.2 - 2015-08-27
|
230 |
-
|
231 |
-
* `Aws\ConfigService` - Added support for the `ListDiscoveredResources`
|
232 |
-
operation and new resource types.
|
233 |
-
|
234 |
-
## 3.3.1 - 2015-08-25
|
235 |
-
|
236 |
-
* `Aws\CodePipeline` - Added support for using encryption keys with artifact
|
237 |
-
stores.
|
238 |
-
|
239 |
-
## 3.3.0 - 2015-08-20
|
240 |
-
|
241 |
-
* `Aws\S3` - Added support for event notification filters.
|
242 |
-
* Fixed waiter logic to always retry connection errors.
|
243 |
-
* Added support for per-command retry count overrides.
|
244 |
-
* Added support for defining custom patterns for the client debug log to use
|
245 |
-
to scrub sensitive data from the output logged.
|
246 |
-
* Moved the work being done by `Aws\JsonCompiler` from run time to build time.
|
247 |
-
* Fixed bug causing the phar autoloader not to be found when the phar was loaded
|
248 |
-
from opcache instead of from the filesystem.
|
249 |
-
|
250 |
-
## 3.2.6 - 2015-08-12
|
251 |
-
|
252 |
-
* `Aws\ElasticBeanstalk` - Added support for enhanced health reporting.
|
253 |
-
* `Aws\S3` - Fixed retry middleware to ensure that S3 requests are retried
|
254 |
-
following errors raised by the HTTP handler.
|
255 |
-
* `Aws\S3` - Made the keys of the configuration array passed to the constructor
|
256 |
-
of `MultipartUploader` case-insensitive so that its configuration would not
|
257 |
-
rely on differently-cased keys from that of the `S3Client::putObject`
|
258 |
-
operation.
|
259 |
-
* Added an endpoint validation step to the `Aws\AwsClient` constructor so that
|
260 |
-
invalid endpoint would be reported immediately.
|
261 |
-
|
262 |
-
## 3.2.5 - 2015-08-06
|
263 |
-
|
264 |
-
* `Aws\Swf` - Added support for invoking AWS Lambda tasks from an Amazon SWF
|
265 |
-
workflow.
|
266 |
-
|
267 |
-
## 3.2.4 - 2015-08-04
|
268 |
-
|
269 |
-
* `Aws\DeviceFarm` - Added support for the `GetAccountSettings` operation and
|
270 |
-
update documentation to reflect new iOS support.
|
271 |
-
* Made PHP7 test failures fail the build.
|
272 |
-
* Added support for custom user-agent additions.
|
273 |
-
|
274 |
-
## 3.2.3 - 2015-07-30
|
275 |
-
|
276 |
-
* `Aws\OpsWorks` - Added support for operations on ECS clusters.
|
277 |
-
* `Aws\Rds` - Added support for cluster operations for Amazon Aurora.
|
278 |
-
|
279 |
-
## 3.2.2 - 2015-07-28
|
280 |
-
|
281 |
-
* `Aws\S3` - Added support for receiving the storage class in the responses for
|
282 |
-
`GetObject` and `HeadObject` operations.
|
283 |
-
* `Aws\CloudWatchLogs` - Added support for 4 new operations: `PutDestination`,
|
284 |
-
`PutDestinationPolicy`, `DescribeDestinations`, and `DeleteDestination`.
|
285 |
-
|
286 |
-
## 3.2.1 - 2015-07-23
|
287 |
-
|
288 |
-
* **SECURITY FIX**: This release addresses a security issue associated with
|
289 |
-
CVE-2015-5723, specifically, fixes improper default directory umask behavior
|
290 |
-
that could potentially allow unauthorized modifications of PHP code.
|
291 |
-
* `Aws\Ec2` - Added support for SpotFleetLaunchSpecification.
|
292 |
-
* `Aws\Emr` - Added support for Amazon EMR release 4.0.0, which includes a new
|
293 |
-
application installation and configuration experience, upgraded versions of
|
294 |
-
Hadoop, Hive, and Spark, and now uses open source standards for ports and
|
295 |
-
paths. To specify an Amazon EMR release, use the release label parameter (AMI
|
296 |
-
versions 3.x and 2.x can still be specified with the AMI version parameter).
|
297 |
-
* `Aws\Glacier` - Added support for the InitiateVaultLock, GetVaultLock,
|
298 |
-
AbortVaultLock, and CompleteVaultLock API operations.
|
299 |
-
* Fixed a memory leak that occurred when clients were created and never used.
|
300 |
-
* Updated JsonCompiler by addressing a potential race condition and ensuring
|
301 |
-
that caches are invalidated when upgrading to a new version of the SDK.
|
302 |
-
* Updated protocol and acceptance tests.
|
303 |
-
|
304 |
-
## 3.2.0 - 2015-07-14
|
305 |
-
|
306 |
-
* `Aws\DeviceFarm` - Added support for AWS DeviceFarm, an app testing service
|
307 |
-
that enables you to test your Android and Fire OS apps on real, physical
|
308 |
-
phones and tablets that are hosted by AWS.
|
309 |
-
* `Aws\DynamoDb` - Added support for consistent scans and update streams.
|
310 |
-
* `Aws\DynamoDbStreams` - Added support for Amazon DynamoDB Streams, giving you
|
311 |
-
the ability to subscribe to the transactional log of all changes transpiring
|
312 |
-
in your DynamoDB table.
|
313 |
-
* `Aws\S3` - Fixed checksum encoding on multipart upload of non-seekable
|
314 |
-
streams.
|
315 |
-
* `Aws\S3\StreamWrapper` - Added guard on rename functionality to ensure wrapper
|
316 |
-
initialized.
|
317 |
-
|
318 |
-
|
319 |
-
## 3.1.0 - 2015-07-09
|
320 |
-
|
321 |
-
* `Aws\CodeCommit` - Added support for AWS CodeCommit, a secure, highly
|
322 |
-
scalable, managed source control service that hosts private Git repositories.
|
323 |
-
* `Aws\CodePipeline` - Added support for AWS CodePipeline, a continuous delivery
|
324 |
-
service that enables you to model, visualize, and automate the steps required
|
325 |
-
to release your software.
|
326 |
-
* `Aws\Iam` - Added support for uploading SSH public keys for authentication
|
327 |
-
with AWS CodeCommit.
|
328 |
-
* `Aws\Ses` - Added support for cross-account sending through the sending
|
329 |
-
authorization feature.
|
330 |
-
|
331 |
-
## 3.0.7 - 2015-07-07
|
332 |
-
|
333 |
-
* `Aws\AutoScaling` - Added support for step policies.
|
334 |
-
* `Aws\CloudHsm` - Fixed a naming collision with the `GetConfig` operation. This
|
335 |
-
operation is now available through the `GetConfigFiles` method.
|
336 |
-
* `Aws\DynamoDb` - Improved performance when unmarshalling complex documents.
|
337 |
-
* `Aws\DynamoDb` - Fixed checksum comparison of uncompressed responses.
|
338 |
-
* `Aws\Ec2` - Added support for encrypted snapshots.
|
339 |
-
* `Aws\S3` - Added support for user-provided SHA256 checksums for S3 uploads.
|
340 |
-
* `Aws\S3` - Added support for custom protocols in `Aws\S3\StreamWrapper`.
|
341 |
-
* Added cucumber integration tests.
|
342 |
-
* Updated the test suite to be compatible with PHP 7-alpha 2.
|
343 |
-
|
344 |
-
## 3.0.6 - 2015-06-24
|
345 |
-
|
346 |
-
* `Aws\CloudFront` - Added support for configurable `MaxTTL` and `DefaultTTL`.
|
347 |
-
* `Aws\ConfigService` - Added support for recording changes for specific
|
348 |
-
resource types.
|
349 |
-
* `Aws\Ecs` - Added support for sorting, deregistering, and overriding
|
350 |
-
environment variables for task definitions.
|
351 |
-
* `Aws\Glacier` - Added support for the `AddTagsToVault`, `ListTagsForVault`,
|
352 |
-
and `RemoveTagsFromVault` API operations.
|
353 |
-
* `Aws\OpwWorks` - Added support for specifying agent versions to be used on
|
354 |
-
instances.
|
355 |
-
* `Aws\Redshift` - Added support for the `CreateSnapshotCopyGrant`,
|
356 |
-
`DescribeSnapshotCopyGrants`, and `DeleteSnapshotCopyGrant` API operations.
|
357 |
-
* Fixed XML attribute serialization.
|
358 |
-
|
359 |
-
## 3.0.5 - 2015-06-18
|
360 |
-
|
361 |
-
* `Aws\CognitoSync` - Fixed an issue in the Signature Version 4 implementation
|
362 |
-
that was causing issues when signing requests to the Cognito Sync service.
|
363 |
-
* `Aws\ConfigService` - Fixed an issue that was preventing the
|
364 |
-
`ConfigServiceClient` from working properly.
|
365 |
-
* `Aws\Ecs` - Added support for sorting, deregistering, and overriding
|
366 |
-
environment variables for task definitions.
|
367 |
-
* `Aws\Iam` - Added new paginator and waiter configurations.
|
368 |
-
* `Aws\S3` - Added support for the `SaveAs` parameter that was in V2.
|
369 |
-
* `Aws\Sqs` - Fixed an issue that was preventing batch message deletion from
|
370 |
-
working properly.
|
371 |
-
* `Aws` - The `Aws\Sdk::createClient()` method is no longer case-sensitive with
|
372 |
-
service names.
|
373 |
-
|
374 |
-
## 3.0.4 - 2015-06-11
|
375 |
-
|
376 |
-
* `Aws\AutoScaling` - Added support for attaching and detaching load balancers.
|
377 |
-
* `Aws\CloudWatchLogs` - Added support for the PutSubscriptionFilter,
|
378 |
-
DescribeSubscriptionFilters, and DeleteSubscriptionFilter operations.
|
379 |
-
* `Aws\CognitoIdentity` - Added support for the DeleteIdentities operation,
|
380 |
-
and hiding disabled identities with the ListIdentities operation.
|
381 |
-
* `Aws\Ec2` - Added support for VPC flow logs and the M4 instance types.
|
382 |
-
* `Aws\Ecs` - Added support for the UpdateContainerAgent operation.
|
383 |
-
* `Aws\S3` - Improvements to how errors are handled in the `StreamWrapper`.
|
384 |
-
* `Aws\StorageGateway` - Added support for the ListVolumeInitiators operation.
|
385 |
-
* `Aws` - Fixes a bug such that empty maps are handled correctly in JSON
|
386 |
-
requests.
|
387 |
-
|
388 |
-
## 3.0.3 - 2015-06-01
|
389 |
-
|
390 |
-
* `Aws\MachineLearning` - Fixed the `Predict` operation to use the provided
|
391 |
-
`PredictEndpoint` as the host.
|
392 |
-
|
393 |
-
## 3.0.2 - 2015-05-29
|
394 |
-
|
395 |
-
* `Aws` - Fixed an issue preventing some clients from being instantiated via
|
396 |
-
their constructors due to a mismatch between class name and endpoint prefix.
|
397 |
-
|
398 |
-
## 3.0.1 - 2015-05-28
|
399 |
-
|
400 |
-
* `Aws\Lambda` - Added Amazon S3 upload support.
|
401 |
-
|
402 |
-
## 3.0.0 - 2015-05-27
|
403 |
-
|
404 |
-
* Asynchronous requests.
|
405 |
-
* Features like _waiters_ and _multipart uploaders_ can also be used
|
406 |
-
asynchronously.
|
407 |
-
* Asynchronous workflows can be created using _promises_ and _coroutines_.
|
408 |
-
* Improved performance of concurrent/batched requests via _command pools_.
|
409 |
-
* Decoupled HTTP layer.
|
410 |
-
* [Guzzle 6](http://guzzlephp.org) is used by default to send requests,
|
411 |
-
but Guzzle 5 is also supported out of the box.
|
412 |
-
* The SDK can now work in environments where cURL is not available.
|
413 |
-
* Custom HTTP handlers are also supported.
|
414 |
-
* Follows the [PSR-4 and PSR-7 standards](http://php-fig.org).
|
415 |
-
* Middleware system for customizing service client behavior.
|
416 |
-
* Flexible _paginators_ for iterating through paginated results.
|
417 |
-
* Ability to query data from _result_ and _paginator_ objects with
|
418 |
-
[JMESPath](http://jmespath.org/).
|
419 |
-
* Easy debugging via the `'debug'` client configuration option.
|
420 |
-
* Customizable retries via the `'retries'` client configuration option.
|
421 |
-
* More flexibility in credential loading via _credential providers_.
|
422 |
-
* Strictly follows the [SemVer](http://semver.org/) standard going forward.
|
423 |
-
* **For more details about what has changed, see the
|
424 |
-
[Migration Guide](http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/migration.html)**.
|
425 |
-
|
426 |
-
## 2.8.7 - 2015-05-26
|
427 |
-
|
428 |
-
* `Aws\Efs` - Added support for the [Amazon Elastic File System (Amazon
|
429 |
-
EFS)](http://aws.amazon.com/efs/)
|
430 |
-
* Failing to parse an XML error response will now fail gracefully as a
|
431 |
-
`PhpInternalXmlParseError` AWS error code.
|
432 |
-
|
433 |
-
## 2.8.6 - 2015-05-21
|
434 |
-
|
435 |
-
* `Aws\ElasticBeanstalk` - Added support for ResourceName configuration.
|
436 |
-
* `Aws\ElasticTranscoder` - Added support for configuring AudioPackingMode and
|
437 |
-
additional CodecOptions.
|
438 |
-
* `Aws\Kinesis` - Added support for MillisBehindLatest in the result of
|
439 |
-
GetRecordsOutput.
|
440 |
-
* `Aws\Kms` - Added support for the UpdateAlias operation.
|
441 |
-
* `Aws\Lambda` - Fixed an issue with the UpdateFunctionCode operation.
|
442 |
-
|
443 |
-
## 2.8.5 - 2015-05-18
|
444 |
-
|
445 |
-
* `Aws\Ec2\Ec2Client` - Added support for the new spot fleet API operations.
|
446 |
-
* `Aws\OpsWorks\OpsWorksClient` - Added support for custom auto-scaling based
|
447 |
-
on CloudWatch alarms.
|
448 |
-
|
449 |
-
## 2.8.4 - 2015-05-14
|
450 |
-
|
451 |
-
* `Aws\DirectoryService` - Added support for the AWS Directory Service.
|
452 |
-
* `Aws\CloudWatchLogs` - Adds support for the FilterLogEvents operation.
|
453 |
-
* `Aws\CloudFormation` - Adds additional data to the GetTemplateSummary
|
454 |
-
operation.
|
455 |
-
* `Aws\Ec2` - Adds support for Amazon VPC endpoints for Amazon S3 and APIs for
|
456 |
-
migrating Elastic IP Address from EC2-Classic to EC2-VPC.
|
457 |
-
* `Aws\Ec2` - Fixed an issue with cross-region CopySnapshot such that it now
|
458 |
-
works with temporary credentials.
|
459 |
-
* `Aws\Common` - During credential discovery, an invalid credentials file now
|
460 |
-
allows failover to Instance Profile credentials.
|
461 |
-
|
462 |
-
## 2.8.3 - 2015-05-07
|
463 |
-
|
464 |
-
* `Aws\Glacier` - Added support for vault access policies.
|
465 |
-
* `Aws\Route53` - Fixed a `GetCheckerIpRangesResponse` response parsing issue.
|
466 |
-
* `Aws\S3` - Retrying CompleteMultipartUpload failures by retrying the request.
|
467 |
-
* `Aws\S3` - Corrected some response handling in the S3 multipart upload
|
468 |
-
abstraction.
|
469 |
-
* Expiring instance metadata credentials 30 minutes in advance for more eager
|
470 |
-
refreshes before the credentials expire.
|
471 |
-
|
472 |
-
## 2.8.2 - 2015-04-23
|
473 |
-
|
474 |
-
* `Aws\Ec2` - Added support for new VM Import APIs, `including ImportImage`.
|
475 |
-
* `Aws\Iam` - Added support for the `GetAccessKeyLastUsed` operation.
|
476 |
-
* `Aws\CloudSearchDomain` - Search responses now include the expressions requested.
|
477 |
-
|
478 |
-
## 2.8.1 - 2015-04-16
|
479 |
-
|
480 |
-
* `Aws\ConfigService` - Added the 'GetResourceConfigHistory' iterator.
|
481 |
-
* `Aws\CognitoSync` - Added support for events.
|
482 |
-
* `Aws\Lambda` - Fixed an issue with the Invoke operation.
|
483 |
-
|
484 |
-
## 2.8.0 - 2015-04-09
|
485 |
-
|
486 |
-
See the [Upgrading Guide](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md)
|
487 |
-
for details about any changes you may need to make to your code for this upgrade.
|
488 |
-
|
489 |
-
* `Aws\MachineLearning` - Added support for the Amazon Machine Learning service.
|
490 |
-
* `Aws\WorkSpaces` - Added support for the Amazon WorkSpaces service.
|
491 |
-
* `Aws\Ecs` - Added support for the ECS service scheduler operations.
|
492 |
-
* `Aws\S3` - Added support for the `getBucketNotificationConfiguration` and
|
493 |
-
`putBucketNotificationConfiguration` operations to the `S3Client` to replace
|
494 |
-
the, now deprecated, `getBucketNotification` and `putBucketNotification`
|
495 |
-
operations.
|
496 |
-
* [BC] `Aws\Lambda` - Added support for the new AWS Lambda API, which has been
|
497 |
-
changed based on customer feedback during Lambda's preview period.
|
498 |
-
* `Aws\Common` - Deprecated "facades". They will not be present in Version 3 of
|
499 |
-
the SDK.
|
500 |
-
* `Aws\Common` - Added `getAwsErrorCode`, `getAwsErrorType` and `getAwsRequestId`
|
501 |
-
methods to the `ServiceResponseException` to be forward-compatible with
|
502 |
-
Version 3 of the SDK.
|
503 |
-
|
504 |
-
## 2.7.27 - 2015-04-07
|
505 |
-
|
506 |
-
* `Aws\DataPipeline` - Added support for `DeactivatePipeline`
|
507 |
-
* `Aws\ElasticBeanstalk` - Added support for `AbortEnvironmentUpdate`
|
508 |
-
|
509 |
-
## 2.7.26 - 2015-04-02
|
510 |
-
|
511 |
-
* `Aws\CodeDeploy` - Added support deployments to on-premises instances.
|
512 |
-
* `Aws\Rds` - Added support for the `DescribeCertificates` operation.
|
513 |
-
* `Aws\ElasticTranscoder` - Added support for protecting content with PlayReady
|
514 |
-
Digital Rights Management (DRM).
|
515 |
-
|
516 |
-
## 2.7.25 - 2015-03-26
|
517 |
-
|
518 |
-
* `Aws\ElasticTranscoder` - Added support for job timing.
|
519 |
-
* `Aws\Iam` - Added `NamedPolicy` to `GetAccountAuthorizationDetails`.
|
520 |
-
* `Aws\OpsWorks` - Added `BlockDeviceMapping` support.
|
521 |
-
|
522 |
-
## 2.7.24 - 2015-03-24
|
523 |
-
|
524 |
-
* `Aws\S3` - Added support for cross-region replication.
|
525 |
-
* `Aws\S3` - Added support for ["Requester Pays" buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html).
|
526 |
-
|
527 |
-
## 2.7.23 - 2015-03-19
|
528 |
-
|
529 |
-
* `Aws\ElasticTranscoder` - API update to support AppliedColorSpaceConversion.
|
530 |
-
* `Aws\CloudSearchDomain` - Adding 504 status code to retry list.
|
531 |
-
|
532 |
-
## 2.7.22 - 2015-03-12
|
533 |
-
|
534 |
-
* `Aws\CloudFront` - Fixed #482, which affected pre-signing CloudFront URLs.
|
535 |
-
* `Aws\CloudTrail` - Added support for the `LookupEvents` operation.
|
536 |
-
* `Aws\CloudWatchLogs` - Added ordering parameters to the `DescribeLogStreams`
|
537 |
-
* `Aws\Ec2` - Added pagination parameters to the `DescribeSnapshots` operation.
|
538 |
-
operation.
|
539 |
-
|
540 |
-
## 2.7.21 - 2015-03-04
|
541 |
-
|
542 |
-
* `Aws\CognitoSync` - Added support for Amazon Cognito Streams.
|
543 |
-
|
544 |
-
## 2.7.20 - 2015-02-23
|
545 |
-
|
546 |
-
* `Aws\DataPipeline` - Added support for pipeline tagging via the `AddTags` and
|
547 |
-
`RemoveTags` operations.
|
548 |
-
* `Aws\Route53` - Added support for the `GetHostedZoneCount` and
|
549 |
-
`ListHostedZonesByName` operations.
|
550 |
-
|
551 |
-
## 2.7.19 - 2015-02-20
|
552 |
-
|
553 |
-
* `Aws\CloudFront` - Added support for origin paths in web distributions.
|
554 |
-
* `Aws\Ecs` - Added support for specifying volumes and mount points. Also
|
555 |
-
* `Aws\ElasticTranscoder` - Added support for cross-regional resource warnings.
|
556 |
-
* `Aws\Route53Domains` - Add iterators for `ListDomains` and `ListOperations`.
|
557 |
-
* `Aws\Ssm` - Added support for the **Amazon Simple Systems Management Service
|
558 |
-
(SSM)**.
|
559 |
-
* `Aws\Sts` - Added support for regional endpoints.
|
560 |
-
switched the client to use a JSON protocol.
|
561 |
-
* Changed our CHANGELOG format. ;-)
|
562 |
-
|
563 |
-
## 2.7.18 - 2015-02-12
|
564 |
-
|
565 |
-
* Added support for named and managed policies to the IAM client.
|
566 |
-
* Added support for tagging operations to the Route 53 Domains client.
|
567 |
-
* Added support for tagging operations to the ElastiCache client.
|
568 |
-
* Added support for the Scan API for secondary indexes to the DynamoDB client.
|
569 |
-
* Added forward compatibility for the `'credentials'`, `'endpoint'`, and
|
570 |
-
`'http'` configuration options.
|
571 |
-
* Made the `marshalValue()` and `unmarshalValue()` methods public in the
|
572 |
-
DynamoDB Marshaler.
|
573 |
-
|
574 |
-
## 2.7.17 - 2015-01-27
|
575 |
-
|
576 |
-
* Added support for `getShippingLabel` to the AWS Import/Export client.
|
577 |
-
* Added support for online indexing to the DynamoDB client.
|
578 |
-
* Updated the AWS Lambda client.
|
579 |
-
|
580 |
-
## 2.7.16 - 2015-01-20
|
581 |
-
|
582 |
-
* Added support for custom security groups to the Amazon EMR client.
|
583 |
-
* Added support for the latest APIs to the Amazon Cognito Identity client.
|
584 |
-
* Added support for ClassicLink to the Auto Scaling client.
|
585 |
-
* Added the ability to set a client's API version to "latest" for forwards
|
586 |
-
compatibility with v3.
|
587 |
-
|
588 |
-
## 2.7.15 - 2015-01-15
|
589 |
-
|
590 |
-
* Added support for [HLS Content Protection](https://aws.amazon.com/releasenotes/3388917394239147)
|
591 |
-
to the Elastic Transcoder client.
|
592 |
-
* Updated client factory logic to add the `SignatureListener`, even when
|
593 |
-
`NullCredentials` have been specified. This way, you can update a client's
|
594 |
-
credentials later if you want to begin signing requests.
|
595 |
-
|
596 |
-
## 2.7.14 - 2015-01-09
|
597 |
-
|
598 |
-
* Fixed a regression in the CloudSearch Domain client (#448).
|
599 |
-
|
600 |
-
## 2.7.13 - 2015-01-08
|
601 |
-
|
602 |
-
* Added the Amazon EC2 Container Service client.
|
603 |
-
* Added the Amazon CloudHSM client.
|
604 |
-
* Added support for dynamic fields to the Amazon CloudSearch client.
|
605 |
-
* Added support for the ClassicLink feature to the Amazon EC2 client.
|
606 |
-
* Updated the Amazon RDS client to use the latest 2014-10-31 API.
|
607 |
-
* Updated S3 signature so retries use a new Date header on each attempt.
|
608 |
-
|
609 |
-
## 2.7.12 - 2014-12-18
|
610 |
-
|
611 |
-
* Added support for task priorities to Amazon Simple Workflow Service.
|
612 |
-
|
613 |
-
## 2.7.11 - 2014-12-17
|
614 |
-
|
615 |
-
* Updated Amazon EMR to the latest API version.
|
616 |
-
* Added support for for the new ResetCache API operation to AWS Storage Gateway.
|
617 |
-
|
618 |
-
## 2.7.10 - 2014-12-12
|
619 |
-
|
620 |
-
* Added support for user data to Amazon Elastic Transcoder.
|
621 |
-
* Added support for data retrieval policies and audit logging to the Amazon
|
622 |
-
Glacier client.
|
623 |
-
* Corrected the AWS Security Token Service endpoint.
|
624 |
-
|
625 |
-
## 2.7.9 - 2014-12-08
|
626 |
-
|
627 |
-
* The Amazon Simple Queue Service client adds support for the PurgeQueue
|
628 |
-
operation.
|
629 |
-
* You can now use AWS OpsWorks with existing EC2 instances and on-premises
|
630 |
-
servers.
|
631 |
-
|
632 |
-
## 2.7.8 - 2014-12-04
|
633 |
-
|
634 |
-
* Added support for the `PutRecords` batch operation to `KinesisClient`.
|
635 |
-
* Added support for the `GetAccountAuthorizationDetails` operation to the
|
636 |
-
`IamClient`.
|
637 |
-
* Added support for the `UpdateHostedZoneComment` operation to `Route53Client`.
|
638 |
-
* Added iterators for `ListEventSources` and `ListFunctions` operations the
|
639 |
-
`LambdaClient`.
|
640 |
-
|
641 |
-
## 2.7.7 - 2014-11-25
|
642 |
-
|
643 |
-
* Added a DynamoDB `Marshaler` class, that allows you to marshal JSON documents
|
644 |
-
or native PHP arrays to the format that DynamoDB requires. You can also
|
645 |
-
unmarshal item data from operation results back into JSON documents or native
|
646 |
-
PHP arrays.
|
647 |
-
* Added support for media file encryption to Amazon Elastic Transcoder.
|
648 |
-
* Removing a few superfluous `x-amz-server-side-encryption-aws-kms-key-id` from
|
649 |
-
the Amazon S3 model.
|
650 |
-
* Added support for using AWS Data Pipeline templates to create pipelines and
|
651 |
-
bind values to parameters in the pipeline.
|
652 |
-
|
653 |
-
## 2.7.6 - 2014-11-20
|
654 |
-
|
655 |
-
* Added support for AWS KMS integration to the Amazon Redshift Client.
|
656 |
-
* Fixed cn-north-1 endpoint for AWS Identity and Access Management.
|
657 |
-
* Updated `S3Client::getBucketLocation` method to work cross-region regardless
|
658 |
-
of the region's signature requirements.
|
659 |
-
* Fixed an issue with the DynamoDbClient that allows it to work better with
|
660 |
-
with DynamoDB Local.
|
661 |
-
|
662 |
-
## 2.7.5 - 2014-11-13
|
663 |
-
|
664 |
-
* Added support for AWS Lambda.
|
665 |
-
* Added support for event notifications to the Amazon S3 client.
|
666 |
-
* Fixed an issue with S3 pre-signed URLs when using Signature V4.
|
667 |
-
|
668 |
-
## 2.7.4 - 2014-11-12
|
669 |
-
|
670 |
-
* Added support for the AWS Key Management Service (AWS KMS).
|
671 |
-
* Added support for AWS CodeDeploy.
|
672 |
-
* Added support for AWS Config.
|
673 |
-
* Added support for AWS KMS encryption to the Amazon S3 client.
|
674 |
-
* Added support for AWS KMS encryption to the Amazon EC2 client.
|
675 |
-
* Added support for Amazon CloudWatch Logs delivery to the AWS CloudTrail
|
676 |
-
client.
|
677 |
-
* Added the GetTemplateSummary operation to the AWS CloudFormation client.
|
678 |
-
* Fixed an issue with sending signature version 4 Amazon S3 requests that
|
679 |
-
contained a 0 length body.
|
680 |
-
|
681 |
-
## 2.7.3 - 2014-11-06
|
682 |
-
|
683 |
-
* Added support for private DNS for Amazon Virtual Private Clouds, health check
|
684 |
-
failure reasons, and reusable delegation sets to the Amazon Route 53 client.
|
685 |
-
* Updated the CloudFront model.
|
686 |
-
* Added support for configuring push synchronization to the Cognito Sync client.
|
687 |
-
* Updated docblocks in a few S3 and Glacier classes to improve IDE experience.
|
688 |
-
|
689 |
-
## 3.0.0-beta.1 - 2014-10-14
|
690 |
-
|
691 |
-
* New requirements on Guzzle 5 and PHP 5.5.
|
692 |
-
* Event system now uses Guzzle 5 events and no longer utilizes Symfony2.
|
693 |
-
* `version` and `region` are noww required parameter for each client
|
694 |
-
constructor. You can op-into using the latest version of a service by
|
695 |
-
setting `version` to `latest`.
|
696 |
-
* Removed `Aws\S3\ResumableDownload`.
|
697 |
-
* More information to follow.
|
698 |
-
|
699 |
-
## 2.7.2 - 2014-10-23
|
700 |
-
|
701 |
-
* Updated AWS Identity and Access Management (IAM) to the latest version.
|
702 |
-
* Updated Amazon Cognito Identity client to the latest version.
|
703 |
-
* Added auto-renew support to the Amazon Route 53 Domains client.
|
704 |
-
* Updated Amazon EC2 to the latest version.
|
705 |
-
|
706 |
-
## 2.7.1 - 2014-10-16
|
707 |
-
|
708 |
-
* Updated the Amazon RDS client to the 2014-09-01 API version.
|
709 |
-
* Added support for advanced Japanese language processing to the Amazon
|
710 |
-
CloudSearch client.
|
711 |
-
|
712 |
-
## 2.7.0 - 2014-10-08
|
713 |
-
|
714 |
-
* Added document model support to the Amazon DynamoDB client, including support
|
715 |
-
for the new data types (`L`, `M`, `BOOL`, and `NULL`), nested attributes, and
|
716 |
-
expressions.
|
717 |
-
* Deprecated the `Aws\DynamoDb\Model\Attribute`, `Aws\DynamoDb\Model\Item`,
|
718 |
-
and `Aws\DynamoDb\Iterator\ItemIterator` classes, and the
|
719 |
-
`Aws\DynamoDb\DynamoDbClient::formatValue` and
|
720 |
-
`Aws\DynamoDb\DynamoDbClient::formatAttribute` methods, since they do not
|
721 |
-
support the new types in the DynamoDB document model. These deprecated classes
|
722 |
-
and methods still work reliably with `S`, `N`, `B`, `SS`, `NS`, and `BS`
|
723 |
-
attributes.
|
724 |
-
* Updated the Amazon DynamoDB client to permanently disable client-side
|
725 |
-
parameter validation. This needed to be done in order to support the new
|
726 |
-
document model features.
|
727 |
-
* Updated the Amazon EC2 client to sign requests with Signature V4.
|
728 |
-
* Fixed an issue in the S3 service description to make the `VersionId`
|
729 |
-
work in `S3Client::restoreObject`.
|
730 |
-
|
731 |
-
## 2.6.16 - 2014-09-11
|
732 |
-
|
733 |
-
* Added support for tagging to the Amazon Kinesis client.
|
734 |
-
* Added support for setting environment variables to the AWS OpsWorks client.
|
735 |
-
* Fixed issue #334 to allow the `before_upload` callback to work in the
|
736 |
-
`S3Client::upload` method.
|
737 |
-
* Fixed an issue in the Signature V4 signer that was causing an issue with some
|
738 |
-
CloudSearch Domain operations.
|
739 |
-
|
740 |
-
## 2.6.15 - 2014-08-14
|
741 |
-
|
742 |
-
* Added support for signing requests to the Amazon CloudSearch Domain client.
|
743 |
-
* Added support for creating anonymous clients.
|
744 |
-
|
745 |
-
## 2.6.14 - 2014-08-11
|
746 |
-
|
747 |
-
* Added support for tagging to the Elastic Load Balancing client.
|
748 |
-
|
749 |
-
## 2.6.13 - 2014-07-31
|
750 |
-
|
751 |
-
* Added support for configurable idle timeouts to the Elastic Load Balancing
|
752 |
-
client.
|
753 |
-
* Added support for Lifecycle Hooks, Detach Instances, and Standby to the
|
754 |
-
AutoScaling client.
|
755 |
-
* Added support for creating Amazon ElastiCache for Memcached clusters with
|
756 |
-
nodes in multiple availability zones.
|
757 |
-
* Added minor fixes to the Amazon EC2 model for ImportVolume,
|
758 |
-
DescribeNetworkInterfaceAttribute, and DeleteVpcPeeringConnection
|
759 |
-
* Added support for getGeoLocation and listGeoLocations to the
|
760 |
-
Amazon Route 53 client.
|
761 |
-
* Added support for Amazon Route 53 Domains.
|
762 |
-
* Fixed an issue with deleting nested folders in the Amazon S3 stream wrapper.
|
763 |
-
* Fixed an issue with the Amazon S3 sync abstraction to ensure that S3->S3
|
764 |
-
communication works correctly.
|
765 |
-
* Added stricter validation to the Amazon SNS MessageValidator.
|
766 |
-
|
767 |
-
## 2.6.12 - 2014-07-16
|
768 |
-
|
769 |
-
* Added support for adding attachments to support case communications to the
|
770 |
-
AWS Support API client.
|
771 |
-
* Added support for credential reports and password rotation features to the
|
772 |
-
AWS IAM client.
|
773 |
-
* Added the `ap-northeast-1`, `ap-southeast-1`, and `ap-southeast-2` regions to
|
774 |
-
the Amazon Kinesis client.
|
775 |
-
* Added a `listFilter` stream context option that can be used when using
|
776 |
-
`opendir()` and the Amazon S3 stream wrapper. This option is used to filter
|
777 |
-
out specific objects from the files yielded from the stream wrapper.
|
778 |
-
* Fixed #322 so that the download sync builder ignores objects that have a
|
779 |
-
`GLACIER` storage class.
|
780 |
-
* Fixed an issue with the S3 SSE-C logic so that HTTPS is only required when
|
781 |
-
the SSE-C parameters are provided.
|
782 |
-
* Updated the Travis configuration to include running HHVM tests.
|
783 |
-
|
784 |
-
## 2.6.11 - 2014-07-09
|
785 |
-
|
786 |
-
* Added support for **Amazon Cognito Identity**.
|
787 |
-
* Added support for **Amazon Cognito Sync**.
|
788 |
-
* Added support for **Amazon CloudWatch Logs**.
|
789 |
-
* Added support for editing existing health checks and associating health checks
|
790 |
-
with tags to the Amazon Route 53 client.
|
791 |
-
* Added the ModifySubnetAttribute operation to the Amazon EC2 client.
|
792 |
-
|
793 |
-
## 2.6.10 - 2014-07-02
|
794 |
-
|
795 |
-
* Added the `ap-northeast-1`, `ap-southeast-1`, and `sa-east-1` regions to the
|
796 |
-
Amazon CloudTrail client.
|
797 |
-
* Added the `eu-west-1` and `us-west-2` regions to the Amazon Kinesis client.
|
798 |
-
* Fixed an issue with the SignatureV4 implementation when used with Amazon S3.
|
799 |
-
* Fixed an issue with a test that was causing failures when run on EC2 instances
|
800 |
-
that have associated Instance Metadata credentials.
|
801 |
-
|
802 |
-
## 2.6.9 - 2014-06-26
|
803 |
-
|
804 |
-
* Added support for the CloudSearchDomain client, which allows you to search and
|
805 |
-
upload documents to your CloudSearch domains.
|
806 |
-
* Added support for delivery notifications to the Amazon SES client.
|
807 |
-
* Updated the CloudFront client to support the 2014-05-31 API.
|
808 |
-
* Merged PR #316 as a better solution for issue #309.
|
809 |
-
|
810 |
-
## 2.6.8 - 2014-06-20
|
811 |
-
|
812 |
-
* Added support for closed captions to the Elastic Transcoder client.
|
813 |
-
* Added support for IAM roles to the Elastic MapReduce client.
|
814 |
-
* Updated the S3 PostObject to ease customization.
|
815 |
-
* Fixed an issue in some EC2 waiters by merging PR #306.
|
816 |
-
* Fixed an issue with the DynamoDB `WriteRequestBatch` by merging PR #310.
|
817 |
-
* Fixed issue #309, where the `url_stat()` logic in the S3 Stream Wrapper was
|
818 |
-
affected by a change in PHP 5.5.13.
|
819 |
-
|
820 |
-
## 2.6.7 - 2014-06-12
|
821 |
-
|
822 |
-
* Added support for Amazon S3 server-side encryption using customer-provided
|
823 |
-
encryption keys.
|
824 |
-
* Updated Amazon SNS to support message attributes.
|
825 |
-
* Updated the Amazon Redshift model to support new cluster parameters.
|
826 |
-
* Updated PHPUnit dev dependency to 4.* to work around a PHP serializing bug.
|
827 |
-
|
828 |
-
## 2.6.6 - 2014-05-29
|
829 |
-
|
830 |
-
* Added support for the [Desired Partition Count scaling
|
831 |
-
option](http://aws.amazon.com/releasenotes/2440176739861815) to the
|
832 |
-
CloudSearch client. Hebrew is also now a supported language.
|
833 |
-
* Updated the STS service description to the latest version.
|
834 |
-
* [Docs] Updated some of the documentation about credential profiles.
|
835 |
-
* Fixed an issue with the regular expression in the `S3Client::isValidBucketName`
|
836 |
-
method. See #298.
|
837 |
-
|
838 |
-
## 2.6.5 - 2014-05-22
|
839 |
-
|
840 |
-
* Added cross-region support for the Amazon EC2 CopySnapshot operation.
|
841 |
-
* Added AWS Relational Database (RDS) support to the AWS OpsWorks client.
|
842 |
-
* Added support for tagging environments to the AWS Elastic Beanstalk client.
|
843 |
-
* Refactored the signature version 4 implementation to be able to pre-sign
|
844 |
-
most operations.
|
845 |
-
|
846 |
-
## 2.6.4 - 2014-05-20
|
847 |
-
|
848 |
-
* Added support for lifecycles on versioning enabled buckets to the Amazon S3
|
849 |
-
client.
|
850 |
-
* Fixed an Amazon S3 sync issue which resulted in unnecessary transfers when no
|
851 |
-
`$keyPrefix` argument was utilized.
|
852 |
-
* Corrected the `CopySourceIfMatch` and `CopySourceIfNoneMatch` parameter for
|
853 |
-
Amazon S3 to not use a timestamp shape.
|
854 |
-
* Corrected the sending of Amazon S3 PutBucketVersioning requests that utilize
|
855 |
-
the `MFADelete` parameter.
|
856 |
-
|
857 |
-
## 2.6.3 - 2014-05-14
|
858 |
-
|
859 |
-
* Added the ability to modify Amazon SNS topic settings to the UpdateStack
|
860 |
-
operation of the AWS CloudFormation client.
|
861 |
-
* Added support for the us-west-1, ap-southeast-2, and eu-west-1 regions to the
|
862 |
-
AWS CloudTrail client.
|
863 |
-
* Removed no longer utilized AWS CloudTrail shapes from the model.
|
864 |
-
|
865 |
-
## 2.6.2 - 2014-05-06
|
866 |
-
|
867 |
-
* Added support for Amazon SQS message attributes.
|
868 |
-
* Fixed Amazon S3 multi-part uploads so that manually set ContentType values are not overwritten.
|
869 |
-
* No longer recalculating file sizes when an Amazon S3 socket timeout occurs because this was causing issues with
|
870 |
-
multi-part uploads and it is very unlikely ever the culprit of a socket timeout.
|
871 |
-
* Added better environment variable detection.
|
872 |
-
|
873 |
-
## 2.6.1 - 2014-04-25
|
874 |
-
|
875 |
-
* Added support for the `~/.aws/credentials` INI file and credential profiles (via the `profile` option) as a safer
|
876 |
-
alternative to using explicit credentials with the `key` and `secret` options.
|
877 |
-
* Added support for query filters and improved conditional expressions to the Amazon DynamoDB client.
|
878 |
-
* Added support for the `ChefConfiguration` parameter to a few operations on the AWS OpsWorks Client.
|
879 |
-
* Added support for Redis cache cluster snapshots to the Amazon ElastiCache client.
|
880 |
-
* Added support for the `PlacementTenancy` parameter to the `CreateLaunchConfiguration` operation of the Auto Scaling
|
881 |
-
client.
|
882 |
-
* Added support for the new R3 instance types to the Amazon EC2 client.
|
883 |
-
* Added the `SpotInstanceRequestFulfilled` waiter to the Amazon EC2 client (see #241).
|
884 |
-
* Improved the S3 Stream Wrapper by adding support for deleting pseudo directories (#264), updating error handling
|
885 |
-
(#276), and fixing `is_link()` for non-existent keys (#268).
|
886 |
-
* Fixed #252 and updated the DynamoDB `WriteRequestBatch` abstraction to handle batches that were completely rejected
|
887 |
-
due to exceeding provisioned throughput.
|
888 |
-
* Updated the SDK to support Guzzle 3.9.x
|
889 |
-
|
890 |
-
## 2.6.0 - 2014-03-25
|
891 |
-
|
892 |
-
* [BC] Updated the Amazon CloudSearch client to use the new 2013-01-01 API version (see [their release
|
893 |
-
notes](http://aws.amazon.com/releasenotes/6125075708216342)). This API version of CloudSearch is significantly
|
894 |
-
different than the previous one, and is not backwards compatible. See the
|
895 |
-
[Upgrading Guide](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md) for more details.
|
896 |
-
* Added support for the VPC peering features to the Amazon EC2 client.
|
897 |
-
* Updated the Amazon EC2 client to use the new 2014-02-01 API version.
|
898 |
-
* Added support for [resize progress data and the Cluster Revision Number
|
899 |
-
parameter](http://aws.amazon.com/releasenotes/0485739709714318) to the Amazon Redshift client.
|
900 |
-
* Added the `ap-northeast-1`, `ap-southeast-2`, and `sa-east-1` regions to the Amazon CloudSearch client.
|
901 |
-
|
902 |
-
## 2.5.4 - 2014-03-20
|
903 |
-
|
904 |
-
* Added support for [access logs](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/access-log-collection.html)
|
905 |
-
to the Elastic Load Balancing client.
|
906 |
-
* Updated the Elastic Load Balancing client to the latest API version.
|
907 |
-
* Added support for the `AWS_SECRET_ACCESS_KEY` environment variables.
|
908 |
-
* Updated the Amazon CloudFront client to use the 2014-01-31 API version. See [their release
|
909 |
-
notes](http://aws.amazon.com/releasenotes/1900016175520505).
|
910 |
-
* Updates the AWS OpsWorks client to the latest API version.
|
911 |
-
* Amazon S3 Stream Wrapper now works correctly with pseudo folder keys created by the AWS Management Console.
|
912 |
-
* Amazon S3 Stream Wrapper now implements `mkdir()` for nested folders similar to the AWS Management Console.
|
913 |
-
* Addressed an issue with Amazon S3 presigned-URLs where X-Amz-* headers were not being added to the query string.
|
914 |
-
* Addressed an issue with the Amazon S3 directory sync where paths that contained dot-segments were not properly.
|
915 |
-
resolved. Removing the dot segments consistently helps to ensure that files are uploaded to their intended.
|
916 |
-
destinations and that file key comparisons are accurately performed when determining which files to upload.
|
917 |
-
|
918 |
-
## 2.5.3 - 2014-02-27
|
919 |
-
|
920 |
-
* Added support for HTTP and HTTPS string-match health checks and HTTPS health checks to the Amazon Route 53 client
|
921 |
-
* Added support for the UPSERT action for the Amazon Route 53 ChangeResourceRecordSets operation
|
922 |
-
* Added support for SerialNumber and TokenCode to the AssumeRole operation of the IAM Security Token Service (STS).
|
923 |
-
* Added support for RequestInterval and FailureThreshold to the Amazon Route53 client.
|
924 |
-
* Added support for smooth streaming to the Amazon CloudFront client.
|
925 |
-
* Added the us-west-2, eu-west-1, ap-southeast-2, and ap-northeast-1 regions to the AWS Data Pipeline client.
|
926 |
-
* Added iterators to the Amazon Kinesis client
|
927 |
-
* Updated iterator configurations for all services to match our new iterator config spec (care was taken to continue
|
928 |
-
supporting manually-specified configurations in the old format to prevent BC)
|
929 |
-
* Updated the Amazon EC2 model to include the latest updates and documentation. Removed deprecated license-related
|
930 |
-
operations (this is not considered a BC since we have confirmed that these operations are not used by customers)
|
931 |
-
* Updated the Amazon Route 53 client to use the 2013-04-01 API version
|
932 |
-
* Fixed several iterator configurations for various services to better support existing operations and parameters
|
933 |
-
* Fixed an issue with the Amazon S3 client where an exception was thrown when trying to add a default Content-MD5
|
934 |
-
header to a request that uses a non-rewindable stream.
|
935 |
-
* Updated the Amazon S3 PostObject class to work with CNAME style buckets.
|
936 |
-
|
937 |
-
## 2.5.2 - 2014-01-29
|
938 |
-
|
939 |
-
* Added support for dead letter queues to Amazon SQS
|
940 |
-
* Added support for the new M3 medium and large instance types to the Amazon EC2 client
|
941 |
-
* Added support for using the `eu-west-1` and `us-west-2` regions to the Amazon SES client
|
942 |
-
* Adding content-type guessing to the Amazon S3 stream wrapper (see #210)
|
943 |
-
* Added an event to the Amazon S3 multipart upload helpers to allow granular customization of multipart uploads during
|
944 |
-
a sync (see #209)
|
945 |
-
* Updated Signature V4 logic for Amazon S3 to throw an exception if you attempt to create a presigned URL that expires
|
946 |
-
later than a week (see #215)
|
947 |
-
* Fixed the `downloadBucket` and `uploadDirectory` methods to support relative paths and better support
|
948 |
-
Windows (see #207)
|
949 |
-
* Fixed issue #195 in the Amazon S3 multipart upload helpers to properly support additional parameters (see #211)
|
950 |
-
* [Docs] Expanded examples in the [API reference](http://docs.aws.amazon.com/aws-sdk-php/latest/index.html) by default
|
951 |
-
so they don't get overlooked
|
952 |
-
* [Docs] Moved the API reference links in the [service-specific user guide
|
953 |
-
pages](http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html#service-specific-guides) to the bottom so
|
954 |
-
the page's content takes priority
|
955 |
-
|
956 |
-
## 2.5.1 - 2014-01-09
|
957 |
-
|
958 |
-
* Added support for attaching existing Amazon EC2 instances to an Auto Scaling group to the Auto Scaling client
|
959 |
-
* Added support for creating launch configurations from existing Amazon EC2 instances to the Auto Scaling client
|
960 |
-
* Added support for describing Auto Scaling account limits to the Auto Scaling client
|
961 |
-
* Added better support for block device mappings to the Amazon AutoScaling client when creating launch configurations
|
962 |
-
* Added support for [ranged inventory retrieval](http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering)
|
963 |
-
to the Amazon Glacier client
|
964 |
-
* [Docs] Updated and added a lot of content in the [User Guide](http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html)
|
965 |
-
* Fixed a bug where the `KinesisClient::getShardIterator()` method was not working properly
|
966 |
-
* Fixed an issue with Amazon SimpleDB where the 'Value' attribute was marked as required on DeleteAttribute and BatchDeleteAttributes
|
967 |
-
* Fixed an issue with the Amazon S3 stream wrapper where empty place holder keys were being marked as files instead of directories
|
968 |
-
* Added the ability to specify a custom signature implementation using a string identifier (e.g., 'v4', 'v2', etc)
|
969 |
-
|
970 |
-
## 2.5.0 - 2013-12-20
|
971 |
-
|
972 |
-
* Added support for the new **China (Beijing) Region** to various services. This region is currently in limited preview.
|
973 |
-
Please see <http://www.amazonaws.cn> for more information
|
974 |
-
* Added support for different audio compression schemes to the Elastic Transcoder client (includes AAC-LC, HE-AAC,
|
975 |
-
and HE-AACv2)
|
976 |
-
* Added support for preset and pipeline pagination to the Elastic Transcoder client. You can now view more than the
|
977 |
-
first 50 presets and pipelines with their corresponding list operations
|
978 |
-
* Added support for [geo restriction](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#georestrictions)
|
979 |
-
to the Amazon CloudFront client
|
980 |
-
* [SDK] Added Signature V4 support to the Amazon S3 and Amazon EC2 clients for the new China (Beijing) Region
|
981 |
-
* [BC] Updated the AWS CloudTrail client to use their latest API changes due to early user feedback. Some parameters in
|
982 |
-
the `CreateTrail`, `UpdateTrail`, and `GetTrailStatus` have been deprecated and will be completely unavailable as
|
983 |
-
early as February 15th, 2014. Please see [this announcement on the CloudTrail
|
984 |
-
forum](https://forums.aws.amazon.com/ann.jspa?annID=2286). We are calling this out as a breaking change now to
|
985 |
-
encourage you to update your code at this time.
|
986 |
-
* Updated the Amazon CloudFront client to use the 2013-11-11 API version
|
987 |
-
* [BC] Updated the Amazon EC2 client to use the latest API. This resulted in a small change to a parameter in the
|
988 |
-
`RequestSpotInstances` operation. See [this commit](https://github.com/aws/aws-sdk-php/commit/36ae0f68d2a6dcc3bc28222f60ecb318449c4092#diff-bad2f6eac12565bb684f2015364c22bd)
|
989 |
-
for the change
|
990 |
-
* [BC] Removed Signature V3 support (no longer needed) and refactored parts of the signature-related classes
|
991 |
-
|
992 |
-
## 2.4.12 - 2013-12-12
|
993 |
-
|
994 |
-
* Added support for **Amazon Kinesis**
|
995 |
-
* Added the CloudTrail `LogRecordIterator`, `LogFileIterator`, and `LogFileReader` classes for reading log files
|
996 |
-
generated by the CloudTrail service
|
997 |
-
* Added support for resource-level permissions to the AWS OpsWorks client
|
998 |
-
* Added support for worker environment tiers to the AWS Elastic Beanstalk client
|
999 |
-
* Added support for the new I2 instance types to the Amazon EC2 client
|
1000 |
-
* Added support for resource tagging to the Amazon Elastic MapReduce client
|
1001 |
-
* Added support for specifying a key encoding type to the Amazon S3 client
|
1002 |
-
* Added support for global secondary indexes to the Amazon DynamoDB client
|
1003 |
-
* Updated the Amazon ElastiCache client to use Signature Version 4
|
1004 |
-
* Fixed an issue in the waiter factory that caused an error when getting the factory for service clients without any
|
1005 |
-
existing waiters
|
1006 |
-
* Fixed issue #187, where the DynamoDB Session Handler would fail to save the session if all the data is removed
|
1007 |
-
|
1008 |
-
## 2.4.11 - 2013-11-26
|
1009 |
-
|
1010 |
-
* Added support for copying DB snapshots from one AWS region to another to the Amazon RDS client
|
1011 |
-
* Added support for pagination of the `DescribeInstances` and `DescribeTags` operations to the Amazon EC2 client
|
1012 |
-
* Added support for the new C3 instance types and the g2.2xlarge instance type to the Amazon EC2 client
|
1013 |
-
* Added support for enabling *Single Root I/O Virtualization* (SR-IOV) support for the new C3 instance types to the
|
1014 |
-
Amazon EC2 client
|
1015 |
-
* Updated the Amazon EC2 client to use the 2013-10-15 API version
|
1016 |
-
* Updated the Amazon RDS client to use the 2013-09-09 API version
|
1017 |
-
* Updated the Amazon CloudWatch client to use Signature Version 4
|
1018 |
-
|
1019 |
-
## 2.4.10 - 2013-11-14
|
1020 |
-
|
1021 |
-
* Added support for **AWS CloudTrail**
|
1022 |
-
* Added support for identity federation using SAML 2.0 to the AWS STS client
|
1023 |
-
* Added support for configuring SAML-compliant identity providers to the AWS IAM client
|
1024 |
-
* Added support for event notifications to the Amazon Redshift client
|
1025 |
-
* Added support for HSM storage for encryption keys to the Amazon Redshift client
|
1026 |
-
* Added support for encryption key rotation to the Amazon Redshift client
|
1027 |
-
* Added support for database audit logging to the Amazon Redshift client
|
1028 |
-
|
1029 |
-
## 2.4.9 - 2013-11-08
|
1030 |
-
|
1031 |
-
* Added support for [cross-zone load balancing](http://aws.amazon.com/about-aws/whats-new/2013/11/06/elastic-load-balancing-adds-cross-zone-load-balancing/)
|
1032 |
-
to the Elastic Load Balancing client.
|
1033 |
-
* Added support for a [new gateway configuration](http://aws.amazon.com/about-aws/whats-new/2013/11/05/aws-storage-gateway-announces-gateway-virtual-tape-library/),
|
1034 |
-
Gateway-Virtual Tape Library, to the AWS Storage Gateway client.
|
1035 |
-
* Added support for stack policies to the the AWS CloudFormation client.
|
1036 |
-
* Fixed issue #176 where attempting to upload a direct to Amazon S3 using the `UploadBuilder` failed when using a custom
|
1037 |
-
iterator that needs to be rewound.
|
1038 |
-
|
1039 |
-
## 2.4.8 - 2013-10-31
|
1040 |
-
|
1041 |
-
* Updated the AWS Direct Connect client
|
1042 |
-
* Updated the Amazon Elastic MapReduce client to add support for new EMR APIs, termination of specific cluster
|
1043 |
-
instances, and unlimited EMR steps.
|
1044 |
-
|
1045 |
-
## 2.4.7 - 2013-10-17
|
1046 |
-
|
1047 |
-
* Added support for audio transcoding features to the Amazon Elastic Transcoder client
|
1048 |
-
* Added support for modifying Reserved Instances in a region to the Amazon EC2 client
|
1049 |
-
* Added support for new resource management features to the AWS OpsWorks client
|
1050 |
-
* Added support for additional HTTP methods to the Amazon CloudFront client
|
1051 |
-
* Added support for custom error page configuration to the Amazon CloudFront client
|
1052 |
-
* Added support for the public IP address association of instances in Auto Scaling group via the Auto Scaling client
|
1053 |
-
* Added support for tags and filters to various operations in the Amazon RDS client
|
1054 |
-
* Added the ability to easily specify event listeners on waiters
|
1055 |
-
* Added support for using the `ap-southeast-2` region to the Amazon Glacier client
|
1056 |
-
* Added support for using the `ap-southeast-1` and `ap-southeast-2` regions to the Amazon Redshift client
|
1057 |
-
* Updated the Amazon EC2 client to use the 2013-09-11 API version
|
1058 |
-
* Updated the Amazon CloudFront client to use the 2013-09-27 API version
|
1059 |
-
* Updated the AWS OpsWorks client to use the 2013-07-15 API version
|
1060 |
-
* Updated the Amazon CloudSearch client to use Signature Version 4
|
1061 |
-
* Fixed an issue with the Amazon S3 Client so that the top-level XML element of the `CompleteMultipartUpload` operation
|
1062 |
-
is correctly sent as `CompleteMultipartUpload`
|
1063 |
-
* Fixed an issue with the Amazon S3 Client so that you can now disable bucket logging using with the `PutBucketLogging`
|
1064 |
-
operation
|
1065 |
-
* Fixed an issue with the Amazon CloudFront so that query string parameters in pre-signed URLs are correctly URL-encoded
|
1066 |
-
* Fixed an issue with the Signature Version 4 implementation where headers with multiple values were sometimes sorted
|
1067 |
-
and signed incorrectly
|
1068 |
-
|
1069 |
-
## 2.4.6 - 2013-09-12
|
1070 |
-
|
1071 |
-
* Added support for modifying EC2 Reserved Instances to the Amazon EC2 client
|
1072 |
-
* Added support for VPC features to the AWS OpsWorks client
|
1073 |
-
* Updated the DynamoDB Session Handler to implement the SessionHandlerInterface of PHP 5.4 when available
|
1074 |
-
* Updated the SNS Message Validator to throw an exception, instead of an error, when the raw post data is invalid
|
1075 |
-
* Fixed an issue in the S3 signature which ensures that parameters are sorted correctly for signing
|
1076 |
-
* Fixed an issue in the S3 client where the Sydney region was not allowed as a `LocationConstraint` for the
|
1077 |
-
`PutObject` operation
|
1078 |
-
|
1079 |
-
## 2.4.5 - 2013-09-04
|
1080 |
-
|
1081 |
-
* Added support for replication groups to the Amazon ElastiCache client
|
1082 |
-
* Added support for using the `us-gov-west-1` region to the AWS CloudFormation client
|
1083 |
-
|
1084 |
-
## 2.4.4 - 2013-08-29
|
1085 |
-
|
1086 |
-
* Added support for assigning a public IP address to an instance at launch to the Amazon EC2 client
|
1087 |
-
* Updated the Amazon EC2 client to use the 2013-07-15 API version
|
1088 |
-
* Updated the Amazon SWF client to sign requests with Signature V4
|
1089 |
-
* Updated the Instance Metadata client to allow for higher and more customizable connection timeouts
|
1090 |
-
* Fixed an issue with the SDK where XML map structures were not being serialized correctly in some cases
|
1091 |
-
* Fixed issue #136 where a few of the new Amazon SNS mobile push operations were not working properly
|
1092 |
-
* Fixed an issue where the AWS STS `AssumeRoleWithWebIdentity` operation was requiring credentials and a signature
|
1093 |
-
unnecessarily
|
1094 |
-
* Fixed and issue with the `S3Client::uploadDirectory` method so that true key prefixes can be used
|
1095 |
-
* [Docs] Updated the API docs to include sample code for each operation that indicates the parameter structure
|
1096 |
-
* [Docs] Updated the API docs to include more information in the descriptions of operations and parameters
|
1097 |
-
* [Docs] Added a page about Iterators to the user guide
|
1098 |
-
|
1099 |
-
## 2.4.3 - 2013-08-12
|
1100 |
-
|
1101 |
-
* Added support for mobile push notifications to the Amazon SNS client
|
1102 |
-
* Added support for progress reporting on snapshot restore operations to the the Amazon Redshift client
|
1103 |
-
* Updated the Amazon Elastic MapReduce client to use JSON serialization
|
1104 |
-
* Updated the Amazon Elastic MapReduce client to sign requests with Signature V4
|
1105 |
-
* Updated the SDK to throw `Aws\Common\Exception\TransferException` exceptions when a network error occurs instead of a
|
1106 |
-
`Guzzle\Http\Exception\CurlException`. The TransferException class, however, extends from
|
1107 |
-
`Guzzle\Http\Exception\CurlException`. You can continue to catch the Guzzle `CurlException` or catch
|
1108 |
-
`Aws\Common\Exception\AwsExceptionInterface` to catch any exception that can be thrown by an AWS client
|
1109 |
-
* Fixed an issue with the Amazon S3 stream wrapper where trailing slashes were being added when listing directories
|
1110 |
-
|
1111 |
-
## 2.4.2 - 2013-07-25
|
1112 |
-
|
1113 |
-
* Added support for cross-account snapshot access control to the Amazon Redshift client
|
1114 |
-
* Added support for decoding authorization messages to the AWS STS client
|
1115 |
-
* Added support for checking for required permissions via the `DryRun` parameter to the Amazon EC2 client
|
1116 |
-
* Added support for custom Amazon Machine Images (AMIs) and Chef 11 to the AWS OpsWorks client
|
1117 |
-
* Added an SDK compatibility test to allow users to quickly determine if their system meets the requirements of the SDK
|
1118 |
-
* Updated the Amazon EC2 client to use the 2013-06-15 API version
|
1119 |
-
* Fixed an unmarshalling error with the Amazon EC2 `CreateKeyPair` operation
|
1120 |
-
* Fixed an unmarshalling error with the Amazon S3 `ListMultipartUploads` operation
|
1121 |
-
* Fixed an issue with the Amazon S3 stream wrapper "x" fopen mode
|
1122 |
-
* Fixed an issue with `Aws\S3\S3Client::downloadBucket` by removing leading slashes from the passed `$keyPrefix` argument
|
1123 |
-
|
1124 |
-
## 2.4.1 - 2013-06-08
|
1125 |
-
|
1126 |
-
* Added support for setting watermarks and max framerates to the Amazon Elastic Transcoder client
|
1127 |
-
* Added the `Aws\DynamoDb\Iterator\ItemIterator` class to make it easier to get items from the results of DynamoDB
|
1128 |
-
operations in a simpler form
|
1129 |
-
* Added support for the `cr1.8xlarge` EC2 instance type. Use `Aws\Ec2\Enum\InstanceType::CR1_8XLARGE`
|
1130 |
-
* Added support for the suppression list SES mailbox simulator. Use `Aws\Ses\Enum\MailboxSimulator::SUPPRESSION_LIST`
|
1131 |
-
* [SDK] Fixed an issue with data formats throughout the SDK due to a regression. Dates are now sent over the wire with
|
1132 |
-
the correct format. This issue affected the Amazon EC2, Amazon ElastiCache, AWS Elastic Beanstalk, Amazon EMR, and
|
1133 |
-
Amazon RDS clients
|
1134 |
-
* Fixed an issue with the parameter serialization of the `ImportInstance` operation in the Amazon EC2 client
|
1135 |
-
* Fixed an issue with the Amazon S3 client where the `RoutingRules.Redirect.HostName` parameter of the
|
1136 |
-
`PutBucketWebsite` operation was erroneously marked as required
|
1137 |
-
* Fixed an issue with the Amazon S3 client where the `DeleteObject` operation was missing parameters
|
1138 |
-
* Fixed an issue with the Amazon S3 client where the `Status` parameter of the `PutBucketVersioning` operation did not
|
1139 |
-
properly support the "Suspended" value
|
1140 |
-
* Fixed an issue with the Amazon Glacier `UploadPartGenerator` class so that an exception is thrown if the provided body
|
1141 |
-
to upload is less than 1 byte
|
1142 |
-
* Added MD5 validation to Amazon SQS ReceiveMessage operations
|
1143 |
-
|
1144 |
-
## 2.4.0 - 2013-06-18
|
1145 |
-
|
1146 |
-
* [BC] Updated the Amazon CloudFront client to use the new 2013-05-12 API version which includes changes in how you
|
1147 |
-
configure distributions. If you are not ready to upgrade to the new API, you can configure the SDK to use the previous
|
1148 |
-
version of the API by setting the `version` option to `2012-05-05` when you instantiate the client (See
|
1149 |
-
[`UPGRADING.md`](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md))
|
1150 |
-
* Added abstractions for uploading a local directory to an Amazon S3 bucket (`$s3->uploadDirectory()`)
|
1151 |
-
* Added abstractions for downloading an Amazon S3 bucket to local directory (`$s3->downloadBucket()`)
|
1152 |
-
* Added an easy to way to delete objects from an Amazon S3 bucket that match a regular expression or key prefix
|
1153 |
-
* Added an easy to way to upload an object to Amazon S3 that automatically uses a multipart upload if the size of the
|
1154 |
-
object exceeds a customizable threshold (`$s3->upload()`)
|
1155 |
-
* [SDK] Added facade classes for simple, static access to clients (e.g., `S3::putObject([...])`)
|
1156 |
-
* Added the `Aws\S3\S3Client::getObjectUrl` convenience method for getting the URL of an Amazon S3 object. This works
|
1157 |
-
for both public and pre-signed URLs
|
1158 |
-
* Added support for using the `ap-northeast-1` region to the Amazon Redshift client
|
1159 |
-
* Added support for configuring custom SSL certificates to the Amazon CloudFront client via the `ViewerCertificate`
|
1160 |
-
parameter
|
1161 |
-
* Added support for read replica status to the Amazon RDS client
|
1162 |
-
* Added "magic" access to iterators to make using iterators more convenient (e.g., `$s3->getListBucketsIterator()`)
|
1163 |
-
* Added the `waitUntilDBInstanceAvailable` and `waitUntilDBInstanceDeleted` waiters to the Amazon RDS client
|
1164 |
-
* Added the `createCredentials` method to the AWS STS client to make it easier to create a credentials object from the
|
1165 |
-
results of an STS operation
|
1166 |
-
* Updated the Amazon RDS client to use the 2013-05-15 API version
|
1167 |
-
* Updated request retrying logic to automatically refresh expired credentials and retry with new ones
|
1168 |
-
* Updated the Amazon CloudFront client to sign requests with Signature V4
|
1169 |
-
* Updated the Amazon SNS client to sign requests with Signature V4, which enables larger payloads
|
1170 |
-
* Updated the S3 Stream Wrapper so that you can use stream resources in any S3 operation without having to manually
|
1171 |
-
specify the `ContentLength` option
|
1172 |
-
* Fixed issue #94 so that the `Aws\S3\BucketStyleListener` is invoked on `command.after_prepare` and presigned URLs
|
1173 |
-
are generated correctly from S3 commands
|
1174 |
-
* Fixed an issue so that creating presigned URLs using the Amazon S3 client now works with temporary credentials
|
1175 |
-
* Fixed an issue so that the `CORSRules.AllowedHeaders` parameter is now available when configuring CORS for Amazon S3
|
1176 |
-
* Set the Guzzle dependency to ~3.7.0
|
1177 |
-
|
1178 |
-
## 2.3.4 - 2013-05-30
|
1179 |
-
|
1180 |
-
* Set the Guzzle dependency to ~3.6.0
|
1181 |
-
|
1182 |
-
## 2.3.3 - 2013-05-28
|
1183 |
-
|
1184 |
-
* Added support for web identity federation in the AWS Security Token Service (STS) API
|
1185 |
-
* Fixed an issue with creating pre-signed Amazon CloudFront RTMP URLs
|
1186 |
-
* Fixed issue #85 to correct the parameter serialization of NetworkInterfaces within the Amazon EC2 RequestSpotInstances
|
1187 |
-
operation
|
1188 |
-
|
1189 |
-
## 2.3.2 - 2013-05-15
|
1190 |
-
|
1191 |
-
* Added support for doing parallel scans to the Amazon DynamoDB client
|
1192 |
-
* [OpsWorks] Added support for using Elastic Load Balancer to the AWS OpsWorks client
|
1193 |
-
* Added support for using EBS-backed instances to the AWS OpsWorks client along with some other minor updates
|
1194 |
-
* Added support for finer-grained error messages to the AWS Data Pipeline client and updated the service description
|
1195 |
-
* Added the ability to set the `key_pair_id` and `private_key` options at the time of signing a CloudFront URL instead
|
1196 |
-
of when instantiating the client
|
1197 |
-
* Added a new [Zip Download](http://pear.amazonwebservices.com/get/aws.zip) for installing the SDK
|
1198 |
-
* Fixed the API version for the AWS Support client to be `2013-04-15`
|
1199 |
-
* Fixed issue #78 by implementing `Aws\S3\StreamWrapper::stream_cast()` for the S3 stream wrapper
|
1200 |
-
* Fixed issue #79 by updating the S3 `ClearBucket` object to work with the `ListObjects` operation
|
1201 |
-
* Fixed issue #80 where the `ETag` was incorrectly labeled as a header value instead of being in the XML body for
|
1202 |
-
the S3 `CompleteMultipartUpload` operation response
|
1203 |
-
* Fixed an issue where the `setCredentials()` method did not properly update the `SignatureListener`
|
1204 |
-
* Updated the required version of Guzzle to `">=3.4.3,<4"` to support Guzzle 3.5 which provides the SDK with improved
|
1205 |
-
memory management
|
1206 |
-
|
1207 |
-
## 2.3.1 - 2013-04-30
|
1208 |
-
|
1209 |
-
* Added support for **AWS Support**
|
1210 |
-
* Added support for using the `eu-west-1` region to the Amazon Redshift client
|
1211 |
-
* Fixed an issue with the Amazon RDS client where the `DownloadDBLogFilePortion` operation was not being serialized
|
1212 |
-
properly
|
1213 |
-
* Fixed an issue with the Amazon S3 client where the `PutObjectCopy` alias was interfering with the `CopyObject`
|
1214 |
-
operation
|
1215 |
-
* Added the ability to manually set a Content-Length header when using the `PutObject` and `UploadPart` operations of
|
1216 |
-
the Amazon S3 client
|
1217 |
-
* Fixed an issue where the Amazon S3 class was not throwing an exception for a non-followable 301 redirect response
|
1218 |
-
* Fixed an issue where `fflush()` was called during the shutdown process of the stream handler for read-only streams
|
1219 |
-
|
1220 |
-
## 2.3.0 - 2013-04-18
|
1221 |
-
|
1222 |
-
* Added support for Local Secondary Indexes to the Amazon DynamoDB client
|
1223 |
-
* [BC] Updated the Amazon DynamoDB client to use the new 2012-08-10 API version which includes changes in how you
|
1224 |
-
specify keys. If you are not ready to upgrade to the new API, you can configure the SDK to use the previous version of
|
1225 |
-
the API by setting the `version` option to `2011-12-05` when you instantiate the client (See
|
1226 |
-
[`UPGRADING.md`](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md)).
|
1227 |
-
* Added an Amazon S3 stream wrapper that allows PHP native file functions to be used to interact with S3 buckets and
|
1228 |
-
objects
|
1229 |
-
* Added support for automatically retrying *throttled* requests with exponential backoff to all service clients
|
1230 |
-
* Added a new config option (`version`) to client objects to specify the API version to use if multiple are supported
|
1231 |
-
* Added a new config option (`gc_operation_delay`) to the DynamoDB Session Handler to specify a delay between requests
|
1232 |
-
to the service during garbage collection in order to help regulate the consumption of throughput
|
1233 |
-
* Added support for using the `us-west-2` region to the Amazon Redshift client
|
1234 |
-
* [Docs] Added a way to use marked integration test code as example code in the user guide and API docs
|
1235 |
-
* Updated the Amazon RDS client to sign requests with Signature V4
|
1236 |
-
* Updated the Amazon S3 client to automatically add the `Content-Type` to `PutObject` and other upload operations
|
1237 |
-
* Fixed an issue where service clients with a global endpoint could have their region for signing set incorrectly if a
|
1238 |
-
region other than `us-east-1` was specified.
|
1239 |
-
* Fixed an issue where reused command objects appended duplicate content to the user agent string
|
1240 |
-
* [SDK] Fixed an issue in a few operations (including `SQS::receiveMessage`) where the `curl.options` could not be
|
1241 |
-
modified
|
1242 |
-
* [Docs] Added key information to the DynamoDB service description to provide more accurate API docs for some operations
|
1243 |
-
* [Docs] Added a page about Waiters to the user guide
|
1244 |
-
* [Docs] Added a page about the DynamoDB Session Handler to the user guide
|
1245 |
-
* [Docs] Added a page about response Models to the user guide
|
1246 |
-
* Bumped the required version of Guzzle to ~3.4.1
|
1247 |
-
|
1248 |
-
## 2.2.1 - 2013-03-18
|
1249 |
-
|
1250 |
-
* Added support for viewing and downloading DB log files to the Amazon RDS client
|
1251 |
-
* Added the ability to validate incoming Amazon SNS messages. See the `Aws\Sns\MessageValidator` namespace
|
1252 |
-
* Added the ability to easily change the credentials that a client is configured to use via `$client->setCredentials()`
|
1253 |
-
* Added the `client.region_changed` and `client.credentials_changed` events on the client that are triggered when the
|
1254 |
-
`setRegion()` and `setCredentials()` methods are called, respectively
|
1255 |
-
* Added support for using the `ap-southeast-2` region with the Amazon ElastiCache client
|
1256 |
-
* Added support for using the `us-gov-west-1` region with the Amazon SWF client
|
1257 |
-
* Updated the Amazon RDS client to use the 2013-02-12 API version
|
1258 |
-
* Fixed an issue in the Amazon EC2 service description that was affecting the use of the new `ModifyVpcAttribute` and
|
1259 |
-
`DescribeVpcAttribute` operations
|
1260 |
-
* Added `ObjectURL` to the output of an Amazon S3 PutObject operation so that you can more easily retrieve the URL of an
|
1261 |
-
object after uploading
|
1262 |
-
* Added a `createPresignedUrl()` method to any command object created by the Amazon S3 client to more easily create
|
1263 |
-
presigned URLs
|
1264 |
-
|
1265 |
-
## 2.2.0 - 2013-03-11
|
1266 |
-
|
1267 |
-
* Added support for **Amazon Elastic MapReduce (Amazon EMR)**
|
1268 |
-
* Added support for **AWS Direct Connect**
|
1269 |
-
* Added support for **Amazon ElastiCache**
|
1270 |
-
* Added support for **AWS Storage Gateway**
|
1271 |
-
* Added support for **AWS Import/Export**
|
1272 |
-
* Added support for **AWS CloudFormation**
|
1273 |
-
* Added support for **Amazon CloudSearch**
|
1274 |
-
* Added support for [provisioned IOPS](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.ProvisionedIOPS.html)
|
1275 |
-
to the the Amazon RDS client
|
1276 |
-
* Added support for promoting [read replicas](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
|
1277 |
-
to the Amazon RDS client
|
1278 |
-
* Added support for [event notification subscriptions](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
|
1279 |
-
to the Amazon RDS client
|
1280 |
-
* Added support for enabling\disabling DNS Hostnames and DNS Resolution in Amazon VPC to the Amazon EC2 client
|
1281 |
-
* Added support for enumerating account attributes to the Amazon EC2 client
|
1282 |
-
* Added support for copying AMIs across regions to the Amazon EC2 client
|
1283 |
-
* Added the ability to get a Waiter object from a client using the `getWaiter()` method
|
1284 |
-
* [SDK] Added the ability to load credentials from environmental variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_KEY`.
|
1285 |
-
This is compatible with AWS Elastic Beanstalk environment configurations
|
1286 |
-
* Added support for using the us-west-1, us-west-2, eu-west-1, and ap-southeast-1 regions with Amazon CloudSearch
|
1287 |
-
* Updated the Amazon RDS client to use the 2013-01-10 API version
|
1288 |
-
* Updated the Amazon EC2 client to use the 2013-02-01 API version
|
1289 |
-
* Added support for using SecurityToken with signature version 2 services
|
1290 |
-
* Added the client User-Agent header to exception messages for easier debugging
|
1291 |
-
* Added an easier way to disable operation parameter validation by setting `validation` to false when creating clients
|
1292 |
-
* Added the ability to disable the exponential backoff plugin
|
1293 |
-
* Added the ability to easily fetch the region name that a client is configured to use via `$client->getRegion()`
|
1294 |
-
* Added end-user guides available at http://docs.aws.amazon.com/aws-sdk-php/guide/latest/
|
1295 |
-
* Fixed issue #48 where signing Amazon S3 requests with null or empty metadata resulted in a signature error
|
1296 |
-
* Fixed issue #29 where Amazon S3 was intermittently closing a connection
|
1297 |
-
* Updated the Amazon S3 client to parse the AcceptRanges header for HeadObject and GetObject output
|
1298 |
-
* Updated the Amazon Glacier client to allow the `saveAs` parameter to be specified as an alias for `command.response_body`
|
1299 |
-
* Various performance improvements throughout the SDK
|
1300 |
-
* Removed endpoint providers and now placing service region information directly in service descriptions
|
1301 |
-
* Removed client resolvers when creating clients in a client's factory method (this should not have any impact to end users)
|
1302 |
-
|
1303 |
-
## 2.1.2 - 2013-02-18
|
1304 |
-
|
1305 |
-
* Added support for **AWS OpsWorks**
|
1306 |
-
|
1307 |
-
## 2.1.1 - 2013-02-15
|
1308 |
-
|
1309 |
-
* Added support for **Amazon Redshift**
|
1310 |
-
* Added support for **Amazon Simple Queue Service (Amazon SQS)**
|
1311 |
-
* Added support for **Amazon Simple Notification Service (Amazon SNS)**
|
1312 |
-
* Added support for **Amazon Simple Email Service (Amazon SES)**
|
1313 |
-
* Added support for **Auto Scaling**
|
1314 |
-
* Added support for **Amazon CloudWatch**
|
1315 |
-
* Added support for **Amazon Simple Workflow Service (Amazon SWF)**
|
1316 |
-
* Added support for **Amazon Relational Database Service (Amazon RDS)**
|
1317 |
-
* Added support for health checks and failover in Amazon Route 53
|
1318 |
-
* Updated the Amazon Route 53 client to use the 2012-12-12 API version
|
1319 |
-
* Updated `AbstractWaiter` to dispatch `waiter.before_attempt` and `waiter.before_wait` events
|
1320 |
-
* Updated `CallableWaiter` to allow for an array of context data to be passed to the callable
|
1321 |
-
* Fixed issue #29 so that the stat cache is cleared before performing multipart uploads
|
1322 |
-
* Fixed issue #38 so that Amazon CloudFront URLs are signed properly
|
1323 |
-
* Fixed an issue with Amazon S3 website redirects
|
1324 |
-
* Fixed a URL encoding inconsistency with Amazon S3 and pre-signed URLs
|
1325 |
-
* Fixed issue #42 to eliminate cURL error 65 for JSON services
|
1326 |
-
* Set Guzzle dependency to [~3.2.0](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md#320-2013-02-14)
|
1327 |
-
* Minimum version of PHP is now 5.3.3
|
1328 |
-
|
1329 |
-
## 2.1.0 - 2013-01-28
|
1330 |
-
|
1331 |
-
* Waiters now require an associative array as input for the underlying operation performed by a waiter. See
|
1332 |
-
`UPGRADING.md` for details.
|
1333 |
-
* Added support for **Amazon Elastic Compute Cloud (Amazon EC2)**
|
1334 |
-
* Added support for **Amazon Elastic Transcoder**
|
1335 |
-
* Added support for **Amazon SimpleDB**
|
1336 |
-
* Added support for **Elastic Load Balancing**
|
1337 |
-
* Added support for **AWS Elastic Beanstalk**
|
1338 |
-
* Added support for **AWS Identity and Access Management (IAM)**
|
1339 |
-
* Added support for Amazon S3 website redirection rules
|
1340 |
-
* Added support for the `RetrieveByteRange` parameter of the `InitiateJob` operation in Amazon Glacier
|
1341 |
-
* Added support for Signature Version 2
|
1342 |
-
* Clients now gain more information from service descriptions rather than client factory methods
|
1343 |
-
* Service descriptions are now versioned for clients
|
1344 |
-
* Fixed an issue where Amazon S3 did not use "restore" as a signable resource
|
1345 |
-
* Fixed an issue with Amazon S3 where `x-amz-meta-*` headers were not properly added with the CopyObject operation
|
1346 |
-
* Fixed an issue where the Amazon Glacier client was not using the correct User-Agent header
|
1347 |
-
* Fixed issue #13 in which constants defined by referencing other constants caused errors with early versions of PHP 5.3
|
1348 |
-
|
1349 |
-
## 2.0.3 - 2012-12-20
|
1350 |
-
|
1351 |
-
* Added support for **AWS Data Pipeline**
|
1352 |
-
* Added support for **Amazon Route 53**
|
1353 |
-
* Fixed an issue with the Amazon S3 client where object keys with slashes were causing errors
|
1354 |
-
* Added a `SaveAs` parameter to the Amazon S3 `GetObject` operation to allow saving the object directly to a file
|
1355 |
-
* Refactored iterators to remove code duplication and ease creation of future iterators
|
1356 |
-
|
1357 |
-
## 2.0.2 - 2012-12-10
|
1358 |
-
|
1359 |
-
* Fixed an issue with the Amazon S3 client where non-DNS compatible buckets that was previously causing a signature
|
1360 |
-
mismatch error
|
1361 |
-
* Fixed an issue with the service description for the Amazon S3 `UploadPart` operation so that it works correctly
|
1362 |
-
* Fixed an issue with the Amazon S3 service description dealing with `response-*` query parameters of `GetObject`
|
1363 |
-
* Fixed an issue with the Amazon S3 client where object keys prefixed by the bucket name were being treated incorrectly
|
1364 |
-
* Fixed an issue with `Aws\S3\Model\MultipartUpload\ParallelTransfer` class
|
1365 |
-
* Added support for the `AssumeRole` operation for AWS STS
|
1366 |
-
* Added a the `UploadBodyListener` which allows upload operations in Amazon S3 and Amazon Glacier to accept file handles
|
1367 |
-
in the `Body` parameter and file paths in the `SourceFile` parameter
|
1368 |
-
* Added Content-Type guessing for uploads
|
1369 |
-
* Added new region endpoints, including sa-east-1 and us-gov-west-1 for Amazon DynamoDB
|
1370 |
-
* Added methods to `Aws\S3\Model\MultipartUpload\UploadBuilder` class to make setting ACL and Content-Type easier
|
1371 |
-
|
1372 |
-
## 2.0.1 - 2012-11-13
|
1373 |
-
|
1374 |
-
* Fixed a signature issue encountered when a request to Amazon S3 is redirected
|
1375 |
-
* Added support for archiving Amazon S3 objects to Amazon Glacier
|
1376 |
-
* Added CRC32 validation of Amazon DynamoDB responses
|
1377 |
-
* Added ConsistentRead support to the `BatchGetItem` operation of Amazon DynamoDB
|
1378 |
-
* Added new region endpoints, including Sydney
|
1379 |
-
|
1380 |
-
## 2.0.0 - 2012-11-02
|
1381 |
-
|
1382 |
-
* Initial release of the AWS SDK for PHP Version 2. See <http://aws.amazon.com/sdkforphp2/> for more information.
|
1383 |
-
* Added support for **Amazon Simple Storage Service (Amazon S3)**
|
1384 |
-
* Added support for **Amazon DynamoDB**
|
1385 |
-
* Added support for **Amazon Glacier**
|
1386 |
-
* Added support for **Amazon CloudFront**
|
1387 |
-
* Added support for **AWS Security Token Service (AWS STS)**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Exception/BadResponseException.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Exception;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Exception when an HTTP error occurs (4xx or 5xx error)
|
6 |
-
*/
|
7 |
-
class BadResponseException extends RequestException {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Exception/GuzzleException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Exception;
|
3 |
-
|
4 |
-
interface GuzzleException {}
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Exception/TooManyRedirectsException.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Exception;
|
3 |
-
|
4 |
-
class TooManyRedirectsException extends RequestException {}
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Psr7/InflateStream.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Psr7;
|
3 |
-
|
4 |
-
use Psr\Http\Message\StreamInterface;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Uses PHP's zlib.inflate filter to inflate deflate or gzipped content.
|
8 |
-
*
|
9 |
-
* This stream decorator skips the first 10 bytes of the given stream to remove
|
10 |
-
* the gzip header, converts the provided stream to a PHP stream resource,
|
11 |
-
* then appends the zlib.inflate filter. The stream is then converted back
|
12 |
-
* to a Guzzle stream resource to be used as a Guzzle stream.
|
13 |
-
*
|
14 |
-
* @link http://tools.ietf.org/html/rfc1952
|
15 |
-
* @link http://php.net/manual/en/filters.compression.php
|
16 |
-
*/
|
17 |
-
class InflateStream implements StreamInterface
|
18 |
-
{
|
19 |
-
use StreamDecoratorTrait;
|
20 |
-
|
21 |
-
public function __construct(StreamInterface $stream)
|
22 |
-
{
|
23 |
-
// Skip the first 10 bytes
|
24 |
-
$stream = new LimitStream($stream, -1, 10);
|
25 |
-
$resource = StreamWrapper::getResource($stream);
|
26 |
-
stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ);
|
27 |
-
$this->stream = new Stream($resource);
|
28 |
-
}
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Psr7/MessageTrait.php
DELETED
@@ -1,158 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Psr7;
|
3 |
-
|
4 |
-
use Psr\Http\Message\StreamInterface;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Trait implementing functionality common to requests and responses.
|
8 |
-
*/
|
9 |
-
trait MessageTrait
|
10 |
-
{
|
11 |
-
/** @var array Cached HTTP header collection with lowercase key to values */
|
12 |
-
private $headers = [];
|
13 |
-
|
14 |
-
/** @var array Actual key to list of values per header. */
|
15 |
-
private $headerLines = [];
|
16 |
-
|
17 |
-
/** @var string */
|
18 |
-
private $protocol = '1.1';
|
19 |
-
|
20 |
-
/** @var StreamInterface */
|
21 |
-
private $stream;
|
22 |
-
|
23 |
-
public function getProtocolVersion()
|
24 |
-
{
|
25 |
-
return $this->protocol;
|
26 |
-
}
|
27 |
-
|
28 |
-
public function withProtocolVersion($version)
|
29 |
-
{
|
30 |
-
if ($this->protocol === $version) {
|
31 |
-
return $this;
|
32 |
-
}
|
33 |
-
|
34 |
-
$new = clone $this;
|
35 |
-
$new->protocol = $version;
|
36 |
-
return $new;
|
37 |
-
}
|
38 |
-
|
39 |
-
public function getHeaders()
|
40 |
-
{
|
41 |
-
return $this->headerLines;
|
42 |
-
}
|
43 |
-
|
44 |
-
public function hasHeader($header)
|
45 |
-
{
|
46 |
-
return isset($this->headers[strtolower($header)]);
|
47 |
-
}
|
48 |
-
|
49 |
-
public function getHeader($header)
|
50 |
-
{
|
51 |
-
$name = strtolower($header);
|
52 |
-
return isset($this->headers[$name]) ? $this->headers[$name] : [];
|
53 |
-
}
|
54 |
-
|
55 |
-
public function getHeaderLine($header)
|
56 |
-
{
|
57 |
-
return implode(', ', $this->getHeader($header));
|
58 |
-
}
|
59 |
-
|
60 |
-
public function withHeader($header, $value)
|
61 |
-
{
|
62 |
-
$new = clone $this;
|
63 |
-
$header = trim($header);
|
64 |
-
$name = strtolower($header);
|
65 |
-
|
66 |
-
if (!is_array($value)) {
|
67 |
-
$new->headers[$name] = [trim($value)];
|
68 |
-
} else {
|
69 |
-
$new->headers[$name] = $value;
|
70 |
-
foreach ($new->headers[$name] as &$v) {
|
71 |
-
$v = trim($v);
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
// Remove the header lines.
|
76 |
-
foreach (array_keys($new->headerLines) as $key) {
|
77 |
-
if (strtolower($key) === $name) {
|
78 |
-
unset($new->headerLines[$key]);
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
// Add the header line.
|
83 |
-
$new->headerLines[$header] = $new->headers[$name];
|
84 |
-
|
85 |
-
return $new;
|
86 |
-
}
|
87 |
-
|
88 |
-
public function withAddedHeader($header, $value)
|
89 |
-
{
|
90 |
-
if (!$this->hasHeader($header)) {
|
91 |
-
return $this->withHeader($header, $value);
|
92 |
-
}
|
93 |
-
|
94 |
-
$new = clone $this;
|
95 |
-
$new->headers[strtolower($header)][] = $value;
|
96 |
-
$new->headerLines[$header][] = $value;
|
97 |
-
return $new;
|
98 |
-
}
|
99 |
-
|
100 |
-
public function withoutHeader($header)
|
101 |
-
{
|
102 |
-
if (!$this->hasHeader($header)) {
|
103 |
-
return $this;
|
104 |
-
}
|
105 |
-
|
106 |
-
$new = clone $this;
|
107 |
-
$name = strtolower($header);
|
108 |
-
unset($new->headers[$name]);
|
109 |
-
|
110 |
-
foreach (array_keys($new->headerLines) as $key) {
|
111 |
-
if (strtolower($key) === $name) {
|
112 |
-
unset($new->headerLines[$key]);
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
-
return $new;
|
117 |
-
}
|
118 |
-
|
119 |
-
public function getBody()
|
120 |
-
{
|
121 |
-
if (!$this->stream) {
|
122 |
-
$this->stream = stream_for('');
|
123 |
-
}
|
124 |
-
|
125 |
-
return $this->stream;
|
126 |
-
}
|
127 |
-
|
128 |
-
public function withBody(StreamInterface $body)
|
129 |
-
{
|
130 |
-
if ($body === $this->stream) {
|
131 |
-
return $this;
|
132 |
-
}
|
133 |
-
|
134 |
-
$new = clone $this;
|
135 |
-
$new->stream = $body;
|
136 |
-
return $new;
|
137 |
-
}
|
138 |
-
|
139 |
-
private function setHeaders(array $headers)
|
140 |
-
{
|
141 |
-
$this->headerLines = $this->headers = [];
|
142 |
-
foreach ($headers as $header => $value) {
|
143 |
-
$header = trim($header);
|
144 |
-
$name = strtolower($header);
|
145 |
-
if (!is_array($value)) {
|
146 |
-
$value = trim($value);
|
147 |
-
$this->headers[$name][] = $value;
|
148 |
-
$this->headerLines[$header][] = $value;
|
149 |
-
} else {
|
150 |
-
foreach ($value as $v) {
|
151 |
-
$v = trim($v);
|
152 |
-
$this->headers[$name][] = $v;
|
153 |
-
$this->headerLines[$header][] = $v;
|
154 |
-
}
|
155 |
-
}
|
156 |
-
}
|
157 |
-
}
|
158 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/GuzzleHttp/Psr7/Uri.php
DELETED
@@ -1,599 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Psr7;
|
3 |
-
|
4 |
-
use Psr\Http\Message\UriInterface;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Basic PSR-7 URI implementation.
|
8 |
-
*
|
9 |
-
* @link https://github.com/phly/http This class is based upon
|
10 |
-
* Matthew Weier O'Phinney's URI implementation in phly/http.
|
11 |
-
*/
|
12 |
-
class Uri implements UriInterface
|
13 |
-
{
|
14 |
-
private static $schemes = [
|
15 |
-
'http' => 80,
|
16 |
-
'https' => 443,
|
17 |
-
];
|
18 |
-
|
19 |
-
private static $charUnreserved = 'a-zA-Z0-9_\-\.~';
|
20 |
-
private static $charSubDelims = '!\$&\'\(\)\*\+,;=';
|
21 |
-
private static $replaceQuery = ['=' => '%3D', '&' => '%26'];
|
22 |
-
|
23 |
-
/** @var string Uri scheme. */
|
24 |
-
private $scheme = '';
|
25 |
-
|
26 |
-
/** @var string Uri user info. */
|
27 |
-
private $userInfo = '';
|
28 |
-
|
29 |
-
/** @var string Uri host. */
|
30 |
-
private $host = '';
|
31 |
-
|
32 |
-
/** @var int|null Uri port. */
|
33 |
-
private $port;
|
34 |
-
|
35 |
-
/** @var string Uri path. */
|
36 |
-
private $path = '';
|
37 |
-
|
38 |
-
/** @var string Uri query string. */
|
39 |
-
private $query = '';
|
40 |
-
|
41 |
-
/** @var string Uri fragment. */
|
42 |
-
private $fragment = '';
|
43 |
-
|
44 |
-
/**
|
45 |
-
* @param string $uri URI to parse and wrap.
|
46 |
-
*/
|
47 |
-
public function __construct($uri = '')
|
48 |
-
{
|
49 |
-
if ($uri != null) {
|
50 |
-
$parts = parse_url($uri);
|
51 |
-
if ($parts === false) {
|
52 |
-
throw new \InvalidArgumentException("Unable to parse URI: $uri");
|
53 |
-
}
|
54 |
-
$this->applyParts($parts);
|
55 |
-
}
|
56 |
-
}
|
57 |
-
|
58 |
-
public function __toString()
|
59 |
-
{
|
60 |
-
return self::createUriString(
|
61 |
-
$this->scheme,
|
62 |
-
$this->getAuthority(),
|
63 |
-
$this->getPath(),
|
64 |
-
$this->query,
|
65 |
-
$this->fragment
|
66 |
-
);
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Removes dot segments from a path and returns the new path.
|
71 |
-
*
|
72 |
-
* @param string $path
|
73 |
-
*
|
74 |
-
* @return string
|
75 |
-
* @link http://tools.ietf.org/html/rfc3986#section-5.2.4
|
76 |
-
*/
|
77 |
-
public static function removeDotSegments($path)
|
78 |
-
{
|
79 |
-
static $noopPaths = ['' => true, '/' => true, '*' => true];
|
80 |
-
static $ignoreSegments = ['.' => true, '..' => true];
|
81 |
-
|
82 |
-
if (isset($noopPaths[$path])) {
|
83 |
-
return $path;
|
84 |
-
}
|
85 |
-
|
86 |
-
$results = [];
|
87 |
-
$segments = explode('/', $path);
|
88 |
-
foreach ($segments as $segment) {
|
89 |
-
if ($segment == '..') {
|
90 |
-
array_pop($results);
|
91 |
-
} elseif (!isset($ignoreSegments[$segment])) {
|
92 |
-
$results[] = $segment;
|
93 |
-
}
|
94 |
-
}
|
95 |
-
|
96 |
-
$newPath = implode('/', $results);
|
97 |
-
// Add the leading slash if necessary
|
98 |
-
if (substr($path, 0, 1) === '/' &&
|
99 |
-
substr($newPath, 0, 1) !== '/'
|
100 |
-
) {
|
101 |
-
$newPath = '/' . $newPath;
|
102 |
-
}
|
103 |
-
|
104 |
-
// Add the trailing slash if necessary
|
105 |
-
if ($newPath != '/' && isset($ignoreSegments[end($segments)])) {
|
106 |
-
$newPath .= '/';
|
107 |
-
}
|
108 |
-
|
109 |
-
return $newPath;
|
110 |
-
}
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Resolve a base URI with a relative URI and return a new URI.
|
114 |
-
*
|
115 |
-
* @param UriInterface $base Base URI
|
116 |
-
* @param string $rel Relative URI
|
117 |
-
*
|
118 |
-
* @return UriInterface
|
119 |
-
*/
|
120 |
-
public static function resolve(UriInterface $base, $rel)
|
121 |
-
{
|
122 |
-
if ($rel === null || $rel === '') {
|
123 |
-
return $base;
|
124 |
-
}
|
125 |
-
|
126 |
-
if (!($rel instanceof UriInterface)) {
|
127 |
-
$rel = new self($rel);
|
128 |
-
}
|
129 |
-
|
130 |
-
// Return the relative uri as-is if it has a scheme.
|
131 |
-
if ($rel->getScheme()) {
|
132 |
-
return $rel->withPath(static::removeDotSegments($rel->getPath()));
|
133 |
-
}
|
134 |
-
|
135 |
-
$relParts = [
|
136 |
-
'scheme' => $rel->getScheme(),
|
137 |
-
'authority' => $rel->getAuthority(),
|
138 |
-
'path' => $rel->getPath(),
|
139 |
-
'query' => $rel->getQuery(),
|
140 |
-
'fragment' => $rel->getFragment()
|
141 |
-
];
|
142 |
-
|
143 |
-
$parts = [
|
144 |
-
'scheme' => $base->getScheme(),
|
145 |
-
'authority' => $base->getAuthority(),
|
146 |
-
'path' => $base->getPath(),
|
147 |
-
'query' => $base->getQuery(),
|
148 |
-
'fragment' => $base->getFragment()
|
149 |
-
];
|
150 |
-
|
151 |
-
if (!empty($relParts['authority'])) {
|
152 |
-
$parts['authority'] = $relParts['authority'];
|
153 |
-
$parts['path'] = self::removeDotSegments($relParts['path']);
|
154 |
-
$parts['query'] = $relParts['query'];
|
155 |
-
$parts['fragment'] = $relParts['fragment'];
|
156 |
-
} elseif (!empty($relParts['path'])) {
|
157 |
-
if (substr($relParts['path'], 0, 1) == '/') {
|
158 |
-
$parts['path'] = self::removeDotSegments($relParts['path']);
|
159 |
-
$parts['query'] = $relParts['query'];
|
160 |
-
$parts['fragment'] = $relParts['fragment'];
|
161 |
-
} else {
|
162 |
-
if (!empty($parts['authority']) && empty($parts['path'])) {
|
163 |
-
$mergedPath = '/';
|
164 |
-
} else {
|
165 |
-
$mergedPath = substr($parts['path'], 0, strrpos($parts['path'], '/') + 1);
|
166 |
-
}
|
167 |
-
$parts['path'] = self::removeDotSegments($mergedPath . $relParts['path']);
|
168 |
-
$parts['query'] = $relParts['query'];
|
169 |
-
$parts['fragment'] = $relParts['fragment'];
|
170 |
-
}
|
171 |
-
} elseif (!empty($relParts['query'])) {
|
172 |
-
$parts['query'] = $relParts['query'];
|
173 |
-
} elseif ($relParts['fragment'] != null) {
|
174 |
-
$parts['fragment'] = $relParts['fragment'];
|
175 |
-
}
|
176 |
-
|
177 |
-
return new self(static::createUriString(
|
178 |
-
$parts['scheme'],
|
179 |
-
$parts['authority'],
|
180 |
-
$parts['path'],
|
181 |
-
$parts['query'],
|
182 |
-
$parts['fragment']
|
183 |
-
));
|
184 |
-
}
|
185 |
-
|
186 |
-
/**
|
187 |
-
* Create a new URI with a specific query string value removed.
|
188 |
-
*
|
189 |
-
* Any existing query string values that exactly match the provided key are
|
190 |
-
* removed.
|
191 |
-
*
|
192 |
-
* Note: this function will convert "=" to "%3D" and "&" to "%26".
|
193 |
-
*
|
194 |
-
* @param UriInterface $uri URI to use as a base.
|
195 |
-
* @param string $key Query string key value pair to remove.
|
196 |
-
*
|
197 |
-
* @return UriInterface
|
198 |
-
*/
|
199 |
-
public static function withoutQueryValue(UriInterface $uri, $key)
|
200 |
-
{
|
201 |
-
$current = $uri->getQuery();
|
202 |
-
if (!$current) {
|
203 |
-
return $uri;
|
204 |
-
}
|
205 |
-
|
206 |
-
$result = [];
|
207 |
-
foreach (explode('&', $current) as $part) {
|
208 |
-
if (explode('=', $part)[0] !== $key) {
|
209 |
-
$result[] = $part;
|
210 |
-
};
|
211 |
-
}
|
212 |
-
|
213 |
-
return $uri->withQuery(implode('&', $result));
|
214 |
-
}
|
215 |
-
|
216 |
-
/**
|
217 |
-
* Create a new URI with a specific query string value.
|
218 |
-
*
|
219 |
-
* Any existing query string values that exactly match the provided key are
|
220 |
-
* removed and replaced with the given key value pair.
|
221 |
-
*
|
222 |
-
* Note: this function will convert "=" to "%3D" and "&" to "%26".
|
223 |
-
*
|
224 |
-
* @param UriInterface $uri URI to use as a base.
|
225 |
-
* @param string $key Key to set.
|
226 |
-
* @param string $value Value to set.
|
227 |
-
*
|
228 |
-
* @return UriInterface
|
229 |
-
*/
|
230 |
-
public static function withQueryValue(UriInterface $uri, $key, $value)
|
231 |
-
{
|
232 |
-
$current = $uri->getQuery();
|
233 |
-
$key = strtr($key, self::$replaceQuery);
|
234 |
-
|
235 |
-
if (!$current) {
|
236 |
-
$result = [];
|
237 |
-
} else {
|
238 |
-
$result = [];
|
239 |
-
foreach (explode('&', $current) as $part) {
|
240 |
-
if (explode('=', $part)[0] !== $key) {
|
241 |
-
$result[] = $part;
|
242 |
-
};
|
243 |
-
}
|
244 |
-
}
|
245 |
-
|
246 |
-
if ($value !== null) {
|
247 |
-
$result[] = $key . '=' . strtr($value, self::$replaceQuery);
|
248 |
-
} else {
|
249 |
-
$result[] = $key;
|
250 |
-
}
|
251 |
-
|
252 |
-
return $uri->withQuery(implode('&', $result));
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Create a URI from a hash of parse_url parts.
|
257 |
-
*
|
258 |
-
* @param array $parts
|
259 |
-
*
|
260 |
-
* @return self
|
261 |
-
*/
|
262 |
-
public static function fromParts(array $parts)
|
263 |
-
{
|
264 |
-
$uri = new self();
|
265 |
-
$uri->applyParts($parts);
|
266 |
-
return $uri;
|
267 |
-
}
|
268 |
-
|
269 |
-
public function getScheme()
|
270 |
-
{
|
271 |
-
return $this->scheme;
|
272 |
-
}
|
273 |
-
|
274 |
-
public function getAuthority()
|
275 |
-
{
|
276 |
-
if (empty($this->host)) {
|
277 |
-
return '';
|
278 |
-
}
|
279 |
-
|
280 |
-
$authority = $this->host;
|
281 |
-
if (!empty($this->userInfo)) {
|
282 |
-
$authority = $this->userInfo . '@' . $authority;
|
283 |
-
}
|
284 |
-
|
285 |
-
if ($this->isNonStandardPort($this->scheme, $this->host, $this->port)) {
|
286 |
-
$authority .= ':' . $this->port;
|
287 |
-
}
|
288 |
-
|
289 |
-
return $authority;
|
290 |
-
}
|
291 |
-
|
292 |
-
public function getUserInfo()
|
293 |
-
{
|
294 |
-
return $this->userInfo;
|
295 |
-
}
|
296 |
-
|
297 |
-
public function getHost()
|
298 |
-
{
|
299 |
-
return $this->host;
|
300 |
-
}
|
301 |
-
|
302 |
-
public function getPort()
|
303 |
-
{
|
304 |
-
return $this->port;
|
305 |
-
}
|
306 |
-
|
307 |
-
public function getPath()
|
308 |
-
{
|
309 |
-
return $this->path == null ? '' : $this->path;
|
310 |
-
}
|
311 |
-
|
312 |
-
public function getQuery()
|
313 |
-
{
|
314 |
-
return $this->query;
|
315 |
-
}
|
316 |
-
|
317 |
-
public function getFragment()
|
318 |
-
{
|
319 |
-
return $this->fragment;
|
320 |
-
}
|
321 |
-
|
322 |
-
public function withScheme($scheme)
|
323 |
-
{
|
324 |
-
$scheme = $this->filterScheme($scheme);
|
325 |
-
|
326 |
-
if ($this->scheme === $scheme) {
|
327 |
-
return $this;
|
328 |
-
}
|
329 |
-
|
330 |
-
$new = clone $this;
|
331 |
-
$new->scheme = $scheme;
|
332 |
-
$new->port = $new->filterPort($new->scheme, $new->host, $new->port);
|
333 |
-
return $new;
|
334 |
-
}
|
335 |
-
|
336 |
-
public function withUserInfo($user, $password = null)
|
337 |
-
{
|
338 |
-
$info = $user;
|
339 |
-
if ($password) {
|
340 |
-
$info .= ':' . $password;
|
341 |
-
}
|
342 |
-
|
343 |
-
if ($this->userInfo === $info) {
|
344 |
-
return $this;
|
345 |
-
}
|
346 |
-
|
347 |
-
$new = clone $this;
|
348 |
-
$new->userInfo = $info;
|
349 |
-
return $new;
|
350 |
-
}
|
351 |
-
|
352 |
-
public function withHost($host)
|
353 |
-
{
|
354 |
-
if ($this->host === $host) {
|
355 |
-
return $this;
|
356 |
-
}
|
357 |
-
|
358 |
-
$new = clone $this;
|
359 |
-
$new->host = $host;
|
360 |
-
return $new;
|
361 |
-
}
|
362 |
-
|
363 |
-
public function withPort($port)
|
364 |
-
{
|
365 |
-
$port = $this->filterPort($this->scheme, $this->host, $port);
|
366 |
-
|
367 |
-
if ($this->port === $port) {
|
368 |
-
return $this;
|
369 |
-
}
|
370 |
-
|
371 |
-
$new = clone $this;
|
372 |
-
$new->port = $port;
|
373 |
-
return $new;
|
374 |
-
}
|
375 |
-
|
376 |
-
public function withPath($path)
|
377 |
-
{
|
378 |
-
if (!is_string($path)) {
|
379 |
-
throw new \InvalidArgumentException(
|
380 |
-
'Invalid path provided; must be a string'
|
381 |
-
);
|
382 |
-
}
|
383 |
-
|
384 |
-
$path = $this->filterPath($path);
|
385 |
-
|
386 |
-
if ($this->path === $path) {
|
387 |
-
return $this;
|
388 |
-
}
|
389 |
-
|
390 |
-
$new = clone $this;
|
391 |
-
$new->path = $path;
|
392 |
-
return $new;
|
393 |
-
}
|
394 |
-
|
395 |
-
public function withQuery($query)
|
396 |
-
{
|
397 |
-
if (!is_string($query) && !method_exists($query, '__toString')) {
|
398 |
-
throw new \InvalidArgumentException(
|
399 |
-
'Query string must be a string'
|
400 |
-
);
|
401 |
-
}
|
402 |
-
|
403 |
-
$query = (string) $query;
|
404 |
-
if (substr($query, 0, 1) === '?') {
|
405 |
-
$query = substr($query, 1);
|
406 |
-
}
|
407 |
-
|
408 |
-
$query = $this->filterQueryAndFragment($query);
|
409 |
-
|
410 |
-
if ($this->query === $query) {
|
411 |
-
return $this;
|
412 |
-
}
|
413 |
-
|
414 |
-
$new = clone $this;
|
415 |
-
$new->query = $query;
|
416 |
-
return $new;
|
417 |
-
}
|
418 |
-
|
419 |
-
public function withFragment($fragment)
|
420 |
-
{
|
421 |
-
if (substr($fragment, 0, 1) === '#') {
|
422 |
-
$fragment = substr($fragment, 1);
|
423 |
-
}
|
424 |
-
|
425 |
-
$fragment = $this->filterQueryAndFragment($fragment);
|
426 |
-
|
427 |
-
if ($this->fragment === $fragment) {
|
428 |
-
return $this;
|
429 |
-
}
|
430 |
-
|
431 |
-
$new = clone $this;
|
432 |
-
$new->fragment = $fragment;
|
433 |
-
return $new;
|
434 |
-
}
|
435 |
-
|
436 |
-
/**
|
437 |
-
* Apply parse_url parts to a URI.
|
438 |
-
*
|
439 |
-
* @param $parts Array of parse_url parts to apply.
|
440 |
-
*/
|
441 |
-
private function applyParts(array $parts)
|
442 |
-
{
|
443 |
-
$this->scheme = isset($parts['scheme'])
|
444 |
-
? $this->filterScheme($parts['scheme'])
|
445 |
-
: '';
|
446 |
-
$this->userInfo = isset($parts['user']) ? $parts['user'] : '';
|
447 |
-
$this->host = isset($parts['host']) ? $parts['host'] : '';
|
448 |
-
$this->port = !empty($parts['port'])
|
449 |
-
? $this->filterPort($this->scheme, $this->host, $parts['port'])
|
450 |
-
: null;
|
451 |
-
$this->path = isset($parts['path'])
|
452 |
-
? $this->filterPath($parts['path'])
|
453 |
-
: '';
|
454 |
-
$this->query = isset($parts['query'])
|
455 |
-
? $this->filterQueryAndFragment($parts['query'])
|
456 |
-
: '';
|
457 |
-
$this->fragment = isset($parts['fragment'])
|
458 |
-
? $this->filterQueryAndFragment($parts['fragment'])
|
459 |
-
: '';
|
460 |
-
if (isset($parts['pass'])) {
|
461 |
-
$this->userInfo .= ':' . $parts['pass'];
|
462 |
-
}
|
463 |
-
}
|
464 |
-
|
465 |
-
/**
|
466 |
-
* Create a URI string from its various parts
|
467 |
-
*
|
468 |
-
* @param string $scheme
|
469 |
-
* @param string $authority
|
470 |
-
* @param string $path
|
471 |
-
* @param string $query
|
472 |
-
* @param string $fragment
|
473 |
-
* @return string
|
474 |
-
*/
|
475 |
-
private static function createUriString($scheme, $authority, $path, $query, $fragment)
|
476 |
-
{
|
477 |
-
$uri = '';
|
478 |
-
|
479 |
-
if (!empty($scheme)) {
|
480 |
-
$uri .= $scheme . '://';
|
481 |
-
}
|
482 |
-
|
483 |
-
if (!empty($authority)) {
|
484 |
-
$uri .= $authority;
|
485 |
-
}
|
486 |
-
|
487 |
-
if ($path != null) {
|
488 |
-
// Add a leading slash if necessary.
|
489 |
-
if ($uri && substr($path, 0, 1) !== '/') {
|
490 |
-
$uri .= '/';
|
491 |
-
}
|
492 |
-
$uri .= $path;
|
493 |
-
}
|
494 |
-
|
495 |
-
if ($query != null) {
|
496 |
-
$uri .= '?' . $query;
|
497 |
-
}
|
498 |
-
|
499 |
-
if ($fragment != null) {
|
500 |
-
$uri .= '#' . $fragment;
|
501 |
-
}
|
502 |
-
|
503 |
-
return $uri;
|
504 |
-
}
|
505 |
-
|
506 |
-
/**
|
507 |
-
* Is a given port non-standard for the current scheme?
|
508 |
-
*
|
509 |
-
* @param string $scheme
|
510 |
-
* @param string $host
|
511 |
-
* @param int $port
|
512 |
-
* @return bool
|
513 |
-
*/
|
514 |
-
private static function isNonStandardPort($scheme, $host, $port)
|
515 |
-
{
|
516 |
-
if (!$scheme && $port) {
|
517 |
-
return true;
|
518 |
-
}
|
519 |
-
|
520 |
-
if (!$host || !$port) {
|
521 |
-
return false;
|
522 |
-
}
|
523 |
-
|
524 |
-
return !isset(static::$schemes[$scheme]) || $port !== static::$schemes[$scheme];
|
525 |
-
}
|
526 |
-
|
527 |
-
/**
|
528 |
-
* @param string $scheme
|
529 |
-
*
|
530 |
-
* @return string
|
531 |
-
*/
|
532 |
-
private function filterScheme($scheme)
|
533 |
-
{
|
534 |
-
$scheme = strtolower($scheme);
|
535 |
-
$scheme = rtrim($scheme, ':/');
|
536 |
-
|
537 |
-
return $scheme;
|
538 |
-
}
|
539 |
-
|
540 |
-
/**
|
541 |
-
* @param string $scheme
|
542 |
-
* @param string $host
|
543 |
-
* @param int $port
|
544 |
-
*
|
545 |
-
* @return int|null
|
546 |
-
*
|
547 |
-
* @throws \InvalidArgumentException If the port is invalid.
|
548 |
-
*/
|
549 |
-
private function filterPort($scheme, $host, $port)
|
550 |
-
{
|
551 |
-
if (null !== $port) {
|
552 |
-
$port = (int) $port;
|
553 |
-
if (1 > $port || 0xffff < $port) {
|
554 |
-
throw new \InvalidArgumentException(
|
555 |
-
sprintf('Invalid port: %d. Must be between 1 and 65535', $port)
|
556 |
-
);
|
557 |
-
}
|
558 |
-
}
|
559 |
-
|
560 |
-
return $this->isNonStandardPort($scheme, $host, $port) ? $port : null;
|
561 |
-
}
|
562 |
-
|
563 |
-
/**
|
564 |
-
* Filters the path of a URI
|
565 |
-
*
|
566 |
-
* @param $path
|
567 |
-
*
|
568 |
-
* @return string
|
569 |
-
*/
|
570 |
-
private function filterPath($path)
|
571 |
-
{
|
572 |
-
return preg_replace_callback(
|
573 |
-
'/(?:[^' . self::$charUnreserved . self::$charSubDelims . ':@\/%]+|%(?![A-Fa-f0-9]{2}))/',
|
574 |
-
[$this, 'rawurlencodeMatchZero'],
|
575 |
-
$path
|
576 |
-
);
|
577 |
-
}
|
578 |
-
|
579 |
-
/**
|
580 |
-
* Filters the query string or fragment of a URI.
|
581 |
-
*
|
582 |
-
* @param $str
|
583 |
-
*
|
584 |
-
* @return string
|
585 |
-
*/
|
586 |
-
private function filterQueryAndFragment($str)
|
587 |
-
{
|
588 |
-
return preg_replace_callback(
|
589 |
-
'/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\/\?]+|%(?![A-Fa-f0-9]{2}))/',
|
590 |
-
[$this, 'rawurlencodeMatchZero'],
|
591 |
-
$str
|
592 |
-
);
|
593 |
-
}
|
594 |
-
|
595 |
-
private function rawurlencodeMatchZero(array $match)
|
596 |
-
{
|
597 |
-
return rawurlencode($match[0]);
|
598 |
-
}
|
599 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/JmesPath/JmesPath.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace JmesPath;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Returns data from the input array that matches a JMESPath expression.
|
6 |
-
*
|
7 |
-
* @param string $expression Expression to search.
|
8 |
-
* @param mixed $data Data to search.
|
9 |
-
*
|
10 |
-
* @return mixed|null
|
11 |
-
*/
|
12 |
-
function search($expression, $data)
|
13 |
-
{
|
14 |
-
return Env::search($expression, $data);
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/README.md
DELETED
@@ -1,158 +0,0 @@
|
|
1 |
-
# AWS SDK for PHP - Version 3
|
2 |
-
|
3 |
-
[![@awsforphp on Twitter](http://img.shields.io/badge/twitter-%40awsforphp-blue.svg?style=flat)](https://twitter.com/awsforphp)
|
4 |
-
[![Total Downloads](https://img.shields.io/packagist/dt/aws/aws-sdk-php.svg?style=flat)](https://packagist.org/packages/aws/aws-sdk-php)
|
5 |
-
[![Build Status](https://img.shields.io/travis/aws/aws-sdk-php.svg?style=flat)](https://travis-ci.org/aws/aws-sdk-php)
|
6 |
-
[![Apache 2 License](https://img.shields.io/packagist/l/aws/aws-sdk-php.svg?style=flat)](http://aws.amazon.com/apache-2-0/)
|
7 |
-
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/aws/aws-sdk-php?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
8 |
-
|
9 |
-
The **AWS SDK for PHP** makes it easy for developers to access [Amazon Web
|
10 |
-
Services][aws] in their PHP code, and build robust applications and software
|
11 |
-
using services like Amazon S3, Amazon DynamoDB, Amazon Glacier, etc. You can
|
12 |
-
get started in minutes by [installing the SDK through Composer][docs-installation]
|
13 |
-
or by downloading a single zip or phar file from our [latest release][latest-release].
|
14 |
-
|
15 |
-
## Resources
|
16 |
-
|
17 |
-
* [User Guide][docs-guide] – For both getting started and in-depth SDK usage information
|
18 |
-
* [API Docs][docs-api] – For details about operations, parameters, and responses
|
19 |
-
* [Blog][sdk-blog] – Tips & tricks, articles, and announcements
|
20 |
-
* [Sample Project][sdk-sample] - A quick, sample project to help get you started
|
21 |
-
* [Forum][sdk-forum] – Ask questions, get help, and give feedback
|
22 |
-
* [Issues][sdk-issues] – Report issues, submit pull requests, and get involved
|
23 |
-
(see [Apache 2.0 License][sdk-license])
|
24 |
-
* [@awsforphp][sdk-twitter] – Follow us on Twitter
|
25 |
-
* For Version 2 of the SDK:
|
26 |
-
* [User Guide][docs-guide-v2]
|
27 |
-
* [API Docs][docs-api-v2]
|
28 |
-
|
29 |
-
## Features
|
30 |
-
|
31 |
-
* Provides easy-to-use HTTP clients for all supported AWS
|
32 |
-
[services][docs-services], [regions][docs-rande], and authentication
|
33 |
-
protocols.
|
34 |
-
* Is built on [Guzzle][guzzle-docs], and utilizes many of its features,
|
35 |
-
including persistent connections, asynchronous requests, middlewares, etc.
|
36 |
-
* Provides convenience features including easy result pagination via
|
37 |
-
[Paginators][docs-paginators], [Waiters][docs-waiters], and simple
|
38 |
-
[Result objects][docs-results].
|
39 |
-
* Provides a [multipart uploader tool][docs-s3-multipart] for Amazon S3 and
|
40 |
-
Amazon Glacier that can be paused and resumed.
|
41 |
-
* Provides an [Amazon S3 Stream Wrapper][docs-streamwrapper], so that you can
|
42 |
-
use PHP's native file handling functions to interact with your S3 buckets and
|
43 |
-
objects like a local filesystem.
|
44 |
-
* Provides the [Amazon DynamoDB Session Handler][docs-ddbsh] for easily scaling
|
45 |
-
sessions on a fast, NoSQL database.
|
46 |
-
* Automatically uses [IAM Instance Profile Credentials][aws-iam-credentials] on
|
47 |
-
configured Amazon EC2 instances.
|
48 |
-
|
49 |
-
## Getting Started
|
50 |
-
|
51 |
-
1. **Sign up for AWS** – Before you begin, you need to
|
52 |
-
sign up for an AWS account and retrieve your [AWS credentials][docs-signup].
|
53 |
-
1. **Minimum requirements** – To run the SDK, your system will need to meet the
|
54 |
-
[minimum requirements][docs-requirements], including having **PHP >= 5.5**
|
55 |
-
compiled with the cURL extension and cURL 7.16.2+ compiled with a TLS
|
56 |
-
backend (e.g., NSS or OpenSSL).
|
57 |
-
1. **Install the SDK** – Using [Composer] is the recommended way to install the
|
58 |
-
AWS SDK for PHP. The SDK is available via [Packagist] under the
|
59 |
-
[`aws/aws-sdk-php`][install-packagist] package. Please see the
|
60 |
-
[Installation section of the User Guide][docs-installation] for more
|
61 |
-
detailed information about installing the SDK through Composer and other
|
62 |
-
means.
|
63 |
-
1. **Using the SDK** – The best way to become familiar with how to use the SDK
|
64 |
-
is to read the [User Guide][docs-guide]. The
|
65 |
-
[Getting Started Guide][docs-quickstart] will help you become familiar with
|
66 |
-
the basic concepts.
|
67 |
-
|
68 |
-
## Quick Examples
|
69 |
-
|
70 |
-
### Create an Amazon S3 client
|
71 |
-
|
72 |
-
```php
|
73 |
-
<?php
|
74 |
-
// Require the Composer autoloader.
|
75 |
-
require 'vendor/autoload.php';
|
76 |
-
|
77 |
-
use Aws\S3\S3Client;
|
78 |
-
|
79 |
-
// Instantiate an Amazon S3 client.
|
80 |
-
$s3 = new S3Client([
|
81 |
-
'version' => 'latest',
|
82 |
-
'region' => 'us-west-2'
|
83 |
-
]);
|
84 |
-
```
|
85 |
-
|
86 |
-
### Upload a file to Amazon S3
|
87 |
-
|
88 |
-
```php
|
89 |
-
<?php
|
90 |
-
// Upload a publicly accessible file. The file size and type are determined by the SDK.
|
91 |
-
try {
|
92 |
-
$s3->putObject([
|
93 |
-
'Bucket' => 'my-bucket',
|
94 |
-
'Key' => 'my-object',
|
95 |
-
'Body' => fopen('/path/to/file', 'r'),
|
96 |
-
'ACL' => 'public-read',
|
97 |
-
]);
|
98 |
-
} catch (Aws\Exception\S3Exception $e) {
|
99 |
-
echo "There was an error uploading the file.\n";
|
100 |
-
}
|
101 |
-
```
|
102 |
-
|
103 |
-
### Related Projects
|
104 |
-
|
105 |
-
* [AWS Service Provider for Laravel][mod-laravel]
|
106 |
-
* [AWS SDK ZF2 Module][mod-zf2]
|
107 |
-
* [AWS Service Provider for Silex][mod-silex]
|
108 |
-
* [AWS SDK Bundle for Symfony][mod-symfony]
|
109 |
-
* [Guzzle Version 6][guzzle-docs] – PHP HTTP client and framework
|
110 |
-
* Other [AWS SDKs & Tools][aws-tools] (e.g., js, cli, ruby, python, java, etc.)
|
111 |
-
|
112 |
-
[sdk-website]: http://aws.amazon.com/sdkforphp
|
113 |
-
[sdk-forum]: https://forums.aws.amazon.com/forum.jspa?forumID=80
|
114 |
-
[sdk-issues]: https://github.com/aws/aws-sdk-php/issues
|
115 |
-
[sdk-license]: http://aws.amazon.com/apache2.0/
|
116 |
-
[sdk-blog]: http://blogs.aws.amazon.com/php
|
117 |
-
[sdk-twitter]: https://twitter.com/awsforphp
|
118 |
-
[sdk-sample]: http://aws.amazon.com/developers/getting-started/php
|
119 |
-
|
120 |
-
[install-packagist]: https://packagist.org/packages/aws/aws-sdk-php
|
121 |
-
[latest-release]: https://github.com/aws/aws-sdk-php/releases
|
122 |
-
|
123 |
-
[docs-api]: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html
|
124 |
-
[docs-guide]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/index.html
|
125 |
-
[docs-api-v2]: http://docs.aws.amazon.com/aws-sdk-php/v2/api/index.html
|
126 |
-
[docs-guide-v2]: http://docs.aws.amazon.com/aws-sdk-php/v2/guide/index.html
|
127 |
-
[docs-contribution]: https://github.com/aws/aws-sdk-php/blob/master/CONTRIBUTING.md
|
128 |
-
[docs-migration]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/migration.html
|
129 |
-
[docs-signup]: http://aws.amazon.com/developers/access-keys/
|
130 |
-
[docs-requirements]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/requirements.html
|
131 |
-
[docs-installation]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html
|
132 |
-
[docs-quickstart]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/#getting-started
|
133 |
-
[docs-paginators]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/paginators.html
|
134 |
-
[docs-waiters]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/waiters.html
|
135 |
-
[docs-results]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html#result-objects
|
136 |
-
[docs-exceptions]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/quick-start.html#error-handling
|
137 |
-
[docs-wire-logging]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/faq.html#how-can-i-see-what-data-is-sent-over-the-wire
|
138 |
-
[docs-ddbsh]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/dynamodb-session-handler.html
|
139 |
-
[docs-rande]: http://docs.aws.amazon.com/general/latest/gr/rande.html
|
140 |
-
[docs-streamwrapper]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-stream-wrapper.html
|
141 |
-
[docs-s3-transfer]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-transfer.html
|
142 |
-
[docs-s3-multipart]: http://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-multipart-upload.html
|
143 |
-
|
144 |
-
[aws]: http://aws.amazon.com
|
145 |
-
[aws-iam-credentials]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances
|
146 |
-
[aws-tools]: http://aws.amazon.com/tools
|
147 |
-
[guzzle-docs]: http://guzzlephp.org
|
148 |
-
[composer]: http://getcomposer.org
|
149 |
-
[packagist]: http://packagist.org
|
150 |
-
[psr-7]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md
|
151 |
-
[psr-4]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
|
152 |
-
[psr-1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
|
153 |
-
[psr-2]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
|
154 |
-
|
155 |
-
[mod-laravel]: https://github.com/aws/aws-sdk-php-laravel
|
156 |
-
[mod-zf2]: https://github.com/aws/aws-sdk-php-zf2
|
157 |
-
[mod-silex]: https://github.com/aws/aws-sdk-php-silex
|
158 |
-
[mod-symfony]: https://github.com/aws/aws-sdk-php-symfony
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/aws/aws-autoloader.php
CHANGED
@@ -1,305 +1,3 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
'Aws\Api\AbstractModel' => __DIR__ . '/Aws/Api/AbstractModel.php',
|
5 |
-
'Aws\Api\ApiProvider' => __DIR__ . '/Aws/Api/ApiProvider.php',
|
6 |
-
'Aws\Api\DateTimeResult' => __DIR__ . '/Aws/Api/DateTimeResult.php',
|
7 |
-
'Aws\Api\DocModel' => __DIR__ . '/Aws/Api/DocModel.php',
|
8 |
-
'Aws\Api\ErrorParser\JsonParserTrait' => __DIR__ . '/Aws/Api/ErrorParser/JsonParserTrait.php',
|
9 |
-
'Aws\Api\ErrorParser\JsonRpcErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/JsonRpcErrorParser.php',
|
10 |
-
'Aws\Api\ErrorParser\RestJsonErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/RestJsonErrorParser.php',
|
11 |
-
'Aws\Api\ErrorParser\XmlErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/XmlErrorParser.php',
|
12 |
-
'Aws\Api\ListShape' => __DIR__ . '/Aws/Api/ListShape.php',
|
13 |
-
'Aws\Api\MapShape' => __DIR__ . '/Aws/Api/MapShape.php',
|
14 |
-
'Aws\Api\Operation' => __DIR__ . '/Aws/Api/Operation.php',
|
15 |
-
'Aws\Api\Parser\AbstractParser' => __DIR__ . '/Aws/Api/Parser/AbstractParser.php',
|
16 |
-
'Aws\Api\Parser\AbstractRestParser' => __DIR__ . '/Aws/Api/Parser/AbstractRestParser.php',
|
17 |
-
'Aws\Api\Parser\Crc32ValidatingParser' => __DIR__ . '/Aws/Api/Parser/Crc32ValidatingParser.php',
|
18 |
-
'Aws\Api\Parser\Exception\ParserException' => __DIR__ . '/Aws/Api/Parser/Exception/ParserException.php',
|
19 |
-
'Aws\Api\Parser\JsonParser' => __DIR__ . '/Aws/Api/Parser/JsonParser.php',
|
20 |
-
'Aws\Api\Parser\JsonRpcParser' => __DIR__ . '/Aws/Api/Parser/JsonRpcParser.php',
|
21 |
-
'Aws\Api\Parser\PayloadParserTrait' => __DIR__ . '/Aws/Api/Parser/PayloadParserTrait.php',
|
22 |
-
'Aws\Api\Parser\QueryParser' => __DIR__ . '/Aws/Api/Parser/QueryParser.php',
|
23 |
-
'Aws\Api\Parser\RestJsonParser' => __DIR__ . '/Aws/Api/Parser/RestJsonParser.php',
|
24 |
-
'Aws\Api\Parser\RestXmlParser' => __DIR__ . '/Aws/Api/Parser/RestXmlParser.php',
|
25 |
-
'Aws\Api\Parser\XmlParser' => __DIR__ . '/Aws/Api/Parser/XmlParser.php',
|
26 |
-
'Aws\Api\Serializer\Ec2ParamBuilder' => __DIR__ . '/Aws/Api/Serializer/Ec2ParamBuilder.php',
|
27 |
-
'Aws\Api\Serializer\JsonBody' => __DIR__ . '/Aws/Api/Serializer/JsonBody.php',
|
28 |
-
'Aws\Api\Serializer\JsonRpcSerializer' => __DIR__ . '/Aws/Api/Serializer/JsonRpcSerializer.php',
|
29 |
-
'Aws\Api\Serializer\QueryParamBuilder' => __DIR__ . '/Aws/Api/Serializer/QueryParamBuilder.php',
|
30 |
-
'Aws\Api\Serializer\QuerySerializer' => __DIR__ . '/Aws/Api/Serializer/QuerySerializer.php',
|
31 |
-
'Aws\Api\Serializer\RestJsonSerializer' => __DIR__ . '/Aws/Api/Serializer/RestJsonSerializer.php',
|
32 |
-
'Aws\Api\Serializer\RestSerializer' => __DIR__ . '/Aws/Api/Serializer/RestSerializer.php',
|
33 |
-
'Aws\Api\Serializer\RestXmlSerializer' => __DIR__ . '/Aws/Api/Serializer/RestXmlSerializer.php',
|
34 |
-
'Aws\Api\Serializer\XmlBody' => __DIR__ . '/Aws/Api/Serializer/XmlBody.php',
|
35 |
-
'Aws\Api\Service' => __DIR__ . '/Aws/Api/Service.php',
|
36 |
-
'Aws\Api\Shape' => __DIR__ . '/Aws/Api/Shape.php',
|
37 |
-
'Aws\Api\ShapeMap' => __DIR__ . '/Aws/Api/ShapeMap.php',
|
38 |
-
'Aws\Api\StructureShape' => __DIR__ . '/Aws/Api/StructureShape.php',
|
39 |
-
'Aws\Api\TimestampShape' => __DIR__ . '/Aws/Api/TimestampShape.php',
|
40 |
-
'Aws\Api\Validator' => __DIR__ . '/Aws/Api/Validator.php',
|
41 |
-
'Aws\ApiGateway\ApiGatewayClient' => __DIR__ . '/Aws/ApiGateway/ApiGatewayClient.php',
|
42 |
-
'Aws\ApiGateway\Exception\ApiGatewayException' => __DIR__ . '/Aws/ApiGateway/Exception/ApiGatewayException.php',
|
43 |
-
'Aws\AwsClient' => __DIR__ . '/Aws/AwsClient.php',
|
44 |
-
'Aws\AwsClientInterface' => __DIR__ . '/Aws/AwsClientInterface.php',
|
45 |
-
'Aws\CacheInterface' => __DIR__ . '/Aws/CacheInterface.php',
|
46 |
-
'Aws\ClientResolver' => __DIR__ . '/Aws/ClientResolver.php',
|
47 |
-
'Aws\CloudFront\CloudFrontClient' => __DIR__ . '/Aws/CloudFront/CloudFrontClient.php',
|
48 |
-
'Aws\CloudFront\CookieSigner' => __DIR__ . '/Aws/CloudFront/CookieSigner.php',
|
49 |
-
'Aws\CloudFront\Exception\CloudFrontException' => __DIR__ . '/Aws/CloudFront/Exception/CloudFrontException.php',
|
50 |
-
'Aws\CloudFront\Signer' => __DIR__ . '/Aws/CloudFront/Signer.php',
|
51 |
-
'Aws\CloudFront\UrlSigner' => __DIR__ . '/Aws/CloudFront/UrlSigner.php',
|
52 |
-
'Aws\Command' => __DIR__ . '/Aws/Command.php',
|
53 |
-
'Aws\CommandInterface' => __DIR__ . '/Aws/CommandInterface.php',
|
54 |
-
'Aws\ConfigService\ConfigServiceClient' => __DIR__ . '/Aws/ConfigService/ConfigServiceClient.php',
|
55 |
-
'Aws\ConfigService\Exception\ConfigServiceException' => __DIR__ . '/Aws/ConfigService/Exception/ConfigServiceException.php',
|
56 |
-
'Aws\Credentials\CredentialProvider' => __DIR__ . '/Aws/Credentials/CredentialProvider.php',
|
57 |
-
'Aws\Credentials\Credentials' => __DIR__ . '/Aws/Credentials/Credentials.php',
|
58 |
-
'Aws\Credentials\CredentialsInterface' => __DIR__ . '/Aws/Credentials/CredentialsInterface.php',
|
59 |
-
'Aws\Credentials\InstanceProfileProvider' => __DIR__ . '/Aws/Credentials/InstanceProfileProvider.php',
|
60 |
-
'Aws\data\apigateway\2015-07-09\api-2.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/api-2.json.php',
|
61 |
-
'Aws\data\apigateway\2015-07-09\docs-2.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/docs-2.json.php',
|
62 |
-
'Aws\data\apigateway\2015-07-09\paginators-1.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/paginators-1.json.php',
|
63 |
-
'Aws\data\config\2014-11-12\docs-2.json' => __DIR__ . '/Aws/data/config/2014-11-12/docs-2.json.php',
|
64 |
-
'Aws\data\config\2014-11-12\paginators-1.json' => __DIR__ . '/Aws/data/config/2014-11-12/paginators-1.json.php',
|
65 |
-
'Aws\data\data.iot\2015-05-28\api-2.json' => __DIR__ . '/Aws/data/data.iot/2015-05-28/api-2.json.php',
|
66 |
-
'Aws\data\data.iot\2015-05-28\docs-2.json' => __DIR__ . '/Aws/data/data.iot/2015-05-28/docs-2.json.php',
|
67 |
-
'Aws\data\datapipeline\2012-10-29\api-2.json' => __DIR__ . '/Aws/data/datapipeline/2012-10-29/api-2.json.php',
|
68 |
-
'Aws\data\datapipeline\2012-10-29\docs-2.json' => __DIR__ . '/Aws/data/datapipeline/2012-10-29/docs-2.json.php',
|
69 |
-
'Aws\data\datapipeline\2012-10-29\paginators-1.json' => __DIR__ . '/Aws/data/datapipeline/2012-10-29/paginators-1.json.php',
|
70 |
-
'Aws\data\devicefarm\2015-06-23\api-2.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/api-2.json.php',
|
71 |
-
'Aws\data\devicefarm\2015-06-23\docs-2.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/docs-2.json.php',
|
72 |
-
'Aws\data\devicefarm\2015-06-23\paginators-1.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/paginators-1.json.php',
|
73 |
-
'Aws\data\directconnect\2012-10-25\api-2.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/api-2.json.php',
|
74 |
-
'Aws\data\directconnect\2012-10-25\docs-2.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/docs-2.json.php',
|
75 |
-
'Aws\data\directconnect\2012-10-25\paginators-1.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/paginators-1.json.php',
|
76 |
-
'Aws\data\ds\2015-04-16\api-2.json' => __DIR__ . '/Aws/data/ds/2015-04-16/api-2.json.php',
|
77 |
-
'Aws\data\ds\2015-04-16\docs-2.json' => __DIR__ . '/Aws/data/ds/2015-04-16/docs-2.json.php',
|
78 |
-
'Aws\data\endpoints.json' => __DIR__ . '/Aws/data/endpoints.json.php',
|
79 |
-
'Aws\data\es\2015-01-01\api-2.json' => __DIR__ . '/Aws/data/es/2015-01-01/api-2.json.php',
|
80 |
-
'Aws\data\es\2015-01-01\docs-2.json' => __DIR__ . '/Aws/data/es/2015-01-01/docs-2.json.php',
|
81 |
-
'Aws\data\firehose\2015-08-04\api-2.json' => __DIR__ . '/Aws/data/firehose/2015-08-04/api-2.json.php',
|
82 |
-
'Aws\data\firehose\2015-08-04\docs-2.json' => __DIR__ . '/Aws/data/firehose/2015-08-04/docs-2.json.php',
|
83 |
-
'Aws\data\glacier\2012-06-01\api-2.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/api-2.json.php',
|
84 |
-
'Aws\data\glacier\2012-06-01\docs-2.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/docs-2.json.php',
|
85 |
-
'Aws\data\glacier\2012-06-01\paginators-1.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/paginators-1.json.php',
|
86 |
-
'Aws\data\glacier\2012-06-01\waiters-2.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/waiters-2.json.php',
|
87 |
-
'Aws\data\iam\2010-05-08\api-2.json' => __DIR__ . '/Aws/data/iam/2010-05-08/api-2.json.php',
|
88 |
-
'Aws\data\iam\2010-05-08\docs-2.json' => __DIR__ . '/Aws/data/iam/2010-05-08/docs-2.json.php',
|
89 |
-
'Aws\data\iam\2010-05-08\paginators-1.json' => __DIR__ . '/Aws/data/iam/2010-05-08/paginators-1.json.php',
|
90 |
-
'Aws\data\iam\2010-05-08\waiters-2.json' => __DIR__ . '/Aws/data/iam/2010-05-08/waiters-2.json.php',
|
91 |
-
'Aws\data\inspector\2015-08-18\api-2.json' => __DIR__ . '/Aws/data/inspector/2015-08-18/api-2.json.php',
|
92 |
-
'Aws\data\inspector\2015-08-18\docs-2.json' => __DIR__ . '/Aws/data/inspector/2015-08-18/docs-2.json.php',
|
93 |
-
'Aws\data\iot\2015-05-28\api-2.json' => __DIR__ . '/Aws/data/iot/2015-05-28/api-2.json.php',
|
94 |
-
'Aws\data\iot\2015-05-28\docs-2.json' => __DIR__ . '/Aws/data/iot/2015-05-28/docs-2.json.php',
|
95 |
-
'Aws\data\logs\2014-03-28\api-2.json' => __DIR__ . '/Aws/data/logs/2014-03-28/api-2.json.php',
|
96 |
-
'Aws\data\logs\2014-03-28\docs-2.json' => __DIR__ . '/Aws/data/logs/2014-03-28/docs-2.json.php',
|
97 |
-
'Aws\data\logs\2014-03-28\paginators-1.json' => __DIR__ . '/Aws/data/logs/2014-03-28/paginators-1.json.php',
|
98 |
-
'Aws\data\manifest.json' => __DIR__ . '/Aws/data/manifest.json.php',
|
99 |
-
'Aws\data\marketplacecommerceanalytics\2015-07-01\api-2.json' => __DIR__ . '/Aws/data/marketplacecommerceanalytics/2015-07-01/api-2.json.php',
|
100 |
-
'Aws\data\marketplacecommerceanalytics\2015-07-01\docs-2.json' => __DIR__ . '/Aws/data/marketplacecommerceanalytics/2015-07-01/docs-2.json.php',
|
101 |
-
'Aws\data\monitoring\2010-08-01\api-2.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/api-2.json.php',
|
102 |
-
'Aws\data\monitoring\2010-08-01\docs-2.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/docs-2.json.php',
|
103 |
-
'Aws\data\monitoring\2010-08-01\paginators-1.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/paginators-1.json.php',
|
104 |
-
'Aws\data\s3\2006-03-01\api-2.json' => __DIR__ . '/Aws/data/s3/2006-03-01/api-2.json.php',
|
105 |
-
'Aws\data\s3\2006-03-01\docs-2.json' => __DIR__ . '/Aws/data/s3/2006-03-01/docs-2.json.php',
|
106 |
-
'Aws\data\s3\2006-03-01\paginators-1.json' => __DIR__ . '/Aws/data/s3/2006-03-01/paginators-1.json.php',
|
107 |
-
'Aws\data\s3\2006-03-01\waiters-2.json' => __DIR__ . '/Aws/data/s3/2006-03-01/waiters-2.json.php',
|
108 |
-
'Aws\data\storagegateway\2013-06-30\api-2.json' => __DIR__ . '/Aws/data/storagegateway/2013-06-30/api-2.json.php',
|
109 |
-
'Aws\data\storagegateway\2013-06-30\docs-2.json' => __DIR__ . '/Aws/data/storagegateway/2013-06-30/docs-2.json.php',
|
110 |
-
'Aws\data\storagegateway\2013-06-30\paginators-1.json' => __DIR__ . '/Aws/data/storagegateway/2013-06-30/paginators-1.json.php',
|
111 |
-
'Aws\data\sts\2011-06-15\api-2.json' => __DIR__ . '/Aws/data/sts/2011-06-15/api-2.json.php',
|
112 |
-
'Aws\data\support\2013-04-15\api-2.json' => __DIR__ . '/Aws/data/support/2013-04-15/api-2.json.php',
|
113 |
-
'Aws\data\support\2013-04-15\docs-2.json' => __DIR__ . '/Aws/data/support/2013-04-15/docs-2.json.php',
|
114 |
-
'Aws\data\support\2013-04-15\paginators-1.json' => __DIR__ . '/Aws/data/support/2013-04-15/paginators-1.json.php',
|
115 |
-
'Aws\data\workspaces\2015-04-08\api-2.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/api-2.json.php',
|
116 |
-
'Aws\data\workspaces\2015-04-08\docs-2.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/docs-2.json.php',
|
117 |
-
'Aws\data\workspaces\2015-04-08\paginators-1.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/paginators-1.json.php',
|
118 |
-
'Aws\Emr\EmrClient' => __DIR__ . '/Aws/Emr/EmrClient.php',
|
119 |
-
'Aws\Emr\Exception\EmrException' => __DIR__ . '/Aws/Emr/Exception/EmrException.php',
|
120 |
-
'Aws\Endpoint\EndpointProvider' => __DIR__ . '/Aws/Endpoint/EndpointProvider.php',
|
121 |
-
'Aws\Endpoint\PatternEndpointProvider' => __DIR__ . '/Aws/Endpoint/PatternEndpointProvider.php',
|
122 |
-
'Aws\Exception\AwsException' => __DIR__ . '/Aws/Exception/AwsException.php',
|
123 |
-
'Aws\Exception\CouldNotCreateChecksumException' => __DIR__ . '/Aws/Exception/CouldNotCreateChecksumException.php',
|
124 |
-
'Aws\Exception\CredentialsException' => __DIR__ . '/Aws/Exception/CredentialsException.php',
|
125 |
-
'Aws\Exception\MultipartUploadException' => __DIR__ . '/Aws/Exception/MultipartUploadException.php',
|
126 |
-
'Aws\Exception\UnresolvedApiException' => __DIR__ . '/Aws/Exception/UnresolvedApiException.php',
|
127 |
-
'Aws\Exception\UnresolvedEndpointException' => __DIR__ . '/Aws/Exception/UnresolvedEndpointException.php',
|
128 |
-
'Aws\Exception\UnresolvedSignatureException' => __DIR__ . '/Aws/Exception/UnresolvedSignatureException.php',
|
129 |
-
'Aws\Firehose\Exception\FirehoseException' => __DIR__ . '/Aws/Firehose/Exception/FirehoseException.php',
|
130 |
-
'Aws\functions' => __DIR__ . '/Aws/functions.php',
|
131 |
-
'Aws\Glacier\Exception\GlacierException' => __DIR__ . '/Aws/Glacier/Exception/GlacierException.php',
|
132 |
-
'Aws\Glacier\GlacierClient' => __DIR__ . '/Aws/Glacier/GlacierClient.php',
|
133 |
-
'Aws\Glacier\MultipartUploader' => __DIR__ . '/Aws/Glacier/MultipartUploader.php',
|
134 |
-
'Aws\Glacier\TreeHash' => __DIR__ . '/Aws/Glacier/TreeHash.php',
|
135 |
-
'Aws\Handler\GuzzleV5\GuzzleHandler' => __DIR__ . '/Aws/Handler/GuzzleV5/GuzzleHandler.php',
|
136 |
-
'Aws\Handler\GuzzleV5\GuzzleStream' => __DIR__ . '/Aws/Handler/GuzzleV5/GuzzleStream.php',
|
137 |
-
'Aws\Handler\GuzzleV5\PsrStream' => __DIR__ . '/Aws/Handler/GuzzleV5/PsrStream.php',
|
138 |
-
'Aws\Handler\GuzzleV6\GuzzleHandler' => __DIR__ . '/Aws/Handler/GuzzleV6/GuzzleHandler.php',
|
139 |
-
'Aws\HandlerList' => __DIR__ . '/Aws/HandlerList.php',
|
140 |
-
'Aws\HasDataTrait' => __DIR__ . '/Aws/HasDataTrait.php',
|
141 |
-
'Aws\HashingStream' => __DIR__ . '/Aws/HashingStream.php',
|
142 |
-
'Aws\HashInterface' => __DIR__ . '/Aws/HashInterface.php',
|
143 |
-
'Aws\History' => __DIR__ . '/Aws/History.php',
|
144 |
-
'Aws\Iam\Exception\IamException' => __DIR__ . '/Aws/Iam/Exception/IamException.php',
|
145 |
-
'Aws\Iam\IamClient' => __DIR__ . '/Aws/Iam/IamClient.php',
|
146 |
-
'Aws\Inspector\Exception\InspectorException' => __DIR__ . '/Aws/Inspector/Exception/InspectorException.php',
|
147 |
-
'Aws\Inspector\InspectorClient' => __DIR__ . '/Aws/Inspector/InspectorClient.php',
|
148 |
-
'Aws\Iot\Exception\IotException' => __DIR__ . '/Aws/Iot/Exception/IotException.php',
|
149 |
-
'Aws\Iot\IotClient' => __DIR__ . '/Aws/Iot/IotClient.php',
|
150 |
-
'Aws\IotDataPlane\Exception\IotDataPlaneException' => __DIR__ . '/Aws/IotDataPlane/Exception/IotDataPlaneException.php',
|
151 |
-
'Aws\IotDataPlane\IotDataPlaneClient' => __DIR__ . '/Aws/IotDataPlane/IotDataPlaneClient.php',
|
152 |
-
'Aws\JsonCompiler' => __DIR__ . '/Aws/JsonCompiler.php',
|
153 |
-
'Aws\Kinesis\Exception\KinesisException' => __DIR__ . '/Aws/Kinesis/Exception/KinesisException.php',
|
154 |
-
'Aws\Kinesis\KinesisClient' => __DIR__ . '/Aws/Kinesis/KinesisClient.php',
|
155 |
-
'Aws\Kms\Exception\KmsException' => __DIR__ . '/Aws/Kms/Exception/KmsException.php',
|
156 |
-
'Aws\Kms\KmsClient' => __DIR__ . '/Aws/Kms/KmsClient.php',
|
157 |
-
'Aws\Lambda\Exception\LambdaException' => __DIR__ . '/Aws/Lambda/Exception/LambdaException.php',
|
158 |
-
'Aws\Lambda\LambdaClient' => __DIR__ . '/Aws/Lambda/LambdaClient.php',
|
159 |
-
'Aws\LruArrayCache' => __DIR__ . '/Aws/LruArrayCache.php',
|
160 |
-
'Aws\Middleware' => __DIR__ . '/Aws/Middleware.php',
|
161 |
-
'Aws\MockHandler' => __DIR__ . '/Aws/MockHandler.php',
|
162 |
-
'Aws\Multipart\AbstractUploader' => __DIR__ . '/Aws/Multipart/AbstractUploader.php',
|
163 |
-
'Aws\Multipart\AbstractUploadManager' => __DIR__ . '/Aws/Multipart/AbstractUploadManager.php',
|
164 |
-
'Aws\Multipart\UploadState' => __DIR__ . '/Aws/Multipart/UploadState.php',
|
165 |
-
'Aws\Result' => __DIR__ . '/Aws/Result.php',
|
166 |
-
'Aws\ResultInterface' => __DIR__ . '/Aws/ResultInterface.php',
|
167 |
-
'Aws\ResultPaginator' => __DIR__ . '/Aws/ResultPaginator.php',
|
168 |
-
'Aws\RetryMiddleware' => __DIR__ . '/Aws/RetryMiddleware.php',
|
169 |
-
'Aws\S3\AmbiguousSuccessParser' => __DIR__ . '/Aws/S3/AmbiguousSuccessParser.php',
|
170 |
-
'Aws\S3\ApplyChecksumMiddleware' => __DIR__ . '/Aws/S3/ApplyChecksumMiddleware.php',
|
171 |
-
'Aws\S3\BatchDelete' => __DIR__ . '/Aws/S3/BatchDelete.php',
|
172 |
-
'Aws\S3\BucketEndpointMiddleware' => __DIR__ . '/Aws/S3/BucketEndpointMiddleware.php',
|
173 |
-
'Aws\S3\Exception\DeleteMultipleObjectsException' => __DIR__ . '/Aws/S3/Exception/DeleteMultipleObjectsException.php',
|
174 |
-
'Aws\S3\Exception\PermanentRedirectException' => __DIR__ . '/Aws/S3/Exception/PermanentRedirectException.php',
|
175 |
-
'Aws\S3\Exception\S3Exception' => __DIR__ . '/Aws/S3/Exception/S3Exception.php',
|
176 |
-
'Aws\S3\GetBucketLocationParser' => __DIR__ . '/Aws/S3/GetBucketLocationParser.php',
|
177 |
-
'Aws\S3\MultipartCopy' => __DIR__ . '/Aws/S3/MultipartCopy.php',
|
178 |
-
'Aws\S3\MultipartUploader' => __DIR__ . '/Aws/S3/MultipartUploader.php',
|
179 |
-
'Aws\S3\MultipartUploadingTrait' => __DIR__ . '/Aws/S3/MultipartUploadingTrait.php',
|
180 |
-
'Aws\S3\PermanentRedirectMiddleware' => __DIR__ . '/Aws/S3/PermanentRedirectMiddleware.php',
|
181 |
-
'Aws\S3\PostObject' => __DIR__ . '/Aws/S3/PostObject.php',
|
182 |
-
'Aws\S3\PutObjectUrlMiddleware' => __DIR__ . '/Aws/S3/PutObjectUrlMiddleware.php',
|
183 |
-
'Aws\S3\RetryableMalformedResponseParser' => __DIR__ . '/Aws/S3/RetryableMalformedResponseParser.php',
|
184 |
-
'Aws\S3\S3Client' => __DIR__ . '/Aws/S3/S3Client.php',
|
185 |
-
'Aws\S3\S3UriParser' => __DIR__ . '/Aws/S3/S3UriParser.php',
|
186 |
-
'Aws\S3\SSECMiddleware' => __DIR__ . '/Aws/S3/SSECMiddleware.php',
|
187 |
-
'Aws\S3\StreamWrapper' => __DIR__ . '/Aws/S3/StreamWrapper.php',
|
188 |
-
'Aws\S3\Transfer' => __DIR__ . '/Aws/S3/Transfer.php',
|
189 |
-
'Aws\Sdk' => __DIR__ . '/Aws/Sdk.php',
|
190 |
-
'Aws\Signature\AnonymousSignature' => __DIR__ . '/Aws/Signature/AnonymousSignature.php',
|
191 |
-
'Aws\Signature\S3SignatureV4' => __DIR__ . '/Aws/Signature/S3SignatureV4.php',
|
192 |
-
'Aws\Signature\SignatureInterface' => __DIR__ . '/Aws/Signature/SignatureInterface.php',
|
193 |
-
'Aws\Signature\SignatureProvider' => __DIR__ . '/Aws/Signature/SignatureProvider.php',
|
194 |
-
'Aws\Signature\SignatureV4' => __DIR__ . '/Aws/Signature/SignatureV4.php',
|
195 |
-
'Aws\StorageGateway\Exception\StorageGatewayException' => __DIR__ . '/Aws/StorageGateway/Exception/StorageGatewayException.php',
|
196 |
-
'Aws\StorageGateway\StorageGatewayClient' => __DIR__ . '/Aws/StorageGateway/StorageGatewayClient.php',
|
197 |
-
'Aws\Support\Exception\SupportException' => __DIR__ . '/Aws/Support/Exception/SupportException.php',
|
198 |
-
'Aws\Support\SupportClient' => __DIR__ . '/Aws/Support/SupportClient.php',
|
199 |
-
'Aws\TraceMiddleware' => __DIR__ . '/Aws/TraceMiddleware.php',
|
200 |
-
'Aws\Waf\Exception\WafException' => __DIR__ . '/Aws/Waf/Exception/WafException.php',
|
201 |
-
'Aws\Waf\WafClient' => __DIR__ . '/Aws/Waf/WafClient.php',
|
202 |
-
'Aws\Waiter' => __DIR__ . '/Aws/Waiter.php',
|
203 |
-
'Aws\WorkSpaces\Exception\WorkSpacesException' => __DIR__ . '/Aws/WorkSpaces/Exception/WorkSpacesException.php',
|
204 |
-
'Aws\WorkSpaces\WorkSpacesClient' => __DIR__ . '/Aws/WorkSpaces/WorkSpacesClient.php',
|
205 |
-
'Aws\WrappedHttpHandler' => __DIR__ . '/Aws/WrappedHttpHandler.php',
|
206 |
-
'GuzzleHttp\Client' => __DIR__ . '/GuzzleHttp/Client.php',
|
207 |
-
'GuzzleHttp\ClientInterface' => __DIR__ . '/GuzzleHttp/ClientInterface.php',
|
208 |
-
'GuzzleHttp\Cookie\CookieJar' => __DIR__ . '/GuzzleHttp/Cookie/CookieJar.php',
|
209 |
-
'GuzzleHttp\Cookie\CookieJarInterface' => __DIR__ . '/GuzzleHttp/Cookie/CookieJarInterface.php',
|
210 |
-
'GuzzleHttp\Cookie\FileCookieJar' => __DIR__ . '/GuzzleHttp/Cookie/FileCookieJar.php',
|
211 |
-
'GuzzleHttp\Cookie\SessionCookieJar' => __DIR__ . '/GuzzleHttp/Cookie/SessionCookieJar.php',
|
212 |
-
'GuzzleHttp\Cookie\SetCookie' => __DIR__ . '/GuzzleHttp/Cookie/SetCookie.php',
|
213 |
-
'GuzzleHttp\Exception\BadResponseException' => __DIR__ . '/GuzzleHttp/Exception/BadResponseException.php',
|
214 |
-
'GuzzleHttp\Exception\ClientException' => __DIR__ . '/GuzzleHttp/Exception/ClientException.php',
|
215 |
-
'GuzzleHttp\Exception\ConnectException' => __DIR__ . '/GuzzleHttp/Exception/ConnectException.php',
|
216 |
-
'GuzzleHttp\Exception\GuzzleException' => __DIR__ . '/GuzzleHttp/Exception/GuzzleException.php',
|
217 |
-
'GuzzleHttp\Exception\RequestException' => __DIR__ . '/GuzzleHttp/Exception/RequestException.php',
|
218 |
-
'GuzzleHttp\Exception\SeekException' => __DIR__ . '/GuzzleHttp/Exception/SeekException.php',
|
219 |
-
'GuzzleHttp\Exception\ServerException' => __DIR__ . '/GuzzleHttp/Exception/ServerException.php',
|
220 |
-
'GuzzleHttp\Exception\TooManyRedirectsException' => __DIR__ . '/GuzzleHttp/Exception/TooManyRedirectsException.php',
|
221 |
-
'GuzzleHttp\Exception\TransferException' => __DIR__ . '/GuzzleHttp/Exception/TransferException.php',
|
222 |
-
'GuzzleHttp\functions' => __DIR__ . '/GuzzleHttp/functions.php',
|
223 |
-
'GuzzleHttp\functions_include' => __DIR__ . '/GuzzleHttp/functions_include.php',
|
224 |
-
'GuzzleHttp\Handler\CurlFactory' => __DIR__ . '/GuzzleHttp/Handler/CurlFactory.php',
|
225 |
-
'GuzzleHttp\Handler\CurlFactoryInterface' => __DIR__ . '/GuzzleHttp/Handler/CurlFactoryInterface.php',
|
226 |
-
'GuzzleHttp\Handler\CurlHandler' => __DIR__ . '/GuzzleHttp/Handler/CurlHandler.php',
|
227 |
-
'GuzzleHttp\Handler\CurlMultiHandler' => __DIR__ . '/GuzzleHttp/Handler/CurlMultiHandler.php',
|
228 |
-
'GuzzleHttp\Handler\EasyHandle' => __DIR__ . '/GuzzleHttp/Handler/EasyHandle.php',
|
229 |
-
'GuzzleHttp\Handler\MockHandler' => __DIR__ . '/GuzzleHttp/Handler/MockHandler.php',
|
230 |
-
'GuzzleHttp\Handler\Proxy' => __DIR__ . '/GuzzleHttp/Handler/Proxy.php',
|
231 |
-
'GuzzleHttp\Handler\StreamHandler' => __DIR__ . '/GuzzleHttp/Handler/StreamHandler.php',
|
232 |
-
'GuzzleHttp\HandlerStack' => __DIR__ . '/GuzzleHttp/HandlerStack.php',
|
233 |
-
'GuzzleHttp\MessageFormatter' => __DIR__ . '/GuzzleHttp/MessageFormatter.php',
|
234 |
-
'GuzzleHttp\Middleware' => __DIR__ . '/GuzzleHttp/Middleware.php',
|
235 |
-
'GuzzleHttp\Pool' => __DIR__ . '/GuzzleHttp/Pool.php',
|
236 |
-
'GuzzleHttp\PrepareBodyMiddleware' => __DIR__ . '/GuzzleHttp/PrepareBodyMiddleware.php',
|
237 |
-
'GuzzleHttp\Promise\AggregateException' => __DIR__ . '/GuzzleHttp/Promise/AggregateException.php',
|
238 |
-
'GuzzleHttp\Promise\CancellationException' => __DIR__ . '/GuzzleHttp/Promise/CancellationException.php',
|
239 |
-
'GuzzleHttp\Promise\EachPromise' => __DIR__ . '/GuzzleHttp/Promise/EachPromise.php',
|
240 |
-
'GuzzleHttp\Promise\FulfilledPromise' => __DIR__ . '/GuzzleHttp/Promise/FulfilledPromise.php',
|
241 |
-
'GuzzleHttp\Promise\functions' => __DIR__ . '/GuzzleHttp/Promise/functions.php',
|
242 |
-
'GuzzleHttp\Promise\functions_include' => __DIR__ . '/GuzzleHttp/Promise/functions_include.php',
|
243 |
-
'GuzzleHttp\Promise\Promise' => __DIR__ . '/GuzzleHttp/Promise/Promise.php',
|
244 |
-
'GuzzleHttp\Promise\PromiseInterface' => __DIR__ . '/GuzzleHttp/Promise/PromiseInterface.php',
|
245 |
-
'GuzzleHttp\Promise\PromisorInterface' => __DIR__ . '/GuzzleHttp/Promise/PromisorInterface.php',
|
246 |
-
'GuzzleHttp\Promise\RejectedPromise' => __DIR__ . '/GuzzleHttp/Promise/RejectedPromise.php',
|
247 |
-
'GuzzleHttp\Promise\RejectionException' => __DIR__ . '/GuzzleHttp/Promise/RejectionException.php',
|
248 |
-
'GuzzleHttp\Promise\TaskQueue' => __DIR__ . '/GuzzleHttp/Promise/TaskQueue.php',
|
249 |
-
'GuzzleHttp\Psr7\AppendStream' => __DIR__ . '/GuzzleHttp/Psr7/AppendStream.php',
|
250 |
-
'GuzzleHttp\Psr7\BufferStream' => __DIR__ . '/GuzzleHttp/Psr7/BufferStream.php',
|
251 |
-
'GuzzleHttp\Psr7\CachingStream' => __DIR__ . '/GuzzleHttp/Psr7/CachingStream.php',
|
252 |
-
'GuzzleHttp\Psr7\DroppingStream' => __DIR__ . '/GuzzleHttp/Psr7/DroppingStream.php',
|
253 |
-
'GuzzleHttp\Psr7\FnStream' => __DIR__ . '/GuzzleHttp/Psr7/FnStream.php',
|
254 |
-
'GuzzleHttp\Psr7\functions' => __DIR__ . '/GuzzleHttp/Psr7/functions.php',
|
255 |
-
'GuzzleHttp\Psr7\functions_include' => __DIR__ . '/GuzzleHttp/Psr7/functions_include.php',
|
256 |
-
'GuzzleHttp\Psr7\InflateStream' => __DIR__ . '/GuzzleHttp/Psr7/InflateStream.php',
|
257 |
-
'GuzzleHttp\Psr7\LazyOpenStream' => __DIR__ . '/GuzzleHttp/Psr7/LazyOpenStream.php',
|
258 |
-
'GuzzleHttp\Psr7\LimitStream' => __DIR__ . '/GuzzleHttp/Psr7/LimitStream.php',
|
259 |
-
'GuzzleHttp\Psr7\MessageTrait' => __DIR__ . '/GuzzleHttp/Psr7/MessageTrait.php',
|
260 |
-
'GuzzleHttp\Psr7\MultipartStream' => __DIR__ . '/GuzzleHttp/Psr7/MultipartStream.php',
|
261 |
-
'GuzzleHttp\Psr7\NoSeekStream' => __DIR__ . '/GuzzleHttp/Psr7/NoSeekStream.php',
|
262 |
-
'GuzzleHttp\Psr7\PumpStream' => __DIR__ . '/GuzzleHttp/Psr7/PumpStream.php',
|
263 |
-
'GuzzleHttp\Psr7\Request' => __DIR__ . '/GuzzleHttp/Psr7/Request.php',
|
264 |
-
'GuzzleHttp\Psr7\Response' => __DIR__ . '/GuzzleHttp/Psr7/Response.php',
|
265 |
-
'GuzzleHttp\Psr7\Stream' => __DIR__ . '/GuzzleHttp/Psr7/Stream.php',
|
266 |
-
'GuzzleHttp\Psr7\StreamDecoratorTrait' => __DIR__ . '/GuzzleHttp/Psr7/StreamDecoratorTrait.php',
|
267 |
-
'GuzzleHttp\Psr7\StreamWrapper' => __DIR__ . '/GuzzleHttp/Psr7/StreamWrapper.php',
|
268 |
-
'GuzzleHttp\Psr7\Uri' => __DIR__ . '/GuzzleHttp/Psr7/Uri.php',
|
269 |
-
'GuzzleHttp\RedirectMiddleware' => __DIR__ . '/GuzzleHttp/RedirectMiddleware.php',
|
270 |
-
'GuzzleHttp\RequestOptions' => __DIR__ . '/GuzzleHttp/RequestOptions.php',
|
271 |
-
'GuzzleHttp\RetryMiddleware' => __DIR__ . '/GuzzleHttp/RetryMiddleware.php',
|
272 |
-
'GuzzleHttp\TransferStats' => __DIR__ . '/GuzzleHttp/TransferStats.php',
|
273 |
-
'GuzzleHttp\UriTemplate' => __DIR__ . '/GuzzleHttp/UriTemplate.php',
|
274 |
-
'JmesPath\AstRuntime' => __DIR__ . '/JmesPath/AstRuntime.php',
|
275 |
-
'JmesPath\CompilerRuntime' => __DIR__ . '/JmesPath/CompilerRuntime.php',
|
276 |
-
'JmesPath\DebugRuntime' => __DIR__ . '/JmesPath/DebugRuntime.php',
|
277 |
-
'JmesPath\Env' => __DIR__ . '/JmesPath/Env.php',
|
278 |
-
'JmesPath\FnDispatcher' => __DIR__ . '/JmesPath/FnDispatcher.php',
|
279 |
-
'JmesPath\JmesPath' => __DIR__ . '/JmesPath/JmesPath.php',
|
280 |
-
'JmesPath\Lexer' => __DIR__ . '/JmesPath/Lexer.php',
|
281 |
-
'JmesPath\Parser' => __DIR__ . '/JmesPath/Parser.php',
|
282 |
-
'JmesPath\SyntaxErrorException' => __DIR__ . '/JmesPath/SyntaxErrorException.php',
|
283 |
-
'JmesPath\TreeCompiler' => __DIR__ . '/JmesPath/TreeCompiler.php',
|
284 |
-
'JmesPath\TreeInterpreter' => __DIR__ . '/JmesPath/TreeInterpreter.php',
|
285 |
-
'JmesPath\Utils' => __DIR__ . '/JmesPath/Utils.php',
|
286 |
-
'Psr\Http\Message\MessageInterface' => __DIR__ . '/Psr/Http/Message/MessageInterface.php',
|
287 |
-
'Psr\Http\Message\RequestInterface' => __DIR__ . '/Psr/Http/Message/RequestInterface.php',
|
288 |
-
'Psr\Http\Message\ResponseInterface' => __DIR__ . '/Psr/Http/Message/ResponseInterface.php',
|
289 |
-
'Psr\Http\Message\ServerRequestInterface' => __DIR__ . '/Psr/Http/Message/ServerRequestInterface.php',
|
290 |
-
'Psr\Http\Message\StreamInterface' => __DIR__ . '/Psr/Http/Message/StreamInterface.php',
|
291 |
-
'Psr\Http\Message\UploadedFileInterface' => __DIR__ . '/Psr/Http/Message/UploadedFileInterface.php',
|
292 |
-
'Psr\Http\Message\UriInterface' => __DIR__ . '/Psr/Http/Message/UriInterface.php',
|
293 |
-
);
|
294 |
-
|
295 |
-
spl_autoload_register(function ($class) use ($mapping) {
|
296 |
-
if (isset($mapping[$class])) {
|
297 |
-
require $mapping[$class];
|
298 |
-
}
|
299 |
-
}, true);
|
300 |
-
|
301 |
-
require __DIR__ . '/Aws/functions.php';
|
302 |
-
require __DIR__ . '/GuzzleHttp/functions.php';
|
303 |
-
require __DIR__ . '/GuzzleHttp/Psr7/functions.php';
|
304 |
-
require __DIR__ . '/GuzzleHttp/Promise/functions.php';
|
305 |
-
require __DIR__ . '/JmesPath/JmesPath.php';
|
1 |
<?php
|
2 |
+
// Legacy, load the current vendor autload
|
3 |
+
require_once( dirname(__FILE__) . "/../../vendor/autoload.php" );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox.js
CHANGED
@@ -177,7 +177,7 @@ if( document.addEventListener ) {
|
|
177 |
}
|
178 |
|
179 |
// overriding default Flowplayer fullscreen function
|
180 |
-
jQuery(
|
181 |
if( typeof(flowplayer) != "undefined" ) {
|
182 |
flowplayer( function(api,root) {
|
183 |
var lightbox_wrap = jQuery(root).closest('.fv_player_lightbox_hidden');
|
@@ -213,7 +213,7 @@ jQuery(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange
|
|
213 |
fv_fancybox_check_size();
|
214 |
});
|
215 |
|
216 |
-
jQuery(
|
217 |
jQuery(document).ajaxComplete(fv_player_lightbox_bind);
|
218 |
|
219 |
function fv_player_lightbox_bind(){
|
177 |
}
|
178 |
|
179 |
// overriding default Flowplayer fullscreen function
|
180 |
+
jQuery( function() {
|
181 |
if( typeof(flowplayer) != "undefined" ) {
|
182 |
flowplayer( function(api,root) {
|
183 |
var lightbox_wrap = jQuery(root).closest('.fv_player_lightbox_hidden');
|
213 |
fv_fancybox_check_size();
|
214 |
});
|
215 |
|
216 |
+
jQuery(fv_player_lightbox_bind);
|
217 |
jQuery(document).ajaxComplete(fv_player_lightbox_bind);
|
218 |
|
219 |
function fv_player_lightbox_bind(){
|
js/shortcode-editor.js
CHANGED
@@ -553,12 +553,15 @@ function fv_wp_flowplayer_init() {
|
|
553 |
|
554 |
jQuery('#player_id_top_text').html('');
|
555 |
|
556 |
-
var field = jQuery(fv_player_editor_button_clicked).parents('.fv-player-editor-wrapper, .fv-player-gutenberg').find('.fv-player-editor-field')
|
|
|
|
|
557 |
if( field.length ) {
|
558 |
fv_wp_flowplayer_content = jQuery(field).val();
|
559 |
|
560 |
-
} else if(
|
561 |
-
fv_wp_flowplayer_content =
|
|
|
562 |
} else if( typeof(FCKeditorAPI) == 'undefined' && jQuery('#content:not([aria-hidden=true])').length){
|
563 |
fv_wp_flowplayer_content = jQuery('#content:not([aria-hidden=true])').val();
|
564 |
} else if( typeof tinymce !== 'undefined' && typeof tinymce.majorVersion !== 'undefined' && typeof tinymce.activeEditor !== 'undefined' && tinymce.majorVersion >= 4 ){
|
@@ -1801,8 +1804,9 @@ function fv_wp_flowplayer_on_close() {
|
|
1801 |
|
1802 |
|
1803 |
function fv_wp_flowplayer_set_html( html ) {
|
1804 |
-
var field = jQuery(fv_player_editor_button_clicked).parents('.fv-player-editor-wrapper').find('.fv-player-editor-field')
|
1805 |
-
|
|
|
1806 |
|
1807 |
if( gutenberg.length ) {
|
1808 |
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, "value").set;
|
@@ -1814,9 +1818,10 @@ function fv_wp_flowplayer_set_html( html ) {
|
|
1814 |
field.val(html);
|
1815 |
field.trigger('fv_flowplayer_shortcode_insert', [ html ] );
|
1816 |
|
1817 |
-
} else if(
|
1818 |
-
|
1819 |
-
|
|
|
1820 |
}else if( typeof(FCKeditorAPI) == 'undefined' && jQuery('#content:not([aria-hidden=true])').length ){
|
1821 |
jQuery('#content:not([aria-hidden=true])').val(html);
|
1822 |
}else if( fv_wp_flowplayer_hTinyMCE == undefined || typeof tinyMCE !== 'undefined' && tinyMCE.activeEditor.isHidden() ) {
|
553 |
|
554 |
jQuery('#player_id_top_text').html('');
|
555 |
|
556 |
+
var field = jQuery(fv_player_editor_button_clicked).parents('.fv-player-editor-wrapper, .fv-player-gutenberg').find('.fv-player-editor-field'),
|
557 |
+
widget = jQuery('#widget-widget_fvplayer-'+FVFP_sWidgetId+'-text');
|
558 |
+
|
559 |
if( field.length ) {
|
560 |
fv_wp_flowplayer_content = jQuery(field).val();
|
561 |
|
562 |
+
} else if( widget.length ){
|
563 |
+
fv_wp_flowplayer_content = widget.val();
|
564 |
+
|
565 |
} else if( typeof(FCKeditorAPI) == 'undefined' && jQuery('#content:not([aria-hidden=true])').length){
|
566 |
fv_wp_flowplayer_content = jQuery('#content:not([aria-hidden=true])').val();
|
567 |
} else if( typeof tinymce !== 'undefined' && typeof tinymce.majorVersion !== 'undefined' && typeof tinymce.activeEditor !== 'undefined' && tinymce.majorVersion >= 4 ){
|
1804 |
|
1805 |
|
1806 |
function fv_wp_flowplayer_set_html( html ) {
|
1807 |
+
var field = jQuery(fv_player_editor_button_clicked).parents('.fv-player-editor-wrapper').find('.fv-player-editor-field'),
|
1808 |
+
gutenberg = jQuery(fv_player_editor_button_clicked).parents('.fv-player-gutenberg').find('.fv-player-editor-field'),
|
1809 |
+
widget = jQuery('#widget-widget_fvplayer-'+FVFP_sWidgetId+'-text');
|
1810 |
|
1811 |
if( gutenberg.length ) {
|
1812 |
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, "value").set;
|
1818 |
field.val(html);
|
1819 |
field.trigger('fv_flowplayer_shortcode_insert', [ html ] );
|
1820 |
|
1821 |
+
} else if( widget.length ){
|
1822 |
+
widget.val(html);
|
1823 |
+
widget.trigger('keyup'); // trigger keyup to make sure Elementor updates the content
|
1824 |
+
widget.trigger('fv_flowplayer_shortcode_insert', [ html ] );
|
1825 |
}else if( typeof(FCKeditorAPI) == 'undefined' && jQuery('#content:not([aria-hidden=true])').length ){
|
1826 |
jQuery('#content:not([aria-hidden=true])').val(html);
|
1827 |
}else if( fv_wp_flowplayer_hTinyMCE == undefined || typeof tinyMCE !== 'undefined' && tinyMCE.activeEditor.isHidden() ) {
|
languages/fv-wordpress-flowplayer-cs_CZ.mo
CHANGED
Binary file
|
languages/fv-wordpress-flowplayer-cs_CZ.po
CHANGED
@@ -245,6 +245,15 @@ msgid ""
|
|
245 |
"a> or other modern browser."
|
246 |
msgstr ""
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
#: ../controller/frontend.php:511
|
249 |
#, php-format
|
250 |
msgid "Posts by %s"
|
245 |
"a> or other modern browser."
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: ../controller/frontend.php:82
|
249 |
+
msgid "<h2>Live stream scheduled</h2><p>Starting in <span>%d</span>.</p>"
|
250 |
+
msgstr "<h2>Živé vysílání</h2><p>Začátek o <span>%d</span>.</p>"
|
251 |
+
|
252 |
+
#: ../controller/frontend.php:83
|
253 |
+
msgid "<h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>%d</span> ...</p>"
|
254 |
+
msgstr "<h2>Živé vysílání je momentálně nedostupné.</h2><p>Opětovný pokus o <span>%d</span> ...</p>"
|
255 |
+
|
256 |
+
|
257 |
#: ../controller/frontend.php:511
|
258 |
#, php-format
|
259 |
msgid "Posts by %s"
|
languages/fv-wordpress-flowplayer-es_ES.mo
CHANGED
Binary file
|
languages/fv-wordpress-flowplayer-es_ES.po
CHANGED
@@ -246,6 +246,14 @@ msgid ""
|
|
246 |
"a> or other modern browser."
|
247 |
msgstr ""
|
248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
#: ../controller/frontend.php:511
|
250 |
#, php-format
|
251 |
msgid "Posts by %s"
|
246 |
"a> or other modern browser."
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: ../controller/frontend.php:82
|
250 |
+
msgid "<h2>Live stream scheduled</h2><p>Starting in <span>%d</span>.</p>"
|
251 |
+
msgstr "<h2>Transmisión en vivo</h2><p>A partir de <span>%d</span>.</p>"
|
252 |
+
|
253 |
+
#: ../controller/frontend.php:83
|
254 |
+
msgid "<h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>%d</span> ...</p>"
|
255 |
+
msgstr "<h2>Lo sentimos, actualmente no hay transmisión en vivo disponible.</h2><p>Reintentando en <span>%d</span> ...</p>"
|
256 |
+
|
257 |
#: ../controller/frontend.php:511
|
258 |
#, php-format
|
259 |
msgid "Posts by %s"
|
languages/fv-wordpress-flowplayer-sk_SK.mo
CHANGED
Binary file
|
languages/fv-wordpress-flowplayer-sk_SK.po
CHANGED
@@ -241,6 +241,14 @@ msgid ""
|
|
241 |
"a> or other modern browser."
|
242 |
msgstr ""
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
#: controller/frontend.php:511
|
245 |
#, php-format
|
246 |
msgid "Posts by %s"
|
241 |
"a> or other modern browser."
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: ../controller/frontend.php:82
|
245 |
+
msgid "<h2>Live stream scheduled</h2><p>Starting in <span>%d</span>.</p>"
|
246 |
+
msgstr "<h2>Živé vysielanie</h2><p>Začiatok o <span>%d</span>.</p>"
|
247 |
+
|
248 |
+
#: ../controller/frontend.php:83
|
249 |
+
msgid "<h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>%d</span> ...</p>"
|
250 |
+
msgstr "<h2>Živé vysielanie je momentálne nedostupné.</h2><p>Opätovný pokus o <span>%d</span> ...</p>"
|
251 |
+
|
252 |
#: controller/frontend.php:511
|
253 |
#, php-format
|
254 |
msgid "Posts by %s"
|
models/db-video.php
CHANGED
@@ -37,7 +37,8 @@ class FV_Player_Db_Video {
|
|
37 |
|
38 |
private static
|
39 |
$db_table_name,
|
40 |
-
$DB_Instance = null
|
|
|
41 |
|
42 |
/**
|
43 |
* @return int
|
@@ -483,9 +484,78 @@ CREATE TABLE " . self::$db_table_name . " (
|
|
483 |
|
484 |
// assemble where part
|
485 |
$where = array();
|
486 |
-
|
487 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
|
|
489 |
$where = implode(' '.esc_sql($and_or).' ', $where);
|
490 |
|
491 |
self::init_db_name();
|
@@ -498,6 +568,95 @@ CREATE TABLE " . self::$db_table_name . " (
|
|
498 |
}
|
499 |
}
|
500 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
501 |
/**
|
502 |
* Returns all options data for this video.
|
503 |
*
|
37 |
|
38 |
private static
|
39 |
$db_table_name,
|
40 |
+
$DB_Instance = null,
|
41 |
+
$stopwords; // used in self::get_search_stopwords()
|
42 |
|
43 |
/**
|
44 |
* @return int
|
484 |
|
485 |
// assemble where part
|
486 |
$where = array();
|
487 |
+
|
488 |
+
/*
|
489 |
+
* Inspired by core WP WP_Query::parse_search() but adjusted to make it fit our SQL query
|
490 |
+
*/
|
491 |
+
if ( $like ) {
|
492 |
+
$search_terms_count = 1;
|
493 |
+
$search_terms = '';
|
494 |
+
|
495 |
+
$search_string = stripslashes( $search_string );
|
496 |
+
|
497 |
+
if( (substr($search_string, 0,1) == "'" && substr( $search_string,-1) == "'") || (substr($search_string, 0,1) == '"' && substr( $search_string,-1) == '"') ) { // Dont break term if in '' or ""
|
498 |
+
$search_string = substr($search_string, 1, -1);
|
499 |
+
$search_terms = array( $search_string );
|
500 |
+
} else {
|
501 |
+
if ( preg_match_all( '/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', $search_string, $matches ) ) {
|
502 |
+
$search_terms_count = count( $matches[0] );
|
503 |
+
$search_terms = self::parse_search_terms( $matches[0] );
|
504 |
+
// If the search string has only short terms or stopwords, or is 10+ terms long, match it as sentence.
|
505 |
+
if ( empty( $search_terms ) || count( $search_terms ) > 9 ) {
|
506 |
+
$search_terms = array( $search_string );
|
507 |
+
}
|
508 |
+
} else {
|
509 |
+
$search_terms = array( $search_string );
|
510 |
+
}
|
511 |
+
}
|
512 |
+
|
513 |
+
$search_terms_encoded = array();
|
514 |
+
|
515 |
+
foreach( $search_terms as $term ) {
|
516 |
+
$search_terms_encoded[] = $term;
|
517 |
+
$search_terms_encoded[] = urlencode($term);
|
518 |
+
$search_terms_encoded[] = rawurlencode($term);
|
519 |
+
}
|
520 |
+
|
521 |
+
$search_terms = $search_terms_encoded;
|
522 |
+
|
523 |
+
unset($search_terms_encoded);
|
524 |
+
|
525 |
+
$exclusion_prefix = apply_filters( 'wp_query_search_exclusion_prefix', '-' );
|
526 |
+
|
527 |
+
foreach ($fields_to_search as $field_name) {
|
528 |
+
$searchlike = '';
|
529 |
+
$first = true;
|
530 |
+
foreach ( $search_terms as $term ) {
|
531 |
+
// If there is an $exclusion_prefix, terms prefixed with it should be excluded.
|
532 |
+
$exclude = $exclusion_prefix && ( substr( $term, 0, 1 ) === $exclusion_prefix );
|
533 |
+
|
534 |
+
if ( $exclude ) {
|
535 |
+
$like_op = 'NOT LIKE';
|
536 |
+
$andor_op = 'AND';
|
537 |
+
$term = substr( $term, 1 );
|
538 |
+
} else {
|
539 |
+
$like_op = 'LIKE';
|
540 |
+
$andor_op = 'OR';
|
541 |
+
}
|
542 |
+
|
543 |
+
if( $first ) $andor_op = '';
|
544 |
+
|
545 |
+
$like_term = '%' . $wpdb->esc_like( $term ) . '%';
|
546 |
+
$searchlike .= $wpdb->prepare( "{$andor_op}({$field_name} $like_op %s)", $like_term);
|
547 |
+
|
548 |
+
$first = false;
|
549 |
+
}
|
550 |
+
$where[] = "(". $searchlike .")";
|
551 |
+
}
|
552 |
+
|
553 |
+
} else { // TODO same as like
|
554 |
+
foreach ($fields_to_search as $field_name) {
|
555 |
+
$where[] = "`$field_name` ='" . esc_sql($search_string) . "'";
|
556 |
+
}
|
557 |
}
|
558 |
+
|
559 |
$where = implode(' '.esc_sql($and_or).' ', $where);
|
560 |
|
561 |
self::init_db_name();
|
568 |
}
|
569 |
}
|
570 |
|
571 |
+
/**
|
572 |
+
* Copy of core WordPress WP_Query::parse_search_terms() for our purposes without any changes, but made static
|
573 |
+
*
|
574 |
+
* Check if the terms are suitable for searching.
|
575 |
+
*
|
576 |
+
* Uses an array of stopwords (terms) that are excluded from the separate
|
577 |
+
* term matching when searching for posts. The list of English stopwords is
|
578 |
+
* the approximate search engines list, and is translatable. ( from class-wp-query.php )
|
579 |
+
*
|
580 |
+
* @since 3.7.0
|
581 |
+
*
|
582 |
+
* @param string[] $terms Array of terms to check.
|
583 |
+
* @return string[] Terms that are not stopwords.
|
584 |
+
*/
|
585 |
+
public static function parse_search_terms( $terms ) {
|
586 |
+
$strtolower = function_exists( 'mb_strtolower' ) ? 'mb_strtolower' : 'strtolower';
|
587 |
+
$checked = array();
|
588 |
+
|
589 |
+
$stopwords = self::get_search_stopwords();
|
590 |
+
|
591 |
+
foreach ( $terms as $term ) {
|
592 |
+
// Keep before/after spaces when term is for exact match.
|
593 |
+
if ( preg_match( '/^".+"$/', $term ) ) {
|
594 |
+
$term = trim( $term, "\"'" );
|
595 |
+
} else {
|
596 |
+
$term = trim( $term, "\"' " );
|
597 |
+
}
|
598 |
+
|
599 |
+
// Avoid single A-Z and single dashes.
|
600 |
+
if ( ! $term || ( 1 === strlen( $term ) && preg_match( '/^[a-z\-]$/i', $term ) ) ) {
|
601 |
+
continue;
|
602 |
+
}
|
603 |
+
|
604 |
+
if ( in_array( call_user_func( $strtolower, $term ), $stopwords, true ) ) {
|
605 |
+
continue;
|
606 |
+
}
|
607 |
+
|
608 |
+
$checked[] = $term;
|
609 |
+
}
|
610 |
+
|
611 |
+
return $checked;
|
612 |
+
}
|
613 |
+
|
614 |
+
/**
|
615 |
+
* Copy of core WordPress WP_Query::get_search_stopwords() for our purposes without any changes, but made static
|
616 |
+
*
|
617 |
+
* Retrieve stopwords used when parsing search terms. ( from class-wp-query.php )
|
618 |
+
*
|
619 |
+
* @since 3.7.0
|
620 |
+
*
|
621 |
+
* @return string[] Stopwords.
|
622 |
+
*/
|
623 |
+
public static function get_search_stopwords() {
|
624 |
+
if ( isset( self::$stopwords ) ) {
|
625 |
+
return self::$stopwords;
|
626 |
+
}
|
627 |
+
|
628 |
+
/*
|
629 |
+
* translators: This is a comma-separated list of very common words that should be excluded from a search,
|
630 |
+
* like a, an, and the. These are usually called "stopwords". You should not simply translate these individual
|
631 |
+
* words into your language. Instead, look for and provide commonly accepted stopwords in your language.
|
632 |
+
*/
|
633 |
+
$words = explode(
|
634 |
+
',',
|
635 |
+
_x(
|
636 |
+
'about,an,are,as,at,be,by,com,for,from,how,in,is,it,of,on,or,that,the,this,to,was,what,when,where,who,will,with,www',
|
637 |
+
'Comma-separated list of search stopwords in your language'
|
638 |
+
)
|
639 |
+
);
|
640 |
+
|
641 |
+
$stopwords = array();
|
642 |
+
foreach ( $words as $word ) {
|
643 |
+
$word = trim( $word, "\r\n\t " );
|
644 |
+
if ( $word ) {
|
645 |
+
$stopwords[] = $word;
|
646 |
+
}
|
647 |
+
}
|
648 |
+
|
649 |
+
/**
|
650 |
+
* Filters stopwords used when parsing search terms.
|
651 |
+
*
|
652 |
+
* @since 3.7.0
|
653 |
+
*
|
654 |
+
* @param string[] $stopwords Array of stopwords.
|
655 |
+
*/
|
656 |
+
self::$stopwords = apply_filters( 'wp_search_stopwords', $stopwords );
|
657 |
+
return self::$stopwords;
|
658 |
+
}
|
659 |
+
|
660 |
/**
|
661 |
* Returns all options data for this video.
|
662 |
*
|
models/digitalocean-spaces-browser.class.php
CHANGED
@@ -15,20 +15,8 @@ class FV_Player_DigitalOcean_Spaces_Browser extends FV_Player_Media_Browser {
|
|
15 |
function init_for_gutenberg() {}
|
16 |
|
17 |
function fv_wp_flowplayer_include_aws_sdk() {
|
18 |
-
$free_player_folder = '';
|
19 |
-
|
20 |
-
foreach (get_option('active_plugins') as $plug) {
|
21 |
-
if (strpos($plug, 'flowplayer.php')) {
|
22 |
-
$free_player_folder = dirname( WP_PLUGIN_DIR . '/' . $plug );
|
23 |
-
}
|
24 |
-
}
|
25 |
-
|
26 |
-
if (!$free_player_folder) {
|
27 |
-
throw new Exception('Could not find Free plugin folder to include the AWS SDK!');
|
28 |
-
}
|
29 |
-
|
30 |
if ( ! class_exists( 'Aws\S3\S3Client' ) ) {
|
31 |
-
require_once(
|
32 |
}
|
33 |
}
|
34 |
|
15 |
function init_for_gutenberg() {}
|
16 |
|
17 |
function fv_wp_flowplayer_include_aws_sdk() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
if ( ! class_exists( 'Aws\S3\S3Client' ) ) {
|
19 |
+
require_once( dirname( __FILE__ ) . "/../vendor/autoload.php" );
|
20 |
}
|
21 |
}
|
22 |
|
models/flowplayer.php
CHANGED
@@ -1207,8 +1207,8 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
|
|
1207 |
.fp-playlist-external.fv-playlist-design-2014 a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4,.fp-playlist-external.fp-playlist-only-captions a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4, .fp-playlist-external.fp-playlist-only-captions a.is-active h4 { color:<?php echo $this->_get_option('playlistSelectedColor');?>; }
|
1208 |
<?php if ( $this->_get_option('playlistBgColor') !=='#') : ?>.fp-playlist-vertical { background-color:<?php echo $this->_get_option('playlistBgColor');?>; }<?php endif; ?>
|
1209 |
|
1210 |
-
<?php if( $this->_get_option('subtitleSize') ) : ?>.flowplayer .fp-captions p { font-size: <?php echo intval($this->_get_option('subtitleSize')); ?>px; }<?php endif; ?>
|
1211 |
-
<?php if( $this->_get_option('subtitleFontFace') ) : ?>.flowplayer .fp-captions p { font-family: <?php echo $this->_get_option('subtitleFontFace'); ?>; }<?php endif; ?>
|
1212 |
<?php if( $this->_get_option('logoPosition') ) :
|
1213 |
$value = $this->_get_option('logoPosition');
|
1214 |
if( $value == 'bottom-left' ) {
|
@@ -1222,7 +1222,7 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
|
|
1222 |
}
|
1223 |
?>.flowplayer .fp-logo { <?php echo $sCSS; ?> }<?php endif; ?>
|
1224 |
|
1225 |
-
.flowplayer .fp-captions p { background-color: <?php echo $sSubtitleBgColor; ?> }
|
1226 |
|
1227 |
<?php if( $this->_get_option(array($skin, 'player-position')) && 'left' == $this->_get_option(array($skin, 'player-position')) ) : ?>.flowplayer { margin-left: 0; }<?php endif; ?>
|
1228 |
<?php echo apply_filters('fv_player_custom_css',''); ?>
|
1207 |
.fp-playlist-external.fv-playlist-design-2014 a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4,.fp-playlist-external.fp-playlist-only-captions a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4, .fp-playlist-external.fp-playlist-only-captions a.is-active h4 { color:<?php echo $this->_get_option('playlistSelectedColor');?>; }
|
1208 |
<?php if ( $this->_get_option('playlistBgColor') !=='#') : ?>.fp-playlist-vertical { background-color:<?php echo $this->_get_option('playlistBgColor');?>; }<?php endif; ?>
|
1209 |
|
1210 |
+
<?php if( $this->_get_option('subtitleSize') ) : ?>.flowplayer .fp-player .fp-captions p { font-size: <?php echo intval($this->_get_option('subtitleSize')); ?>px; }<?php endif; ?>
|
1211 |
+
<?php if( $this->_get_option('subtitleFontFace') ) : ?>.flowplayer .fp-player .fp-captions p { font-family: <?php echo $this->_get_option('subtitleFontFace'); ?>; }<?php endif; ?>
|
1212 |
<?php if( $this->_get_option('logoPosition') ) :
|
1213 |
$value = $this->_get_option('logoPosition');
|
1214 |
if( $value == 'bottom-left' ) {
|
1222 |
}
|
1223 |
?>.flowplayer .fp-logo { <?php echo $sCSS; ?> }<?php endif; ?>
|
1224 |
|
1225 |
+
.flowplayer .fp-player .fp-captions p { background-color: <?php echo $sSubtitleBgColor; ?> }
|
1226 |
|
1227 |
<?php if( $this->_get_option(array($skin, 'player-position')) && 'left' == $this->_get_option(array($skin, 'player-position')) ) : ?>.flowplayer { margin-left: 0; }<?php endif; ?>
|
1228 |
<?php echo apply_filters('fv_player_custom_css',''); ?>
|
models/list-table.php
CHANGED
@@ -39,8 +39,8 @@ class FV_Player_List_Table_View {
|
|
39 |
function screen_columns() {
|
40 |
return array(
|
41 |
//'cb' => '<input type="checkbox" />',
|
42 |
-
'id' => __( 'Player', 'fv-wordpress-flowplayer' ),
|
43 |
-
'player_name' => __( 'Player Name', 'fv-wordpress-flowplayer' ),
|
44 |
'date_created' => __( 'Date', 'fv-wordpress-flowplayer' ),
|
45 |
'author' => __( 'Author', 'fv-wordpress-flowplayer' ),
|
46 |
'thumbs' => __( 'Videos', 'fv-wordpress-flowplayer' ),
|
@@ -292,7 +292,7 @@ class FV_Player_List_Table extends WP_List_Table {
|
|
292 |
$order = !empty($_GET['order']) ? esc_sql($_GET['order']) : 'desc';
|
293 |
$order_by = !empty($_GET['orderby']) ? esc_sql($_GET['orderby']) : 'p.id';
|
294 |
$single_id = !empty($_GET['id']) ? esc_sql($_GET['id']) : null;
|
295 |
-
$search = !empty($_GET['s']) ?
|
296 |
|
297 |
$per_page = $this->args['per_page'];
|
298 |
$offset = ( $current - 1 ) * $per_page;
|
39 |
function screen_columns() {
|
40 |
return array(
|
41 |
//'cb' => '<input type="checkbox" />',
|
42 |
+
'id' => __( 'Player', 'fv-wordpress-flowplayer' ),
|
43 |
+
'player_name' => __( 'Player Name', 'fv-wordpress-flowplayer' ),
|
44 |
'date_created' => __( 'Date', 'fv-wordpress-flowplayer' ),
|
45 |
'author' => __( 'Author', 'fv-wordpress-flowplayer' ),
|
46 |
'thumbs' => __( 'Videos', 'fv-wordpress-flowplayer' ),
|
292 |
$order = !empty($_GET['order']) ? esc_sql($_GET['order']) : 'desc';
|
293 |
$order_by = !empty($_GET['orderby']) ? esc_sql($_GET['orderby']) : 'p.id';
|
294 |
$single_id = !empty($_GET['id']) ? esc_sql($_GET['id']) : null;
|
295 |
+
$search = !empty($_GET['s']) ? $_GET['s'] : null;
|
296 |
|
297 |
$per_page = $this->args['per_page'];
|
298 |
$offset = ( $current - 1 ) * $per_page;
|
models/media-browser-s3.php
CHANGED
@@ -11,7 +11,7 @@ class FV_Player_Media_Browser_S3 extends FV_Player_Media_Browser {
|
|
11 |
|
12 |
function fv_wp_flowplayer_include_aws_sdk() {
|
13 |
if ( ! class_exists( 'Aws\S3\S3Client' ) ) {
|
14 |
-
require_once( dirname( __FILE__ ) . "/../
|
15 |
}
|
16 |
}
|
17 |
|
@@ -199,9 +199,12 @@ class FV_Player_Media_Browser_S3 extends FV_Player_Media_Browser {
|
|
199 |
|
200 |
// replace link with CloudFront URL, if we have one
|
201 |
if( !empty($domains[$array_id]) ) {
|
202 |
-
// replace S3 URLs with buckets in the S3 subdomain
|
203 |
$link = preg_replace('/https?:\/\/' . $bucket . '\.s3[^.]*\.amazonaws\.com\/(.*)/i', rtrim($domains[$array_id], '/').'/$1', $link);
|
204 |
-
|
|
|
|
|
|
|
205 |
// replace S3 URLs with bucket name as a subfolder
|
206 |
$link = preg_replace('/https?:\/\/[^\/]+\/' . $bucket . '\/(.*)/i', rtrim($domains[$array_id], '/').'/$1', $link);
|
207 |
}
|
11 |
|
12 |
function fv_wp_flowplayer_include_aws_sdk() {
|
13 |
if ( ! class_exists( 'Aws\S3\S3Client' ) ) {
|
14 |
+
require_once( dirname( __FILE__ ) . "/../vendor/autoload.php" );
|
15 |
}
|
16 |
}
|
17 |
|
199 |
|
200 |
// replace link with CloudFront URL, if we have one
|
201 |
if( !empty($domains[$array_id]) ) {
|
202 |
+
// replace S3 URLs with buckets in the S3 subdomain, like https://fv-flowplayer-cloudfront.s3-us-west-2.amazonaws.com/video.mp4
|
203 |
$link = preg_replace('/https?:\/\/' . $bucket . '\.s3[^.]*\.amazonaws\.com\/(.*)/i', rtrim($domains[$array_id], '/').'/$1', $link);
|
204 |
+
|
205 |
+
// replace S3 URLs with buckets in the S3 subdomain, like https://fv-flowplayer-cloudfront.s3.us-west-2.amazonaws.com/video.mp4
|
206 |
+
$link = preg_replace('/https?:\/\/' . $bucket . '\.s3\.[^.]*\.amazonaws\.com\/(.*)/i', rtrim($domains[$array_id], '/').'/$1', $link);
|
207 |
+
|
208 |
// replace S3 URLs with bucket name as a subfolder
|
209 |
$link = preg_replace('/https?:\/\/[^\/]+\/' . $bucket . '\/(.*)/i', rtrim($domains[$array_id], '/').'/$1', $link);
|
210 |
}
|
models/system-info.php
CHANGED
@@ -181,6 +181,15 @@ if( isset($conf['addon-video-intelligence']) && !empty($conf['addon-video-intell
|
|
181 |
if( !empty($conf['addon-video-intelligence']['publisherId']) ) $conf['addon-video-intelligence']['publisherId'] = '(redacted)';
|
182 |
}
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
|
185 |
print_r( $conf );
|
186 |
?>
|
181 |
if( !empty($conf['addon-video-intelligence']['publisherId']) ) $conf['addon-video-intelligence']['publisherId'] = '(redacted)';
|
182 |
}
|
183 |
|
184 |
+
function hide_private_info(&$item, $key) {
|
185 |
+
// if the value is not empty and it's not already redacted
|
186 |
+
// and the key is ending with key or secret
|
187 |
+
if( !empty($item) && stripos($item,'(redacted') !== 0 && preg_match('~(key|secret)$~',$key) ) {
|
188 |
+
$item = '(redacted)';
|
189 |
+
}
|
190 |
+
}
|
191 |
+
|
192 |
+
array_walk_recursive($conf,'hide_private_info');
|
193 |
|
194 |
print_r( $conf );
|
195 |
?>
|
readme.txt
CHANGED
@@ -357,6 +357,14 @@ Thank you for being part of the HMTL 5 mobile video revolution!
|
|
357 |
|
358 |
== Changelog ==
|
359 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
= 7.4.33.727 - 2020/08/24 =
|
361 |
|
362 |
* Bugfix - Autoplay - hide initial play arrow animation when autoplaying a video did also hide the loading progress indicator
|
357 |
|
358 |
== Changelog ==
|
359 |
|
360 |
+
= 7.4.34.727 - 2020/09/23 =
|
361 |
+
|
362 |
+
* FV Player wp-admin Screen - search fixes and improvements - you can multiple words or quotes
|
363 |
+
* HLS - live stream check - improving display and behavior when multiple video playbacks is enabled
|
364 |
+
* Compatibility - AWS - library update
|
365 |
+
* Compatibility - jQuery migrate fixes
|
366 |
+
* Compatibility - Elementor fixes
|
367 |
+
|
368 |
= 7.4.33.727 - 2020/08/24 =
|
369 |
|
370 |
* Bugfix - Autoplay - hide initial play arrow animation when autoplaying a video did also hide the loading progress indicator
|
test/integration/backend/testSettingsScreen.html
CHANGED
@@ -1412,12 +1412,12 @@ Hint: you can click the thumbnails to switch videos in the above player. This pr
|
|
1412 |
<tr>
|
1413 |
<td><label for="subtitleSize">Font Size</label></td>
|
1414 |
<td><input id="subtitleSize" name="subtitleSize" title="Enter value in pixels" type="text" value="16"
|
1415 |
-
data-fv-preview=".flowplayer .fp-captions p { font-size: %val%px !important; }"/></td>
|
1416 |
</tr>
|
1417 |
<tr>
|
1418 |
<td><label for="subtitleBgColor">Background Color</label></td>
|
1419 |
<td><input class="color-opacity" id="subtitleBgColor" name="subtitleBgColor" type="text" value="rgba(0,0,0,0.5)"
|
1420 |
-
data-fv-preview=".flowplayer .fp-captions p { background-color: %val% !important; }"/></td>
|
1421 |
</tr>
|
1422 |
<tr>
|
1423 |
<td colspan="2">
|
1412 |
<tr>
|
1413 |
<td><label for="subtitleSize">Font Size</label></td>
|
1414 |
<td><input id="subtitleSize" name="subtitleSize" title="Enter value in pixels" type="text" value="16"
|
1415 |
+
data-fv-preview=".flowplayer .fp-player .fp-captions p { font-size: %val%px !important; }"/></td>
|
1416 |
</tr>
|
1417 |
<tr>
|
1418 |
<td><label for="subtitleBgColor">Background Color</label></td>
|
1419 |
<td><input class="color-opacity" id="subtitleBgColor" name="subtitleBgColor" type="text" value="rgba(0,0,0,0.5)"
|
1420 |
+
data-fv-preview=".flowplayer .fp-player .fp-captions p { background-color: %val% !important; }"/></td>
|
1421 |
</tr>
|
1422 |
<tr>
|
1423 |
<td colspan="2">
|
test/integration/frontend/testSimpleShortcode.html
CHANGED
@@ -53,8 +53,8 @@
|
|
53 |
.fp-playlist-external > a.is-active > span { border-color:#bb0000; }
|
54 |
.fp-playlist-external.fv-playlist-design-2014 a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4,.fp-playlist-external.fp-playlist-only-captions a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4, .fp-playlist-external.fp-playlist-only-captions a.is-active h4 { color:#bb0000; }
|
55 |
.fp-playlist-vertical { background-color:#808080; }
|
56 |
-
.flowplayer .fp-captions p { font-size: 16px; } .flowplayer .fp-logo { bottom: 30px; left: 15px }
|
57 |
-
.flowplayer .fp-captions p { background-color: rgba(0,0,0,0.5) }
|
58 |
|
59 |
</style>
|
60 |
<div id="wpfp_1fd794010fde2df80985efba80286197" data-item="{"sources":[{"src":"https:\/\/cdn.site.com\/video.mp4","type":"video\/mp4"}]}" class="flowplayer no-brand is-splash no-svg is-paused skin-slim fp-slim fp-edgy" data-fv-embed="http://example.org/?p=1234&fv_player_embed=1" style="max-width: 640px; max-height: 360px; " data-ratio="0.5625">
|
53 |
.fp-playlist-external > a.is-active > span { border-color:#bb0000; }
|
54 |
.fp-playlist-external.fv-playlist-design-2014 a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4,.fp-playlist-external.fp-playlist-only-captions a.is-active,.fp-playlist-external.fv-playlist-design-2014 a.is-active h4, .fp-playlist-external.fp-playlist-only-captions a.is-active h4 { color:#bb0000; }
|
55 |
.fp-playlist-vertical { background-color:#808080; }
|
56 |
+
.flowplayer .fp-player .fp-captions p { font-size: 16px; } .flowplayer .fp-logo { bottom: 30px; left: 15px }
|
57 |
+
.flowplayer .fp-player .fp-captions p { background-color: rgba(0,0,0,0.5) }
|
58 |
|
59 |
</style>
|
60 |
<div id="wpfp_1fd794010fde2df80985efba80286197" data-item="{"sources":[{"src":"https:\/\/cdn.site.com\/video.mp4","type":"video\/mp4"}]}" class="flowplayer no-brand is-splash no-svg is-paused skin-slim fp-slim fp-edgy" data-fv-embed="http://example.org/?p=1234&fv_player_embed=1" style="max-width: 640px; max-height: 360px; " data-ratio="0.5625">
|
test/unit/controller/frontendTest.php
CHANGED
@@ -172,6 +172,8 @@ Localizing flowplayer with fv_flowplayer_translations = Array
|
|
172 |
[video_issues] => Video Issues
|
173 |
[video_reload] => Video loading has stalled, click to reload
|
174 |
[link_copied] => Video Link Copied to Clipboard
|
|
|
|
|
175 |
[embed_copied] => Embed Code Copied to Clipboard
|
176 |
[subtitles_disabled] => Subtitles disabled
|
177 |
[subtitles_switched] => Subtitles switched to
|
@@ -182,6 +184,14 @@ Localizing flowplayer with fv_flowplayer_translations = Array
|
|
182 |
[warning_old_chrome] => You are using an old Chrome browser. Please make sure you use the latest version.
|
183 |
[warning_old_firefox] => You are using an old Firefox browser. Please make sure you use the latest version.
|
184 |
[warning_old_ie] => You are using a deprecated browser. If you experience issues with the video please use <a href=\"https://www.mozilla.org/en-US/firefox/new/\">Firefox</a> or other modern browser.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
)
|
186 |
|
187 |
Localizing flowplayer with fv_fp_ajaxurl = https://site.com/wp//wp-admin/admin-ajax.php
|
172 |
[video_issues] => Video Issues
|
173 |
[video_reload] => Video loading has stalled, click to reload
|
174 |
[link_copied] => Video Link Copied to Clipboard
|
175 |
+
[live_stream_starting] => <h2>Live stream scheduled</h2><p>Starting in <span>%d</span>.</p>
|
176 |
+
[live_stream_retry] => <h2>We are sorry, currently no live stream available.</h2><p>Retrying in <span>%d</span> ...</p>
|
177 |
[embed_copied] => Embed Code Copied to Clipboard
|
178 |
[subtitles_disabled] => Subtitles disabled
|
179 |
[subtitles_switched] => Subtitles switched to
|
184 |
[warning_old_chrome] => You are using an old Chrome browser. Please make sure you use the latest version.
|
185 |
[warning_old_firefox] => You are using an old Firefox browser. Please make sure you use the latest version.
|
186 |
[warning_old_ie] => You are using a deprecated browser. If you experience issues with the video please use <a href=\"https://www.mozilla.org/en-US/firefox/new/\">Firefox</a> or other modern browser.
|
187 |
+
[duration_1_day] => %s day
|
188 |
+
[duration_n_days] => %s day
|
189 |
+
[duration_1_hour] => %s hour
|
190 |
+
[duration_n_hours] => %s hour
|
191 |
+
[duration_1_minute] => %s minute
|
192 |
+
[duration_n_minutes] => %s minute
|
193 |
+
[duration_1_second] => %s second
|
194 |
+
[duration_n_seconds] => %s second
|
195 |
)
|
196 |
|
197 |
Localizing flowplayer with fv_fp_ajaxurl = https://site.com/wp//wp-admin/admin-ajax.php
|
test/wp-global-empty-mocks.php
CHANGED
@@ -196,6 +196,11 @@ function __($txt) {
|
|
196 |
return $txt;
|
197 |
}
|
198 |
|
|
|
|
|
|
|
|
|
|
|
199 |
function _e($txt) {
|
200 |
// always echo what was given for the translation function
|
201 |
echo $txt;
|
196 |
return $txt;
|
197 |
}
|
198 |
|
199 |
+
function _n($txt) {
|
200 |
+
// always return what was given for the translation function
|
201 |
+
return $txt;
|
202 |
+
}
|
203 |
+
|
204 |
function _e($txt) {
|
205 |
// always echo what was given for the translation function
|
206 |
echo $txt;
|
vendor/autoload.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload.php @generated by Composer
|
4 |
+
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
+
|
7 |
+
return ComposerAutoloaderInit90c59fe790f475d552cafff612057159::getLoader();
|
vendor/aws/aws-sdk-php/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
## Code of Conduct
|
2 |
+
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
3 |
+
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
4 |
+
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
{includes/aws → vendor/aws/aws-sdk-php}/LICENSE.md
RENAMED
File without changes
|
{includes/aws → vendor/aws/aws-sdk-php}/NOTICE.md
RENAMED
File without changes
|
vendor/aws/aws-sdk-php/composer.json
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "aws/aws-sdk-php",
|
3 |
+
"homepage": "http://aws.amazon.com/sdkforphp",
|
4 |
+
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
|
5 |
+
"keywords": ["aws","amazon","sdk","s3","ec2","dynamodb","cloud","glacier"],
|
6 |
+
"type": "library",
|
7 |
+
"license": "Apache-2.0",
|
8 |
+
"authors": [
|
9 |
+
{
|
10 |
+
"name": "Amazon Web Services",
|
11 |
+
"homepage": "http://aws.amazon.com"
|
12 |
+
}
|
13 |
+
],
|
14 |
+
"support": {
|
15 |
+
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
16 |
+
"issues": "https://github.com/aws/aws-sdk-php/issues"
|
17 |
+
},
|
18 |
+
"require": {
|
19 |
+
"php": ">=5.5",
|
20 |
+
"guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0",
|
21 |
+
"guzzlehttp/psr7": "^1.4.1",
|
22 |
+
"guzzlehttp/promises": "^1.0",
|
23 |
+
"mtdowling/jmespath.php": "^2.5",
|
24 |
+
"ext-pcre": "*",
|
25 |
+
"ext-json": "*",
|
26 |
+
"ext-simplexml": "*"
|
27 |
+
},
|
28 |
+
"require-dev": {
|
29 |
+
"ext-openssl": "*",
|
30 |
+
"ext-dom": "*",
|
31 |
+
"ext-pcntl": "*",
|
32 |
+
"ext-sockets": "*",
|
33 |
+
"phpunit/phpunit": "^4.8.35|^5.4.3",
|
34 |
+
"behat/behat": "~3.0",
|
35 |
+
"doctrine/cache": "~1.4",
|
36 |
+
"aws/aws-php-sns-message-validator": "~1.0",
|
37 |
+
"nette/neon": "^2.3",
|
38 |
+
"andrewsville/php-token-reflection": "^1.4",
|
39 |
+
"psr/cache": "^1.0",
|
40 |
+
"psr/simple-cache": "^1.0",
|
41 |
+
"paragonie/random_compat": ">= 2",
|
42 |
+
"sebastian/comparator": "^1.2.3"
|
43 |
+
},
|
44 |
+
"suggest": {
|
45 |
+
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
|
46 |
+
"ext-curl": "To send requests using cURL",
|
47 |
+
"ext-sockets": "To use client-side monitoring",
|
48 |
+
"doctrine/cache": "To use the DoctrineCacheAdapter",
|
49 |
+
"aws/aws-php-sns-message-validator": "To validate incoming SNS notifications"
|
50 |
+
},
|
51 |
+
"autoload": {
|
52 |
+
"psr-4": {
|
53 |
+
"Aws\\": "src/"
|
54 |
+
},
|
55 |
+
"files": ["src/functions.php"]
|
56 |
+
},
|
57 |
+
"autoload-dev": {
|
58 |
+
"psr-4": {
|
59 |
+
"Aws\\Test\\": "tests/"
|
60 |
+
},
|
61 |
+
"classmap": ["build/"]
|
62 |
+
},
|
63 |
+
"extra": {
|
64 |
+
"branch-alias": {
|
65 |
+
"dev-master": "3.0-dev"
|
66 |
+
}
|
67 |
+
}
|
68 |
+
}
|
vendor/aws/aws-sdk-php/src/AbstractConfigurationProvider.php
ADDED
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Aws;
|
3 |
+
|
4 |
+
use GuzzleHttp\Promise;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* A configuration provider is a function that returns a promise that is
|
8 |
+
* fulfilled with a configuration object. This class provides base functionality
|
9 |
+
* usable by specific configuration provider implementations
|
10 |
+
*/
|
11 |
+
abstract class AbstractConfigurationProvider
|
12 |
+
{
|
13 |
+
const ENV_PROFILE = 'AWS_PROFILE';
|
14 |
+
const ENV_CONFIG_FILE = 'AWS_CONFIG_FILE';
|
15 |
+
|
16 |
+
public static $cacheKey;
|
17 |
+
|
18 |
+
protected static $interfaceClass;
|
19 |
+
protected static $exceptionClass;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Wraps a config provider and saves provided configuration in an
|
23 |
+
* instance of Aws\CacheInterface. Forwards calls when no config found
|
24 |
+
* in cache and updates cache with the results.
|
25 |
+
*
|
26 |
+
* @param callable $provider Configuration provider function to wrap
|
27 |
+
* @param CacheInterface $cache Cache to store configuration
|
28 |
+
* @param string|null $cacheKey (optional) Cache key to use
|
29 |
+
*
|
30 |
+
* @return callable
|
31 |
+
*/
|
32 |
+
public static function cache(
|
33 |
+
callable $provider,
|
34 |
+
CacheInterface $cache,
|
35 |
+
$cacheKey = null
|
36 |
+
) {
|
37 |
+
$cacheKey = $cacheKey ?: static::$cacheKey;
|
38 |
+
|
39 |
+
return function () use ($provider, $cache, $cacheKey) {
|
40 |
+
$found = $cache->get($cacheKey);
|
41 |
+
if ($found instanceof static::$interfaceClass) {
|
42 |
+
return Promise\promise_for($found);
|
43 |
+
}
|
44 |
+
|
45 |
+
return $provider()
|
46 |
+
->then(function ($config) use (
|
47 |
+
$cache,
|
48 |
+
$cacheKey
|
49 |
+
) {
|
50 |
+
$cache->set($cacheKey, $config);
|
51 |
+
return $config;
|
52 |
+
});
|
53 |
+
};
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Creates an aggregate configuration provider that invokes the provided
|
58 |
+
* variadic providers one after the other until a provider returns
|
59 |
+
* configuration.
|
60 |
+
*
|
61 |
+
* @return callable
|
62 |
+
*/
|
63 |
+
public static function chain()
|
64 |
+
{
|
65 |
+
$links = func_get_args();
|
66 |
+
if (empty($links)) {
|
67 |
+
throw new \InvalidArgumentException('No providers in chain');
|
68 |
+
}
|
69 |
+
|
70 |
+
return function () use ($links) {
|
71 |
+
/** @var callable $parent */
|
72 |
+
$parent = array_shift($links);
|
73 |
+
$promise = $parent();
|
74 |
+
while ($next = array_shift($links)) {
|
75 |
+
$promise = $promise->otherwise($next);
|
76 |
+
}
|
77 |
+
return $promise;
|
78 |
+
};
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Gets the environment's HOME directory if available.
|
83 |
+
*
|
84 |
+
* @return null|string
|
85 |
+
*/
|
86 |
+
protected static function getHomeDir()
|
87 |
+
{
|
88 |
+
// On Linux/Unix-like systems, use the HOME environment variable
|
89 |
+
if ($homeDir = getenv('HOME')) {
|
90 |
+
return $homeDir;
|
91 |
+
}
|
92 |
+
|
93 |
+
// Get the HOMEDRIVE and HOMEPATH values for Windows hosts
|
94 |
+
$homeDrive = getenv('HOMEDRIVE');
|
95 |
+
$homePath = getenv('HOMEPATH');
|
96 |
+
|
97 |
+
return ($homeDrive && $homePath) ? $homeDrive . $homePath : null;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Gets default config file location from environment, falling back to aws
|
102 |
+
* default location
|
103 |
+
*
|
104 |
+
* @return string
|
105 |
+
*/
|
106 |
+
protected static function getDefaultConfigFilename()
|
107 |
+
{
|
108 |
+
if ($filename = getenv(self::ENV_CONFIG_FILE)) {
|
109 |
+
return $filename;
|
110 |
+
}
|
111 |
+
return self::getHomeDir() . '/.aws/config';
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Wraps a config provider and caches previously provided configuration.
|
116 |
+
*
|
117 |
+
* @param callable $provider Config provider function to wrap.
|
118 |
+
*
|
119 |
+
* @return callable
|
120 |
+
*/
|
121 |
+
public static function memoize(callable $provider)
|
122 |
+
{
|
123 |
+
return function () use ($provider) {
|
124 |
+
static $result;
|
125 |
+
static $isConstant;
|
126 |
+
|
127 |
+
// Constant config will be returned constantly.
|
128 |
+
if ($isConstant) {
|
129 |
+
return $result;
|
130 |
+
}
|
131 |
+
|
132 |
+
// Create the initial promise that will be used as the cached value
|
133 |
+
if (null === $result) {
|
134 |
+
$result = $provider();
|
135 |
+
}
|
136 |
+
|
137 |
+
// Return config and set flag that provider is already set
|
138 |
+
return $result
|
139 |
+
->then(function ($config) use (&$isConstant) {
|
140 |
+
$isConstant = true;
|
141 |
+
return $config;
|
142 |
+
});
|
143 |
+
};
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Reject promise with standardized exception.
|
148 |
+
*
|
149 |
+
* @param $msg
|
150 |
+
* @return Promise\RejectedPromise
|
151 |
+
*/
|
152 |
+
protected static function reject($msg)
|
153 |
+
{
|
154 |
+
$exceptionClass = static::$exceptionClass;
|
155 |
+
return new Promise\RejectedPromise(new $exceptionClass($msg));
|
156 |
+
}
|
157 |
+
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/AbstractModel.php
RENAMED
File without changes
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ApiProvider.php
RENAMED
@@ -67,6 +67,9 @@ class ApiProvider
|
|
67 |
// Execute the provider and return the result, if there is one.
|
68 |
$result = $provider($type, $service, $version);
|
69 |
if (is_array($result)) {
|
|
|
|
|
|
|
70 |
return $result;
|
71 |
}
|
72 |
|
@@ -162,7 +165,7 @@ class ApiProvider
|
|
162 |
}
|
163 |
|
164 |
/**
|
165 |
-
* Execute the
|
166 |
*
|
167 |
* @param string $type Type of data ('api', 'waiter', 'paginator').
|
168 |
* @param string $service Service name.
|
67 |
// Execute the provider and return the result, if there is one.
|
68 |
$result = $provider($type, $service, $version);
|
69 |
if (is_array($result)) {
|
70 |
+
if (!isset($result['metadata']['serviceIdentifier'])) {
|
71 |
+
$result['metadata']['serviceIdentifier'] = $service;
|
72 |
+
}
|
73 |
return $result;
|
74 |
}
|
75 |
|
165 |
}
|
166 |
|
167 |
/**
|
168 |
+
* Execute the provider.
|
169 |
*
|
170 |
* @param string $type Type of data ('api', 'waiter', 'paginator').
|
171 |
* @param string $service Service name.
|
vendor/aws/aws-sdk-php/src/Api/DateTimeResult.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Aws\Api;
|
4 |
+
|
5 |
+
use Aws\Api\Parser\Exception\ParserException;
|
6 |
+
use Exception;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* DateTime overrides that make DateTime work more seamlessly as a string,
|
10 |
+
* with JSON documents, and with JMESPath.
|
11 |
+
*/
|
12 |
+
class DateTimeResult extends \DateTime implements \JsonSerializable
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* Create a new DateTimeResult from a unix timestamp.
|
16 |
+
* The Unix epoch (or Unix time or POSIX time or Unix
|
17 |
+
* timestamp) is the number of seconds that have elapsed since
|
18 |
+
* January 1, 1970 (midnight UTC/GMT).
|
19 |
+
* @param $unixTimestamp
|
20 |
+
*
|
21 |
+
* @return DateTimeResult
|
22 |
+
* @throws Exception
|
23 |
+
*/
|
24 |
+
public static function fromEpoch($unixTimestamp)
|
25 |
+
{
|
26 |
+
return new self(gmdate('c', $unixTimestamp));
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param $iso8601Timestamp
|
31 |
+
*
|
32 |
+
* @return DateTimeResult
|
33 |
+
*/
|
34 |
+
public static function fromISO8601($iso8601Timestamp)
|
35 |
+
{
|
36 |
+
if (is_numeric($iso8601Timestamp) || !is_string($iso8601Timestamp)) {
|
37 |
+
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromISO8601');
|
38 |
+
}
|
39 |
+
return new DateTimeResult($iso8601Timestamp);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Create a new DateTimeResult from an unknown timestamp.
|
44 |
+
*
|
45 |
+
* @param $timestamp
|
46 |
+
*
|
47 |
+
* @return DateTimeResult
|
48 |
+
* @throws ParserException|Exception
|
49 |
+
*/
|
50 |
+
public static function fromTimestamp($timestamp, $expectedFormat = null)
|
51 |
+
{
|
52 |
+
if (empty($timestamp)) {
|
53 |
+
return self::fromEpoch(0);
|
54 |
+
}
|
55 |
+
|
56 |
+
if (!(is_string($timestamp) || is_numeric($timestamp))) {
|
57 |
+
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromTimestamp');
|
58 |
+
}
|
59 |
+
|
60 |
+
try {
|
61 |
+
if ($expectedFormat == 'iso8601') {
|
62 |
+
try {
|
63 |
+
return self::fromISO8601($timestamp);
|
64 |
+
} catch (Exception $exception) {
|
65 |
+
return self::fromEpoch($timestamp);
|
66 |
+
}
|
67 |
+
} else if ($expectedFormat == 'unixTimestamp') {
|
68 |
+
try {
|
69 |
+
return self::fromEpoch($timestamp);
|
70 |
+
} catch (Exception $exception) {
|
71 |
+
return self::fromISO8601($timestamp);
|
72 |
+
}
|
73 |
+
} else if (\Aws\is_valid_epoch($timestamp)) {
|
74 |
+
return self::fromEpoch($timestamp);
|
75 |
+
}
|
76 |
+
return self::fromISO8601($timestamp);
|
77 |
+
} catch (Exception $exception) {
|
78 |
+
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromTimestamp');
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Serialize the DateTimeResult as an ISO 8601 date string.
|
84 |
+
*
|
85 |
+
* @return string
|
86 |
+
*/
|
87 |
+
public function __toString()
|
88 |
+
{
|
89 |
+
return $this->format('c');
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Serialize the date as an ISO 8601 date when serializing as JSON.
|
94 |
+
*
|
95 |
+
* @return mixed|string
|
96 |
+
*/
|
97 |
+
public function jsonSerialize()
|
98 |
+
{
|
99 |
+
return (string) $this;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/DocModel.php
RENAMED
@@ -109,7 +109,7 @@ class DocModel
|
|
109 |
return '';
|
110 |
}
|
111 |
|
112 |
-
$tidy = new \
|
113 |
$tidy->parseString($content, [
|
114 |
'indent' => true,
|
115 |
'doctype' => 'omit',
|
109 |
return '';
|
110 |
}
|
111 |
|
112 |
+
$tidy = new \tidy();
|
113 |
$tidy->parseString($content, [
|
114 |
'indent' => true,
|
115 |
'doctype' => 'omit',
|
vendor/aws/aws-sdk-php/src/Api/ErrorParser/AbstractErrorParser.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Aws\Api\ErrorParser;
|
3 |
+
|
4 |
+
use Aws\Api\Parser\MetadataParserTrait;
|
5 |
+
use Aws\Api\Parser\PayloadParserTrait;
|
6 |
+
use Aws\Api\Service;
|
7 |
+
use Aws\Api\StructureShape;
|
8 |
+
use Aws\CommandInterface;
|
9 |
+
use Psr\Http\Message\ResponseInterface;
|
10 |
+
|
11 |
+
abstract class AbstractErrorParser
|
12 |
+
{
|
13 |
+
use MetadataParserTrait;
|
14 |
+
use PayloadParserTrait;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var Service
|
18 |
+
*/
|
19 |
+
protected $api;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @param Service $api
|
23 |
+
*/
|
24 |
+
public function __construct(Service $api = null)
|
25 |
+
{
|
26 |
+
$this->api = $api;
|
27 |
+
}
|
28 |
+
|
29 |
+
abstract protected function payload(
|
30 |
+
ResponseInterface $response,
|
31 |
+
StructureShape $member
|
32 |
+
);
|
33 |
+
|
34 |
+
protected function extractPayload(
|
35 |
+
StructureShape $member,
|
36 |
+
ResponseInterface $response
|
37 |
+
) {
|
38 |
+
if ($member instanceof StructureShape) {
|
39 |
+
// Structure members parse top-level data into a specific key.
|
40 |
+
return $this->payload($response, $member);
|
41 |
+
} else {
|
42 |
+
// Streaming data is just the stream from the response body.
|
43 |
+
return $response->getBody();
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
protected function populateShape(
|
48 |
+
array &$data,
|
49 |
+
ResponseInterface $response,
|
50 |
+
CommandInterface $command = null
|
51 |
+
) {
|
52 |
+
$data['body'] = [];
|
53 |
+
|
54 |
+
if (!empty($command) && !empty($this->api)) {
|
55 |
+
|
56 |
+
// If modeled error code is indicated, check for known error shape
|
57 |
+
if (!empty($data['code'])) {
|
58 |
+
|
59 |
+
$errors = $this->api->getOperation($command->getName())->getErrors();
|
60 |
+
foreach ($errors as $key => $error) {
|
61 |
+
|
62 |
+
// If error code matches a known error shape, populate the body
|
63 |
+
if ($data['code'] == $error['name']
|
64 |
+
&& $error instanceof StructureShape
|
65 |
+
) {
|
66 |
+
$modeledError = $error;
|
67 |
+
$data['body'] = $this->extractPayload(
|
68 |
+
$modeledError,
|
69 |
+
$response
|
70 |
+
);
|
71 |
+
$data['error_shape'] = $modeledError;
|
72 |
+
|
73 |
+
foreach ($error->getMembers() as $name => $member) {
|
74 |
+
switch ($member['location']) {
|
75 |
+
case 'header':
|
76 |
+
$this->extractHeader($name, $member, $response, $data['body']);
|
77 |
+
break;
|
78 |
+
case 'headers':
|
79 |
+
$this->extractHeaders($name, $member, $response, $data['body']);
|
80 |
+
break;
|
81 |
+
case 'statusCode':
|
82 |
+
$this->extractStatus($name, $response, $data['body']);
|
83 |
+
break;
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
break;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
return $data;
|
94 |
+
}
|
95 |
+
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/JsonParserTrait.php
RENAMED
@@ -2,6 +2,7 @@
|
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
4 |
use Aws\Api\Parser\PayloadParserTrait;
|
|
|
5 |
use Psr\Http\Message\ResponseInterface;
|
6 |
|
7 |
/**
|
@@ -20,7 +21,18 @@ trait JsonParserTrait
|
|
20 |
'code' => null,
|
21 |
'message' => null,
|
22 |
'type' => $code[0] == '4' ? 'client' : 'server',
|
23 |
-
'parsed' => $this->parseJson($response->getBody())
|
24 |
];
|
25 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
}
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
4 |
use Aws\Api\Parser\PayloadParserTrait;
|
5 |
+
use Aws\Api\StructureShape;
|
6 |
use Psr\Http\Message\ResponseInterface;
|
7 |
|
8 |
/**
|
21 |
'code' => null,
|
22 |
'message' => null,
|
23 |
'type' => $code[0] == '4' ? 'client' : 'server',
|
24 |
+
'parsed' => $this->parseJson($response->getBody(), $response)
|
25 |
];
|
26 |
}
|
27 |
+
|
28 |
+
protected function payload(
|
29 |
+
ResponseInterface $response,
|
30 |
+
StructureShape $member
|
31 |
+
) {
|
32 |
+
$jsonBody = $this->parseJson($response->getBody(), $response);
|
33 |
+
|
34 |
+
if ($jsonBody) {
|
35 |
+
return $this->parser->parse($member, $jsonBody);
|
36 |
+
}
|
37 |
+
}
|
38 |
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/JsonRpcErrorParser.php
RENAMED
@@ -1,18 +1,32 @@
|
|
1 |
<?php
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
|
|
|
|
|
|
4 |
use Psr\Http\Message\ResponseInterface;
|
5 |
|
6 |
/**
|
7 |
* Parsers JSON-RPC errors.
|
8 |
*/
|
9 |
-
class JsonRpcErrorParser
|
10 |
{
|
11 |
use JsonParserTrait;
|
12 |
|
13 |
-
|
|
|
|
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
$data = $this->genericHandler($response);
|
|
|
16 |
// Make the casing consistent across services.
|
17 |
if ($data['parsed']) {
|
18 |
$data['parsed'] = array_change_key_case($data['parsed']);
|
@@ -26,6 +40,8 @@ class JsonRpcErrorParser
|
|
26 |
: null;
|
27 |
}
|
28 |
|
|
|
|
|
29 |
return $data;
|
30 |
}
|
31 |
}
|
1 |
<?php
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
4 |
+
use Aws\Api\Parser\JsonParser;
|
5 |
+
use Aws\Api\Service;
|
6 |
+
use Aws\CommandInterface;
|
7 |
use Psr\Http\Message\ResponseInterface;
|
8 |
|
9 |
/**
|
10 |
* Parsers JSON-RPC errors.
|
11 |
*/
|
12 |
+
class JsonRpcErrorParser extends AbstractErrorParser
|
13 |
{
|
14 |
use JsonParserTrait;
|
15 |
|
16 |
+
private $parser;
|
17 |
+
|
18 |
+
public function __construct(Service $api = null, JsonParser $parser = null)
|
19 |
{
|
20 |
+
parent::__construct($api);
|
21 |
+
$this->parser = $parser ?: new JsonParser();
|
22 |
+
}
|
23 |
+
|
24 |
+
public function __invoke(
|
25 |
+
ResponseInterface $response,
|
26 |
+
CommandInterface $command = null
|
27 |
+
) {
|
28 |
$data = $this->genericHandler($response);
|
29 |
+
|
30 |
// Make the casing consistent across services.
|
31 |
if ($data['parsed']) {
|
32 |
$data['parsed'] = array_change_key_case($data['parsed']);
|
40 |
: null;
|
41 |
}
|
42 |
|
43 |
+
$this->populateShape($data, $response, $command);
|
44 |
+
|
45 |
return $data;
|
46 |
}
|
47 |
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ErrorParser/RestJsonErrorParser.php
RENAMED
@@ -1,17 +1,31 @@
|
|
1 |
<?php
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
|
|
|
|
|
|
|
|
4 |
use Psr\Http\Message\ResponseInterface;
|
5 |
|
6 |
/**
|
7 |
* Parses JSON-REST errors.
|
8 |
*/
|
9 |
-
class RestJsonErrorParser
|
10 |
{
|
11 |
use JsonParserTrait;
|
12 |
|
13 |
-
|
|
|
|
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
$data = $this->genericHandler($response);
|
16 |
|
17 |
// Merge in error data from the JSON body
|
@@ -30,6 +44,15 @@ class RestJsonErrorParser
|
|
30 |
$data['code'] = $colon ? substr($code, 0, $colon) : $code;
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
return $data;
|
34 |
}
|
35 |
}
|
1 |
<?php
|
2 |
namespace Aws\Api\ErrorParser;
|
3 |
|
4 |
+
use Aws\Api\Parser\JsonParser;
|
5 |
+
use Aws\Api\Service;
|
6 |
+
use Aws\Api\StructureShape;
|
7 |
+
use Aws\CommandInterface;
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
|
10 |
/**
|
11 |
* Parses JSON-REST errors.
|
12 |
*/
|
13 |
+
class RestJsonErrorParser extends AbstractErrorParser
|
14 |
{
|
15 |
use JsonParserTrait;
|
16 |
|
17 |
+
private $parser;
|
18 |
+
|
19 |
+
public function __construct(Service $api = null, JsonParser $parser = null)
|
20 |
{
|
21 |
+
parent::__construct($api);
|
22 |
+
$this->parser = $parser ?: new JsonParser();
|
23 |
+
}
|
24 |
+
|
25 |
+
public function __invoke(
|
26 |
+
ResponseInterface $response,
|
27 |
+
CommandInterface $command = null
|
28 |
+
) {
|
29 |
$data = $this->genericHandler($response);
|
30 |
|
31 |
// Merge in error data from the JSON body
|
44 |
$data['code'] = $colon ? substr($code, 0, $colon) : $code;
|
45 |
}
|
46 |
|
47 |
+
// Retrieve error message directly
|
48 |
+
$data['message'] = isset($data['parsed']['message'])
|
49 |
+
? $data['parsed']['message']
|
50 |
+
: (isset($data['parsed']['Message'])
|
51 |
+
? $data['parsed']['Message']
|
52 |
+
: null);
|
53 |
+
|
54 |
+
$this->populateShape($data, $response, $command);
|
55 |
+
|
56 |
return $data;
|
57 |
}
|
58 |
}
|
vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Aws\Api\ErrorParser;
|
3 |
+
|
4 |
+
use Aws\Api\Parser\PayloadParserTrait;
|
5 |
+
use Aws\Api\Parser\XmlParser;
|
6 |
+
use Aws\Api\Service;
|
7 |
+
use Aws\Api\StructureShape;
|
8 |
+
use Aws\CommandInterface;
|
9 |
+
use Psr\Http\Message\ResponseInterface;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Parses XML errors.
|
13 |
+
*/
|
14 |
+
class XmlErrorParser extends AbstractErrorParser
|
15 |
+
{
|
16 |
+
use PayloadParserTrait;
|
17 |
+
|
18 |
+
protected $parser;
|
19 |
+
|
20 |
+
public function __construct(Service $api = null, XmlParser $parser = null)
|
21 |
+
{
|
22 |
+
parent::__construct($api);
|
23 |
+
$this->parser = $parser ?: new XmlParser();
|
24 |
+
}
|
25 |
+
|
26 |
+
public function __invoke(
|
27 |
+
ResponseInterface $response,
|
28 |
+
CommandInterface $command = null
|
29 |
+
) {
|
30 |
+
$code = (string) $response->getStatusCode();
|
31 |
+
|
32 |
+
$data = [
|
33 |
+
'type' => $code[0] == '4' ? 'client' : 'server',
|
34 |
+
'request_id' => null,
|
35 |
+
'code' => null,
|
36 |
+
'message' => null,
|
37 |
+
'parsed' => null
|
38 |
+
];
|
39 |
+
|
40 |
+
$body = $response->getBody();
|
41 |
+
if ($body->getSize() > 0) {
|
42 |
+
$this->parseBody($this->parseXml($body, $response), $data);
|
43 |
+
} else {
|
44 |
+
$this->parseHeaders($response, $data);
|
45 |
+
}
|
46 |
+
|
47 |
+
$this->populateShape($data, $response, $command);
|
48 |
+
|
49 |
+
return $data;
|
50 |
+
}
|
51 |
+
|
52 |
+
private function parseHeaders(ResponseInterface $response, array &$data)
|
53 |
+
{
|
54 |
+
if ($response->getStatusCode() == '404') {
|
55 |
+
$data['code'] = 'NotFound';
|
56 |
+
}
|
57 |
+
|
58 |
+
$data['message'] = $response->getStatusCode() . ' '
|
59 |
+
. $response->getReasonPhrase();
|
60 |
+
|
61 |
+
if ($requestId = $response->getHeaderLine('x-amz-request-id')) {
|
62 |
+
$data['request_id'] = $requestId;
|
63 |
+
$data['message'] .= " (Request-ID: $requestId)";
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
private function parseBody(\SimpleXMLElement $body, array &$data)
|
68 |
+
{
|
69 |
+
$data['parsed'] = $body;
|
70 |
+
$prefix = $this->registerNamespacePrefix($body);
|
71 |
+
|
72 |
+
if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
|
73 |
+
$data['code'] = (string) $tempXml[0];
|
74 |
+
}
|
75 |
+
|
76 |
+
if ($tempXml = $body->xpath("//{$prefix}Message[1]")) {
|
77 |
+
$data['message'] = (string) $tempXml[0];
|
78 |
+
}
|
79 |
+
|
80 |
+
$tempXml = $body->xpath("//{$prefix}RequestId[1]");
|
81 |
+
if (isset($tempXml[0])) {
|
82 |
+
$data['request_id'] = (string)$tempXml[0];
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
protected function registerNamespacePrefix(\SimpleXMLElement $element)
|
87 |
+
{
|
88 |
+
$namespaces = $element->getDocNamespaces();
|
89 |
+
if (!isset($namespaces[''])) {
|
90 |
+
return '';
|
91 |
+
}
|
92 |
+
|
93 |
+
// Account for the default namespace being defined and PHP not
|
94 |
+
// being able to handle it :(.
|
95 |
+
$element->registerXPathNamespace('ns', $namespaces['']);
|
96 |
+
return 'ns:';
|
97 |
+
}
|
98 |
+
|
99 |
+
protected function payload(
|
100 |
+
ResponseInterface $response,
|
101 |
+
StructureShape $member
|
102 |
+
) {
|
103 |
+
$xmlBody = $this->parseXml($response->getBody(), $response);
|
104 |
+
$prefix = $this->registerNamespacePrefix($xmlBody);
|
105 |
+
$errorBody = $xmlBody->xpath("//{$prefix}Error");
|
106 |
+
|
107 |
+
if (is_array($errorBody) && !empty($errorBody[0])) {
|
108 |
+
return $this->parser->parse($member, $errorBody[0]);
|
109 |
+
}
|
110 |
+
}
|
111 |
+
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/ListShape.php
RENAMED
File without changes
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/MapShape.php
RENAMED
File without changes
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Operation.php
RENAMED
@@ -83,8 +83,8 @@ class Operation extends AbstractModel
|
|
83 |
{
|
84 |
if ($this->errors === null) {
|
85 |
if ($errors = $this['errors']) {
|
86 |
-
foreach ($errors as
|
87 |
-
$
|
88 |
}
|
89 |
$this->errors = $errors;
|
90 |
} else {
|
83 |
{
|
84 |
if ($this->errors === null) {
|
85 |
if ($errors = $this['errors']) {
|
86 |
+
foreach ($errors as $key => $error) {
|
87 |
+
$errors[$key] = $this->shapeFor($error);
|
88 |
}
|
89 |
$this->errors = $errors;
|
90 |
} else {
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/AbstractParser.php
RENAMED
@@ -2,9 +2,11 @@
|
|
2 |
namespace Aws\Api\Parser;
|
3 |
|
4 |
use Aws\Api\Service;
|
|
|
5 |
use Aws\CommandInterface;
|
6 |
use Aws\ResultInterface;
|
7 |
use Psr\Http\Message\ResponseInterface;
|
|
|
8 |
|
9 |
/**
|
10 |
* @internal
|
@@ -14,6 +16,9 @@ abstract class AbstractParser
|
|
14 |
/** @var \Aws\Api\Service Representation of the service API*/
|
15 |
protected $api;
|
16 |
|
|
|
|
|
|
|
17 |
/**
|
18 |
* @param Service $api Service description.
|
19 |
*/
|
@@ -32,4 +37,10 @@ abstract class AbstractParser
|
|
32 |
CommandInterface $command,
|
33 |
ResponseInterface $response
|
34 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
}
|
2 |
namespace Aws\Api\Parser;
|
3 |
|
4 |
use Aws\Api\Service;
|
5 |
+
use Aws\Api\StructureShape;
|
6 |
use Aws\CommandInterface;
|
7 |
use Aws\ResultInterface;
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
+
use Psr\Http\Message\StreamInterface;
|
10 |
|
11 |
/**
|
12 |
* @internal
|
16 |
/** @var \Aws\Api\Service Representation of the service API*/
|
17 |
protected $api;
|
18 |
|
19 |
+
/** @var callable */
|
20 |
+
protected $parser;
|
21 |
+
|
22 |
/**
|
23 |
* @param Service $api Service description.
|
24 |
*/
|
37 |
CommandInterface $command,
|
38 |
ResponseInterface $response
|
39 |
);
|
40 |
+
|
41 |
+
abstract public function parseMemberFromStream(
|
42 |
+
StreamInterface $stream,
|
43 |
+
StructureShape $member,
|
44 |
+
$response
|
45 |
+
);
|
46 |
}
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/AbstractRestParser.php
RENAMED
@@ -13,6 +13,8 @@ use Psr\Http\Message\ResponseInterface;
|
|
13 |
*/
|
14 |
abstract class AbstractRestParser extends AbstractParser
|
15 |
{
|
|
|
|
|
16 |
/**
|
17 |
* Parses a payload from a response.
|
18 |
*
|
@@ -53,7 +55,10 @@ abstract class AbstractRestParser extends AbstractParser
|
|
53 |
}
|
54 |
}
|
55 |
|
56 |
-
if (!$payload
|
|
|
|
|
|
|
57 |
// if no payload was found, then parse the contents of the body
|
58 |
$this->payload($response, $output, $result);
|
59 |
}
|
@@ -69,7 +74,13 @@ abstract class AbstractRestParser extends AbstractParser
|
|
69 |
) {
|
70 |
$member = $output->getMember($payload);
|
71 |
|
72 |
-
if ($member
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
// Structure members parse top-level data into a specific key.
|
74 |
$result[$payload] = [];
|
75 |
$this->payload($response, $member, $result[$payload]);
|
@@ -106,13 +117,32 @@ abstract class AbstractRestParser extends AbstractParser
|
|
106 |
break;
|
107 |
case 'timestamp':
|
108 |
try {
|
109 |
-
$value =
|
|
|
|
|
|
|
110 |
break;
|
111 |
} catch (\Exception $e) {
|
112 |
// If the value cannot be parsed, then do not add it to the
|
113 |
// output structure.
|
114 |
return;
|
115 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
}
|
117 |
|
118 |
$result[$name] = $value;
|
13 |
*/
|
14 |
abstract class AbstractRestParser extends AbstractParser
|
15 |
{
|
16 |
+
use PayloadParserTrait;
|
17 |
+
|
18 |
/**
|
19 |
* Parses a payload from a response.
|
20 |
*
|
55 |
}
|
56 |
}
|
57 |
|
58 |
+
if (!$payload
|
59 |
+
&& $response->getBody()->getSize() > 0
|
60 |
+
&& count($output->getMembers()) > 0
|
61 |
+
) {
|
62 |
// if no payload was found, then parse the contents of the body
|
63 |
$this->payload($response, $output, $result);
|
64 |
}
|
74 |
) {
|
75 |
$member = $output->getMember($payload);
|
76 |
|
77 |
+
if (!empty($member['eventstream'])) {
|
78 |
+
$result[$payload] = new EventParsingIterator(
|
79 |
+
$response->getBody(),
|
80 |
+
$member,
|
81 |
+
$this
|
82 |
+
);
|
83 |
+
} else if ($member instanceof StructureShape) {
|
84 |
// Structure members parse top-level data into a specific key.
|
85 |
$result[$payload] = [];
|
86 |
$this->payload($response, $member, $result[$payload]);
|
117 |
break;
|
118 |
case 'timestamp':
|
119 |
try {
|
120 |
+
$value = DateTimeResult::fromTimestamp(
|
121 |
+
$value,
|
122 |
+
!empty($shape['timestampFormat']) ? $shape['timestampFormat'] : null
|
123 |
+
);
|
124 |
break;
|
125 |
} catch (\Exception $e) {
|
126 |
// If the value cannot be parsed, then do not add it to the
|
127 |
// output structure.
|
128 |
return;
|
129 |
}
|
130 |
+
case 'string':
|
131 |
+
try {
|
132 |
+
if ($shape['jsonvalue']) {
|
133 |
+
$value = $this->parseJson(base64_decode($value), $response);
|
134 |
+
}
|
135 |
+
|
136 |
+
// If value is not set, do not add to output structure.
|
137 |
+
if (!isset($value)) {
|
138 |
+
return;
|
139 |
+
}
|
140 |
+
break;
|
141 |
+
} catch (\Exception $e) {
|
142 |
+
//If the value cannot be parsed, then do not add it to the
|
143 |
+
//output structure.
|
144 |
+
return;
|
145 |
+
}
|
146 |
}
|
147 |
|
148 |
$result[$name] = $value;
|
{includes/aws/Aws → vendor/aws/aws-sdk-php/src}/Api/Parser/Crc32ValidatingParser.php
RENAMED
@@ -1,9 +1,11 @@
|
|
1 |
<?php
|
2 |
namespace Aws\Api\Parser;
|
3 |
|
|
|
4 |
use Aws\CommandInterface;
|
5 |
use Aws\Exception\AwsException;
|
6 |
use Psr\Http\Message\ResponseInterface;
|
|
|
7 |
use GuzzleHttp\Psr7;
|
8 |
|
9 |
/**
|
@@ -11,9 +13,6 @@ use GuzzleHttp\Psr7;
|
|
11 |
*/
|
12 |
class Crc32ValidatingParser extends AbstractParser
|
13 |
{
|
14 |
-
/** @var callable */
|
15 |
-
private $parser;
|
16 |
-
|
17 |
/**
|
18 |
* @param callable $parser Parser to wrap.
|
19 |
*/
|
@@ -44,4 +43,12 @@ class Crc32ValidatingParser extends AbstractParser
|
|
44 |
$fn = $this->parser;
|
45 |
return $fn($command, $response);
|
46 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
1 |
<?php
|
2 |
namespace Aws\Api\Parser;
|
3 |
|
4 |
+
use Aws\Api\StructureShape;
|
5 |
use Aws\CommandInterface;
|
6 |
use Aws\Exception\AwsException;
|
7 |
use Psr\Http\Message\ResponseInterface;
|
8 |
+
use Psr\Http\Message\StreamInterface;
|
9 |
use GuzzleHttp\Psr7;
|
10 |
|
11 |
/**
|
13 |
*/
|
14 |
class Crc32ValidatingParser extends AbstractParser
|
15 |
{
|
|
|
|
|
|
|
16 |
/**
|
17 |
* @param callable $parser Parser to wrap.
|
18 |
*/
|
43 |
$fn = $this->parser;
|
44 |
return $fn($command, $response);
|
45 |
}
|
46 |
+
|
47 |
+
public function parseMemberFromStream(
|
48 |
+
StreamInterface $stream,
|
49 |
+
StructureShape $member,
|
50 |
+
$response
|
51 |
+
) {
|
52 |
+
return $this->parser->parseMemberFromStream($stream, $member, $response);
|
53 |
+
}
|
54 |
}
|
vendor/aws/aws-sdk-php/src/Api/Parser/DecodingEventStreamIterator.php
ADDED
@@ -0,0 +1,335 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Aws\Api\Parser;
|
4 |
+
|
5 |
+
use \Iterator;
|
6 |
+
use Aws\Api\DateTimeResult;
|
7 |
+
use GuzzleHttp\Psr7;
|
8 |
+
use Psr\Http\Message\StreamInterface;
|
9 |
+
use Aws\Api\Parser\Exception\ParserException;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @internal Implements a decoder for a binary encoded event stream that will
|
13 |
+
* decode, validate, and provide individual events from the stream.
|
14 |
+
*/
|
15 |
+
class DecodingEventStreamIterator implements Iterator
|
16 |
+
{
|
17 |
+
const HEADERS = 'headers';
|
18 |
+
const PAYLOAD = 'payload';
|
19 |
+
|
20 |
+
const LENGTH_TOTAL = 'total_length';
|
21 |
+
const LENGTH_HEADERS = 'headers_length';
|
22 |
+
|
23 |
+
const CRC_PRELUDE = 'prelude_crc';
|
24 |
+
|
25 |
+
const BYTES_PRELUDE = 12;
|
26 |
+
const BYTES_TRAILING = 4;
|
27 |
+
|
28 |
+
private static $preludeFormat = [
|
29 |
+
self::LENGTH_TOTAL => 'decodeUint32',
|
30 |
+
self::LENGTH_HEADERS => 'decodeUint32',
|
31 |
+
self::CRC_PRELUDE => 'decodeUint32',
|
32 |
+
];
|
33 |
+
|
34 |
+
private static $lengthFormatMap = [
|
35 |
+
1 => 'decodeUint8',
|
36 |
+
2 => 'decodeUint16',
|
37 |
+
4 => 'decodeUint32',
|
38 |
+
8 => 'decodeUint64',
|
39 |
+
];
|
40 |
+
|
41 |
+
private static $headerTypeMap = [
|
42 |
+
0 => 'decodeBooleanTrue',
|
43 |
+
1 => 'decodeBooleanFalse',
|
44 |
+
2 => 'decodeInt8',
|
45 |
+
3 => 'decodeInt16',
|
46 |
+
4 => 'decodeInt32',
|
47 |
+
5 => 'decodeInt64',
|
48 |
+
6 => 'decodeBytes',
|
49 |
+
7 => 'decodeString',
|
50 |
+
8 => 'decodeTimestamp',
|
51 |
+
9 => 'decodeUuid',
|
52 |
+
];
|
53 |
+
|
54 |
+
/** @var StreamInterface S
|