bolognese 0.9.32 → 0.9.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/bolognese/metadata.rb +18 -4
  4. data/lib/bolognese/readers/codemeta_reader.rb +3 -1
  5. data/lib/bolognese/readers/crossref_reader.rb +4 -2
  6. data/lib/bolognese/readers/datacite_reader.rb +11 -5
  7. data/lib/bolognese/readers/schema_org_reader.rb +3 -1
  8. data/lib/bolognese/version.rb +1 -1
  9. data/lib/bolognese/writers/crosscite_writer.rb +4 -1
  10. data/lib/bolognese/writers/datacite_json_writer.rb +4 -1
  11. data/spec/author_utils_spec.rb +16 -16
  12. data/spec/cli_spec.rb +2 -2
  13. data/spec/datacite_utils_spec.rb +3 -0
  14. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +21 -646
  15. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +21 -646
  16. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +20 -645
  17. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +23 -646
  18. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +21 -646
  19. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +57 -12
  20. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +59 -12
  21. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +57 -12
  22. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +56 -13
  23. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +57 -12
  24. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +30 -563
  25. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +30 -563
  26. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +30 -563
  27. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +30 -563
  28. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +5 -171
  29. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +4 -168
  30. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +5 -171
  31. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +4 -170
  32. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +5 -171
  33. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +5 -171
  34. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +5 -171
  35. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +23 -177
  36. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +21 -177
  37. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +20 -176
  38. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +5 -171
  39. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +24 -180
  40. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +73 -18
  41. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +73 -18
  42. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +73 -18
  43. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +73 -20
  44. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +59 -12
  45. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +56 -13
  46. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +59 -12
  47. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +77 -20
  48. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +57 -12
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +57 -14
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +59 -12
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +57 -12
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +57 -12
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +57 -12
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +57 -14
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +57 -12
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +59 -12
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +59 -12
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +4 -168
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +10 -37
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/no_codemeta_json.yml +8 -8
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/not_found_error.yml +8 -8
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +21 -294
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +21 -214
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +21 -646
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +21 -152
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +21 -861
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +19 -11
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +21 -120
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +57 -12
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +43 -12
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +22 -10
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +57 -12
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +57 -12
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +56 -11
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +57 -12
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +58 -11
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +57 -12
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +57 -12
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +57 -12
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +57 -12
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +56 -13
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +57 -12
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml +57 -12
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +57 -12
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +4 -168
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +5 -171
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +4 -170
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +5 -171
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +4 -170
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +5 -169
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_ORCID.yml +83 -11
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_jacow_org_scheme.yml +82 -12
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_multiple_name_identifier.yml +83 -11
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_no_ORCID.yml +82 -12
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +68 -57
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml +33 -57
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +69 -56
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +68 -57
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +68 -57
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +68 -57
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +66 -55
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +4 -170
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +68 -57
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +47 -12
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +46 -13
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +47 -12
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +30 -563
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +18 -18
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml +3 -3
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +16 -8
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +19 -9
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +28 -50
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +27 -51
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +27 -51
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +26 -52
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +27 -51
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +27 -51
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +27 -51
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +27 -51
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +27 -51
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +27 -51
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +27 -51
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +27 -51
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +26 -50
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +27 -51
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +26 -52
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +28 -50
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +5 -171
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +4 -170
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +5 -169
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +5 -171
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +5 -171
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +5 -171
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +57 -12
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +57 -12
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +59 -12
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +57 -14
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +5 -169
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +5 -171
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +5 -171
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +5 -171
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +4 -170
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +5 -169
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +5 -171
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +5 -171
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +5 -171
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +5 -171
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +5 -171
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +5 -171
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +5 -171
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +5 -171
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +5 -171
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +5 -169
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +5 -171
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +5 -171
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +5 -171
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +5 -112
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +4 -111
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +5 -171
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +4 -111
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +5 -112
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +5 -169
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +5 -171
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +5 -171
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +4 -170
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +5 -171
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +5 -171
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +7 -64
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +6 -63
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +5 -112
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +7 -64
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +6 -63
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +7 -64
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +4 -111
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +7 -64
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +7 -64
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +7 -64
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +5 -171
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +5 -171
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +5 -171
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +4 -170
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +27 -51
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +27 -51
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +30 -563
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +10 -37
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +41 -6
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +5 -699
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +4 -344
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +27 -51
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +30 -563
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +27 -51
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +41 -6
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +5 -699
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +12 -39
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +41 -6
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +4 -344
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +27 -51
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +10 -37
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +5 -345
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +5 -699
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +30 -563
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +28 -50
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +9 -36
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +5 -345
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +4 -698
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +30 -563
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +28 -50
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +10 -37
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +5 -345
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +5 -699
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +30 -563
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +5 -912
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +27 -51
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +30 -563
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +27 -51
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +41 -6
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +5 -697
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +10 -37
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +4 -344
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +40 -5
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +41 -6
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +41 -6
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +27 -51
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +27 -51
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +5 -699
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +10 -37
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +55 -83
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml +28 -32
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_DataCite_JSON.yml +28 -32
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml +28 -32
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/DataONE.yml +28 -32
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +55 -83
  233. data/spec/readers/crossref_reader_spec.rb +2 -2
  234. data/spec/readers/datacite_reader_spec.rb +8 -3
  235. data/spec/readers/schema_org_reader_spec.rb +1 -1
  236. data/spec/writers/bibtex_writer_spec.rb +2 -2
  237. data/spec/writers/citeproc_writer_spec.rb +2 -2
  238. data/spec/writers/crosscite_writer_spec.rb +1 -0
  239. data/spec/writers/datacite_json_writer_spec.rb +2 -0
  240. data/spec/writers/datacite_writer_spec.rb +1 -1
  241. data/spec/writers/ris_writer_spec.rb +22 -19
  242. data/spec/writers/schema_org_writer_spec.rb +6 -3
  243. data/spec/writers/turtle_writer_spec.rb +1 -1
  244. metadata +1 -5
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/error.yml +0 -109
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_editor.yml +0 -944
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +0 -5317
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +0 -4963
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b0c0a171528b590b318f64da625f52a446297814
4
- data.tar.gz: f1e8cf7a65872534680cd0c85eff5e1286f0cb90
3
+ metadata.gz: df9a43170238eb90ba90485f7e5524d436c07b52
4
+ data.tar.gz: 1b77ced8bdcf0056e7dfe2c1a3d8c29db880e8d1
5
5
  SHA512:
