aws-sdk-connectcases 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82d39eb59969aeffd71467b23c91a607be674225fcd0725defa130239186e82d
4
- data.tar.gz: c322bc3db20f83bdf5a560940309e788661744b690d33f979d7fafac7c450ba8
3
+ metadata.gz: 4b3b2bd995d3790404f84b3e8639cc4bb96bb33ea240e821b09a1fca0d1eeabd
4
+ data.tar.gz: 3a83f01d32de88f58398397490850a1e1e75869d2b9f3a417e1f7f25f935c617
5
5
  SHA512:
6
- metadata.gz: 8af3eadd04102901827062326030fceecef876f1406159a084eeeabfc553ba9b4ac1e0b3f664a1c8a2e7425984ecbde0ab2747dbbc7a4921760c387795e94901
7
- data.tar.gz: 9f7f96360d7370556bc73aace7b9d63b6353c2d9767d127399f40d57720ee724abb4b3e8bed70f8fcb6c60cb98b3b605665310b86923c89ff20db30c70e9b905
6
+ metadata.gz: 346c22bb9bba90a7c767811f68dda4ef54e32788a660867a4cd67e5dfb3b43058663a805bc359766363d4edf4556f40afbfef41608b38b46ddfcdc8b49c6044b
7
+ data.tar.gz: d2d33bc298def662c7de0d3c8da28241b9969b99a14f68e5e8c566fbab08561a991b5614c47aac75103a0b46cddcafb062fa5f80f90254ef5c5c0a4164e92d6f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.3.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.2.0 (2022-11-09)
12
+ ------------------
13
+
14
+ * Feature - This release adds the ability to disable templates through the UpdateTemplate API. Disabling templates prevents customers from creating cases using the template. For more information see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
15
+
4
16
  1.1.0 (2022-10-25)
5
17
  ------------------
6
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.3.0
@@ -474,11 +474,17 @@ module Aws::ConnectCases
474
474
  #
475
475
  # @option params [String] :client_token
476
476
  # A unique, case-sensitive identifier that you provide to ensure the
477
- # idempotency of the request.
477
+ # idempotency of the request. If not provided, the Amazon Web Services
478
+ # SDK populates this field. For more information about idempotency, see
479
+ # [Making retries safe with idempotent APIs][1].
478
480
  #
479
481
  # **A suitable default value is auto-generated.** You should normally
480
482
  # not need to pass this option.**
481
483
  #
484
+ #
485
+ #
486
+ # [1]: https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
487
+ #
482
488
  # @option params [required, String] :domain_id
483
489
  # The unique identifier of the Cases domain.
484
490
  #
@@ -754,11 +760,13 @@ module Aws::ConnectCases
754
760
  end
755
761
 
756
762
  # Creates a template in the Cases domain. This template is used to
757
- # define the case object model (that is, define what data can be
763
+ # define the case object model (that is, to define what data can be
758
764
  # captured on cases) in a Cases domain. A template must have a unique
759
765
  # name within a domain, and it must reference existing field IDs and
760
766
  # layout IDs. Additionally, multiple fields with same IDs are not
761
- # allowed within the same Template.
767
+ # allowed within the same Template. A template can be either Active or
768
+ # Inactive, as indicated by its status. Inactive templates cannot be
769
+ # used to create cases.
762
770
  #
763
771
  # @option params [String] :description
764
772
  # A brief description of the template.
@@ -776,6 +784,9 @@ module Aws::ConnectCases
776
784
  # A list of fields that must contain a value for a case to be
777
785
  # successfully created with this template.
778
786
  #
787
+ # @option params [String] :status
788
+ # The status of the template.
789
+ #
779
790
  # @return [Types::CreateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
780
791
  #
781
792
  # * {Types::CreateTemplateResponse#template_arn #template_arn} => String
@@ -795,6 +806,7 @@ module Aws::ConnectCases
795
806
  # field_id: "FieldId", # required
796
807
  # },
797
808
  # ],
809
+ # status: "Active", # accepts Active, Inactive
798
810
  # })
799
811
  #
800
812
  # @example Response structure
@@ -1002,6 +1014,7 @@ module Aws::ConnectCases
1002
1014
  # * {Types::GetTemplateResponse#layout_configuration #layout_configuration} => Types::LayoutConfiguration
1003
1015
  # * {Types::GetTemplateResponse#name #name} => String
1004
1016
  # * {Types::GetTemplateResponse#required_fields #required_fields} => Array<Types::RequiredField>
1017
+ # * {Types::GetTemplateResponse#status #status} => String
1005
1018
  # * {Types::GetTemplateResponse#tags #tags} => Hash<String,String>
1006
1019
  # * {Types::GetTemplateResponse#template_arn #template_arn} => String
1007
1020
  # * {Types::GetTemplateResponse#template_id #template_id} => String
@@ -1020,6 +1033,7 @@ module Aws::ConnectCases
1020
1033
  # resp.name #=> String