6
- metadata.gz: 1fe3dabf4d4d1614d90579e1f0c351b17053b3dba39d511c88d3b95c09adf25b34a53b2fde6785baf0c1be0e88377fe7ac00e1bdda5c3d611b58ab380a10dc62
7
- data.tar.gz: ffc4e3701f1acfaa427333f1944aaccb586ee16a60d2116d668a8b7f2d66cf35bdc4a208ac101f60bbdfb737a72b672f0cfc957b7dec2835d843bd1662a633bb
6
+ metadata.gz: 4da8c5cac2555d72972cf4cae0b50c4e594c40a48f89b9b627e72929a93d19c0dba7798a6dd577edc7867e14e9935b77a4c958fa039a06df3cb4512afcc230ad
7
+ data.tar.gz: 0e2035841def30673ec6f042713d766afc1e196d85d8ecae9db019c2baaa144f48f98d2843e10c272a9330d76c26010e85221be037662656365cd9813042ff65
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.32)
4
+ bolognese (0.9.33)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -177,4 +177,4 @@ DEPENDENCIES
177
177
  webmock (~> 3.0, >= 3.0.1)
178
178
 
179
179
  BUNDLED WITH
180
- 1.15.2
180
+ 1.15.3
@@ -70,7 +70,7 @@ module Bolognese
70
70
  :is_compiled_by, :compiles, :is_variant_form_of, :is_original_form_of,
71
71
  :is_reviewed_by, :reviews, :is_derived_from, :is_source_of, :format,
72
72
  :related_identifier, :reverse, :citeproc_type, :ris_type, :volume, :issue,
73
- :name_detector
73
+ :member_id, :data_center_id, :name_detector
74
74
 
75
75
  def initialize(input: nil, from: nil, regenerate: false, **options)
76
76
  id = normalize_id(input)
@@ -79,7 +79,8 @@ module Bolognese
79
79
  @from = from || find_from_format(id: id)
80
80
 
81
81
  # generate name for method to call dynamically
82
- string = @from.present? ? send("get_" + @from, id: id, search_url: options[:search_url]) : nil
82
+ hsh = @from.present? ? send("get_" + @from, id: id, search_url: options[:search_url]) : nil
83
+ string = hsh.to_h.fetch("string", nil)
83
84
  elsif File.exist?(input)
84
85
  ext = File.extname(input)
85
86
  if %w(.bib .ris .xml .json).include?(ext)
@@ -99,6 +100,11 @@ module Bolognese
99
100
  @raw = string
100
101
  @should_passthru = (@from == "datacite") && !regenerate
101
102
  @doi = options[:doi].presence
103
+
104
+ @url = hsh.to_h["url"].presence
105
+ @date_modified = hsh.to_h["date_modified"].presence
106
+ @member_id = hsh.to_h["member_id"].presence
107
+ @data_center_id = hsh.to_h["data_center_id"].presence
102
108
  end
103
109
 
104
110
  def exists?
@@ -150,7 +156,7 @@ module Bolognese
150
156
  end
151
157
 
152
158
  def url
153
- metadata.fetch("url", nil)
159
+ @url ||= metadata.fetch("url", nil)
154
160
  end
155
161
 
156
162
  def title
@@ -210,7 +216,7 @@ module Bolognese
210
216
  end
211
217
 
212
218
  def date_modified
213
- metadata.fetch("date_modified", nil)
219
+ metadata.fetch("date_modified", @date_modified)
214
220
  end
215
221
 
216
222
  def volume
@@ -253,6 +259,14 @@ module Bolognese
253
259
  metadata.fetch("funding", nil)
254
260
  end
255
261
 
262
+ def member_id
263
+ @member_id ||= metadata.fetch("member_id", nil)
264
+ end
265
+
266
+ def data_center_id
267
+ @data_center_id ||= metadata.fetch("data_center_id", nil)
268
+ end
269
+
256
270
  def is_identical_to
257
271
  metadata.fetch("is_identical_to", nil)
258
272
  end
@@ -5,7 +5,9 @@ module Bolognese
5
5
  return nil unless id.present?
6
6
  id = normalize_id(id)
7
7
  response = Maremma.get(github_as_codemeta_url(id), accept: "json", raw: true)
8
- response.body.fetch("data", nil)
8
+ string = response.body.fetch("data", nil)
9
+
10
+ { "string" => string }
9
11
  end
10
12
 