1021
1034
  # resp.required_fields #=> Array
1022
1035
  # resp.required_fields[0].field_id #=> String
1036
+ # resp.status #=> String, one of "Active", "Inactive"
1023
1037
  # resp.tags #=> Hash
1024
1038
  # resp.tags["String"] #=> String
1025
1039
  # resp.template_arn #=> String
@@ -1313,6 +1327,9 @@ module Aws::ConnectCases
1313
1327
  # previous response in the next request to retrieve the next set of
1314
1328
  # results.
1315
1329
  #
1330
+ # @option params [Array<String>] :status
1331
+ # A list of status values to filter on.
1332
+ #
1316
1333
  # @return [Types::ListTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1317
1334
  #
1318
1335
  # * {Types::ListTemplatesResponse#next_token #next_token} => String
@@ -1326,6 +1343,7 @@ module Aws::ConnectCases
1326
1343
  # domain_id: "DomainId", # required
1327
1344
  # max_results: 1,
1328
1345
  # next_token: "NextToken",
1346
+ # status: ["Active"], # accepts Active, Inactive
1329
1347
  # })
1330
1348
  #
1331
1349
  # @example Response structure
@@ -1333,6 +1351,7 @@ module Aws::ConnectCases
1333
1351
  # resp.next_token #=> String
1334
1352
  # resp.templates #=> Array
1335
1353
  # resp.templates[0].name #=> String
1354
+ # resp.templates[0].status #=> String, one of "Active", "Inactive"
1336
1355
  # resp.templates[0].template_arn #=> String
1337
1356
  # resp.templates[0].template_id #=> String
1338
1357
  #
@@ -1813,9 +1832,10 @@ module Aws::ConnectCases
1813
1832
 
1814
1833
  # Updates the attributes of an existing template. The template
1815
1834
  # attributes that can be modified include `name`, `description`,
1816
- # `layouts`, and `requiredFields`. At least one of these attributes must
1817
- # not be null. If a null value is provided for a given attribute, that
1818
- # attribute is ignored and its current value is preserved.
1835
+ # `layoutConfiguration`, `requiredFields`, and `status`. At least one of
1836
+ # these attributes must not be null. If a null value is provided for a
1837
+ # given attribute, that attribute is ignored and its current value is
1838
+ # preserved.
1819
1839
  #
1820
1840
  # @option params [String] :description
1821
1841
  # A brief description of the template.
@@ -1833,6 +1853,9 @@ module Aws::ConnectCases
1833
1853
  # A list of fields that must contain a value for a case to be
1834
1854
  # successfully created with this template.
1835
1855
  #
1856
+ # @option params [String] :status
1857
+ # The status of the template.
1858
+ #
1836
1859
  # @option params [required, String] :template_id
1837
1860
  # A unique identifier for the template.
1838
1861
  #
@@ -1852,6 +1875,7 @@ module Aws::ConnectCases
1852
1875
  # field_id: "FieldId", # required
1853
1876
  # },
1854
1877
  # ],
1878
+ # status: "Active", # accepts Active, Inactive
1855
1879
  # template_id: "TemplateId", # required
1856
1880
  # })
1857
1881
  #
@@ -1877,7 +1901,7 @@ module Aws::ConnectCases
1877
1901
  params: params,
1878
1902
  config: config)
1879
1903
  context[:gem_name] = 'aws-sdk-connectcases'
1880
- context[:gem_version] = '1.1.0'
1904
+ context[:gem_version] = '1.3.0'
1881
1905
  Seahorse::Client::Request.new(handlers, context)
1882
1906
  end
1883
1907
 
@@ -177,6 +177,8 @@ module Aws::ConnectCases
177
177
  TemplateDescription = Shapes::StringShape.new(name: 'TemplateDescription')
178
178
  TemplateId = Shapes::StringShape.new(name: 'TemplateId')
179
179
  TemplateName = Shapes::StringShape.new(name: 'TemplateName')
180
+ TemplateStatus = Shapes::StringShape.new(name: 'TemplateStatus')
181
+ TemplateStatusFilters = Shapes::ListShape.new(name: 'TemplateStatusFilters')
180
182
  TemplateSummary = Shapes::StructureShape.new(name: 'TemplateSummary')
181
183
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
182
184
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
@@ -324,6 +326,7 @@ module Aws::ConnectCases
324
326
  CreateTemplateRequest.add_member(:layout_configuration, Shapes::ShapeRef.new(shape: LayoutConfiguration, location_name: "layoutConfiguration"))
325
327
  CreateTemplateRequest.add_member(:name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "name"))
326
328
  CreateTemplateRequest.add_member(:required_fields, Shapes::ShapeRef.new(shape: RequiredFieldList, location_name: "requiredFields"))
329
+ CreateTemplateRequest.add_member(:status, Shapes::ShapeRef.new(shape: TemplateStatus, location_name: "status"))
327
330
  CreateTemplateRequest.struct_class = Types::CreateTemplateRequest
328
331
 