11
13
  def read_codemeta(string: nil)
@@ -69,7 +69,9 @@ module Bolognese
69
69
  url = "http://www.crossref.org/openurl/?id=doi:#{doi}&noredirect=true&pid=#{CONTACT_EMAIL}&format=unixref"
70
70
  response = Maremma.get(url, accept: "text/xml", raw: true)
71
71
  string = response.body.fetch("data", nil)
72
- Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).to_s if string.present?
72
+ string = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).to_s if string.present?
73
+
74
+ { "string" => string }
73
75
  end
74
76
 
75
77
  def read_crossref(string: nil)
@@ -229,7 +231,7 @@ module Bolognese
229
231
  refs = bibliographic_metadata.dig("citation_list", "citation")
230
232
  Array.wrap(refs).select { |a| a["doi"].present? }.map do |c|
231
233
  { "type" => "CreativeWork",
232
- "id" => normalize_id(c["doi"]),
234
+ "id" => normalize_id(parse_attributes(c["doi"])),
233
235
  "title" => c["article_title"] }.compact
234
236
  end.unwrap
235
237
  end
@@ -6,7 +6,7 @@ module Bolognese
6
6
 
7
7
  doi = doi_from_url(id)
8
8
  url = options.fetch(:search_url, nil).presence || "https://search.datacite.org/api"
9
- url += "?q=doi:#{doi}&fl=doi,xml,media,minted,updated&wt=json"
9
+ url += "?q=doi:#{doi}&fl=doi,xml,allocator_symbol,datacentre_symbol,media,updated&wt=json"
10
10
 
11
11
  response = Maremma.get url
12
12
  attributes = response.body.dig("data", "response", "docs").first
@@ -14,10 +14,16 @@ module Bolognese
14
14
 
15
15
  string = attributes.fetch('xml', "PGhzaD48L2hzaD4=\n")
16
16
  string = Base64.decode64(string)
17
- if string.present?
18
- doc = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks)
19
- doc.to_s
20
- end
17
+ string = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).to_s if string.present?
18
+
19
+ response = Maremma.head(id, limit: 0)
20
+ url = response.headers.present? ? response.headers["location"] : nil
21
+
22
+ { "string" => string,
23
+ "date_modified" => attributes.fetch("updated", nil),
24
+ "allocator_id" => attributes.fetch("allocator_symbol", nil),
25
+ "data_center_id" => attributes.fetch("datacentre_symbol", nil),
26
+ "url" => url }
21
27
  end
22
28
 
23
29
  def read_datacite(string: nil)
@@ -66,7 +66,9 @@ module Bolognese
66
66
  response = Maremma.get(id)
67
67
  doc = Nokogiri::XML(response.body.fetch("data", nil), nil, 'UTF-8')
68
68
  string = doc.at_xpath('//script[@type="application/ld+json"]')
69
- string.text if string.present?
69
+ string = string.text if string.present?
70
+
71
+ { "string" => string }
70
72
  end
71
73
 
72
74
  def schema_org_related_identifier(meta, relation_type: nil)
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.32"
2
+ VERSION = "0.9.33"
3
3
  end
@@ -3,10 +3,11 @@ module Bolognese
3
3
  module CrossciteWriter
4
4
  def crosscite
5
5
  return nil unless valid?
6
-
6
+
7
7
  hsh = {
8
8
  "id" => id,
9
9
  "doi" => doi,
10
+ "url" => url,
10
11
  "type" => type,
11
12
  "additional_type" => additional_type,
12
13
  "citeproc_type" => citeproc_type,
@@ -42,6 +43,8 @@ module Bolognese
42
43
  "spatial_coverage" => spatial_coverage,
43
44
  "funding" => funding,
44
45
  "schema_version" => schema_version,
46
+ "member_id" => member_id,
47
+ "data_center_id" => data_center_id,
45
48
  "provider" => provider
46
49
  }.compact
47
50
  JSON.pretty_generate hsh.presence
@@ -3,10 +3,11 @@ module Bolognese
3
3
  module DataciteJsonWriter
4
4
  def datacite_json
5
5
  return nil unless valid?
6
-
6
+
7
7
  hsh = {
8
8
  "id" => id,
9
9
  "doi" => doi,
10
+ "url" => url,
10
11
  "creator" => author,
11
12
  "title" => title,
12
13
  "publisher" => publisher,
@@ -38,6 +39,8 @@ module Bolognese
38
39
  "geo-location" => spatial_coverage,
39
40
  "funding-reference" => funding,
40
41
  "schemaVersion" => schema_version,
42
+ "member_id" => member_id,
43
+ "data_center_id" => data_center_id,
41
44
  "provider" => provider
42
45
  }.compact
43
46
  JSON.pretty_generate hsh.presence
@@ -41,7 +41,7 @@ describe Bolognese::Metadata, vcr: true do
41
41
  it "has familyName" do
42
42
  input = "https://doi.org/10.5438/4K3M-NYVG"
43
43
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
44
- string = subject.get_datacite(id: input)
44
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
45
45
  meta = Maremma.from_xml(string).fetch("resource", {})
46
46
  response = subject.get_one_author(meta.dig("creators", "creator"))
47
47
  expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
@@ -50,7 +50,7 @@ describe Bolognese::Metadata, vcr: true do
50
50
  it "has name in sort-order" do
51
51
  input = "https://doi.org/10.5061/dryad.8515"
52
52
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
53
- string = subject.get_datacite(id: input)
53
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
54
54
  meta = Maremma.from_xml(string).fetch("resource", {})
55
55
  response = subject.get_one_author(meta.dig("creators", "creator").first)
56
56
  expect(response).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
@@ -59,7 +59,7 @@ describe Bolognese::Metadata, vcr: true do
59
59
  it "has name in display-order" do
60
60
  input = "https://doi.org/10.5281/ZENODO.48440"
61
61
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
62
- string = subject.get_datacite(id: input)
62
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
63
63
  meta = Maremma.from_xml(string).fetch("resource", {})
64
64
  response = subject.get_one_author(meta.dig("creators", "creator"))
65
65
  expect(response).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
@@ -68,7 +68,7 @@ describe Bolognese::Metadata, vcr: true do
68
68
  it "has multiple names in display-order" do
69
69
  input = "https://doi.org/10.6084/M9.FIGSHARE.3479141 "
70
70
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
71
- string = subject.get_datacite(id: input)
71
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
72
72
  meta = Maremma.from_xml(string).fetch("resource", {})
73
73
  response = subject.get_authors(meta.dig("creators", "creator"))
74
74
  expect(response.count).to eq(9)
@@ -78,7 +78,7 @@ describe Bolognese::Metadata, vcr: true do
78
78
  it "has name in display-order with ORCID" do
79
79
  input = "https://doi.org/10.6084/M9.FIGSHARE.4700788"
80
80
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
81
- string = subject.get_datacite(id: input)
81
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
82
82
  meta = Maremma.from_xml(string).fetch("resource", {})
83
83
  response = subject.get_one_author(meta.dig("creators", "creator"))
84
84
  expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-4881-1606", "name"=>"Andrea Bedini", "givenName"=>"Andrea", "familyName"=>"Bedini")
@@ -87,7 +87,7 @@ describe Bolognese::Metadata, vcr: true do
87
87
  it "has name in Thai" do
88
88
  input = "https://doi.org/10.14457/KMITL.res.2006.17"
89
89
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
90
- string = subject.get_datacite(id: input)
90
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
91
91
  meta = Maremma.from_xml(string).fetch("resource", {})
92
92
  response = subject.get_one_author(meta.dig("creators", "creator"))
93
93
  expect(response).to eq("name"=>"กัญจนา แซ่เตียว")
@@ -96,7 +96,7 @@ describe Bolognese::Metadata, vcr: true do
96
96
  it "multiple author names in one field" do
97
97
  input = "https://doi.org/10.7910/dvn/eqtqyo"
98
98
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
99
- string = subject.get_datacite(id: input)
99
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
100
100
  meta = Maremma.from_xml(string).fetch("resource", {})
101
101
  response = subject.get_authors(meta.dig("creators", "creator"))