329
332
  CreateTemplateResponse.add_member(:template_arn, Shapes::ShapeRef.new(shape: TemplateArn, required: true, location_name: "templateArn"))
@@ -472,6 +475,7 @@ module Aws::ConnectCases
472
475
  GetTemplateResponse.add_member(:layout_configuration, Shapes::ShapeRef.new(shape: LayoutConfiguration, location_name: "layoutConfiguration"))
473
476
  GetTemplateResponse.add_member(:name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "name"))
474
477
  GetTemplateResponse.add_member(:required_fields, Shapes::ShapeRef.new(shape: RequiredFieldList, location_name: "requiredFields"))
478
+ GetTemplateResponse.add_member(:status, Shapes::ShapeRef.new(shape: TemplateStatus, required: true, location_name: "status"))
475
479
  GetTemplateResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
476
480
  GetTemplateResponse.add_member(:template_arn, Shapes::ShapeRef.new(shape: TemplateArn, required: true, location_name: "templateArn"))
477
481
  GetTemplateResponse.add_member(:template_id, Shapes::ShapeRef.new(shape: TemplateId, required: true, location_name: "templateId"))
@@ -560,6 +564,7 @@ module Aws::ConnectCases
560
564
  ListTemplatesRequest.add_member(:domain_id, Shapes::ShapeRef.new(shape: DomainId, required: true, location: "uri", location_name: "domainId"))
561
565
  ListTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
562
566
  ListTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
567
+ ListTemplatesRequest.add_member(:status, Shapes::ShapeRef.new(shape: TemplateStatusFilters, location: "querystring", location_name: "status"))
563
568
  ListTemplatesRequest.struct_class = Types::ListTemplatesRequest
564
569
 
565
570
  ListTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
@@ -684,7 +689,10 @@ module Aws::ConnectCases
684
689
  Tags.key = Shapes::ShapeRef.new(shape: String)
685
690
  Tags.value = Shapes::ShapeRef.new(shape: String)
686
691
 
692
+ TemplateStatusFilters.member = Shapes::ShapeRef.new(shape: TemplateStatus)
693
+
687
694
  TemplateSummary.add_member(:name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "name"))
695
+ TemplateSummary.add_member(:status, Shapes::ShapeRef.new(shape: TemplateStatus, required: true, location_name: "status"))
688
696
  TemplateSummary.add_member(:template_arn, Shapes::ShapeRef.new(shape: TemplateArn, required: true, location_name: "templateArn"))
689
697
  TemplateSummary.add_member(:template_id, Shapes::ShapeRef.new(shape: TemplateId, required: true, location_name: "templateId"))
690
698
  TemplateSummary.struct_class = Types::TemplateSummary
@@ -726,6 +734,7 @@ module Aws::ConnectCases
726
734
  UpdateTemplateRequest.add_member(:layout_configuration, Shapes::ShapeRef.new(shape: LayoutConfiguration, location_name: "layoutConfiguration"))
727
735
  UpdateTemplateRequest.add_member(:name, Shapes::ShapeRef.new(shape: TemplateName, location_name: "name"))
728
736
  UpdateTemplateRequest.add_member(:required_fields, Shapes::ShapeRef.new(shape: RequiredFieldList, location_name: "requiredFields"))
737
+ UpdateTemplateRequest.add_member(:status, Shapes::ShapeRef.new(shape: TemplateStatus, location_name: "status"))
729
738
  UpdateTemplateRequest.add_member(:template_id, Shapes::ShapeRef.new(shape: TemplateId, required: true, location: "uri", location_name: "templateId"))
730
739
  UpdateTemplateRequest.struct_class = Types::UpdateTemplateRequest
731
740
 
@@ -1181,6 +1190,7 @@ module Aws::ConnectCases
1181
1190
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1182
1191
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1183
1192
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1193
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1184
1194
  end)
1185
1195
 
1186
1196
  api.add_operation(:update_template, Seahorse::Model::Operation.new.tap do |o|
@@ -9,102 +9,43 @@
9
9
 
10
10
  module Aws::ConnectCases
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://cases-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://cases-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://cases.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://cases.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2Nhc2VzLWZpcHMue1JlZ2lvbn0ue1BhcnRp
77
- dGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6
78
- e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRp
79
- dGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5h
80
- YmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25l
81
- IG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3si
82
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9
83
- LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
84
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
85
- ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
86
- cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
87
- ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vY2FzZXMt
88
- Zmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
89
- cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
90
- fV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVk
91
- IGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0
92
- eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFu
93
- RXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19
94
- XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4i
95
- OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIi
96
- LCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNE
97
- dWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
98
- dGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Nhc2VzLntS
99
- ZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIs
100
- InByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
101
- dCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMg
102
- ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBE
103
- dWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10s
104
- ImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vY2FzZXMue1JlZ2lvbn0ue1Bh
105
- cnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
106
- YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
107
-
108
- JSON
109
50
  end
110
51
  end