102
102
  expect(response).to eq([{"type"=>"Person",
@@ -116,7 +116,7 @@ describe Bolognese::Metadata, vcr: true do
116
116
  it "hyper-authorship" do
117
117
  input = "https://doi.org/10.17182/HEPDATA.77274.V1"
118
118
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
119
- string = subject.get_datacite(id: input)
119
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
120
120
  meta = Maremma.from_xml(string).fetch("resource", {})
121
121
  response = subject.get_authors(meta.dig("creators", "creator"))
122
122
  expect(response.length).to eq(1000)
@@ -132,16 +132,16 @@ describe Bolognese::Metadata, vcr: true do
132
132
  it "name with affiliation" do
133
133
  input = "10.11588/DIGLIT.6130"
134
134
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
135
- string = subject.get_datacite(id: input)
135
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
136
136
  meta = Maremma.from_xml(string).fetch("resource", {})
137
137
  response = subject.get_one_author(meta.dig("creators", "creator"))
138
- expect(response).to eq("type"=>"Person", "name"=>"Dr. Störi, Kunstsalon")
138
+ expect(response).to eq("type"=>"Person", "id"=>"http://d-nb.info/gnd/10113301-7/10113301-7", "name"=>"Dr. Störi, Kunstsalon <Zürich>")
139
139
  end
140
140
 
141
141
  it "name with role" do
142
142
  input = "10.14463/GBV:873056442"
143
143
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
144
- string = subject.get_datacite(id: input)
144
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
145
145
  meta = Maremma.from_xml(string).fetch("resource", {})
146
146
  response = subject.get_one_author(meta.dig("creators", "creator").first)
147
147
  expect(response).to eq("type"=>"Person", "name"=>"H. C. Schumacher", "givenName"=>"H. C.", "familyName"=>"Schumacher")
@@ -150,7 +150,7 @@ describe Bolognese::Metadata, vcr: true do
150
150
  it "multiple name_identifier" do
151
151
  input = "10.24350/CIRM.V.19028803"
152
152
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
153
- string = subject.get_datacite(id: input)
153
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
154
154
  meta = Maremma.from_xml(string).fetch("resource", {})
155
155
  response = subject.get_one_author(meta.dig("creators", "creator"))
156
156
  expect(response).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-4514-4211", "name"=>"Thomas Dubos", "givenName"=>"Thomas", "familyName"=>"Dubos", "identifier"=>["https://orcid.org/0000-0003-4514-4211", "http://isni.org/isni/0000-0003-5752-6882"])
@@ -161,7 +161,7 @@ describe Bolognese::Metadata, vcr: true do
161
161
  it "has ORCID" do
162
162
  input = "https://doi.org/10.5438/4K3M-NYVG"
163
163
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
164
- string = subject.get_datacite(id: input)
164
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
165
165
  meta = Maremma.from_xml(string).fetch("resource", {})
166
166
  response = subject.get_name_identifiers(meta.dig("creators", "creator"))
167
167
  expect(response).to eq(["https://orcid.org/0000-0003-1419-2405"])
@@ -170,7 +170,7 @@ describe Bolognese::Metadata, vcr: true do
170
170
  it "has no ORCID" do
171
171
  input = "https://doi.org/10.4230/lipics.tqc.2013.93"
172
172
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
173
- string = subject.get_datacite(id: input)
173
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
174
174
  meta = Maremma.from_xml(string).fetch("resource", {})
175
175
  response = subject.get_name_identifiers(meta.dig("creators", "creator"))
176
176
  expect(response).to be_empty
@@ -179,7 +179,7 @@ describe Bolognese::Metadata, vcr: true do
179
179
  it "has jacow.org scheme" do
180
180
  input = "https://doi.org/10.18429/JACOW-IPAC2016-TUPMY003"
181
181
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
182
- string = subject.get_datacite(id: input)
182
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
183
183
  meta = Maremma.from_xml(string).fetch("resource", {})
184
184
  response = subject.get_name_identifiers(meta.dig("creators", "creator").first)
185
185
  expect(response).to eq(["http://jacow.org/JACoW-00077389"])
@@ -188,7 +188,7 @@ describe Bolognese::Metadata, vcr: true do
188
188
  it "has multiple name_identifier" do
189
189
  input = "https://doi.org/10.24350/CIRM.V.19028803"
190
190
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
191
- string = subject.get_datacite(id: input)
191
+ string = subject.get_datacite(id: input).to_h.fetch("string", nil)
192
192
  meta = Maremma.from_xml(string).fetch("resource", {})
193
193
  response = subject.get_name_identifiers(meta.dig("creators", "creator"))
194
194
  expect(response).to eq(["https://orcid.org/0000-0003-4514-4211", "http://isni.org/isni/0000-0003-5752-6882"])
data/spec/cli_spec.rb CHANGED
@@ -54,7 +54,7 @@ describe Bolognese::CLI do
54
54
 
55
55
  it 'to datacite' do
56
56
  subject.options = { to: "datacite" }
57
- expect { subject.convert id }.to output(/http:\/\/datacite.org\/schema\/kernel-3/).to_stdout
57
+ expect { subject.convert id }.to output(/http:\/\/datacite.org\/schema\/kernel-4/).to_stdout
58
58
  end
59
59
 
60
60
  it 'to datacite_json' do
@@ -82,7 +82,7 @@ describe Bolognese::CLI do
82
82
 
83
83
  it 'to bibtex' do
84
84
  subject.options = { to: "bibtex" }
85
- expect { subject.convert id }.to output(/@article{https:\/\/doi.org\/10.5438\/4k3m-nyvg/).to_stdout
85
+ expect { subject.convert id }.to output(/@article{https:\/\/doi.org\/10.5438\/0000-01hc/).to_stdout
86
86
  end
87
87
  end
88
88
  end
@@ -128,6 +128,9 @@ describe Bolognese::Metadata, vcr: true do
128
128
  "__content__"=>"https://doi.org/10.5061/dryad.8515/2"},
129
129
  {"relatedIdentifierType"=>"DOI",
130
130
  "relationType"=>"IsReferencedBy",
131
+ "__content__"=>"https://doi.org/10.1371/journal.ppat.1000446"},
132
+ {"relatedIdentifierType"=>"DOI",
133
+ "relationType"=>"IsSupplementTo",
131
134
  "__content__"=>"https://doi.org/10.1371/journal.ppat.1000446"}])
132
135
  end
133
136
  end
@@ -14,7 +14,7 @@ http_interactions:
14
14
  response:
15
15
  status:
16
16
  code: 200
17
- message: ''
17
+ message: OK
18
18
  headers:
19
19
  Access-Control-Allow-Headers:
20
20
  - Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 06 May 2017 11:43:08 GMT
32
+ - Sat, 22 Jul 2017 16:29:14 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -38,16 +38,26 @@ http_interactions:
38
38
  - 200 OK
39
39
  Vary:
40
40
  - Accept-Encoding
41
+ Via:
42
+ - kong/0.10.3
41
43
  X-Content-Type-Options:
42
44
  - nosniff
43
45
  X-Frame-Options:
44
46
  - SAMEORIGIN
47
+ X-Kong-Proxy-Latency:
48
+ - '1'
49
+ X-Kong-Upstream-Latency:
50
+ - '789'
45
51
  X-Powered-By:
46
- - Phusion Passenger 5.1.2
52
+ - Phusion Passenger 5.1.5
53
+ X-Ratelimit-Limit-Hour:
54
+ - '100000'
55
+ X-Ratelimit-Remaining-Hour:
56
+ - '99995'
47
57
  X-Request-Id:
48
- - 2f1bdb1c-3cc4-4a53-95cf-4ade62881b46
58
+ - 665a2457-5554-4f21-ac4a-b95cb943a45f
49
59
  X-Runtime:
50
- - '0.207923'
60
+ - '0.787498'
51
61
  X-Xss-Protection:
52
62
  - 1; mode=block
53
63
  Content-Length:
@@ -58,7 +68,7 @@ http_interactions:
58
68
  encoding: UTF-8
59
69
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
60
70
  http_version:
61
- recorded_at: Sat, 06 May 2017 11:43:08 GMT
71
+ recorded_at: Sat, 22 Jul 2017 16:29:13 GMT
62
72
  - request:
63
73
  method: get
64
74
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -73,659 +83,24 @@ http_interactions:
73
83
  response:
74
84
  status:
75
85
  code: 200
76
- message: ''
86
+ message: OK
77
87
  headers:
78
88
  Server:
79
89
  - Apache-Coyote/1.1
80
90
  Crossref-Deployment-Name:
81
- - cr6-1
91
+ - cr7-1
82
92
  Content-Type:
83
93
  - text/xml;charset=UTF-8
84
94
  Content-Language:
85
95
  - en-US
86
96
  Date:
87
- - Sat, 06 May 2017 11:43:08 GMT
97
+ - Sat, 22 Jul 2017 16:29:13 GMT
88
98
  Connection:
89
99
  - close
90
100
  body:
91
101
  encoding: ASCII-8BIT
92
102
  string: !binary |-
93
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9y
94
- ZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0
95
- YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQog
96
- ICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFu
97
- Z3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVs
98
- bF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJv
99
- bmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRh
100
- ZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1
101
- YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAg
102
- ICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9k
103
- YXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAg
104
- IDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1
105
- bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAg
106
- ICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+
107
- DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0i
108
- ZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAg
109
- PHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVh
110
- bHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lz
111
- IGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAg
112
- ICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAg
113
- ICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIg
114
- c2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+
115
- TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+
116
- U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4N
117
- CiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJh
118
- dXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAg
119
- PGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAg
120
- IDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9w
121
- ZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmli
122
- dXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAg
123
- ICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQog
124
- ICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAg
125
- ICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFt
126
- ZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlv
127
- bmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2
128
- ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1
129
- cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAg
130
- ICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2Vx
131
- dWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFt
132
- ZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1
133
- cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29u
134
- X25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAg
135
- PHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAg
136
- ICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjEx
137
- PC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAg
138
- ICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVy
139
- X2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2ki
140
- PjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAg
141
- PC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAg
142
- ICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJz
143
- aW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2ll
144
- bmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21h
145
- cmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+
146
- DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5v
147
- cmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlu
148
- Pg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAg
149
- ICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3Nt
150
- YXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21l
151
- dGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2Vp
152
- dmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9u
153
- X2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBv
154
- cmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAg
155
- ICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQi
156
- IGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVs
157
- PSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwv
158
- YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1
159
- Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGlj
160
- YXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3Rv
161
- cnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAg
162
- ICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAg
163
- ICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAg
164
- ICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNY
165
- PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQog
166
- ICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0K
167
- ICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFt
168
- ZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAg
169
- ICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0
170
- cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRp
171
- b24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAg
172
- ICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0
173
- aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNz
174
- ZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAg
175
- ICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAg
176
- ICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZp
177
- ZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwv
178
- YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQog
179
- ICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAg
180
- PGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAg
181
- ICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAg
182
- ICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAg
183
- ICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIg
184
- cHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAz
185
- OS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAg
186
- IDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0K
187
- ICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9n
188
- cmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAg
189
- IDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2
190
- ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0K
191
- ICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+
192
- aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwv
193
- bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFw
194
- cGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGlj
195
- ZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwv
196
- cHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAg
197
- ICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAg
198
- ICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAg
199
- ICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9s
200
- b29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAg
201
- ICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+
202
- DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAg
203
- ICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAg
204
- ICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAg
205
- ICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJz
206
- dF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFy
207
- PjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0
208
- dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAg
209
- ICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpv
210
- dXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAg
211
- ICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAg
212
- ICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3Rf
213
- cGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4y
214
- MDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0
215
- aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+
216
- DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAg
217
- ICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3Vy
218
- bmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1
219
- dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAg
220
- ICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAg
221
- ICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAg
222
- IDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9p
223
- Pg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRh
224
- dGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5O
225
- ZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAg
226
- ICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZv
227
- bHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4y
228
- MTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwv
229
- Y1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3
230
- NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAg
231
- ICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpv
232
- dXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4N
233
- CiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAg
234
- ICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8
235
- Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxj
236
- WWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQog
237
- ICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAg
238
- PGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQog
239
- ICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAg
240
- ICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZp
241
- cnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVh
242
- cj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAg
243
- ICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpv
244
- dXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVu
245
- dGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxh
246
- dXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8
247
- L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmly
248
- c3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0K
249
- ICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4w
250
- MDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAg
251
- ICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxf
252
- dGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAg
253
- ICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAg
254
- PHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3Bh
255
- Z2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIw
256
- MTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5
257
- MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAg
258
- ICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5h
259
- bF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAg
260
- ICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAg
261
- ICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3Rf
262
- cGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZ
263
- ZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEv
264
- am91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0
265
- YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAg
266
- ICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJp
267
- b2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+
268
- RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1
269
- bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFn
270
- ZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAg
271
- ICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAg
272
- ICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5
273
- PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0
274
- ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdy
275
- YW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwv
276
- dm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3Rf
277
- cGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAg
278
- ICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcu
279
- MDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAg
280
- ICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5h
281
- bF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91
282
- cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9h
283
- dXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAg
284
- ICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAg
285
- ICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8
286
- ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAg
287
- ICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIx
288
- MyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8
289
- L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWth
290
- d2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1l
291
- Pg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdl
292
- Pg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAg
293
- ICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAg
294
- ICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBr
295
- ZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2Vl
296
- ZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2Yg
297
- dGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4N
298
- CiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAg
299
- ICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAg
300
- ICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAg
301
- ICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEw
302
- LjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2Np
303
- dGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAg
304
- ICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxl
305
- Pg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4N
306
- CiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAg
307
- ICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAg
308
- ICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4x
309
- MC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAg
310
- ICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYi
311
- Pg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3Vy
312
- bmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8
313
- L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4N
314
- CiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4N
315
- CiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAg
316
- ICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAg
317
- ICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtl
318
- eT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQ
319
- aHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9y
320
- Pk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1
321
- PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmly
322
- c3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0K
323
- ICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9p
324
- Pg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRh
325
- dGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+
326
- TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAg
327
- ICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAg
328
- PHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFn
329
- ZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAw
330
- NjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2
331
- LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAg
332
- ICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3Vy
333
- bmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15
334
- IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8
335
- L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248
336
- L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0K
337
- ICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0K
338
- ICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAg
339
- ICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAg
340
- ICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9
341
- IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3Jt
342
- YXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+
343
- UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVt
344
- ZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdl
345
- Pg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAg
346
- ICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2Rv
347
- aT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0
348
- YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxl
349
- PlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxh
350
- dXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4y
351
- Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9m
352
- aXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+
353
- DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwv
354
- ZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxj
355
- aXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5r
356
- YXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFy
357
- Pg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2Rv
358
- aT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0
359
- YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxl
360
- PkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAg
361
- ICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZv
362
- bHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40
363
- NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9j
364
- WWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDgu
365
- MDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAg
366
- ICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91
367
- cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxl
368
- Pg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAg
369
- ICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAg
370
- ICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAg
371
- IDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4x
372
- MTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAg
373
- ICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1
374
- Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNp
375
- b24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAg
376
- ICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAg
377
- ICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3Rf
378
- cGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4y
379
- MDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEz
380
- OC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0K
381
- ICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAg
382
- ICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAg
383
- ICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAg
384
- ICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmly
385
- c3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVh
386
- cj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ou
387
- Y2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlv
388
- bj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAg
389
- ICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91
390
- cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhv
391
- cj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAg
392
- ICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAg
393
- ICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRv
394
- aT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRp
395
- b24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxj
396
- b21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50
397
- X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+
398
- DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAg
399
- PGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAg
400
- ICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQg
401
- bWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9p
402
- X2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAx
403
- NTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRw
404
- Oi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZl
405
- LjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2Rh
406
- dGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxj
407
- b21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAg
408
- ICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAg
409
- ICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAg
410
- ICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAg
411
- ICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4N
412
- CiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxk
413
- b2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAg
414
- ICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1
415
- cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAg
416
- ICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25l
417
- bnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0i
418
- aXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAg
419
- ICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlz
420
- aXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGgu
421
- PC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAg
422
- ICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAg
423
- ICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNl
424
- Y3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAo
425
- b3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNl
426
- ZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5k
427
- IDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUg
428
- R1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAg
429
- ICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAg
430
- ICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGlu
431
- ZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAg
432
- PGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhl
433
- IGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGlu
434
- Y3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1
435
- ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAg
436
- ICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2Nv
437
- dHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGls
438
- ZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAg
439
- ICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5n
440
- IGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8
441
- Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21l
442
- bnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAg
443
- ICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51
444
- bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkg
445
- Y2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxv
446
- dHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNl
447
- Y3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRs
448
- ZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxm
449
- b3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAg
450
- ICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VM
451
- aWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJj
452
- ZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0
453
- L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwv
454
- ZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAg
455
- ICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQog
456
- ICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxl
457
- PkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBh
458
- cHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4N
459
- CiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8
460
- L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21w
461
- dXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8g
462
- YW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAg
463
- ICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlm
464
- ZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQog
465
- ICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90
466
- aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFn
467
- ZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAg
468
- ICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0K
469
- ICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNl
470
- cy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVz
471
- b3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAg
472
- ICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50
473
- X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+
474
- DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1
475
- cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlv
476
- biB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQog
477
- ICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2lu
478
- dHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29y
479
- ZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVh
480
- dHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxv
481
- d2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1
482
- ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBs
483
- b2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+
484
- DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZm
485
- IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAg
486
- ICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAg
487
- ICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcv
488
- bG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+
489
- DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2Nv
490
- bXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0
491
- aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAg
492
- ICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0
493
- aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAg
494
- IDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAg
495
- ICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBh
496
- bCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRz
497
- IHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXpl
498
- ZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNj
499
- cmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJp
500
- YXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4g
501
- KA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAg
502
- ICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9n
503
- cmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAg
504
- ICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVt
505
- IHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQg
506
- ZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9l
507
- bSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5k
508
- aWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0
509
- aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAg
510
- IDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAg
511
- ICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0
512
- L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNv
513
- dXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43
514
- NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAg
515
- IDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAg
516
- ICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+
517
- DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRp
518
- dGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5l
519
- IGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAg
520
- ICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAg
521
- ICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBh
522
- bmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAg
523
- ICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBh
524
- bmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGlu
525
- IExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAg
526
- ICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAg
527
- ICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRl
528
- ciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4g
529
- VGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEg
530
- b2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxs
531
- IG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAg
532
- ICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAg
533
- ICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZp
534
- b2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxs
535
- dXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBj
536
- b2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24g
537
- YW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUg
538
- dHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0K
539
- ICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1h
540
- dCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxk
541
- b2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUu
542
- MDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0
543
- dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxp
544
- ZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lf
545
- ZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAg
546
- PGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAg
547
- ICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+Rmln
548
- dXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24g
549
- b2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAg
550
- ICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4g
551
- dGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBl
552
- bGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRo
553
- YXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0
554
- aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAg
555
- IDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAg
556
- ICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0
557
- L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNv
558
- dXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43
559
- NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAg
560
- IDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAg
561
- ICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+
562
- DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRp
563
- dGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2Yg
564
- aW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93
565
- dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3Vi
566
- dGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAg
567
- ICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAg
568
- ICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5
569
- IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRp
570
- b24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2
571
- ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNy
572
- b3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUg
573
- cmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRp
574
- c3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdy
575
- ZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlh
576
- bCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBm
577
- cm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAg
578
- KHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBk
579
- ZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRl
580
- cm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNl
581
- Y3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2Yg
582
- dGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNs
583
- YXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9m
584
- IHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91
585
- dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAg
586
- IDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAg
587
- ICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAg
588
- ICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+
589
- MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAg
590
- ICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9k
591
- b2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAg
592
- ICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+
593
- DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQ
594
- YXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAg
595
- ICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFu
596
- YWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9u
597
- cyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAg
598
- IDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1
599
- MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wt
600
- MC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3Zl
601
- ciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9u
602
- cy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAg
603
- ICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQog
604
- ICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9p
605
- PjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAg
606
- ICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAv
607
- ZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAg
608
- ICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50
609
- Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249Imlz
610
- UGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAg
611
- ICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUg
612
- cGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRs
613
- ZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxi
614
- PkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3Np
615
- YW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9m
616
- IHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBD
617
- b2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0g
618
- cG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAg
619
- ICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdp
620
- bmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2Vj
621
- dGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBt
622
- YXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVn
623
- aW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBv
624
- bGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcg
625
- Y29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAg
626
- ICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJl
627
- cG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+Qzwv
628
- Yj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBm
629
- dW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAg
630
- ICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBm
631
- cm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50
632
- IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5j
633
- ZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0K
634
- ICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwv
635
- dGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1h
636
- Z2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAg
637
- ICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4N
638
- CiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5j
639
- ZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jl
640
- c291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAg
641
- ICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVu
642
- dF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8
643
- dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAg
644
- ICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAg
645
- ICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5h
646
- dGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmli
647
- ZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAg
648
- IDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3Jt
649
- YXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1
650
- cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAg
651
- ICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBv
652
- ZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQog
653
- ICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAg
654
- KSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1
655
- cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAg
656
- ICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2Yg
657
- dGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVy
658
- dmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNz
659
- aWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAg
660
- ICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxl
661
- cz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0
662
- aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRz
663
- aGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQog
664
- ICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwv
665
- ZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVz
666
- Y2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAx
667
- MjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAg
668
- ICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQg
669
- cGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAg
670
- ICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1l
671
- bnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBD
672
- b2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxl
673
- cz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0
674
- aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRz
675
- aGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQog
676
- ICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwv
677
- ZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVz
678
- Y2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAx
679
- MzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAg
680
- ICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQg
681
- cGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAg
682
- ICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1l
683
- bnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBM
684
- ZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+
685
- DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlv
686
- bi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hl
687
- ZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAg
688
- ICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2Rv
689
- aT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2Np
690
- ZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8
691
- L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAg
692
- ICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBh
693
- cmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAg
694
- ICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50
695
- YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVu
696
- b3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAg
697
- ICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQg
698
- bWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2Zm
699
- aWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAg
700
- ICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1
701
- NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVz
702
- b3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAu
703
- NzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAg
704
- ICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAg
705
- ICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2Yi
706
- Pg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0
707
- aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwv
708
- Yj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8
709
- L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRl
710
- eHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAg
711
- ICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+
712
- DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVu
713
- Y2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9y
714
- ZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAg
715
- ICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJl
716
- bnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxl
717
- cz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAg
718
- ICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90
719
- aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAg
720
- IDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAg
721
- ICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0
722
- L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNv
723
- dXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43
724
- NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAg
725
- IDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAg
726
- ICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0
727
- aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8
728
- L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
103
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
729
104
  http_version:
730
- recorded_at: Sat, 06 May 2017 11:43:09 GMT
105
+ recorded_at: Sat, 22 Jul 2017 16:29:13 GMT
731
106
  recorded_with: VCR 3.0.3