bolognese 0.13.4 → 0.13.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (319) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/bolognese/readers/datacite_reader.rb +2 -3
  4. data/lib/bolognese/utils.rb +16 -11
  5. data/lib/bolognese/version.rb +1 -1
  6. data/spec/fixtures/funding_reference.xml +53 -0
  7. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +15 -15
  8. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +16 -16
  9. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +21 -21
  10. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +15 -15
  11. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +16 -16
  12. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +16 -16
  13. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +15 -15
  14. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +16 -26
  15. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +17 -27
  16. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +23 -33
  17. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +17 -27
  18. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +17 -27
  19. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +17 -27
  20. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +17 -27
  21. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +18 -18
  22. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +18 -18
  23. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +18 -18
  24. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +18 -18
  25. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +11 -11
  26. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +12 -22
  27. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +3 -3
  28. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +4 -4
  29. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +4 -4
  30. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +4 -4
  31. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +17 -27
  32. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +17 -27
  33. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +5 -5
  34. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +5 -5
  35. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +4 -4
  36. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +5 -5
  37. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +5 -5
  38. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +4 -4
  39. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +4 -4
  40. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +3 -3
  41. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +3 -3
  42. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +4 -4
  43. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +3 -3
  44. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +4 -4
  45. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +15 -15
  46. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +16 -26
  47. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +15 -15
  48. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +4 -4
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +11 -11
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +4 -4
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +4 -4
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +3 -3
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +4 -4
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +4 -4
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +4 -4
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +3 -3
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/doi.yml +4 -4
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/doi_with_protocol.yml +4 -4
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/dx_doi_org_url.yml +4 -4
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/force_test_resolver.yml +4 -4
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/https_url.yml +4 -4
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/test_resolver.yml +4 -4
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/test_resolver_http.yml +4 -4
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +27 -29
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +27 -29
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +28 -32
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +29 -33
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +17 -19
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +17 -19
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +16 -18
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +24 -26
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +17 -19
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +16 -18
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +17 -19
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +16 -18
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +17 -19
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +16 -18
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +17 -19
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +17 -19
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +17 -19
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +17 -19
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +4 -4
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +11 -11
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +12 -12
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +15 -15
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +16 -16
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +14 -14
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +14 -14
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +15 -15
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +14 -14
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +15 -15
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +15 -15
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +15 -15
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +14 -14
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +17 -19
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +16 -16
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +104 -0
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +16 -16
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +16 -26
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +16 -16
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +17 -19
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +15 -15
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +15 -15
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +16 -16
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +19 -19
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +14 -12
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +19 -19
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +19 -19
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +20 -20
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +18 -18
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +16 -16
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +17 -17
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +16 -16
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +16 -16
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml +19 -18
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +15 -15
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +20 -20
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +15 -15
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +15 -15
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +4 -4
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +4 -4
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +3 -3
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +4 -4
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +3 -3
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +4 -4
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +4 -4
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +4 -4
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +3 -3
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_ORCID.yml +5 -5
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_jacow_org_scheme.yml +5 -5
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_multiple_name_identifier.yml +5 -5
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_no_ORCID.yml +5 -5
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +5 -5
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +5 -5
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +5 -5
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +5 -5
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +5 -5
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +5 -5
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +4 -4
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +5 -5
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +4 -4
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +5 -5
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +5 -5
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +5 -5
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +4 -4
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +18 -18
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +18 -18
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +4 -4
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +14 -14
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +4 -4
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +91 -50
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +4 -4
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +4 -4
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +3 -3
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +11 -11
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +7 -7
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +5 -5
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +5 -5
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +5 -5
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +5 -5
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +5 -5
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +5 -5
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +5 -5
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +5 -5
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +5 -5
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +5 -5
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +5 -5
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +5 -5
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +5 -5
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +5 -5
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +5 -5
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +5 -5
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +4 -4
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +4 -4
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +3 -3
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +4 -4
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +3 -3
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +4 -4
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +17 -19
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +17 -19
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +17 -19
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +17 -19
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +3 -3
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +4 -4
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +4 -4
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +4 -4
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +4 -4
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +4 -4
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +3 -3
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +4 -4
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +4 -4
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +4 -4
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +4 -4
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +4 -4
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +4 -4
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +4 -4
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +3 -3
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +4 -4
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +4 -4
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +4 -4
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +4 -4
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +4 -4
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +4 -4
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +4 -4
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +4 -4
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +4 -4
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +4 -4
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +4 -4
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +4 -4
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +4 -4
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +4 -4
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +4 -4
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +3 -3
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +4 -4
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +4 -4
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +4 -4
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifier/with_alternate_identifier.yml +3 -3
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +3 -3
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +4 -4
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +4 -4
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +3 -3
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +4 -4
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +4 -4
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +3 -3
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +4 -4
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +4 -4
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +4 -4
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +3 -3
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +4 -4
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +4 -4
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +4 -4
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +4 -4
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +4 -4
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +4 -4
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +4 -4
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +5 -5
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +5 -5
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +5 -5
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +5 -5
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +18 -18
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +5 -5
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +10 -10
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +5 -5
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +5 -5
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +4 -4
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +11 -11
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +11 -11
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +11 -11
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +5 -5
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +22 -18
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +5 -5
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +5 -5
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +5 -5
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +5 -5
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +12 -12
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +5 -5
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +5 -5
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +4 -4
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +5 -5
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +5 -5
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +10 -10
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +4 -4
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +4 -4
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +18 -18
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +5 -5
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +11 -11
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +4 -4
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +5 -5
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +18 -18
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +5 -5
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +5 -5
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +5 -5
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +5 -5
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +10 -10
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +4 -4
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +5 -5
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +18 -18
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +4 -4
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +5 -5
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +5 -5
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +4 -4
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +12 -12
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +4 -4
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +5 -5
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +18 -18
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +3 -3
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +5 -5
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +18 -18
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +5 -5
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +5 -5
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +5 -5
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +5 -5
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +10 -10
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +3 -3
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +5 -5
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +4 -4
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +4 -4
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +5 -5
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +5 -5
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +6 -4
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +4 -4
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +5 -5
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +10 -10
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +5 -5
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +4 -4
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +5 -5
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml +214 -52
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml +214 -52
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +219 -57
  310. data/spec/readers/crossref_reader_spec.rb +3 -3
  311. data/spec/readers/datacite_reader_spec.rb +25 -4
  312. data/spec/utils_spec.rb +1 -1
  313. data/spec/writers/bibtex_writer_spec.rb +1 -1
  314. data/spec/writers/citeproc_writer_spec.rb +1 -1
  315. data/spec/writers/crosscite_writer_spec.rb +2 -2
  316. data/spec/writers/ris_writer_spec.rb +12 -12
  317. data/spec/writers/schema_org_writer_spec.rb +29 -22
  318. metadata +4 -3
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml +0 -42
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:30 GMT
20
+ - Thu, 06 Sep 2018 07:23:51 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -31,20 +31,20 @@ http_interactions:
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
33
  X-Request-Id:
34
- - b00ca413-85cd-4c20-bc3c-0440e1f50f14
34
+ - 6a3c304e-7909-4c27-a297-5731ed65739b
35
35
  Etag:
36
- - W/"258c3a49bbc303b1229efe2fae9cc9e2"
36
+ - W/"381993dc8a6b0f20960c96a3639c0284"
37
37
  X-Runtime:
38
- - '0.643611'
38
+ - '0.133896'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.7554","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T21:07:27Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T21:07:27Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:30 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:51 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -70,13 +70,13 @@ http_interactions:
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:30 GMT
73
+ - Thu, 06 Sep 2018 07:23:51 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
77
77
  encoding: ASCII-8BIT
78
78
  string: !binary |-
79
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE3LTEwLTE4IDE1OjA5OjQzIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0IiByZWZlcmVuY2VfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgIDx0aXRsZT5BdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvdGl0bGU+DQogICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpYWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlNhbmthcjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkRlcGFydG1lbnQgb2YgUGxhbnQgTW9sZWN1bGFyIEJpb2xvZ3ksIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUsIExhdXNhbm5lLCBTd2l0emVybGFuZDwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LYWlzYTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TmllbWluZW48L3N1cm5hbWU+DQogICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5EZXBhcnRtZW50IG9mIFBsYW50IE1vbGVjdWxhciBCaW9sb2d5LCBVbml2ZXJzaXR5IG9mIExhdXNhbm5lLCBMYXVzYW5uZSwgU3dpdHplcmxhbmQ8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBQbGFudCBNb2xlY3VsYXIgQmlvbG9neSwgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZSwgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPklvYW5uaXM8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlhlbmFyaW9zPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+Vml0YWwtSVQsIFN3aXNzIEluc3RpdHV0ZSBvZiBCaW9pbmZvcm1hdGljcywgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkNocmlzdGlhbiBTPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5IYXJkdGtlPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBQbGFudCBNb2xlY3VsYXIgQmlvbG9neSwgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZSwgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPGFic3RyYWN0Pg0KICAgICAgICAgICAgPHA+QW1vbmcgdmFyaW91cyBhZHZhbnRhZ2VzLCB0aGVpciBzbWFsbCBzaXplIG1ha2VzIG1vZGVsIG9yZ2FuaXNtcyBwcmVmZXJyZWQgc3ViamVjdHMgb2YgaW52ZXN0aWdhdGlvbi4gWWV0LCBldmVuIGluIG1vZGVsIHN5c3RlbXMgZGV0YWlsZWQgYW5hbHlzaXMgb2YgbnVtZXJvdXMgZGV2ZWxvcG1lbnRhbCBwcm9jZXNzZXMgYXQgY2VsbHVsYXIgbGV2ZWwgaXMgc2V2ZXJlbHkgaGFtcGVyZWQgYnkgdGhlaXIgc2NhbGUuIEZvciBpbnN0YW5jZSwgc2Vjb25kYXJ5IGdyb3d0aCBvZiBBcmFiaWRvcHNpcyBoeXBvY290eWxzIGNyZWF0ZXMgYSByYWRpYWwgcGF0dGVybiBvZiBoaWdobHkgc3BlY2lhbGl6ZWQgdGlzc3VlcyB0aGF0IGNvbXByaXNlcyBzZXZlcmFsIHRob3VzYW5kIGNlbGxzIHN0YXJ0aW5nIGZyb20gYSBmZXcgZG96ZW4uIFRoaXMgZHluYW1pYyBwcm9jZXNzIGlzIGRpZmZpY3VsdCB0byBmb2xsb3cgYmVjYXVzZSBvZiBpdHMgc2NhbGUgYW5kIGJlY2F1c2UgaXQgY2FuIG9ubHkgYmUgaW52ZXN0aWdhdGVkIGludmFzaXZlbHksIHByZWNsdWRpbmcgY29tcHJlaGVuc2l2ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjZWxsIHByb2xpZmVyYXRpb24sIGRpZmZlcmVudGlhdGlvbiwgYW5kIHBhdHRlcm5pbmcgZXZlbnRzIGludm9sdmVkLiBUbyBvdmVyY29tZSBzdWNoIGxpbWl0YXRpb24sIHdlIGVzdGFibGlzaGVkIGFuIGF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IGFwcHJvYWNoLiBXZSBhY3F1aXJlZCBoeXBvY290eWwgY3Jvc3Mtc2VjdGlvbnMgZnJvbSB0aWxlZCBoaWdoLXJlc29sdXRpb24gaW1hZ2VzIGFuZCBleHRyYWN0ZWQgdGhlaXIgaW5mb3JtYXRpb24gY29udGVudCB1c2luZyBjdXN0b20gaGlnaC10aHJvdWdocHV0IGltYWdlIHByb2Nlc3NpbmcgYW5kIHNlZ21lbnRhdGlvbi4gQ291cGxlZCB3aXRoIGF1dG9tYXRlZCBjZWxsIHR5cGUgcmVjb2duaXRpb24gdGhyb3VnaCBtYWNoaW5lIGxlYXJuaW5nLCB3ZSBjb3VsZCBlc3RhYmxpc2ggYSBjZWxsdWxhciByZXNvbHV0aW9uIGF0bGFzIHRoYXQgcmV2ZWFscyB2YXNjdWxhciBtb3JwaG9keW5hbWljcyBkdXJpbmcgc2Vjb25kYXJ5IGdyb3d0aCwgZm9yIGV4YW1wbGUgZXF1aWRpc3RhbnQgcGhsb2VtIHBvbGUgZm9ybWF0aW9uLjwvcD4NCiAgICAgICAgICA8L2Fic3RyYWN0Pg0KICAgICAgICAgIDxhYnN0cmFjdCBhYnN0cmFjdC10eXBlPSJleGVjdXRpdmUtc3VtbWFyeSI+DQogICAgICAgICAgICA8cD5PdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgbGl2aW5nIHdvcmxkIGhhcyBiZWVuIGFkdmFuY2VkIGdyZWF0bHkgYnkgc3R1ZGllcyBvZiDigJhtb2RlbCBvcmdhbmlzbXPigJksIHN1Y2ggYXMgbWljZSwgemVicmFmaXNoLCBhbmQgZnJ1aXQgZmxpZXMuIFN0dWR5aW5nIHRoZXNlIGNyZWF0dXJlcyBoYXMgYmVlbiBjcnVjaWFsIHRvIHVuY292ZXJpbmcgdGhlIGdlbmVzIHRoYXQgY29udHJvbCBob3cgb3VyIGJvZGllcyBkZXZlbG9wIGFuZCBncm93LCBhbmQgYWxzbyB0byBkaXNjb3ZlciB0aGUgZ2VuZXRpYyBiYXNpcyBvZiBkaXNlYXNlcyBzdWNoIGFzIGNhbmNlci48L3A+DQogICAgICAgICAgICA8cD5UaGFsZSBjcmVzc+KAlG9yIEFyYWJpZG9wc2lzIHRoYWxpYW5hIHRvIGdpdmUgaXRzIGZvcm1hbCBuYW1l4oCUaXMgdGhlIG1vZGVsIG9yZ2FuaXNtIG9mIGNob2ljZSBmb3IgbWFueSBwbGFudCBiaW9sb2dpc3RzLiBUaGlzIHRpbnkgd2VlZCBoYXMgYmVlbiB3aWRlbHkgc3R1ZGllZCBiZWNhdXNlIGl0IGNhbiBjb21wbGV0ZSBpdHMgbGlmZWN5Y2xlLCBmcm9tIHNlZWQgdG8gc2VlZCwgaW4gYWJvdXQgNiB3ZWVrcywgYW5kIGJlY2F1c2UgaXRzIHJlbGF0aXZlbHkgc21hbGwgZ2Vub21lIHNpbXBsaWZpZXMgdGhlIHNlYXJjaCBmb3IgZ2VuZXMgdGhhdCBjb250cm9sIHNwZWNpZmljIHRyYWl0cy4gSG93ZXZlciwgYXMgd2l0aCBvdGhlciBtdWNoLXN0dWRpZWQgbW9kZWwgc3lzdGVtcywgdW5kZXJzdGFuZGluZyB0aGUgY2hhbmdlcyB0aGF0IHVuZGVycGluIHRoZSBkZXZlbG9wbWVudCBvZiBzb21lIG9mIHRoZSBtb3JlIGNvbXBsZXggdGlzc3VlcyBpbiBBcmFiaWRvcHNpcyBoYXMgYmVlbiBzZXZlcmVseSBoYW1wZXJlZCBieSB0aGUgc2hlYXIgbnVtYmVyIG9mIGNlbGxzIGludm9sdmVkLjwvcD4NCiAgICAgICAgICAgIDxwPkFmdGVyIGl0IGhhcyBlbWVyZ2VkIGZyb20gdGhlIHNlZWQsIHRoZSBwbGFudOKAmXMgZmlyc3Qgc3RlbSB3aWxsIGRldmVsb3AgZnJvbSBhIGZldyBkb3plbiBjZWxscyBpbiB3aWR0aCB0byBzZXZlcmFsIHRob3VzYW5kIGNlbGxzIHdpdGggaGlnaGx5IHNwZWNpYWxpemVkIHRpc3N1ZXMgYXJyYW5nZWQgaW4gYSBjb21wbGV4IHBhdHRlcm4gb2YgY29uY2VudHJpYyBjaXJjbGVzLiBBbHRob3VnaCB0aGlzIHN0ZW0gdGhpY2tlbmluZyBwcm9jZXNzIHJlcHJlc2VudHMgYSBtYWpvciBkZXZlbG9wbWVudGFsIGNoYW5nZSBpbiBtYW55IHBsYW50c+KAlGZyb20gQXJhYmlkb3BzaXMgdG8gb2FrIHRyZWVz4oCUaXQgaGFzIGJlZW4gdW5kZXItcmVzZWFyY2hlZC4gVGhpcyBpcyBwYXJ0bHkgYmVjYXVzZSBpdCBpbnZvbHZlcyBzbyBtYW55IGRpZmZlcmVudCBjZWxscywgYW5kIGFsc28gYmVjYXVzZSBpdCBjYW4gb25seSBiZSBvYnNlcnZlZCBpbiB0aGluIHNlY3Rpb25zIGN1dCBvdXQgb2YgdGhlIHBsYW504oCZcyBzdGVtLjwvcD4NCiAgICAgICAgICAgIDxwPk5vdyBTYW5rYXIsIE5pZW1pbmVuLCBSYWduaSBldCBhbC4gaGF2ZSBkZXZlbG9wZWQgYSBub3ZlbCBhcHByb2FjaCwgdGVybWVkIOKAmGF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d54oCZLCB0byBvdmVyY29tZSB0aGVzZSBwcm9ibGVtcy4gVGhpcyBzdHJhdGVneSBpbnZvbHZlcyDigJh0ZWFjaGluZ+KAmSBhIGNvbXB1dGVyIHRvIGF1dG9tYXRpY2FsbHkgcmVjb2duaXplIGRpZmZlcmVudCBwbGFudCBjZWxscyBhbmQgdG8gbWVhc3VyZSB0aGVpciBpbXBvcnRhbnQgZmVhdHVyZXMgaW4gaGlnaC1yZXNvbHV0aW9uIGltYWdlcyBvZiB0aXNzdWUgc2VjdGlvbnMuIFRoZSByZXN1bHRpbmcg4oCYbWFw4oCZIG9mIHRoZSBkZXZlbG9waW5nIHN0ZW3igJR3aGljaCByZXF1aXJlZCBvdmVyIDgwMCBociBvZiBjb21wdXRpbmcgdGltZSB0byBjb21wbGV0ZeKAlHJldmVhbHMgdGhlIGNoYW5nZXMgdG8gY2VsbHMgYW5kIHRpc3N1ZXMgYXMgdGhleSBkZXZlbG9wIHRoYXQgYWxsb3cgdGhlIHRyYW5zcG9ydCBvZiB3YXRlciwgc3VnYXJzIGFuZCBudXRyaWVudHMgYmV0d2VlbiB0aGUgYWJvdmUtIGFuZCBiZWxvdy1ncm91bmQgb3JnYW5zLiBTYW5rYXIsIE5pZW1pbmVuLCBSYWduaSBldCBhbC4gc3VnZ2VzdCB0aGF0IHRoZWlyIG5vdmVsIGFwcHJvYWNoIGNvdWxkLCBpbiB0aGUgZnV0dXJlLCBhbHNvIGJlIGFwcGxpZWQgdG8gc3R1ZHkgdGhlIGRldmVsb3BtZW50IG9mIG90aGVyIHRpc3N1ZXMgYW5kIG9yZ2FuaXNtcywgaW5jbHVkaW5nIGFuaW1hbHMuPC9wPg0KICAgICAgICAgIDwvYWJzdHJhY3Q+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8cHJvZ3JhbSBuYW1lPSJmdW5kcmVmIj4NCiAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+U3lzdGVtc1g8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5FTUJPIGxvbmd0ZXJtIHBvc3QtZG9jdG9yYWwgZmVsbG93c2hpcHM8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5NYXJpZSBIZWltLVZvZWd0bGluPC9hc3NlcnRpb24+DQogICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZQ0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiIHByb3ZpZGVyPSJjcm9zc3JlZiI+NTAxMTAwMDA2MzkwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InZvciI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICA8bGljZW5zZV9yZWYgYXBwbGllc190bz0iYW0iPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgIDxjcm9zc21hcms+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX3ZlcnNpb24+MTwvY3Jvc3NtYXJrX3ZlcnNpb24+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX3BvbGljeT5lTGlmZXNjaWVuY2VzPC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5lbGlmZXNjaWVuY2VzLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0icmVjZWl2ZWQiIGxhYmVsPSJSZWNlaXZlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIwIj4yMDEzLTA5LTIwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYWNjZXB0ZWQiIGxhYmVsPSJBY2NlcHRlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIxIj4yMDEzLTEyLTI0PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0icHVibGlzaGVkIiBsYWJlbD0iUHVibGlzaGVkIiBncm91cF9uYW1lPSJwdWJsaWNhdGlvbl9oaXN0b3J5IiBncm91cF9sYWJlbD0iUHVibGljYXRpb24gSGlzdG9yeSIgb3JkZXI9IjIiPjIwMTQtMDItMTE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+U3lzdGVtc1g8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRU1CTw0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDMwNDM8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBTd2lzcyBOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb24NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAxNzExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZQ0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIiBwcm92aWRlcj0iY3Jvc3NyZWYiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwNjM5MDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InZvciI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89ImFtIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgICA8bGljZW5zZV9yZWYgYXBwbGllc190bz0idGRtIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPHByb2dyYW0+DQogICAgICAgICAgICA8cmVsYXRlZF9pdGVtPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBmcm9tOiBBdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvZGVzY3JpcHRpb24+DQogICAgICAgICAgICAgIDxpbnRlcl93b3JrX3JlbGF0aW9uIGlkZW50aWZpZXItdHlwZT0iZG9pIiByZWxhdGlvbnNoaXAtdHlwZT0iaXNTdXBwbGVtZW50ZWRCeSI+MTAuNTA2MS9kcnlhZC5iODM1azwvaW50ZXJfd29ya19yZWxhdGlvbj4NCiAgICAgICAgICAgIDwvcmVsYXRlZF9pdGVtPg0KICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICA8YXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgICA8YXJjaGl2ZSBuYW1lPSJDTE9DS1NTIiAvPg0KICAgICAgICAgIDwvYXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3PC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NzwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0idGV4dC1taW5pbmciPg0KICAgICAgICAgICAgICA8aXRlbT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2UgbWltZV90eXBlPSJhcHBsaWNhdGlvbi9wZGYiPmh0dHBzOi8vY2RuLmVsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2VsaWZlLTAxNTY3LXYxLnBkZjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvaXRlbT4NCiAgICAgICAgICAgICAgPGl0ZW0+DQogICAgICAgICAgICAgICAgPHJlc291cmNlIG1pbWVfdHlwZT0iYXBwbGljYXRpb24veG1sIj5odHRwczovL2Nkbi5lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2Ny9lbGlmZS0wMTU2Ny12MS54bWw8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Qm9ua2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT40MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFQTCByZWd1bGF0ZXMgdmFzY3VsYXIgdGlzc3VlIGlkZW50aXR5IGluIEFyYWJpZG9wc2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW4gdGhlIGJlZ2lubmluZyB3YXMgdGhlIHdvcm08L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTUzNC9nZW5ldGljcy4xMDkuMTA0OTc2PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBoeXNpb2xvZ2lhIFBsYW50YXJ1bTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5DaGFmZmV5PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTE0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU5NDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TZWNvbmRhcnkgeHlsZW0gZGV2ZWxvcG1lbnQgaW4gQXJhYmlkb3BzaXM6IGEgbW9kZWwgZm9yIHdvb2QgZm9ybWF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzQvai4xMzk5LTMwNTQuMjAwMi4xMTQwNDEzLng8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmV1cmFsIGNvbXB1dGF0aW9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjExOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UcmFpbmluZyBudS1zdXBwb3J0IHZlY3RvciBjbGFzc2lmaWVyczogdGhlb3J5IGFuZCBhbGdvcml0aG1zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExNjIvMDg5OTc2NjAxNzUwMzk5MzM1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1hY2hpbmUgTGVhcm5pbmc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q29ydGVzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjczPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDA5OTQwMTg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3VwcG9ydC12ZWN0b3IgTmV0d29ya3M8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliNiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRldmVsb3BtZW50PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkRvbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTE5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNlbGx1bGFyIG9yZ2FuaXNhdGlvbiBvZiB0aGUgQXJhYmlkb3BzaXMgdGhhbGlhbmEgcm9vdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdGVtIGNlbGwgZnVuY3Rpb24gZHVyaW5nIHBsYW50IHZhc2N1bGFyIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5XT1g0IGFuZCBXT1gxNCBhY3QgZG93bnN0cmVhbSBvZiB0aGUgUFhZIHJlY2VwdG9yIGtpbmFzZSB0byByZWd1bGF0ZSBwbGFudCB2YXNjdWxhciBwcm9saWZlcmF0aW9uIGluZGVwZW5kZW50bHkgb2YgYW55IHJvbGUgaW4gdmFzY3VsYXIgb3JnYW5pc2F0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudCB2YXNjdWxhciBjZWxsIGRpdmlzaW9uIGlzIG1haW50YWluZWQgYnkgYW4gaW50ZXJhY3Rpb24gYmV0d2VlbiBQWFkgYW5kIGV0aHlsZW5lIHNpZ25hbGxpbmc8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBnZW4uMTAwMjk5NzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIFN5c3RlbXMgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5GdWNoczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzcwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNsdXN0ZXJpbmcgcGhlbm90eXBlIHBvcHVsYXRpb25zIGJ5IGdlbm9tZS13aWRlIFJOQWkgYW5kIG11bHRpcGFyYW1ldHJpYyBpbWFnaW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CYVNBUi1BIHRvb2wgaW4gUiBmb3IgZnJlcXVlbmN5IGRldGVjdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouYmlvc3lzdGVtcy4yMDEyLjA3LjAwNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q3VycmVudCBPcGluaW9uIGluIFBsYW50IEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R3Jvb3ZlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGV2ZWxvcG1lbnRhbCBtZWNoYW5pc21zIHJlZ3VsYXRpbmcgc2Vjb25kYXJ5IGdyb3d0aCBpbiB3b29keSBwbGFudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAxNi9qLnBiaS4yMDA1LjExLjAxMzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VERJRiBwZXB0aWRlIHNpZ25hbGluZyByZWd1bGF0ZXMgdmFzY3VsYXIgc3RlbSBjZWxsIHByb2xpZmVyYXRpb24gdmlhIHRoZSBXT1g0IGhvbWVvYm94IGdlbmUgaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ob24tY2VsbC1hdXRvbm9tb3VzIGNvbnRyb2wgb2YgdmFzY3VsYXIgc3RlbSBjZWxsIGZhdGUgYnkgYSBDTEUgcGVwdGlkZS9yZWNlcHRvciBzeXN0ZW08L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjA4MDg0NDQxMDU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIxNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+TWV5ZXJvd2l0ejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODk8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BcmFiaWRvcHNpcywgYSB1c2VmdWwgd2VlZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudHMgY29tcGFyZWQgdG8gYW5pbWFsczogdGhlIGJyb2FkZXN0IGNvbXBhcmF0aXZlIHN0dWR5IG9mIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIHdlZWQgZm9yIHdvb2Q/IEFyYWJpZG9wc2lzIGFzIGEgZ2VuZXRpYyBtb2RlbCBmb3IgeHlsZW0gZGV2ZWxvcG1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNC9wcC4xMDQuMDQwMjEyPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQmlvdGVjaG5vbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Ob2JsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+V2hhdCBpcyBhIHN1cHBvcnQgdmVjdG9yIG1hY2hpbmU/PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmJ0MTIwNi0xNTY1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcyBvZiB0aGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk9sc29uPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Nzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTUxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODA8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DbGFzc2lmaWNhdGlvbiBvZiBjdWx0dXJlZCBtYW1tYWxpYW4gY2VsbHMgYnkgc2hhcGUgYW5hbHlzaXMgYW5kIHBhdHRlcm4gcmVjb2duaXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVCSW1hZ2XigJNhbiBSIHBhY2thZ2UgZm9yIGltYWdlIHByb2Nlc3Npbmcgd2l0aCBhcHBsaWNhdGlvbnMgdG8gY2VsbHVsYXIgcGhlbm90eXBlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL2Jpb2luZm9ybWF0aWNzL2J0cTA0NjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SYWduaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIzPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEzMjI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDExPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TW9iaWxlIGdpYmJlcmVsbGluIGRpcmVjdGx5IHN0aW11bGF0ZXMgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHh5bGVtIGV4cGFuc2lvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTA1L3RwYy4xMTEuMDg0MDIwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EcnlhZCBEaWdpdGFsIFJlcG9zaXRvcnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U2Fua2FyPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGF0YSBmcm9tOiBBdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC41MDYxL2RyeWFkLmI4MzVrPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U2lib3V0PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDU4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwODwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZsb3dlcmluZyBhcyBhIGNvbmRpdGlvbiBmb3IgeHlsZW0gZXhwYW5zaW9uIGluIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBhbmQgcm9vdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZvbHV0aW9uIG9mIGRldmVsb3BtZW50IG9mIHZhc2N1bGFyIGNhbWJpYSBhbmQgc2Vjb25kYXJ5IGdyb3d0aDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q2VsbCBtb3JwaG9sb2d5IGNsYXNzaWZpY2F0aW9uIGFuZCBjbHV0dGVyIG1pdGlnYXRpb24gaW4gcGhhc2UtY29udHJhc3QgbWljcm9zY29weSBpbWFnZXMgdXNpbmcgbWFjaGluZSBsZWFybmluZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVjaGFuaWNhbCBzdHJlc3MgYWN0cyB2aWEga2F0YW5pbiB0byBhbXBsaWZ5IGRpZmZlcmVuY2VzIGluIGdyb3d0aCByYXRlIGJldHdlZW4gYWRqYWNlbnQgY2VsbHMgaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAxNi9qLmNlbGwuMjAxMi4wMi4wNDg8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIyNyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDZWxsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+WWluPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgc2NyZWVuIGZvciBtb3JwaG9sb2dpY2FsIGNvbXBsZXhpdHkgaWRlbnRpZmllcyByZWd1bGF0b3JzIG9mIHN3aXRjaC1saWtlIHRyYW5zaXRpb25zIGJldHdlZW4gZGlzY3JldGUgY2VsbCBzaGFwZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uY2IyNzY0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgICA8Y29tcG9uZW50X2xpc3Q+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5BYnN0cmFjdDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNhYnN0cmFjdDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPmVMaWZlIGRpZ2VzdDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNkaWdlc3Q8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEEpIExpZ2h0IG1pY3Jvc2NvcHkgb2YgY3Jvc3Mgc2VjdGlvbnMgb2J0YWluZWQgZnJvbSBBcmFiaWRvcHNpcyBoeXBvY290eWxzIChvcmdhbiBwb3NpdGlvbiBpbGx1c3RyYXRlZCBmb3IgYSA5LWRheS1vbGQgc2VlZGxpbmcsIGxvd2VyIGxlZnQpIGF0IDkgZGFnICh1cHBlciBsZWZ0KSBhbmQgMzUgZGFnIChyaWdodCkuIFNpemUgYmFycyBhcmUgMTAwIM68bS4gQmx1ZSBHVVMgc3RhaW5pbmcgZHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhbiBBUEw6OkdVUyByZXBvcnRlciBnZW5lIGluIHRoaXMgQ29sLTAgYmFja2dyb3VuZCBsaW5lIG1hcmtzIHBobG9lbSBidW5kbGVzLiAoQikgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuIChDKSBFeGFtcGxlIG9mIGEgaGlnaC1yZXNvbHV0aW9uIGh5cG9jb3R5bCBzZWN0aW9uIGltYWdlIGFzc2VtYmxlZCBmcm9tIDExIMOXIDExIHRpbGVzLiAoRCkgVGhlIHNhbWUgaW1hZ2UgYWZ0ZXIgcHJlLXByb2Nlc3NpbmcgYW5kIGJpbmFyaXphdGlvbiwgYW5kIChFKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uIChGKSBOdW1iZXIgb2YgbWlzLXNlZ21lbnRlZCBjZWxscyBhcyBkZXRlcm1pbmVkIGJ5IGNhcmVmdWwgdmlzdWFsIGluc3BlY3Rpb24gaW4gMTIgc2VjdGlvbnMsIHBsb3R0ZWQgYWdhaW5zdCB0aGUgdG90YWwgbnVtYmVyIG9mIGNlbGxzIHBlciBzZWN0aW9uIChsb2cgc2NhbGUpLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDM8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNmaWcxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDIuIFRoZSDigJhRdWFudGl0YXRpdmUgSGlzdG9sb2d54oCZIGFwcHJvYWNoLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPihBKSBPdmVydmlldyBvZiB0aGUgY29tcHV0YXRpb25hbCBwaXBlbGluZSBmcm9tIGltYWdlIGFjcXVpc2l0aW9uIHRvIGFuYWx5c2lzLiAoQikg4oCYUGhlbm9wcmludHPigJkgZm9yIHRoZSBkaWZmZXJlbnQgZ2Vub3R5cGVzIGFuZCBkZXZlbG9wbWVudGFsIHN0YWdlcy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjZmlnMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjZmlnMnMxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDMuIFByb2dyZXNzaW9uIG9mIHRpc3N1ZSBwcm9saWZlcmF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPihBKSBQcmluY2lwYWwgY29tcG9uZW50IGFuYWx5c2lzIChQQ0EpIG9mIHRoZSBwaGVub3ByaW50cyBzaG93biBpbiBGaWd1cmUgMkIsIHBlcmZvcm1lZCB3aXRoIG5vcm1hbGl6ZWQgdmFsdWVzIChTdXBwbGVtZW50YXJ5IGZpbGUgNCkuIFRoZSBpbmxheSBzY3JlZXBsb3QgZGlzcGxheXMgdGhlIHByb3BvcnRpb24gb2YgdG90YWwgdmFyaWF0aW9uIGV4cGxhaW5lZCBieSBlYWNoIHByaW5jaXBhbCBjb21wb25lbnQuIChC4oCTRSkgQ29tcGFyYXRpdmUgcGxvdHMgb2YgcGFyYW1ldGVyIHByb2dyZXNzaW9uIGluIHRoZSB0d28gZ2Vub3R5cGVzLiBJbiAoRCksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I2ZpZzM8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNC4gQmltb2RhbCBkaXN0cmlidXRpb24gb2YgaW5jbGluZSBhbmdsZSBhY2NvcmRpbmcgdG8gcG9zaXRpb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEEgYW5kIEIpIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoQikgYXMgY29tcGFyZWQgdG8gQ29sLTAgKEEpIGF0IGxhdGVyIHN0YWdlcyBvZiBkZXZlbG9wbWVudCwgZm9yIGV4YW1wbGUgMzAgZGFnLiBUaGUgc2l6ZSBvZiB0aGUgZGlzYyBpbmNyZWFzZXMgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY2VsbC4gQmx1ZSBjb2xvciBpbmRpY2F0ZXMgcmFkaWFsIGNlbGwgb3JpZW50YXRpb24sIHJlZCBvcnRob3JhZGlhbC4gKEMgYW5kIEQpIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjZmlnNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA04oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gaWxsdXN0cmF0aW9uIG9mIHRoZSBpbmNsaW5lIGFuZ2xlLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBpbmNsaW5lIGlzIHRoZSBhbmdsZSBiZXR3ZWVuIHRoZSBzZWN0aW9uIHJhZGl1cyB0aHJvdWdoIHRoZSBjZW50ZXIgb2YgYW4gZWxsaXBzZSBmaXQgdG8gYSBjZWxsIGFuZCB0aGUgbWFqb3IgYXhpcyBvZiB0aGF0IGVsbGlwc2UgZXh0ZW5kZWQgdG93YXJkcyB0aGUgeCBheGlzLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDg8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2Ny9maWd1cmVzI2ZpZzRzMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEHigJNKKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNmaWc1PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDXigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbmFseXNpcyBvZiBjZWxsIG51bWJlciBpbiBkZWZpbmVkIHh5bGVtIHJlZ2lvbnMgb2YgZGlmZmVyZW50IHNpemUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+Q2VsbCBudW1iZXIgaW4gYSBjaXJjbGUgb2YgMjAw4oCTNTAwIHBpeGVscyBhcm91bmQgdGhlIHNlY3Rpb24gY2VudGVycyBmb3IgQ29sLTAuIENlbGwgY291bnQgaW4gYSBjb25zdGFudCBhcmVhIG9mIHh5bGVtIG92ZXIgdGltZSBhY3Jvc3MgYWxsIGF2ZXJhZ2VkIGFjcm9zcyBhbGwgc2VjdGlvbnMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjZmlnNXMxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4oQSkgRXhhbXBsZSBvZiBHYXVzc2lhbiBrZXJuZWwgZGVuc2l0eSBlc3RpbWF0ZSBvZiB0aGUgbG9jYXRpb24gb2YgcHJlZGljdGVkIHBobG9lbSBidW5kbGVzIGNlbGxzIGluIGEgMzAgZGFnIENvbC0wIHNlY3Rpb24uIEhpZ2ggZGVuc2l0eSByZXByZXNlbnRzIHBobG9lbSBwb2xlcy4gKEIpIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuIEFQTDo6R1VTIHJlcG9ydGVyIGNvbnN0cnVjdC4gKEMpIFByb2JhYmlsaXR5IGRlbnNpdHkgZnVuY3Rpb24gb2YgdGhlIGRhdGEgc2hvd24gaW4gKEIpIG9idGFpbmVkIGZyb20gYW4gYXV0b21hdGVkIEJheWVzaWFuIG1vZGVsLiBUaGUgZG9taW5hbnQgc2luZ2xlIHBlYWsgaW5kaWNhdGVzIGEgY29uc3RhbnQgYXJjIGRpc3RhbmNlIG9mIGNhLiA2MiBwaXhlbCBiZXR3ZWVuIHRoZSBwaGxvZW0gcG9sZXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I2ZpZzY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgMS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4oQSkgQW4gZXhwbGFuYXRpb24gb2YgdGhlIGV4dHJhY3RlZCBwYXJhbWV0ZXJzIHRoYXQgZGVzY3JpYmUgdGhlIGNlbGx1bGFyIGZlYXR1cmVzLiAoQikgU3VtbWFyeSBpbmZvcm1hdGlvbiBvZiB0aGUgaGFuZC1sYWJlbGVkIHRyYWluaW5nIHNldCBmb3Igc3VwZXJ2aXNlZCBtYWNoaW5lIGxlYXJuaW5nLiAoQykgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoRCkgU3VtbWFyeSBvZiB0aGUgY2xhc3NpZmllciBwYXJhbWV0ZXJzIGZvciBzdXBlcnZpc2VkIG1hY2hpbmUgbGVhcm5pbmcuIChFKSBPdmVydmlldyBvZiB0aGUgY2VsbCB0eXBlIGNsYXNzZXMgcmVjb2duaXplZCBieSB0aGUgc3VwZXJ2aXNlZCBtYWNoaW5lIGxlYXJuaW5nIGFwcHJvYWNoIGFuZCB0aGVpciBhc3NpZ25tZW50IGNvZGVzIHVzZWQgaW4gRGF0YSBGaWxlcyAzIGFuZCA0Ljwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEyPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcvZmlndXJlcyNTRDEtZGF0YTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlF1YWxpdHkgY29udHJvbCBmaWxlcyBmb3IgdGhlIENvbC0wIHNlY3Rpb25zLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEzPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcvZmlndXJlcyNTRDItZGF0YTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlF1YWxpdHkgY29udHJvbCBmaWxlcyBmb3IgdGhlIExlciBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjU0QzLWRhdGE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5UaGUgbm9ybWFsaXplZCB2YWx1ZXMgb2YgdGhlIHBoZW5vcHJpbnRzIChGaWd1cmUgMkIpIHVzZWQgZm9yIFBDQS48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjU0Q0LWRhdGE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5EZWNpc2lvbiBsZXR0ZXI8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjZGVjaXNpb24tbGV0dGVyPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+QXV0aG9yIHJlc3BvbnNlPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I2F1dGhvci1yZXNwb25zZTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
79
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE4LTA4LTIzIDA5OjQxOjQ5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0IiByZWZlcmVuY2VfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgIDx0aXRsZT5BdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvdGl0bGU+DQogICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpYWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlNhbmthcjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkRlcGFydG1lbnQgb2YgUGxhbnQgTW9sZWN1bGFyIEJpb2xvZ3ksIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUsIExhdXNhbm5lLCBTd2l0emVybGFuZDwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LYWlzYTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TmllbWluZW48L3N1cm5hbWU+DQogICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5EZXBhcnRtZW50IG9mIFBsYW50IE1vbGVjdWxhciBCaW9sb2d5LCBVbml2ZXJzaXR5IG9mIExhdXNhbm5lLCBMYXVzYW5uZSwgU3dpdHplcmxhbmQ8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBQbGFudCBNb2xlY3VsYXIgQmlvbG9neSwgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZSwgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPklvYW5uaXM8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlhlbmFyaW9zPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+Vml0YWwtSVQsIFN3aXNzIEluc3RpdHV0ZSBvZiBCaW9pbmZvcm1hdGljcywgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkNocmlzdGlhbiBTPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5IYXJkdGtlPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBQbGFudCBNb2xlY3VsYXIgQmlvbG9neSwgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZSwgTGF1c2FubmUsIFN3aXR6ZXJsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPGFic3RyYWN0Pg0KICAgICAgICAgICAgPHA+QW1vbmcgdmFyaW91cyBhZHZhbnRhZ2VzLCB0aGVpciBzbWFsbCBzaXplIG1ha2VzIG1vZGVsIG9yZ2FuaXNtcyBwcmVmZXJyZWQgc3ViamVjdHMgb2YgaW52ZXN0aWdhdGlvbi4gWWV0LCBldmVuIGluIG1vZGVsIHN5c3RlbXMgZGV0YWlsZWQgYW5hbHlzaXMgb2YgbnVtZXJvdXMgZGV2ZWxvcG1lbnRhbCBwcm9jZXNzZXMgYXQgY2VsbHVsYXIgbGV2ZWwgaXMgc2V2ZXJlbHkgaGFtcGVyZWQgYnkgdGhlaXIgc2NhbGUuIEZvciBpbnN0YW5jZSwgc2Vjb25kYXJ5IGdyb3d0aCBvZiBBcmFiaWRvcHNpcyBoeXBvY290eWxzIGNyZWF0ZXMgYSByYWRpYWwgcGF0dGVybiBvZiBoaWdobHkgc3BlY2lhbGl6ZWQgdGlzc3VlcyB0aGF0IGNvbXByaXNlcyBzZXZlcmFsIHRob3VzYW5kIGNlbGxzIHN0YXJ0aW5nIGZyb20gYSBmZXcgZG96ZW4uIFRoaXMgZHluYW1pYyBwcm9jZXNzIGlzIGRpZmZpY3VsdCB0byBmb2xsb3cgYmVjYXVzZSBvZiBpdHMgc2NhbGUgYW5kIGJlY2F1c2UgaXQgY2FuIG9ubHkgYmUgaW52ZXN0aWdhdGVkIGludmFzaXZlbHksIHByZWNsdWRpbmcgY29tcHJlaGVuc2l2ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjZWxsIHByb2xpZmVyYXRpb24sIGRpZmZlcmVudGlhdGlvbiwgYW5kIHBhdHRlcm5pbmcgZXZlbnRzIGludm9sdmVkLiBUbyBvdmVyY29tZSBzdWNoIGxpbWl0YXRpb24sIHdlIGVzdGFibGlzaGVkIGFuIGF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IGFwcHJvYWNoLiBXZSBhY3F1aXJlZCBoeXBvY290eWwgY3Jvc3Mtc2VjdGlvbnMgZnJvbSB0aWxlZCBoaWdoLXJlc29sdXRpb24gaW1hZ2VzIGFuZCBleHRyYWN0ZWQgdGhlaXIgaW5mb3JtYXRpb24gY29udGVudCB1c2luZyBjdXN0b20gaGlnaC10aHJvdWdocHV0IGltYWdlIHByb2Nlc3NpbmcgYW5kIHNlZ21lbnRhdGlvbi4gQ291cGxlZCB3aXRoIGF1dG9tYXRlZCBjZWxsIHR5cGUgcmVjb2duaXRpb24gdGhyb3VnaCBtYWNoaW5lIGxlYXJuaW5nLCB3ZSBjb3VsZCBlc3RhYmxpc2ggYSBjZWxsdWxhciByZXNvbHV0aW9uIGF0bGFzIHRoYXQgcmV2ZWFscyB2YXNjdWxhciBtb3JwaG9keW5hbWljcyBkdXJpbmcgc2Vjb25kYXJ5IGdyb3d0aCwgZm9yIGV4YW1wbGUgZXF1aWRpc3RhbnQgcGhsb2VtIHBvbGUgZm9ybWF0aW9uLjwvcD4NCiAgICAgICAgICA8L2Fic3RyYWN0Pg0KICAgICAgICAgIDxhYnN0cmFjdCBhYnN0cmFjdC10eXBlPSJleGVjdXRpdmUtc3VtbWFyeSI+DQogICAgICAgICAgICA8cD5PdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgbGl2aW5nIHdvcmxkIGhhcyBiZWVuIGFkdmFuY2VkIGdyZWF0bHkgYnkgc3R1ZGllcyBvZiDigJhtb2RlbCBvcmdhbmlzbXPigJksIHN1Y2ggYXMgbWljZSwgemVicmFmaXNoLCBhbmQgZnJ1aXQgZmxpZXMuIFN0dWR5aW5nIHRoZXNlIGNyZWF0dXJlcyBoYXMgYmVlbiBjcnVjaWFsIHRvIHVuY292ZXJpbmcgdGhlIGdlbmVzIHRoYXQgY29udHJvbCBob3cgb3VyIGJvZGllcyBkZXZlbG9wIGFuZCBncm93LCBhbmQgYWxzbyB0byBkaXNjb3ZlciB0aGUgZ2VuZXRpYyBiYXNpcyBvZiBkaXNlYXNlcyBzdWNoIGFzIGNhbmNlci48L3A+DQogICAgICAgICAgICA8cD5UaGFsZSBjcmVzc+KAlG9yIEFyYWJpZG9wc2lzIHRoYWxpYW5hIHRvIGdpdmUgaXRzIGZvcm1hbCBuYW1l4oCUaXMgdGhlIG1vZGVsIG9yZ2FuaXNtIG9mIGNob2ljZSBmb3IgbWFueSBwbGFudCBiaW9sb2dpc3RzLiBUaGlzIHRpbnkgd2VlZCBoYXMgYmVlbiB3aWRlbHkgc3R1ZGllZCBiZWNhdXNlIGl0IGNhbiBjb21wbGV0ZSBpdHMgbGlmZWN5Y2xlLCBmcm9tIHNlZWQgdG8gc2VlZCwgaW4gYWJvdXQgNiB3ZWVrcywgYW5kIGJlY2F1c2UgaXRzIHJlbGF0aXZlbHkgc21hbGwgZ2Vub21lIHNpbXBsaWZpZXMgdGhlIHNlYXJjaCBmb3IgZ2VuZXMgdGhhdCBjb250cm9sIHNwZWNpZmljIHRyYWl0cy4gSG93ZXZlciwgYXMgd2l0aCBvdGhlciBtdWNoLXN0dWRpZWQgbW9kZWwgc3lzdGVtcywgdW5kZXJzdGFuZGluZyB0aGUgY2hhbmdlcyB0aGF0IHVuZGVycGluIHRoZSBkZXZlbG9wbWVudCBvZiBzb21lIG9mIHRoZSBtb3JlIGNvbXBsZXggdGlzc3VlcyBpbiBBcmFiaWRvcHNpcyBoYXMgYmVlbiBzZXZlcmVseSBoYW1wZXJlZCBieSB0aGUgc2hlYXIgbnVtYmVyIG9mIGNlbGxzIGludm9sdmVkLjwvcD4NCiAgICAgICAgICAgIDxwPkFmdGVyIGl0IGhhcyBlbWVyZ2VkIGZyb20gdGhlIHNlZWQsIHRoZSBwbGFudOKAmXMgZmlyc3Qgc3RlbSB3aWxsIGRldmVsb3AgZnJvbSBhIGZldyBkb3plbiBjZWxscyBpbiB3aWR0aCB0byBzZXZlcmFsIHRob3VzYW5kIGNlbGxzIHdpdGggaGlnaGx5IHNwZWNpYWxpemVkIHRpc3N1ZXMgYXJyYW5nZWQgaW4gYSBjb21wbGV4IHBhdHRlcm4gb2YgY29uY2VudHJpYyBjaXJjbGVzLiBBbHRob3VnaCB0aGlzIHN0ZW0gdGhpY2tlbmluZyBwcm9jZXNzIHJlcHJlc2VudHMgYSBtYWpvciBkZXZlbG9wbWVudGFsIGNoYW5nZSBpbiBtYW55IHBsYW50c+KAlGZyb20gQXJhYmlkb3BzaXMgdG8gb2FrIHRyZWVz4oCUaXQgaGFzIGJlZW4gdW5kZXItcmVzZWFyY2hlZC4gVGhpcyBpcyBwYXJ0bHkgYmVjYXVzZSBpdCBpbnZvbHZlcyBzbyBtYW55IGRpZmZlcmVudCBjZWxscywgYW5kIGFsc28gYmVjYXVzZSBpdCBjYW4gb25seSBiZSBvYnNlcnZlZCBpbiB0aGluIHNlY3Rpb25zIGN1dCBvdXQgb2YgdGhlIHBsYW504oCZcyBzdGVtLjwvcD4NCiAgICAgICAgICAgIDxwPk5vdyBTYW5rYXIsIE5pZW1pbmVuLCBSYWduaSBldCBhbC4gaGF2ZSBkZXZlbG9wZWQgYSBub3ZlbCBhcHByb2FjaCwgdGVybWVkIOKAmGF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d54oCZLCB0byBvdmVyY29tZSB0aGVzZSBwcm9ibGVtcy4gVGhpcyBzdHJhdGVneSBpbnZvbHZlcyDigJh0ZWFjaGluZ+KAmSBhIGNvbXB1dGVyIHRvIGF1dG9tYXRpY2FsbHkgcmVjb2duaXplIGRpZmZlcmVudCBwbGFudCBjZWxscyBhbmQgdG8gbWVhc3VyZSB0aGVpciBpbXBvcnRhbnQgZmVhdHVyZXMgaW4gaGlnaC1yZXNvbHV0aW9uIGltYWdlcyBvZiB0aXNzdWUgc2VjdGlvbnMuIFRoZSByZXN1bHRpbmcg4oCYbWFw4oCZIG9mIHRoZSBkZXZlbG9waW5nIHN0ZW3igJR3aGljaCByZXF1aXJlZCBvdmVyIDgwMCBociBvZiBjb21wdXRpbmcgdGltZSB0byBjb21wbGV0ZeKAlHJldmVhbHMgdGhlIGNoYW5nZXMgdG8gY2VsbHMgYW5kIHRpc3N1ZXMgYXMgdGhleSBkZXZlbG9wIHRoYXQgYWxsb3cgdGhlIHRyYW5zcG9ydCBvZiB3YXRlciwgc3VnYXJzIGFuZCBudXRyaWVudHMgYmV0d2VlbiB0aGUgYWJvdmUtIGFuZCBiZWxvdy1ncm91bmQgb3JnYW5zLiBTYW5rYXIsIE5pZW1pbmVuLCBSYWduaSBldCBhbC4gc3VnZ2VzdCB0aGF0IHRoZWlyIG5vdmVsIGFwcHJvYWNoIGNvdWxkLCBpbiB0aGUgZnV0dXJlLCBhbHNvIGJlIGFwcGxpZWQgdG8gc3R1ZHkgdGhlIGRldmVsb3BtZW50IG9mIG90aGVyIHRpc3N1ZXMgYW5kIG9yZ2FuaXNtcywgaW5jbHVkaW5nIGFuaW1hbHMuPC9wPg0KICAgICAgICAgIDwvYWJzdHJhY3Q+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0iYXJ0aWNsZV9udW1iZXIiPmUwMTU2NzwvaXRlbV9udW1iZXI+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8cHJvZ3JhbSBuYW1lPSJmdW5kcmVmIj4NCiAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+U3lzdGVtc1g8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5FTUJPIGxvbmd0ZXJtIHBvc3QtZG9jdG9yYWwgZmVsbG93c2hpcHM8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5NYXJpZSBIZWltLVZvZWd0bGluPC9hc3NlcnRpb24+DQogICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZQ0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiIHByb3ZpZGVyPSJjcm9zc3JlZiI+NTAxMTAwMDA2MzkwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InZvciI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICA8bGljZW5zZV9yZWYgYXBwbGllc190bz0iYW0iPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgIDxjcm9zc21hcms+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX3ZlcnNpb24+MTwvY3Jvc3NtYXJrX3ZlcnNpb24+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX3BvbGljeT5lTGlmZXNjaWVuY2VzPC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5lbGlmZXNjaWVuY2VzLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0icmVjZWl2ZWQiIGxhYmVsPSJSZWNlaXZlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIwIj4yMDEzLTA5LTIwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYWNjZXB0ZWQiIGxhYmVsPSJBY2NlcHRlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIxIj4yMDEzLTEyLTI0PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0icHVibGlzaGVkIiBsYWJlbD0iUHVibGlzaGVkIiBncm91cF9uYW1lPSJwdWJsaWNhdGlvbl9oaXN0b3J5IiBncm91cF9sYWJlbD0iUHVibGljYXRpb24gSGlzdG9yeSIgb3JkZXI9IjIiPjIwMTQtMDItMTE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+U3lzdGVtc1g8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRU1CTw0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDMwNDM8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBTd2lzcyBOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb24NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAxNzExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgVW5pdmVyc2l0eSBvZiBMYXVzYW5uZQ0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIiBwcm92aWRlcj0iY3Jvc3NyZWYiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwNjM5MDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InZvciI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89ImFtIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgICA8bGljZW5zZV9yZWYgYXBwbGllc190bz0idGRtIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPHByb2dyYW0+DQogICAgICAgICAgICA8cmVsYXRlZF9pdGVtPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RGF0YSBmcm9tOiBBdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvZGVzY3JpcHRpb24+DQogICAgICAgICAgICAgIDxpbnRlcl93b3JrX3JlbGF0aW9uIGlkZW50aWZpZXItdHlwZT0iZG9pIiByZWxhdGlvbnNoaXAtdHlwZT0iaXNTdXBwbGVtZW50ZWRCeSI+MTAuNTA2MS9kcnlhZC5iODM1azwvaW50ZXJfd29ya19yZWxhdGlvbj4NCiAgICAgICAgICAgIDwvcmVsYXRlZF9pdGVtPg0KICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICA8YXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgICA8YXJjaGl2ZSBuYW1lPSJDTE9DS1NTIiAvPg0KICAgICAgICAgIDwvYXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3PC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NzwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0idGV4dC1taW5pbmciPg0KICAgICAgICAgICAgICA8aXRlbT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2UgbWltZV90eXBlPSJhcHBsaWNhdGlvbi9wZGYiPmh0dHBzOi8vY2RuLmVsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2VsaWZlLTAxNTY3LXYxLnBkZjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvaXRlbT4NCiAgICAgICAgICAgICAgPGl0ZW0+DQogICAgICAgICAgICAgICAgPHJlc291cmNlIG1pbWVfdHlwZT0iYXBwbGljYXRpb24veG1sIj5odHRwczovL2Nkbi5lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2Ny9lbGlmZS0wMTU2Ny12MS54bWw8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Qm9ua2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT40MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFQTCByZWd1bGF0ZXMgdmFzY3VsYXIgdGlzc3VlIGlkZW50aXR5IGluIEFyYWJpZG9wc2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW4gdGhlIGJlZ2lubmluZyB3YXMgdGhlIHdvcm08L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTUzNC9nZW5ldGljcy4xMDkuMTA0OTc2PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBoeXNpb2xvZ2lhIFBsYW50YXJ1bTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5DaGFmZmV5PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTE0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU5NDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TZWNvbmRhcnkgeHlsZW0gZGV2ZWxvcG1lbnQgaW4gQXJhYmlkb3BzaXM6IGEgbW9kZWwgZm9yIHdvb2QgZm9ybWF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzQvai4xMzk5LTMwNTQuMjAwMi4xMTQwNDEzLng8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmV1cmFsIGNvbXB1dGF0aW9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjExOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UcmFpbmluZyBudS1zdXBwb3J0IHZlY3RvciBjbGFzc2lmaWVyczogdGhlb3J5IGFuZCBhbGdvcml0aG1zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExNjIvMDg5OTc2NjAxNzUwMzk5MzM1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1hY2hpbmUgTGVhcm5pbmc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q29ydGVzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjczPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDA5OTQwMTg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3VwcG9ydC12ZWN0b3IgTmV0d29ya3M8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliNiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRldmVsb3BtZW50PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkRvbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTE5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNlbGx1bGFyIG9yZ2FuaXNhdGlvbiBvZiB0aGUgQXJhYmlkb3BzaXMgdGhhbGlhbmEgcm9vdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdGVtIGNlbGwgZnVuY3Rpb24gZHVyaW5nIHBsYW50IHZhc2N1bGFyIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5XT1g0IGFuZCBXT1gxNCBhY3QgZG93bnN0cmVhbSBvZiB0aGUgUFhZIHJlY2VwdG9yIGtpbmFzZSB0byByZWd1bGF0ZSBwbGFudCB2YXNjdWxhciBwcm9saWZlcmF0aW9uIGluZGVwZW5kZW50bHkgb2YgYW55IHJvbGUgaW4gdmFzY3VsYXIgb3JnYW5pc2F0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudCB2YXNjdWxhciBjZWxsIGRpdmlzaW9uIGlzIG1haW50YWluZWQgYnkgYW4gaW50ZXJhY3Rpb24gYmV0d2VlbiBQWFkgYW5kIGV0aHlsZW5lIHNpZ25hbGxpbmc8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBnZW4uMTAwMjk5NzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIFN5c3RlbXMgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5GdWNoczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzcwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNsdXN0ZXJpbmcgcGhlbm90eXBlIHBvcHVsYXRpb25zIGJ5IGdlbm9tZS13aWRlIFJOQWkgYW5kIG11bHRpcGFyYW1ldHJpYyBpbWFnaW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CYVNBUi1BIHRvb2wgaW4gUiBmb3IgZnJlcXVlbmN5IGRldGVjdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouYmlvc3lzdGVtcy4yMDEyLjA3LjAwNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q3VycmVudCBPcGluaW9uIGluIFBsYW50IEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R3Jvb3ZlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGV2ZWxvcG1lbnRhbCBtZWNoYW5pc21zIHJlZ3VsYXRpbmcgc2Vjb25kYXJ5IGdyb3d0aCBpbiB3b29keSBwbGFudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAxNi9qLnBiaS4yMDA1LjExLjAxMzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjEzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VERJRiBwZXB0aWRlIHNpZ25hbGluZyByZWd1bGF0ZXMgdmFzY3VsYXIgc3RlbSBjZWxsIHByb2xpZmVyYXRpb24gdmlhIHRoZSBXT1g0IGhvbWVvYm94IGdlbmUgaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ob24tY2VsbC1hdXRvbm9tb3VzIGNvbnRyb2wgb2YgdmFzY3VsYXIgc3RlbSBjZWxsIGZhdGUgYnkgYSBDTEUgcGVwdGlkZS9yZWNlcHRvciBzeXN0ZW08L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjA4MDg0NDQxMDU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIxNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+TWV5ZXJvd2l0ejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODk8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BcmFiaWRvcHNpcywgYSB1c2VmdWwgd2VlZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudHMgY29tcGFyZWQgdG8gYW5pbWFsczogdGhlIGJyb2FkZXN0IGNvbXBhcmF0aXZlIHN0dWR5IG9mIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIHdlZWQgZm9yIHdvb2Q/IEFyYWJpZG9wc2lzIGFzIGEgZ2VuZXRpYyBtb2RlbCBmb3IgeHlsZW0gZGV2ZWxvcG1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNC9wcC4xMDQuMDQwMjEyPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQmlvdGVjaG5vbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Ob2JsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+V2hhdCBpcyBhIHN1cHBvcnQgdmVjdG9yIG1hY2hpbmU/PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmJ0MTIwNi0xNTY1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMTkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcyBvZiB0aGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk9sc29uPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Nzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTUxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODA8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DbGFzc2lmaWNhdGlvbiBvZiBjdWx0dXJlZCBtYW1tYWxpYW4gY2VsbHMgYnkgc2hhcGUgYW5hbHlzaXMgYW5kIHBhdHRlcm4gcmVjb2duaXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVCSW1hZ2XigJNhbiBSIHBhY2thZ2UgZm9yIGltYWdlIHByb2Nlc3Npbmcgd2l0aCBhcHBsaWNhdGlvbnMgdG8gY2VsbHVsYXIgcGhlbm90eXBlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL2Jpb2luZm9ybWF0aWNzL2J0cTA0NjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SYWduaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIzPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEzMjI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDExPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TW9iaWxlIGdpYmJlcmVsbGluIGRpcmVjdGx5IHN0aW11bGF0ZXMgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHh5bGVtIGV4cGFuc2lvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTA1L3RwYy4xMTEuMDg0MDIwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EcnlhZCBEaWdpdGFsIFJlcG9zaXRvcnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U2Fua2FyPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGF0YSBmcm9tOiBBdXRvbWF0ZWQgcXVhbnRpdGF0aXZlIGhpc3RvbG9neSByZXZlYWxzIHZhc2N1bGFyIG1vcnBob2R5bmFtaWNzIGR1cmluZyBBcmFiaWRvcHNpcyBoeXBvY290eWwgc2Vjb25kYXJ5IGdyb3d0aDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC41MDYxL2RyeWFkLmI4MzVrPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U2lib3V0PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDU4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwODwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZsb3dlcmluZyBhcyBhIGNvbmRpdGlvbiBmb3IgeHlsZW0gZXhwYW5zaW9uIGluIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBhbmQgcm9vdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZvbHV0aW9uIG9mIGRldmVsb3BtZW50IG9mIHZhc2N1bGFyIGNhbWJpYSBhbmQgc2Vjb25kYXJ5IGdyb3d0aDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9ImJpYjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q2VsbCBtb3JwaG9sb2d5IGNsYXNzaWZpY2F0aW9uIGFuZCBjbHV0dGVyIG1pdGlnYXRpb24gaW4gcGhhc2UtY29udHJhc3QgbWljcm9zY29weSBpbWFnZXMgdXNpbmcgbWFjaGluZSBsZWFybmluZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iYmliMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVjaGFuaWNhbCBzdHJlc3MgYWN0cyB2aWEga2F0YW5pbiB0byBhbXBsaWZ5IGRpZmZlcmVuY2VzIGluIGdyb3d0aCByYXRlIGJldHdlZW4gYWRqYWNlbnQgY2VsbHMgaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAxNi9qLmNlbGwuMjAxMi4wMi4wNDg8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJiaWIyNyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDZWxsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+WWluPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgc2NyZWVuIGZvciBtb3JwaG9sb2dpY2FsIGNvbXBsZXhpdHkgaWRlbnRpZmllcyByZWd1bGF0b3JzIG9mIHN3aXRjaC1saWtlIHRyYW5zaXRpb25zIGJldHdlZW4gZGlzY3JldGUgY2VsbCBzaGFwZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uY2IyNzY0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgICA8Y29tcG9uZW50X2xpc3Q+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5BYnN0cmFjdDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNhYnN0cmFjdDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPmVMaWZlIGRpZ2VzdDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNkaWdlc3Q8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEEpIExpZ2h0IG1pY3Jvc2NvcHkgb2YgY3Jvc3Mgc2VjdGlvbnMgb2J0YWluZWQgZnJvbSBBcmFiaWRvcHNpcyBoeXBvY290eWxzIChvcmdhbiBwb3NpdGlvbiBpbGx1c3RyYXRlZCBmb3IgYSA5LWRheS1vbGQgc2VlZGxpbmcsIGxvd2VyIGxlZnQpIGF0IDkgZGFnICh1cHBlciBsZWZ0KSBhbmQgMzUgZGFnIChyaWdodCkuIFNpemUgYmFycyBhcmUgMTAwIM68bS4gQmx1ZSBHVVMgc3RhaW5pbmcgZHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhbiBBUEw6OkdVUyByZXBvcnRlciBnZW5lIGluIHRoaXMgQ29sLTAgYmFja2dyb3VuZCBsaW5lIG1hcmtzIHBobG9lbSBidW5kbGVzLiAoQikgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuIChDKSBFeGFtcGxlIG9mIGEgaGlnaC1yZXNvbHV0aW9uIGh5cG9jb3R5bCBzZWN0aW9uIGltYWdlIGFzc2VtYmxlZCBmcm9tIDExIMOXIDExIHRpbGVzLiAoRCkgVGhlIHNhbWUgaW1hZ2UgYWZ0ZXIgcHJlLXByb2Nlc3NpbmcgYW5kIGJpbmFyaXphdGlvbiwgYW5kIChFKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uIChGKSBOdW1iZXIgb2YgbWlzLXNlZ21lbnRlZCBjZWxscyBhcyBkZXRlcm1pbmVkIGJ5IGNhcmVmdWwgdmlzdWFsIGluc3BlY3Rpb24gaW4gMTIgc2VjdGlvbnMsIHBsb3R0ZWQgYWdhaW5zdCB0aGUgdG90YWwgbnVtYmVyIG9mIGNlbGxzIHBlciBzZWN0aW9uIChsb2cgc2NhbGUpLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDM8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNmaWcxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDIuIFRoZSDigJhRdWFudGl0YXRpdmUgSGlzdG9sb2d54oCZIGFwcHJvYWNoLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPihBKSBPdmVydmlldyBvZiB0aGUgY29tcHV0YXRpb25hbCBwaXBlbGluZSBmcm9tIGltYWdlIGFjcXVpc2l0aW9uIHRvIGFuYWx5c2lzLiAoQikg4oCYUGhlbm9wcmludHPigJkgZm9yIHRoZSBkaWZmZXJlbnQgZ2Vub3R5cGVzIGFuZCBkZXZlbG9wbWVudGFsIHN0YWdlcy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjZmlnMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjZmlnMnMxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDMuIFByb2dyZXNzaW9uIG9mIHRpc3N1ZSBwcm9saWZlcmF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPihBKSBQcmluY2lwYWwgY29tcG9uZW50IGFuYWx5c2lzIChQQ0EpIG9mIHRoZSBwaGVub3ByaW50cyBzaG93biBpbiBGaWd1cmUgMkIsIHBlcmZvcm1lZCB3aXRoIG5vcm1hbGl6ZWQgdmFsdWVzIChTdXBwbGVtZW50YXJ5IGZpbGUgNCkuIFRoZSBpbmxheSBzY3JlZXBsb3QgZGlzcGxheXMgdGhlIHByb3BvcnRpb24gb2YgdG90YWwgdmFyaWF0aW9uIGV4cGxhaW5lZCBieSBlYWNoIHByaW5jaXBhbCBjb21wb25lbnQuIChC4oCTRSkgQ29tcGFyYXRpdmUgcGxvdHMgb2YgcGFyYW1ldGVyIHByb2dyZXNzaW9uIGluIHRoZSB0d28gZ2Vub3R5cGVzLiBJbiAoRCksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I2ZpZzM8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNC4gQmltb2RhbCBkaXN0cmlidXRpb24gb2YgaW5jbGluZSBhbmdsZSBhY2NvcmRpbmcgdG8gcG9zaXRpb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEEgYW5kIEIpIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoQikgYXMgY29tcGFyZWQgdG8gQ29sLTAgKEEpIGF0IGxhdGVyIHN0YWdlcyBvZiBkZXZlbG9wbWVudCwgZm9yIGV4YW1wbGUgMzAgZGFnLiBUaGUgc2l6ZSBvZiB0aGUgZGlzYyBpbmNyZWFzZXMgd2l0aCB0aGUgYXJlYSBvZiB0aGUgY2VsbC4gQmx1ZSBjb2xvciBpbmRpY2F0ZXMgcmFkaWFsIGNlbGwgb3JpZW50YXRpb24sIHJlZCBvcnRob3JhZGlhbC4gKEMgYW5kIEQpIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjZmlnNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA04oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gaWxsdXN0cmF0aW9uIG9mIHRoZSBpbmNsaW5lIGFuZ2xlLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBpbmNsaW5lIGlzIHRoZSBhbmdsZSBiZXR3ZWVuIHRoZSBzZWN0aW9uIHJhZGl1cyB0aHJvdWdoIHRoZSBjZW50ZXIgb2YgYW4gZWxsaXBzZSBmaXQgdG8gYSBjZWxsIGFuZCB0aGUgbWFqb3IgYXhpcyBvZiB0aGF0IGVsbGlwc2UgZXh0ZW5kZWQgdG93YXJkcyB0aGUgeCBheGlzLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDg8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2Ny9maWd1cmVzI2ZpZzRzMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+KEHigJNKKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9lbGlmZXNjaWVuY2VzLm9yZy9hcnRpY2xlcy8wMTU2NyNmaWc1PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDXigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbmFseXNpcyBvZiBjZWxsIG51bWJlciBpbiBkZWZpbmVkIHh5bGVtIHJlZ2lvbnMgb2YgZGlmZmVyZW50IHNpemUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+Q2VsbCBudW1iZXIgaW4gYSBjaXJjbGUgb2YgMjAw4oCTNTAwIHBpeGVscyBhcm91bmQgdGhlIHNlY3Rpb24gY2VudGVycyBmb3IgQ29sLTAuIENlbGwgY291bnQgaW4gYSBjb25zdGFudCBhcmVhIG9mIHh5bGVtIG92ZXIgdGltZSBhY3Jvc3MgYWxsIGF2ZXJhZ2VkIGFjcm9zcyBhbGwgc2VjdGlvbnMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjZmlnNXMxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4oQSkgRXhhbXBsZSBvZiBHYXVzc2lhbiBrZXJuZWwgZGVuc2l0eSBlc3RpbWF0ZSBvZiB0aGUgbG9jYXRpb24gb2YgcHJlZGljdGVkIHBobG9lbSBidW5kbGVzIGNlbGxzIGluIGEgMzAgZGFnIENvbC0wIHNlY3Rpb24uIEhpZ2ggZGVuc2l0eSByZXByZXNlbnRzIHBobG9lbSBwb2xlcy4gKEIpIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuIEFQTDo6R1VTIHJlcG9ydGVyIGNvbnN0cnVjdC4gKEMpIFByb2JhYmlsaXR5IGRlbnNpdHkgZnVuY3Rpb24gb2YgdGhlIGRhdGEgc2hvd24gaW4gKEIpIG9idGFpbmVkIGZyb20gYW4gYXV0b21hdGVkIEJheWVzaWFuIG1vZGVsLiBUaGUgZG9taW5hbnQgc2luZ2xlIHBlYWsgaW5kaWNhdGVzIGEgY29uc3RhbnQgYXJjIGRpc3RhbmNlIG9mIGNhLiA2MiBwaXhlbCBiZXR3ZWVuIHRoZSBwaGxvZW0gcG9sZXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I2ZpZzY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgMS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4oQSkgQW4gZXhwbGFuYXRpb24gb2YgdGhlIGV4dHJhY3RlZCBwYXJhbWV0ZXJzIHRoYXQgZGVzY3JpYmUgdGhlIGNlbGx1bGFyIGZlYXR1cmVzLiAoQikgU3VtbWFyeSBpbmZvcm1hdGlvbiBvZiB0aGUgaGFuZC1sYWJlbGVkIHRyYWluaW5nIHNldCBmb3Igc3VwZXJ2aXNlZCBtYWNoaW5lIGxlYXJuaW5nLiAoQykgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoRCkgU3VtbWFyeSBvZiB0aGUgY2xhc3NpZmllciBwYXJhbWV0ZXJzIGZvciBzdXBlcnZpc2VkIG1hY2hpbmUgbGVhcm5pbmcuIChFKSBPdmVydmlldyBvZiB0aGUgY2VsbCB0eXBlIGNsYXNzZXMgcmVjb2duaXplZCBieSB0aGUgc3VwZXJ2aXNlZCBtYWNoaW5lIGxlYXJuaW5nIGFwcHJvYWNoIGFuZCB0aGVpciBhc3NpZ25tZW50IGNvZGVzIHVzZWQgaW4gRGF0YSBGaWxlcyAzIGFuZCA0Ljwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEyPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcvZmlndXJlcyNTRDEtZGF0YTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlF1YWxpdHkgY29udHJvbCBmaWxlcyBmb3IgdGhlIENvbC0wIHNlY3Rpb25zLjwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEzPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcvZmlndXJlcyNTRDItZGF0YTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlF1YWxpdHkgY29udHJvbCBmaWxlcyBmb3IgdGhlIExlciBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjU0QzLWRhdGE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5UaGUgbm9ybWFsaXplZCB2YWx1ZXMgb2YgdGhlIHBoZW5vcHJpbnRzIChGaWd1cmUgMkIpIHVzZWQgZm9yIFBDQS48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3L2ZpZ3VyZXMjU0Q0LWRhdGE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5EZWNpc2lvbiBsZXR0ZXI8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vZWxpZmVzY2llbmNlcy5vcmcvYXJ0aWNsZXMvMDE1NjcjU0ExPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+QXV0aG9yIHJlc3BvbnNlPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzAxNTY3I1NBMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
80
80
  http_version:
81
- recorded_at: Mon, 21 May 2018 15:00:31 GMT
81
+ recorded_at: Thu, 06 Sep 2018 07:23:51 GMT
82
82
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:27 GMT
20
+ - Thu, 06 Sep 2018 07:23:44 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -31,20 +31,20 @@ http_interactions:
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
33
  X-Request-Id:
34
- - 529f1627-f31c-42f2-83b0-62324d593f78
34
+ - 529dd825-3298-4cde-bc05-cf39e59412c7
35
35
  Etag:
36
- - W/"37a7d81cd24a954db63b7b525f99df73"
36
+ - W/"0f55b0f379d47b71b3dda4f8bae6b2b8"
37
37
  X-Runtime:
38
- - '0.575251'
38
+ - '0.137111'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.1007","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:22Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.1007","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:22Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:27 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:44 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1007/978-3-662-46370-3_13&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -64,13 +64,13 @@ http_interactions:
64
64
  Server:
65
65
  - Apache-Coyote/1.1
66
66
  Crossref-Deployment-Name:
67
- - qs2-2
67
+ - qs4-1
68
68
  Content-Type:
69
69
  - text/xml;charset=UTF-8
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:27 GMT
73
+ - Thu, 06 Sep 2018 07:23:43 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
@@ -130,5 +130,5 @@ http_interactions:
130
130
  \ </item>\r\n </collection>\r\n </doi_data>\r\n
131
131
  \ </content_item>\r\n </book>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
132
132
  http_version:
133
- recorded_at: Mon, 21 May 2018 15:00:28 GMT
133
+ recorded_at: Thu, 06 Sep 2018 07:23:44 GMT
134
134
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:34 GMT
20
+ - Thu, 06 Sep 2018 07:23:53 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -30,21 +30,21 @@ http_interactions:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - cde2cfc2-2139-4033-b373-b1bd807bd393
33
35
  Etag:
34
- - W/"edcb2264a364b46d21e9e1630a4006d0"
36
+ - W/"2dd6a762df65af452a927aac2d986c70"
35
37
  X-Runtime:
36
- - '0.123951'
37
- X-Request-Id:
38
- - 6e811fdc-2f9c-4251-8ce7-b0717bce0d95
38
+ - '0.229956'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.2210","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:59:47Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.2210","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:59:47Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:34 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:53 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.2210/pdb4hhb/pdb&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -64,13 +64,13 @@ http_interactions:
64
64
  Server:
65
65
  - Apache-Coyote/1.1
66
66
  Crossref-Deployment-Name:
67
- - cr6-1
67
+ - qs3-1
68
68
  Content-Type:
69
69
  - text/xml;charset=UTF-8
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:33 GMT
73
+ - Thu, 06 Sep 2018 07:23:53 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
@@ -94,5 +94,5 @@ http_interactions:
94
94
  \ </doi_data>\r\n </component>\r\n </component_list>\r\n
95
95
  \ </sa_component>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
96
96
  http_version:
97
- recorded_at: Mon, 21 May 2018 15:00:34 GMT
97
+ recorded_at: Thu, 06 Sep 2018 07:23:53 GMT
98
98
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:29 GMT
20
+ - Thu, 06 Sep 2018 07:23:45 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -31,20 +31,20 @@ http_interactions:
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
33
  X-Request-Id:
34
- - a83e2a2d-8d05-4f7a-85cb-dd9eab09f2c5
34
+ - 94cb7172-23f9-45cc-b82b-cc838b396af2
35
35
  Etag:
36
- - W/"763c0e4d3cd926a31520a20a61f19275"
36
+ - W/"58636db981a0de948be81280dee9afc2"
37
37
  X-Runtime:
38
- - '0.113718'
38
+ - '0.097046'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.1016","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:22Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.1016","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:22Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:29 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:45 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1016/j.ejphar.2015.03.018&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -64,13 +64,13 @@ http_interactions:
64
64
  Server:
65
65
  - Apache-Coyote/1.1
66
66
  Crossref-Deployment-Name:
67
- - qs2-2
67
+ - qs5-1
68
68
  Content-Type:
69
69
  - text/xml;charset=UTF-8
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:29 GMT
73
+ - Thu, 06 Sep 2018 07:23:45 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
@@ -78,5 +78,5 @@ http_interactions:
78
78
  string: !binary |-
79
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTAxNiIgdGltZXN0YW1wPSIyMDE3LTA2LTIzIDA0OjQ0OjQ4Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5FdXJvcGVhbiBKb3VybmFsIG9mIFBoYXJtYWNvbG9neTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8YWJicmV2X3RpdGxlPkV1cm9wZWFuIEpvdXJuYWwgb2YgUGhhcm1hY29sb2d5PC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0icHJpbnQiPjAwMTQyOTk5PC9pc3NuPg0KICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9InByaW50Ij4NCiAgICAgICAgICAgIDxtb250aD4wNzwvbW9udGg+DQogICAgICAgICAgICA8eWVhcj4yMDE1PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjc1OTwvdm9sdW1lPg0KICAgICAgICAgIDwvam91cm5hbF92b2x1bWU+DQogICAgICAgICAgPHNwZWNpYWxfbnVtYmVyaW5nPkM8L3NwZWNpYWxfbnVtYmVyaW5nPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPlBhdmluZyB0aGUgcGF0aCB0byBISVYgbmV1cm90aGVyYXB5OiBQcmVkaWN0aW5nIFNJViBDTlMgZGlzZWFzZTwvdGl0bGU+DQogICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlNhcmFoIEUuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5CZWNrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+U3V6YW5uZSBFLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+UXVlZW48L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LZW5uZXRoIFcuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5XaXR3ZXI8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LZWxseSBBLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWV0Y2FsZiBQYXRlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGlzYSBNLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWFuZ3VzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+THVjaW88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkdhbWE8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5Sb2JlcnQgSi48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkFkYW1zPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SmFuaWNlIEUuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5DbGVtZW50czwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk0uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5DaHJpc3RpbmUgWmluazwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkpvc2VwaCBMLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWFua293c2tpPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJwcmludCI+DQogICAgICAgICAgICA8bW9udGg+MDc8L21vbnRoPg0KICAgICAgICAgICAgPHllYXI+MjAxNTwveWVhcj4NCiAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgPHBhZ2VzPg0KICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPGxhc3RfcGFnZT4zMTI8L2xhc3RfcGFnZT4NCiAgICAgICAgICA8L3BhZ2VzPg0KICAgICAgICAgIDxwdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgIDxpdGVtX251bWJlciBpdGVtX251bWJlcl90eXBlPSJzZXF1ZW5jZS1udW1iZXIiPlMwMDE0Mjk5OTE1MDAyMzMyPC9pdGVtX251bWJlcj4NCiAgICAgICAgICAgIDxpZGVudGlmaWVyIGlkX3R5cGU9InBpaSI+UzAwMTQyOTk5MTUwMDIzMzI8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTAxNi9lbHNldmllcl9jbV9wb2xpY3k8L2Nyb3NzbWFya19wb2xpY3k+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbnM+DQogICAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgICAgIDxkb21haW4+ZWxzZXZpZXIuY29tPC9kb21haW4+DQogICAgICAgICAgICAgIDwvY3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj5zY2llbmNlZGlyZWN0LmNvbTwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPnRydWU8L2Nyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPg0KICAgICAgICAgICAgPGN1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iVGhpcyBhcnRpY2xlIGlzIG1haW50YWluZWQgYnkgIiBuYW1lPSJwdWJsaXNoZXIiPkVsc2V2aWVyPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbGFiZWw9IkFydGljbGUgVGl0bGUiIG5hbWU9ImFydGljbGV0aXRsZSI+UGF2aW5nIHRoZSBwYXRoIHRvIEhJViBuZXVyb3RoZXJhcHk6IFByZWRpY3RpbmcgU0lWIENOUyBkaXNlYXNlPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbGFiZWw9IkpvdXJuYWwgVGl0bGUiIG5hbWU9ImpvdXJuYWx0aXRsZSI+RXVyb3BlYW4gSm91cm5hbCBvZiBQaGFybWFjb2xvZ3k8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ3Jvc3NSZWYgRE9JIGxpbmsgdG8gcHVibGlzaGVyIG1haW50YWluZWQgdmVyc2lvbiIgbmFtZT0iYXJ0aWNsZWxpbmsiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEwMTYvai5lanBoYXIuMjAxNS4wMy4wMTg8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ29udGVudCBUeXBlIiBuYW1lPSJjb250ZW50X3R5cGUiPmFydGljbGU8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ29weXJpZ2h0IiBuYW1lPSJjb3B5cmlnaHQiPkNvcHlyaWdodCDCqSAyMDE1IEVsc2V2aWVyIEIuVi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzEwMDAwMDAwMjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgICBOSUgNCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlIwMSBOUzA4OTQ4MjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlIwMSBOUzA3Nzg2OTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlAwMSBNSDA3MDMwNjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlA0MCBPRDAxMzExNzwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlQzMiBPRDAxMTA4OTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ0ZG0iPmh0dHA6Ly93d3cuZWxzZXZpZXIuY29tL3RkbS91c2VybGljZW5zZS8xLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouZWpwaGFyLjIwMTUuMDMuMDE4PC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2xpbmtpbmdodWIuZWxzZXZpZXIuY29tL3JldHJpZXZlL3BpaS9TMDAxNDI5OTkxNTAwMjMzMjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0idGV4dC1taW5pbmciIHNldGJ5SUQ9ImVsc2V2aWVyX3VwZGF0ZSI+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQveG1sIj5odHRwOi8vYXBpLmVsc2V2aWVyLmNvbS9jb250ZW50L2FydGljbGUvUElJOlMwMDE0Mjk5OTE1MDAyMzMyP2h0dHBBY2NlcHQ9dGV4dC94bWw8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQvcGxhaW4iPmh0dHA6Ly9hcGkuZWxzZXZpZXIuY29tL2NvbnRlbnQvYXJ0aWNsZS9QSUk6UzAwMTQyOTk5MTUwMDIzMzI/aHR0cEFjY2VwdD10ZXh0L3BsYWluPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgIDwvam91cm5hbF9hcnRpY2xlPg0KICAgICAgPC9qb3VybmFsPg0KICAgIDwvY3Jvc3NyZWY+DQogIDwvZG9pX3JlY29yZD4NCjwvZG9pX3JlY29yZHM+
80
80
  http_version:
81
- recorded_at: Mon, 21 May 2018 15:00:29 GMT
81
+ recorded_at: Thu, 06 Sep 2018 07:23:45 GMT
82
82
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:23 GMT
20
+ - Thu, 06 Sep 2018 07:23:46 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -30,21 +30,21 @@ http_interactions:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - b386b3a8-4640-4b6b-b204-b5fb0d17d15d
33
35
  Etag:
34
- - W/"4aadec3626c9c053f75d78db0882961b"
36
+ - W/"23f359718b9ea6ac4e1b9b4384527e0b"
35
37
  X-Runtime:
36
- - '0.114614'
37
- X-Request-Id:
38
- - d35c586a-21f3-453d-a811-42c82ad4d589
38
+ - '0.206523'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.1371","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.1371","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:23 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:47 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1371/journal.pone.0000030&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -64,13 +64,13 @@ http_interactions:
64
64
  Server:
65
65
  - Apache-Coyote/1.1
66
66
  Crossref-Deployment-Name:
67
- - qs4-1
67
+ - qs2-2
68
68
  Content-Type:
69
69
  - text/xml;charset=UTF-8
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:23 GMT
73
+ - Thu, 06 Sep 2018 07:23:48 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
@@ -78,5 +78,5 @@ http_interactions:
78
78
  string: !binary |-
79
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTM3MSIgdGltZXN0YW1wPSIyMDE3LTA2LTE3IDA4OjI2OjE1Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5QTG9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICA8bW9udGg+MTI8L21vbnRoPg0KICAgICAgICAgICAgPGRheT4yMDwvZGF5Pg0KICAgICAgICAgICAgPHllYXI+MjAwNjwveWVhcj4NCiAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgPGpvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgIDwvam91cm5hbF9pc3N1ZT4NCiAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICA8dGl0bGU+VHJpb3NlIFBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeSBJcyBDYXVzZWQgYnkgQWx0ZXJlZCBEaW1lcml6YXRpb27igJNOb3QgQ2F0YWx5dGljIEluYWN0aXZpdHnigJNvZiB0aGUgTXV0YW50IEVuenltZXM8L3RpdGxlPg0KICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJrdXM8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhbHNlcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkdpbm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkhlZXJlbjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1pY2hhZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkJyZWl0ZW5iYWNoPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SGFuczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TGVocmFjaDwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlN5bHZpYTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+S3JvYml0c2NoPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1aWxoZW08L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkphbmJvbjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjIwPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDA2PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cGFnZXM+DQogICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMzA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMDwvaXRlbV9udW1iZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwPC9kb2k+DQogICAgICAgICAgICA8dGltZXN0YW1wPjIwMTYxMjMxMDI1NjQ1PC90aW1lc3RhbXA+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgICA8aXRlbSBjcmF3bGVyPSJpUGFyYWRpZ21zIj4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OIEVuZ2wgSiBNZWQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QVMgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjcyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA1Ni9ORUpNMTk2NTAyMDQyNzIwNTAzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkhlcmVkaXRhcnkgSGVtb2x5dGljIEFuZW1pYSB3aXRoIFRyaW9zZXBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJhaWxsaWVyZXMgQmVzdCBQcmFjdCBSZXMgQ2xpbiBIYWVtYXRvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BUyBTY2huZWlkZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNTMvYmVoYS4yMDAwLjAwNjE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5OiBoaXN0b3JpY2FsIHBlcnNwZWN0aXZlcyBhbmQgbW9sZWN1bGFyIGFzcGVjdHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CbG9vZCBDZWxscyBNb2wgRGlzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYmNtZC4xOTk2LjAwMTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVtYXRvbG9naWNhbGx5IGltcG9ydGFudCBtdXRhdGlvbnM6IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIFNvYyBUcmFuczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIE9sYWg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9ic3QwMzAwMDMwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogYSBuZXVyb2RlZ2VuZXJhdGl2ZSBtaXNmb2xkaW5nIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NIFdhdGFuYWJlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NjwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1vbGVjdWxhciBhbmFseXNpcyBvZiBhIHNlcmllcyBvZiBhbGxlbGVzIGluIGh1bWFucyB3aXRoIHJlZHVjZWQgYWN0aXZpdHkgYXQgdGhlIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgbG9jdXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4gSHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkhXIE1vaHJlbndlaXNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjUxICggUHQgNCk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4NzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2OS0xODA5LjE5ODcudGIwMTA2NS54PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZyZXF1ZW5jeSBhbmQgZGlzdHJpYnV0aW9uIG9mIHJhcmUgZWxlY3Ryb3Bob3JldGljIG1vYmlsaXR5IHZhcmlhbnRzIGluIGEgcG9wdWxhdGlvbiBvZiBodW1hbiBuZXdib3JucyBpbiBBbm4gQXJib3IsIE1pY2hpZ2FuLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGVkaWF0ciBSZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMjAzLzAwMDA2NDUwLTE5ODIxMTAwMC0wMDAxMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FbGV2YXRlZCBmcmVxdWVuY3kgb2YgY2FycmllcnMgZm9yIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeSBpbiBuZXdib3JuIGluZmFudHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U1cgRWJlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMjkxMzY0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByZXZhbGVuY2Ugb2YgcGFydGlhbCBkZWZpY2llbmN5IG9mIHJlZCBjZWxsIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gR2VybWFueeKAk2Egc3R1ZHkgb2YgMzAwMCBwZW9wbGUuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KViBOZWVsPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjYzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4ODwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNlYXJjaCBmb3IgbXV0YXRpb25zIGFsdGVyaW5nIHByb3RlaW4gY2hhcmdlIGFuZC9vciBmdW5jdGlvbiBpbiBjaGlsZHJlbiBvZiBhdG9taWMgYm9tYiBzdXJ2aXZvcnM6IGZpbmFsIHJlcG9ydC48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTAiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Nzg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTA0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjc4LjguNTA0NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GcmVxdWVuY3kgb2YgZW56eW1lIGRlZmljaWVuY3kgdmFyaWFudHMgaW4gZXJ5dGhyb2N5dGVzIG9mIG5ld2Jvcm4gaW5mYW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FdXIgSiBDbGluIEludmVzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTc5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xMzY1LTIzNjIuMTk3OS50YjAwOTIzLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVyZWRpdGFyeSBkZWZpY2llbmN5IG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gZm91ciB1bnJlbGF0ZWQgZmFtaWxpZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBNZXJrbGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNoYXJhY3Rlcml6YXRpb24gb2YgdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBtdXRhbnRzIHdpdGggcmVkdWNlZCBlbnp5bWUgYWN0aXZpdHkgaW4gTXVzIG11c2N1bHVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogVGhlb3IgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5GIE9yb3N6PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTgyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQzNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNi9qdGJpLjE5OTYuMDE4NDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ucmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3k6IHByZWRpY3Rpb25zIGFuZCBmYWN0cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SU8gRGFhcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjgzPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc5MDM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy44My4yMC43OTAzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkh1bWFuIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3k6IGEgc2luZ2xlIGFtaW5vIGFjaWQgc3Vic3RpdHV0aW9uIHJlc3VsdHMgaW4gYSB0aGVybW9sYWJpbGUgZW56eW1lLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkh1bSBNdXRhdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SIEFyeWE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yOTA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvKFNJQ0kpMTA5OC0xMDA0KDE5OTcpMTA6NCZsdDsyOTA6OkFJRC1IVU1VNCZndDszLjAuQ087Mi1MPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkV2aWRlbmNlIGZvciBmb3VuZGVyIGVmZmVjdCBvZiB0aGUgR2x1MTA0QXNwIHN1YnN0aXR1dGlvbiBhbmQgaWRlbnRpZmljYXRpb24gb2YgbmV3IG11dGF0aW9ucyBpbiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJBIFBlcnJ5PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjM0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5MjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDIyNjUyODc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHVtYW4gdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZTogc3Vic3RpdHV0aW9uIG9mIEFyZyBmb3IgR2x5IGF0IHBvc2l0aW9uIDEyMiBpbiBhIHRoZXJtb2xhYmlsZSBlbGVjdHJvbW9ycGggdmFyaWFudCwgVFBJLU1hbmNoZXN0ZXIuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qmxvb2Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QyBWYWxlbnRpbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMzA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlIHBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeSBpbiAzIEZyZW5jaCBmYW1pbGllczogdHdvIG5vdmVsIG51bGwgYWxsZWxlcywgYSBmcmFtZXNoaWZ0IG11dGF0aW9uIChUUEkgQWxmb3J0dmlsbGUpIGFuZCBhbiBhbHRlcmF0aW9uIGluIHRoZSBpbml0aWF0aW9uIGNvZG9uIChUUEkgUGFyaXMpLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxOCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFtIEogSHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1MIENoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI2MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IdW1hbiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kgcmVzdWx0aW5nIGZyb20gbXV0YXRpb24gb2YgUGhlLTI0MC48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIb2xsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40ODY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvQkYwMDIxNjQ1NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IZXJlZGl0YXJ5IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgKFRQSSkgZGVmaWNpZW5jeTogdHdvIHNldmVyZWx5IGFmZmVjdGVkIGJyb3RoZXJzIG9uZSB3aXRoIGFuZCBvbmUgd2l0aG91dCBuZXVyb2xvZ2ljYWwgc3ltcHRvbXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QyBSIFNlYW5jZXMgU29jIEJpb2wgRmlsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlMgSG9sbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTkyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5bR2x5Y29seXRpYyBlbnp5bWUgZGVmZWN0cyBhbmQgbmV1cm9kZWdlbmVyYXRpb25dLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MgTmF0bCBBY2FkIFNjaSBVIFMgQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TIEhvbGxhbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMzYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTQuMTkuMTAzNjI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U2VhcmNoIGZvciB0aGUgcGF0aG9nZW5lc2lzIG9mIHRoZSBkaWZmZXJpbmcgcGhlbm90eXBlIGluIHR3byBjb21wb3VuZCBoZXRlcm96eWdvdGUgSHVuZ2FyaWFuIGJyb3RoZXJzIHdpdGggdGhlIHNhbWUgZ2Vub3R5cGljIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIb2xsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy45Mi4xLjI2ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Fcnl0aHJvY3l0ZSBsaXBpZHMgaW4gdHJpb3NlLXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMjY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy45Ny4zLjEwMjY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RW5oYW5jZWQgYXNzb2NpYXRpb24gb2YgbXV0YW50IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgdG8gcmVkIGNlbGwgbWVtYnJhbmVzIGFuZCB0byBicmFpbiBtaWNyb3R1YnVsZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5EIE11bWJlcmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2LzAzNzgtMTExOSg5NSkwMDAzNy03PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlllYXN0IHZlY3RvcnMgZm9yIHRoZSBjb250cm9sbGVkIGV4cHJlc3Npb24gb2YgaGV0ZXJvbG9nb3VzIHByb3RlaW5zIGluIGRpZmZlcmVudCBnZW5ldGljIGJhY2tncm91bmRzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gQmlvcGh5cyBSZXMgQ29tbXVuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gUmFsc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzQ3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJicmMuMjAwNi4wNi4xNTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gZWZmaWNpZW50IGFuZCBlY29ub21pYyBlbmhhbmNlciBtaXggZm9yIFBDUi48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5ZZWFzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5DQiBCcmFjaG1hbm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvKFNJQ0kpMTA5Ny0wMDYxKDE5OTgwMTMwKTE0OjImbHQ7MTE1OjpBSUQtWUVBMjA0Jmd0OzMuMC5DTzsyLTI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGVzaWduZXIgZGVsZXRpb24gc3RyYWlucyBkZXJpdmVkIGZyb20gJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsgUzI4OEM6IGEgdXNlZnVsIHNldCBvZiBzdHJhaW5zIGFuZCBwbGFzbWlkcyBmb3IgUENSLW1lZGlhdGVkIGdlbmUgZGlzcnVwdGlvbiBhbmQgb3RoZXIgYXBwbGljYXRpb25zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyNyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkggR29laGxlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLm1vbGNlbC4yMDA0LjA5LjAxNjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIHByb3RlaW4gaW50ZXJhY3Rpb24gbmV0d29yayBsaW5rcyBHSVQxLCBhbiBlbmhhbmNlciBvZiBodW50aW5ndGluIGFnZ3JlZ2F0aW9uLCB0byBIdW50aW5ndG9uJmFtcDthcG9zO3MgZGlzZWFzZS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlJIIFNjaGllc3RsPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzM5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDAzNDA3MTI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGlnaCBlZmZpY2llbmN5IHRyYW5zZm9ybWF0aW9uIG9mIGludGFjdCB5ZWFzdCBjZWxscyB1c2luZyBzaW5nbGUgc3RyYW5kZWQgbnVjbGVpYyBhY2lkcyBhcyBhIGNhcnJpZXIuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvdGVjaG5vbCBQcm9nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkMgQ29tcGFnbm88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMjEvYnA5NjAwNDNjPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkdseWNlcm9sIHByb2R1Y3Rpb24gaW4gYSB0cmlvc2UgcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbnQgbXV0YW50IG9mICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFwcGwgRW52aXJvbiBNaWNyb2Jpb2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+S00gT3ZlcmthbXA8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L0FFTS42OC42LjI4MTQtMjgyMS4yMDAyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1ldGFib2xpYyBlbmdpbmVlcmluZyBvZiBnbHljZXJvbCBwcm9kdWN0aW9uIGluICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQmFjdGVyaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gQ2lyaWFjeTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEzOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTc5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGh5c2lvbG9naWNhbCBlZmZlY3RzIG9mIHNldmVuIGRpZmZlcmVudCBibG9ja3MgaW4gZ2x5Y29seXNpcyBpbiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BcmNoIEJpb2NoZW0gQmlvcGh5czwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SIFlhbWFqaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQyMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMzI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5hYmIuMjAwNC4wMS4wMDM8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlwb3hpYyB1cC1yZWd1bGF0aW9uIG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZXhwcmVzc2lvbiBpbiBtb3VzZSBicmFpbiBjYXBpbGxhcnkgZW5kb3RoZWxpYWwgY2VsbHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qk1DIEJpb3RlY2hub2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIYXJqdTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTE4Ni8xNDcyLTY3NTAtNC04PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJhcGlkIGlzb2xhdGlvbiBvZiB5ZWFzdCBnZW5vbWljIEROQTogQnVzdCBuJmFtcDthcG9zOyBHcmFiLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkh1bSBNb2wgR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+TSBSYWxzZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODkzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDkzL2htZy9kZGkzMjE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QXRheGluLTIgYW5kIGh1bnRpbmd0aW4gaW50ZXJhY3Qgd2l0aCBlbmRvcGhpbGluLUEgY29tcGxleGVzIHRvIGZ1bmN0aW9uIGluIHBsYXN0aW4tYXNzb2NpYXRlZCBwYXRod2F5cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GRU1TIFllYXN0IFJlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HIEhlZXJlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouZmVtc3lyLjIwMDQuMDUuMDA4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSByb2xlIG9mIHJlc3BpcmF0aW9uLCByZWFjdGl2ZSBveHlnZW4gc3BlY2llcyBhbmQgb3hpZGF0aXZlIHN0cmVzcyBpbiBtb3RoZXIgY2VsbC1zcGVjaWZpYyBhZ2Vpbmcgb2YgeWVhc3Qgc3RyYWlucyBkZWZlY3RpdmUgaW4gdGhlIFJBUyBzaWduYWxsaW5nIHBhdGh3YXkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvdGVjaG5pcXVlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NIFJhbHNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjM5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMjE0NC8wNTM5MkJNMDE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2VuZXJhdGlvbiBvZiBhIHllYXN0IHR3by1oeWJyaWQgc3RyYWluIHN1aXRhYmxlIGZvciBjb21wZXRpdGl2ZSBwcm90ZWluIGJpbmRpbmcgYW5hbHlzaXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UEsgTWFpdHJhPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjQ2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ3NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NzE8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIGtpbmV0aWMgc3R1ZHkgb2YgZ2x5Y29seXRpYyBlbnp5bWUgc3ludGhlc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFjdGEgQ3J5c3RhbGxvZ3JhcGggU2VjdCBGIFN0cnVjdCBCaW9sIENyeXN0IENvbW11bjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UIEtpbm9zaGl0YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjYxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNy9TMTc0NDMwOTEwNTAwODM0MTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHJ1Y3R1cmUgb2YgYSBoaWdoLXJlc29sdXRpb24gY3J5c3RhbCBmb3JtIG9mIGh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2U6IGltcHJvdmVtZW50IG9mIGNyeXN0YWxzIHVzaW5nIHRoZSBnZWwtdHViZSBtZXRob2QuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+WSBTaGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yODA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDE4MDU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk01MDUxODEyMDA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2VuZXRpYyBwZXJ0dXJiYXRpb24gb2YgZ2x5Y29seXNpcyByZXN1bHRzIGluIGluaGliaXRpb24gb2YgZGUgbm92byBpbm9zaXRvbCBiaW9zeW50aGVzaXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qmxvb2Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMxMDY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExODIvYmxvb2QuVjk4LjEwLjMxMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlzdGluY3QgYmVoYXZpb3Igb2YgbXV0YW50IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gaGVtb2x5c2F0ZSBhbmQgaW4gaXNvbGF0ZWQgZm9ybTogbW9sZWN1bGFyIGJhc2lzIG9mIGVuenltZSBkZWZpY2llbmN5LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3MDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NDI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwMy0wOTQxLTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJyZWxhdGlvbnMgYmV0d2VlbiB0aGUgZWZmaWNpZW5jeSBvZiB0cmFuc2xhdGlvbiBzdGFydCBzaXRlcyBhbmQgb3RoZXIgc2VxdWVuY2UgZmVhdHVyZXMgb2YgeWVhc3QgbVJOQXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gS296YWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTIuNy4yNjYyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFkaGVyZW5jZSB0byB0aGUgZmlyc3QtQVVHIHJ1bGUgd2hlbiBhIHNlY29uZCBBVUcgY29kb24gZm9sbG93cyBjbG9zZWx5IHVwb24gdGhlIGZpcnN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwNS0xMTUyLTc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHJvbGUgb2YgYWx0ZXJuYXRpdmUgdHJhbnNsYXRpb24gc3RhcnQgc2l0ZXMgaW4gdGhlIGdlbmVyYXRpb24gb2YgaHVtYW4gcHJvdGVpbiBkaXZlcnNpdHkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBJbnQgQ29uZiBJbnRlbGwgU3lzdCBNb2wgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BRyBQZWRlcnNlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldXJhbCBuZXR3b3JrIHByZWRpY3Rpb24gb2YgdHJhbnNsYXRpb24gaW5pdGlhdGlvbiBzaXRlcyBpbiBldWthcnlvdGVzOiBwZXJzcGVjdGl2ZXMgZm9yIEVTVCBhbmQgZ2Vub21lIGFuYWx5c2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q0kgR29uemFsZXo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAzNzgtMTExOSgwMSkwMDU1Mi0yPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vbnNlbnNlLW1lZGlhdGVkIG1STkEgZGVjYXkgaW4gJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIENlbGwgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIEVzdG9qYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41ODIwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L01DQi4xNS4xMC41ODIwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvcnJlbGF0aW9uIG9mIHR3by1oeWJyaWQgYWZmaW5pdHkgZGF0YSB3aXRoIGluIHZpdHJvIG1lYXN1cmVtZW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbmFsIEJpb2NoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SUcgU2VyZWJyaWlza2lpPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Mjg1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYWJpby4yMDAwLjQ2NzI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VXNlcyBvZiBsYWNaIHRvIHN0dWR5IGdlbmUgZnVuY3Rpb246IGV2YWx1YXRpb24gb2YgYmV0YS1nYWxhY3Rvc2lkYXNlIGFzc2F5cyBlbXBsb3llZCBpbiB0aGUgeWVhc3QgdHdvLWh5YnJpZCBzeXN0ZW0uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIE1pY3JvYmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5QIExhdW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTM2NS0yOTU4LjIwMDEuMDIzMTcueDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BZ2VkIG1vdGhlciBjZWxscyBvZiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0OyBzaG93IG1hcmtlcnMgb2Ygb3hpZGF0aXZlIHN0cmVzcyBhbmQgYXBvcHRvc2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0OSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQ2VsbCBCaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkYgTWFkZW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgzL2pjYi4xNDUuNC43NTc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T3h5Z2VuIHN0cmVzczogYSByZWd1bGF0b3Igb2YgYXBvcHRvc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MgU29jIEV4cCBCaW9sIE1lZDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SQSBGbG95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIyMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNDYvai4xNTI1LTEzNzMuMTk5OS5kMDEtMTQwLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW50aW94aWRhbnRzLCBveGlkYXRpdmUgc3RyZXNzLCBhbmQgZGVnZW5lcmF0aXZlIG5ldXJvbG9naWNhbCBkaXNvcmRlcnMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXVyIEogUGVkaWF0cjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTUwPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAyMDI2NzA2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogaGFlbW9seXRpYyBhbmFlbWlhLCBteW9wYXRoeSB3aXRoIGFsdGVyZWQgbWl0b2Nob25kcmlhIGFuZCBtZW50YWwgcmV0YXJkYXRpb24gZHVlIHRvIGEgbmV3IHZhcmlhbnQgd2l0aCBhY2NlbGVyYXRlZCBlbnp5bWUgY2F0YWJvbGlzbSBhbmQgZGltaW5pc2hlZCBzcGVjaWZpYyBhY3Rpdml0eS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIEp1bmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDg5MzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk0yMDg4MDYyMDA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJhY3Rpb24gb2YgY29maWxpbiB3aXRoIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGNvbnRyaWJ1dGVzIGdseWNvbHl0aWMgZnVlbCBmb3IgTmEsSy1BVFBhc2UgdmlhIFJoby1tZWRpYXRlZCBzaWduYWxpbmcgcGF0aHdheS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5USCBTYXd5ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjQ5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NzI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHVkaWVzIG9uIGh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UuIElJLiBOYXR1cmUgb2YgdGhlIGVsZWN0cm9waG9yZXRpYyBtdWx0aXBsaWNpdHkgaW4gZXJ5dGhyb2N5dGVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvbXAgQmlvY2hlbSBQaHlzaW9sIEI8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Uk0gU25hcGthPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzMzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk3NDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvbXBhcmlzb24gb2YgdGhlIGVsZWN0cm9waG9yZXRpYyBwcm9wZXJ0aWVzIG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2VzIG9mIHZhcmlvdXMgdGlzc3VlcyBhbmQgc3BlY2llcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OdWNsZWljIEFjaWRzIFJlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TIFN0YW1tPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+RDQ2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDkzL25hci9na2owMzE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QVNEOiBhIGJpb2luZm9ybWF0aWNzIHJlc291cmNlIG9uIGFsdGVybmF0aXZlIHNwbGljaW5nLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogTmV1cm9jaGVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPklIIEhlbm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xNDcxLTQxNTkuMjAwNC4wMjg1NC54PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBhdGhvZ2VuaWMgbXV0YXRpb25zIGluYWN0aXZhdGUgcGFya2luIGJ5IGRpc3RpbmN0IG1lY2hhbmlzbXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWVkIEh5cG90aGVzZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R1AgQ29uY2VwY2lvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLm1laHkuMjAwNS4wNi4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGNvZG9uIGZvciB0aGUgbWV0aGlvbmluZSBhdCBwb3NpdGlvbiAxMjkgKE0xMjkpIGluIHRoZSBodW1hbiBwcmlvbiBwcm90ZWluIHByb3ZpZGVzIGFuIGFsdGVybmF0aXZlIGluaXRpYXRpb24gc2l0ZSBmb3IgdHJhbnNsYXRpb24gYW5kIHJlbmRlcnMgaW5kaXZpZHVhbHMgaG9tb3p5Z291cyBmb3IgTTEyOSBtb3JlIHN1c2NlcHRpYmxlIHRvIHByaW9uIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+T25jb2dlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SiBMaXU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzY3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L3NqLm9uYy4xMjAzNTk5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkluaXRpYXRpb24gb2YgdHJhbnNsYXRpb24gZnJvbSBhIGRvd25zdHJlYW0gaW4tZnJhbWUgQVVHIGNvZG9uIG9uIEJSQ0ExIGNhbiBnZW5lcmF0ZSB0aGUgbm92ZWwgaXNvZm9ybSBwcm90ZWluIERlbHRhQlJDQTEoMTdhYSkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VHJlbmRzIEJpb2NoZW0gU2NpPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5KIE1hcmlhbmF5YWdhbTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYxODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLnRpYnMuMjAwNC4wOS4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHBvd2VyIG9mIHR3bzogcHJvdGVpbiBkaW1lcml6YXRpb24gaW4gYmlvbG9neS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjAiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIEo8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SiBPbGFoPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzkyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY3NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9CSjIwMDUwOTkzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogY29uc2VxdWVuY2VzIG9mIGFuIGluaGVyaXRlZCBtdXRhdGlvbiBhdCBtUk5BLCBwcm90ZWluIGFuZCBtZXRhYm9saWMgbGV2ZWxzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gQmlvcGh5cyBSZXMgQ29tbXVuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5TIEtvc293ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zNzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvMDAwNi0yOTFYKDY5KTkwODUwLVg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlhbWlkZSwgYSBuZXcgcmVhZ2VudCBmb3IgdGhlIGludHJhY2VsbHVsYXIgb3hpZGF0aW9uIG9mIGdsdXRhdGhpb25lIHRvIHRoZSBkaXN1bGZpZGUuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWV0aG9kcyBFbnp5bW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5TIEtvc293ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTIzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2LzAwNzYtNjg3OSg5NSk1MTExNi00PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRpYW1pZGU6IGFuIG94aWRhbnQgcHJvYmUgZm9yIHRoaW9scy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R1cgVGhvcnBlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTAxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1NjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy4wMzA1ODg4MTAxPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNlbGxzIGhhdmUgZGlzdGluY3QgbWVjaGFuaXNtcyB0byBtYWludGFpbiBwcm90ZWN0aW9uIGFnYWluc3QgZGlmZmVyZW50IHJlYWN0aXZlIG94eWdlbiBzcGVjaWVzOiBveGlkYXRpdmUtc3RyZXNzLXJlc3BvbnNlIGdlbmVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gSjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5EIFNoZW50b248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zNzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTEzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDQyL2JqMjAwMzA0MTQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJvdGVpbiBTLXRoaW9sYXRpb24gdGFyZ2V0cyBnbHljb2x5c2lzIGFuZCBwcm90ZWluIHN5bnRoZXNpcyBpbiByZXNwb25zZSB0byBveGlkYXRpdmUgc3RyZXNzIGluIHRoZSB5ZWFzdCAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GYXNlYiBKPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkMgQ29sdXNzaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyNjY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwOTYvZmouMDAtMDA3NGNvbTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IMk8yLWluZHVjZWQgYmxvY2sgb2YgZ2x5Y29seXNpcyBhcyBhbiBhY3RpdmUgQURQLXJpYm9zeWxhdGlvbiByZWFjdGlvbiBwcm90ZWN0aW5nIGNlbGxzIGZyb20gYXBvcHRvc2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyZWUgUmFkaWMgQmlvbCBNZWQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Vk0gQ29zdGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTA3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L1MwODkxLTU4NDkoMDIpMDEwODYtOTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeWRyb2dlbiBwZXJveGlkZS1pbmR1Y2VkIGNhcmJvbnlsYXRpb24gb2Yga2V5IG1ldGFib2xpYyBlbnp5bWVzIGluICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7OiB0aGUgaW52b2x2ZW1lbnQgb2YgdGhlIG94aWRhdGl2ZSBzdHJlc3MgcmVzcG9uc2UgcmVndWxhdG9ycyBZYXAxIGFuZCBTa243LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBDZWxsIEJpb2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q00gR3JhbnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjUwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L01DQi4xOS40LjI2NTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlmZmVyZW50aWFsIHByb3RlaW4gUy10aGlvbGF0aW9uIG9mIGdseWNlcmFsZGVoeWRlLTMtcGhvc3BoYXRlIGRlaHlkcm9nZW5hc2UgaXNvZW56eW1lcyBpbmZsdWVuY2VzIHNlbnNpdGl2aXR5IHRvIG94aWRhdGl2ZSBzdHJlc3MuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXVyIEogQmlvY2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5JIFNjaHVwcGUtS29pc3RpbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjIxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xNDMyLTEwMzMuMTk5NC50YjE4ODIxLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Uy10aGlvbGF0aW9uIG9mIGh1bWFuIGVuZG90aGVsaWFsIGNlbGwgZ2x5Y2VyYWxkZWh5ZGUtMy1waG9zcGhhdGUgZGVoeWRyb2dlbmFzZSBhZnRlciBoeWRyb2dlbiBwZXJveGlkZSB0cmVhdG1lbnQuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+ViBSYXZpY2hhbmRyYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNjk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjUwMTA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Uy10aGlvbGF0aW9uIG9mIGdseWNlcmFsZGVoeWRlLTMtcGhvc3BoYXRlIGRlaHlkcm9nZW5hc2UgaW5kdWNlZCBieSB0aGUgcGhhZ29jeXRvc2lzLWFzc29jaWF0ZWQgcmVzcGlyYXRvcnkgYnVyc3QgaW4gYmxvb2QgbW9ub2N5dGVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3MCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnIgR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QiBLcmVtczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQyNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMzExMjExPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk11dGFudHMgb2YgJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsgc2Vuc2l0aXZlIHRvIG94aWRhdGl2ZSBhbmQgb3Ntb3RpYyBzdHJlc3MuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjcxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5udSBSZXYgUGxhbnQgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5CQiBCdWNoYW5hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTE0Ni9hbm51cmV2LmFycGxhbnQuNTYuMDMyNjA0LjE0NDI0NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SZWRveCByZWd1bGF0aW9uOiBhIGJyb2FkZW5pbmcgaG9yaXpvbi48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNzIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbnRpb3hpZCBSZWRveCBTaWduYWw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QSBIb2xtZ3JlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODExPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDg5L2Fycy4yMDAwLjIuNC04MTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW50aW94aWRhbnQgZnVuY3Rpb24gb2YgdGhpb3JlZG94aW4gYW5kIGdsdXRhcmVkb3hpbiBzeXN0ZW1zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3MyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk4gRW5nbCBKIE1lZDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5LQiBIYW1tb25kPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzI1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA1Ni9ORUpNMTk5MTA5MTIzMjUxMTA0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVmZmljYWN5IG9mIHN0YXRld2lkZSBuZW9uYXRhbCBzY3JlZW5pbmcgZm9yIGN5c3RpYyBmaWJyb3NpcyBieSBhc3NheSBvZiB0cnlwc2lub2dlbiBjb25jZW50cmF0aW9ucy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgICA8Y29tcG9uZW50X2xpc3Q+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAxPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDM8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA1PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDc8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA4PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDg8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLnMwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuczAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
80
80
  http_version:
81
- recorded_at: Mon, 21 May 2018 15:00:24 GMT
81
+ recorded_at: Thu, 06 Sep 2018 07:23:50 GMT
82
82
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,9 +17,9 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Mon, 21 May 2018 15:00:33 GMT
20
+ - Thu, 06 Sep 2018 07:23:52 GMT
21
21
  Content-Type:
22
- - application/vnd.api+json; charset=utf-8
22
+ - application/json; charset=utf-8
23
23
  Connection:
24
24
  - keep-alive
25
25
  Status:
@@ -30,21 +30,21 @@ http_interactions:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
32
  - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - b34a75e2-2f10-4e32-a07f-2b3a8b104992
33
35
  Etag:
34
- - W/"189d84a86d7513841a239004bb567666"
36
+ - W/"731e29f1a9edc899ba101e1f182e59e4"
35
37
  X-Runtime:
36
- - '0.584102'
37
- X-Request-Id:
38
- - 4786a1bc-5cc5-4d7d-8572-c07ca827c2d2
38
+ - '0.088412'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.3.1
40
+ - Phusion Passenger 5.3.4
41
41
  Server:
42
- - nginx/1.14.0 + Phusion Passenger 5.3.1
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
43
43
  body:
44
44
  encoding: ASCII-8BIT
45
- string: '{"data":{"id":"10.1111","type":"handles","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:34Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
45
+ string: '{"data":{"id":"10.1111","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:34Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}},"included":[]}'
46
46
  http_version:
47
- recorded_at: Mon, 21 May 2018 15:00:33 GMT
47
+ recorded_at: Thu, 06 Sep 2018 07:23:52 GMT
48
48
  - request:
49
49
  method: get
50
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1111/nph.14619&noredirect=true&pid=tech@datacite.org
@@ -53,7 +53,7 @@ http_interactions:
53
53
  string: ''
54
54
  headers:
55
55
  User-Agent:
56
- - Maremma 4.0.5 - https://github.com/datacite/maremma
56
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
57
57
  Accept:
58
58
  - text/xml
59
59
  response:
@@ -70,13 +70,13 @@ http_interactions:
70
70
  Content-Language:
71
71
  - en-US
72
72
  Date:
73
- - Mon, 21 May 2018 15:00:33 GMT
73
+ - Thu, 06 Sep 2018 07:23:51 GMT
74
74
  Connection:
75
75
  - close
76
76
  body:
77
77
  encoding: ASCII-8BIT
78
78
  string: !binary |-
79
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTExMSIgdGltZXN0YW1wPSIyMDE4LTA0LTE2IDA1OjI4OjQzIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2Z1bGxfdGl0bGU+DQogICAgICAgICAgPGFiYnJldl90aXRsZT5OZXcgUGh5dG9sPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24+MDAyODY0Nlg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0icHJpbnQiPg0KICAgICAgICAgICAgPG1vbnRoPjA1PC9tb250aD4NCiAgICAgICAgICAgIDx5ZWFyPjIwMTg8L3llYXI+DQogICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgIDxqb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgIDx2b2x1bWU+MjE4PC92b2x1bWU+DQogICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMTExL25waC4yMDE4LjIxOC5pc3N1ZS0zPC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2RvaS53aWxleS5jb20vMTAuMTExMS9ucGguMjAxOC4yMTguaXNzdWUtMzwvcmVzb3VyY2U+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgPC9qb3VybmFsX2lzc3VlPg0KICAgICAgICA8am91cm5hbF9hcnRpY2xlIHB1YmxpY2F0aW9uX3R5cGU9ImZ1bGxfdGV4dCI+DQogICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgIDx0aXRsZT5MaWZlIGFuZCBkZWF0aCBvZiBwcm90ZWlucyBhZnRlciBwcm90ZWFzZSBjbGVhdmFnZTogcHJvdGVpbiBkZWdyYWRhdGlvbiBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5PC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TmljbzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+RGlzc21leWVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+SW5kZXBlbmRlbnQgSnVuaW9yIFJlc2VhcmNoIEdyb3VwIG9uIFByb3RlaW4gUmVjb2duaXRpb24gYW5kIERlZ3JhZGF0aW9uOyBMZWlibml6IEluc3RpdHV0ZSBvZiBQbGFudCBCaW9jaGVtaXN0cnkgKElQQik7IFdlaW5iZXJnIDMgSGFsbGUgKFNhYWxlKSBELTA2MTIwIEdlcm1hbnk8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+U2NpZW5jZUNhbXB1cyBIYWxsZSAtIFBsYW50LWJhc2VkIEJpb2Vjb25vbXk7IEJldHR5LUhlaW1hbm4tU3RyYXNzZSAzIEhhbGxlIChTYWFsZSkgRC0wNjEyMCBHZXJtYW55PC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTQxNTYtMzc2MTwvT1JDSUQ+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TdXNhbmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJpdmFzPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+TElQTTsgVW5pdmVyc2l0w6kgZGUgVG91bG91c2U7IElOUkE7IENOUlM7IENhc3RhbmV0LVRvbG9zYW4gMzEgMzI2IEZyYW5jZTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5FbW1hbnVlbGxlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5HcmFjaWV0PC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBCaW9sb2d5OyBNYXlub290aCBVbml2ZXJzaXR5OyBNYXlub290aCBDby4gS2lsZGFyZSBJcmVsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTM1NDgtODIxMzwvT1JDSUQ+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9InByaW50Ij4NCiAgICAgICAgICAgIDxtb250aD4wNTwvbW9udGg+DQogICAgICAgICAgICA8eWVhcj4yMDE4PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgPG1vbnRoPjA2PC9tb250aD4NCiAgICAgICAgICAgIDxkYXk+MDU8L2RheT4NCiAgICAgICAgICAgIDx5ZWFyPjIwMTc8L3llYXI+DQogICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgIDxwYWdlcz4NCiAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDxsYXN0X3BhZ2U+OTM1PC9sYXN0X3BhZ2U+DQogICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTAwMi9jcm9zc21hcmtfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPndpbGV5LmNvbTwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPnRydWU8L2Nyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPg0KICAgICAgICAgICAgPGN1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEFnZW5jZSBOYXRpb25hbGUgZGUgbGEgUmVjaGVyY2hlDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTY2NTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+QU5SLTEwLUxBQlgtNDE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5BTlItMTEtSURFWC0wMDAyLTAyPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIERlcGFydG1lbnQgb2YgQWdyaWN1bHR1cmUsIEZvb2QgYW5kIHRoZSBNYXJpbmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAxNTg0PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj4xNC9TLzgxOTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBTY2llbmNlIEZvdW5kYXRpb24gSXJlbGFuZA0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDE2MDI8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPjEzL0lBLzE4NzA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5WaXJ0dWFsIElyaXNoIENlbnRyZSBmb3IgQ3JvcCBJbXByb3ZlbWVudDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPjE0L1MvODE5PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEV1cm9wZWFuIFJlZ2lvbmFsIERldmVsb3BtZW50IEZ1bmQNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDA4NTMwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5MU1AtVFAyLTE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRGV1dHNjaGUgRm9yc2NodW5nc2dlbWVpbnNjaGFmdA0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDE2NTk8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkRJIDE3OTQvMy0xPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2RvaS53aWxleS5jb20vMTAuMTAwMi90ZG1fbGljZW5zZV8xLjE8L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiIHN0YXJ0X2RhdGU9IjIwMTctMDYtMDUiPmh0dHA6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS90ZXJtc0FuZENvbmRpdGlvbnMjdm9yPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGFyY2hpdmVfbG9jYXRpb25zPg0KICAgICAgICAgICAgPGFyY2hpdmUgbmFtZT0iUG9ydGljbyIgLz4NCiAgICAgICAgICA8L2FyY2hpdmVfbG9jYXRpb25zPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuMTExMS9ucGguMTQ2MTk8L2RvaT4NCiAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZG9pLndpbGV5LmNvbS8xMC4xMTExL25waC4xNDYxOTwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0iY3Jhd2xlci1iYXNlZCI+DQogICAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vd29sMS9kb2kvMTAuMTExMS9ucGguMTQ2MTkvZnVsbHBkZjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvaXRlbT4NCiAgICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJ0ZXh0LW1pbmluZyI+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBjb250ZW50X3ZlcnNpb249InZvciIgbWltZV90eXBlPSJhcHBsaWNhdGlvbi9wZGYiPmh0dHBzOi8vYXBpLndpbGV5LmNvbS9vbmxpbmVsaWJyYXJ5L3RkbS92MS9hcnRpY2xlcy8xMC4xMTExJTJGbnBoLjE0NjE5PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDAxfG5waDE0NjE5LWNpdC0wMDAxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5CaWVudmVudXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwMi9wbWljLjIwMTUwMDAyNzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Qcm90ZW9tZS13aWRlIGFuYWx5c2lzIG9mIHRoZSBhbWlubyB0ZXJtaW5hbCBzdGF0dXMgb2YgRXNjaGVyaWNoaWEgY29saSBwcm90ZWlucyBhdCB0aGUgc3RlYWR5LXN0YXRlIGFuZCB1cG9uIGRlZm9ybXlsYXRpb24gaW5oaWJpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNTAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDJ8bnBoMTQ2MTktY2l0LTAwMDIiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJyb3dlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubW9sY2VsLjIwMTMuMDIuMDA5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldXJvZGVnZW5lcmF0aW9uLWFzc29jaWF0ZWQgcHJvdGVpbiBmcmFnbWVudHMgYXMgc2hvcnQtbGl2ZWQgc3Vic3RyYXRlcyBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT41MDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwM3xucGgxNDYxOS1jaXQtMDAwMyI+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2Fsdm88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9tY3AuTTExNi4wNjM4MTg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tcGFyYXRpdmUgYW5hbHlzaXMgb2YgbWl0b2Nob25kcmlhbCBOLXRlcm1pbmkgZnJvbSBtb3VzZSwgaHVtYW4sIGFuZCB5ZWFzdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyICZhbXA7IENlbGx1bGFyIFByb3Rlb21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTEyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDR8bnBoMTQ2MTktY2l0LTAwMDQiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEyNi9zY2llbmNlLmFhbDM2NTU8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gTi1lbmQgcnVsZSBwYXRod2F5IHRoYXQgcmVjb2duaXplcyBwcm9saW5lIGFuZCBkZXN0cm95cyBnbHVjb25lb2dlbmljIGVuenltZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNjaWVuY2U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzU1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPmVhYUkzNjU1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDV8bnBoMTQ2MTktY2l0LTAwMDUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoaXNob2xtPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy4wNDA5NDY4MTAyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1vbGVjdWxhciBjaGFyYWN0ZXJpemF0aW9uIG9mIHByb3Rlb2x5dGljIGNsZWF2YWdlIHNpdGVzIG9mIHRoZSBQc2V1ZG9tb25hcyBzeXJpbmdhZSBlZmZlY3RvciBBdnJScHQyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMDg3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDZ8bnBoMTQ2MTktY2l0LTAwMDYiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkRpdHplbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25jYjk4NDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EZWdyYWRhdGlvbiBvZiBESUFQMSBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IGlzIGVzc2VudGlhbCBmb3IgcmVndWxhdGluZyBhcG9wdG9zaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDZWxsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Njc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwN3xucGgxNDYxOS1jaXQtMDAwNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9uZzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTAxL2dhZC4yOTIyMzUuMTE2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlViaXF1aXR5bGF0aW9uIGFjdGl2YXRlcyBhIHBlcHRpZGFzZSB0aGF0IHByb21vdGVzIGNsZWF2YWdlIGFuZCBkZXN0YWJpbGl6YXRpb24gb2YgaXRzIGFjdGl2YXRpbmcgRTMgbGlnYXNlcyBhbmQgZGl2ZXJzZSBncm93dGggcmVndWxhdG9yeSBwcm90ZWlucyB0byBsaW1pdCBjZWxsIHByb2xpZmVyYXRpb24gaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmVzICZhbXA7IERldmVsb3BtZW50PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDA4fG5waDE0NjE5LWNpdC0wMDA4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Fc2NoZW4tTGlwcG9sZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA0L3BwLjE2LjAwMzM2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkJhY3RlcmlhbCBBdnJScHQyLWxpa2UgY3lzdGVpbmUgcHJvdGVhc2VzIGJsb2NrIGFjdGl2YXRpb24gb2YgdGhlIEFyYWJpZG9wc2lzIG1pdG9nZW4tYWN0aXZhdGVkIHByb3RlaW4ga2luYXNlcywgTVBLNCBhbmQgTVBLMTE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTcxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyMjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwOXxucGgxNDYxOS1jaXQtMDAwOSI+DQogICAgICAgICAgICAgIDxhdXRob3I+RmFkZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXMxMjIwMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QaGVub3R5cGVzIG9uIGRlbWFuZCB2aWEgc3dpdGNoYWJsZSB0YXJnZXQgcHJvdGVpbiBkZWdyYWRhdGlvbiBpbiBtdWx0aWNlbGx1bGFyIG9yZ2FuaXNtczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENvbW11bmljYXRpb25zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTIyMDI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxMHxucGgxNDYxOS1jaXQtMDAxMCI+DQogICAgICAgICAgICAgIDxhdXRob3I+R2Fyem9uPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5mZWJzbGV0LjIwMDcuMDYuMDA1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBSVDYvQXQ1ZzAyMzEwIGVuY29kZXMgYW4gQXJhYmlkb3BzaXMgdWJpcXVpdGluIGxpZ2FzZSBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IHdpdGggYXJnaW5pbmUgc3BlY2lmaWNpdHkgYW5kIGlzIG5vdCB0aGUgQ0VSMyBsb2N1czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RkVCUyBMZXR0ZXJzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU4MTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMTg5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTF8bnBoMTQ2MTktY2l0LTAwMTEiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdldmFlcnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYnQ4MTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXhwbG9yaW5nIHByb3Rlb21lcyBhbmQgYW5hbHl6aW5nIHByb3RlaW4gcHJvY2Vzc2luZyBieSBtYXNzIHNwZWN0cm9tZXRyaWMgaWRlbnRpZmljYXRpb24gb2Ygc29ydGVkIE4tdGVybWluYWwgcGVwdGlkZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBCaW90ZWNobm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU2NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDEyfG5waDE0NjE5LWNpdC0wMDEyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oudGNiLjIwMTQuMDUuMDAxPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBldWthcnlvdGljIE4tZW5kIHJ1bGUgcGF0aHdheTogY29uc2VydmVkIG1lY2hhbmlzbXMgYW5kIGRpdmVyc2UgZnVuY3Rpb25zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcmVuZHMgaW4gQ2VsbCBCaW9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYwMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDEzfG5waDE0NjE5LWNpdC0wMDEzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL25waC4xNDEwNTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Gcm9tIHN0YXJ0IHRvIGZpbmlzaDogYW1pbm8tdGVybWluYWwgcHJvdGVpbiBtb2RpZmljYXRpb25zIGFzIGRlZ3JhZGF0aW9uIHNpZ25hbHMgaW4gcGxhbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjExPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExODg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNHxucGgxNDYxOS1jaXQtMDAxNCI+DQogICAgICAgICAgICAgIDxhdXRob3I+R2liYnM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYXR1cmUxMDUzNDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ib21lb3N0YXRpYyByZXNwb25zZSB0byBoeXBveGlhIGlzIHJlZ3VsYXRlZCBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IGluIHBsYW50czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ3OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNXxucGgxNDYxOS1jaXQtMDAxNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+R3Jhdm90PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExODYvczEyODcwLTAxNi0wOTQxLXk8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlwb3hpYSByZXNwb25zZSBpbiBBcmFiaWRvcHNpcyByb290cyBpbmZlY3RlZCBieSBQbGFzbW9kaW9waG9yYSBicmFzc2ljYWUgc3VwcG9ydHMgdGhlIGRldmVsb3BtZW50IG9mIGNsdWJyb290PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CTUMgUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNnxucGgxNDYxOS1jaXQtMDAxNiI+DQogICAgICAgICAgICAgIDxhdXRob3I+SGFtbWVybGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9qYmMuMjczLjM5LjI1MDAwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByb3RlaW5zIG9mIG5ld2x5IGlzb2xhdGVkIG11dGFudHMgYW5kIHRoZSBhbWluby10ZXJtaW5hbCBwcm9saW5lIGFyZSBlc3NlbnRpYWwgZm9yIHViaXF1aXRpbi1wcm90ZWFzb21lLWNhdGFseXplZCBjYXRhYm9saXRlIGRlZ3JhZGF0aW9uIG9mIGZydWN0b3NlLTEsNi1iaXNwaG9zcGhhdGFzZSBvZiBTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmlvbG9naWNhbCBDaGVtaXN0cnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjczPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1MDAwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTd8bnBoMTQ2MTktY2l0LTAwMTciPg0KICAgICAgICAgICAgICA8YXV0aG9yPkhvZXJuc3RlaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9tY3AuTTExNS4wNTcxOTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SWRlbnRpZmljYXRpb24gb2YgdGFyZ2V0cyBhbmQgaW50ZXJhY3Rpb24gcGFydG5lcnMgb2YgYXJnaW55bC10Uk5BIHByb3RlaW4gdHJhbnNmZXJhc2UgaW4gdGhlIG1vc3MgUGh5c2NvbWl0cmVsbGEgcGF0ZW5zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgJmFtcDsgQ2VsbHVsYXIgUHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xODA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTh8bnBoMTQ2MTktY2l0LTAwMTgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkh1ZXNnZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjEzOTktMzA1NC4yMDExLjAxNTM2Lng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Ti0gYW5kIEMtdGVybWluYWwgZGVncmFkb21pY3M6IG5ldyBhcHByb2FjaGVzIHRvIHJldmVhbCBiaW9sb2dpY2FsIHJvbGVzIGZvciBwbGFudCBwcm90ZWFzZXMgZnJvbSBzdWJzdHJhdGUgaWRlbnRpZmljYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBoeXNpb2xvZ2lhIFBsYW50YXJ1bTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDE5fG5waDE0NjE5LWNpdC0wMDE5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Id2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTE4MzE0NzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OLXRlcm1pbmFsIGFjZXR5bGF0aW9uIG9mIGNlbGx1bGFyIHByb3RlaW5zIGNyZWF0ZXMgc3BlY2lmaWMgZGVncmFkYXRpb24gc2lnbmFsczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTczPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjB8bnBoMTQ2MTktY2l0LTAwMjAiPg0KICAgICAgICAgICAgICA8YXV0aG9yPktpbTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouY2VsbC4yMDEzLjExLjAzMTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgTi10ZXJtaW5hbCBtZXRoaW9uaW5lIG9mIGNlbGx1bGFyIHByb3RlaW5zIGFzIGEgZGVncmFkYXRpb24gc2lnbmFsPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyMXxucGgxNDYxOS1jaXQtMDAyMSI+DQogICAgICAgICAgICAgIDxhdXRob3I+S2xlaWZlbGQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYnQuMTYxMTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Jc290b3BpYyBsYWJlbGluZyBvZiB0ZXJtaW5hbCBhbWluZXMgaW4gY29tcGxleCBzYW1wbGVzIGlkZW50aWZpZXMgcHJvdGVpbiBOLXRlcm1pbmkgYW5kIHByb3RlYXNlIGNsZWF2YWdlIHByb2R1Y3RzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQmlvdGVjaG5vbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyMnxucGgxNDYxOS1jaXQtMDAyMiI+DQogICAgICAgICAgICAgIDxhdXRob3I+TGVlPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE0MzQ4L21vbGNlbGxzLjIwMTYuMjMyOTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OLXRlcm1pbmFsIGFjZXR5bGF0aW9uLXRhcmdldGVkIE4tZW5kIHJ1bGUgcHJvdGVvbHl0aWMgc3lzdGVtOiB0aGUgQWMvTi1lbmQgcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsZXMgYW5kIENlbGxzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjM5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDIzfG5waDE0NjE5LWNpdC0wMDIzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5MaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA1L3RwYy4xNi4wMDc2ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Qcm90ZWluIGRlZ3JhZGF0aW9uIHJhdGUgaW4gQXJhYmlkb3BzaXMgdGhhbGlhbmEgbGVhZiBncm93dGggYW5kIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIwNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI0fG5waDE0NjE5LWNpdC0wMDI0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NYWpvdnNreTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDIxL3ByNTAwMTY0ajwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UYXJnZXRlZCBwcm90ZW9taWNzIGFuYWx5c2lzIG9mIHByb3RlaW4gZGVncmFkYXRpb24gaW4gcGxhbnQgc2lnbmFsaW5nIG9uIGFuIExUUS1PcmJpdHJhcCBtYXNzIHNwZWN0cm9tZXRlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBQcm90ZW9tZSBSZXNlYXJjaDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MjQ2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjV8bnBoMTQ2MTktY2l0LTAwMjUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1hcmNoaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L3NyZXAyNjAyMDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgTi1lbmQgcnVsZSBwYXRod2F5IHJlZ3VsYXRlcyBwYXRob2dlbiByZXNwb25zZXMgaW4gcGxhbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbnRpZmljIFJlcG9ydHM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjAyMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI2fG5waDE0NjE5LWNpdC0wMDI2Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NZW5kaW9uZG88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9wYmkuMTIzMzQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RW5oYW5jZWQgd2F0ZXJsb2dnaW5nIHRvbGVyYW5jZSBpbiBiYXJsZXkgYnkgbWFuaXB1bGF0aW9uIG9mIGV4cHJlc3Npb24gb2YgdGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBFMyBsaWdhc2UgUFJPVEVPTFlTSVM2PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBCaW90ZWNobm9sb2d5IEpvdXJuYWw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyN3xucGgxNDYxOS1jaXQtMDAyNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+TW90PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvbnBoLjE0NDk3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJlYWwtdGltZSBkZXRlY3Rpb24gb2YgTi1lbmQgcnVsZS1tZWRpYXRlZCB1YmlxdWl0aW5hdGlvbiB2aWEgZmx1b3Jlc2NlbnRseSBsYWJlbGVkIHN1YnN0cmF0ZSBwcm9iZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5ldyBQaHl0b2xvZ2lzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMTc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjEzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjh8bnBoMTQ2MTktY2l0LTAwMjgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pc2hpbXVyYTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA1L3RwYy4xMTMuMTEyNTU3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNscFMxIGlzIGEgY29uc2VydmVkIHN1YnN0cmF0ZSBzZWxlY3RvciBmb3IgdGhlIGNobG9yb3BsYXN0IENscCBwcm90ZWFzZSBzeXN0ZW0gaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI3NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI5fG5waDE0NjE5LWNpdC0wMDI5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5OaXNoaW11cmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJiYWJpby4yMDE0LjExLjAxMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Pcmdhbml6YXRpb24sIGZ1bmN0aW9uIGFuZCBzdWJzdHJhdGVzIG9mIHRoZSBlc3NlbnRpYWwgQ2xwIHByb3RlYXNlIHN5c3RlbSBpbiBwbGFzdGlkczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvY2hpbWljYSBldCBCaW9waHlzaWNhIEFjdGE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTg0Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzMHxucGgxNDYxOS1jaXQtMDAzMCI+DQogICAgICAgICAgICAgIDxhdXRob3I+UGlhdGtvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMmE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjEyMDc3ODYxMDk8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBjb3VudGVyYWN0cyBjZWxsIGRlYXRoIGJ5IGRlc3Ryb3lpbmcgcHJvYXBvcHRvdGljIHByb3RlaW4gZnJhZ21lbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5FMTgzOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDMxfG5waDE0NjE5LWNpdC0wMDMxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5QaWF0a292PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyYjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubW9sY2VsLjIwMTIuMTAuMDEyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBhdXRvLWdlbmVyYXRlZCBmcmFnbWVudCBvZiB0aGUgVXNwMSBkZXViaXF1aXR5bGFzZSBpcyBhIHBoeXNpb2xvZ2ljYWwgc3Vic3RyYXRlIG9mIHRoZSBOLWVuZCBydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDMyfG5waDE0NjE5LWNpdC0wMDMyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Qb3R1c2NoYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjk1LjE0Ljc5MDQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UFJUMSBvZiBBcmFiaWRvcHNpcyB0aGFsaWFuYSBlbmNvZGVzIGEgY29tcG9uZW50IG9mIHRoZSBwbGFudCBOLWVuZCBydWxlwqBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc5MDQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzM3xucGgxNDYxOS1jaXQtMDAzMyI+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFvPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvMzUwNzM2Mjc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGVncmFkYXRpb24gb2YgYSBjb2hlc2luIHN1YnVuaXQgYnkgdGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBpcyBlc3NlbnRpYWwgZm9yIGNocm9tb3NvbWUgc3RhYmlsaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDEwPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk1NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM0fG5waDE0NjE5LWNpdC0wMDM0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SaWJlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA0L3BwLjExNC4yNTMwODg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGdyZWVuaW5nIGFmdGVyIGV4dGVuZGVkIGRhcmtuZXNzMSBpcyBhbiBOLWVuZCBydWxlIHBhdGh3YXkgbXV0YW50IHdpdGggaGlnaCB0b2xlcmFuY2UgdG8gc3VibWVyZ2VuY2UgYW5kIHN0YXJ2YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2MTY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzNXxucGgxNDYxOS1jaXQtMDAzNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+Um93bGFuZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBBcmFiaWRvcHNpcyBjaGxvcm9wbGFzdCBzdHJvbWFsIE4tdGVybWlub21lOiBjb21wbGV4aXRpZXMgb2YgYW1pbm8tdGVybWluYWwgcHJvdGVpbiBtYXR1cmF0aW9uIGFuZCBzdGFiaWxpdHk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4ODE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzNnxucGgxNDYxOS1jaXQtMDAzNiI+DQogICAgICAgICAgICAgIDxhdXRob3I+U2FudHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA5MS9tYmMuRTA4LTAzLTAzMjg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHllYXN0IEdJRCBjb21wbGV4LCBhIG5vdmVsIHViaXF1aXRpbiBsaWdhc2UgKEUzKSBpbnZvbHZlZCBpbiB0aGUgcmVndWxhdGlvbiBvZiBjYXJib2h5ZHJhdGUgbWV0YWJvbGlzbTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIEJpb2xvZ3kgb2YgdGhlIENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzMyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM3fG5waDE0NjE5LWNpdC0wMDM3Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TY2hpbGxpbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9ucHJvdC4yMDEwLjE3ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DaGFyYWN0ZXJpemF0aW9uIG9mIHRoZSBwcmltZSBhbmQgbm9uLXByaW1lIGFjdGl2ZSBzaXRlIHNwZWNpZmljaXRpZXMgb2YgcHJvdGVhc2VzIGJ5IHByb3Rlb21lLWRlcml2ZWQgcGVwdGlkZSBsaWJyYXJpZXMgYW5kIHRhbmRlbSBtYXNzIHNwZWN0cm9tZXRyeTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIFByb3RvY29sczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM4fG5waDE0NjE5LWNpdC0wMDM4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UYWtlbW90bzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDk0L01QTUktMTgtMTI1ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NZW1icmFuZSByZWxlYXNlIGFuZCBkZXN0YWJpbGl6YXRpb24gb2YgQXJhYmlkb3BzaXMgUklONCBmb2xsb3dpbmcgY2xlYXZhZ2UgYnkgUHNldWRvbW9uYXMgc3lyaW5nYWUgQXZyUnB0MjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIFBsYW50LU1pY3JvYmUgSW50ZXJhY3Rpb25zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzOXxucGgxNDYxOS1jaXQtMDAzOSI+DQogICAgICAgICAgICAgIDxhdXRob3I+VGFzYWtpPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExNDYvYW5udXJldi1iaW9jaGVtLTA1MTcxMC0wOTMzMDg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIE4tZW5kIHJ1bGUgcGF0aHdheTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5udWFsIFJldmlldyBvZiBCaW9jaGVtaXN0cnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjYxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDB8bnBoMTQ2MTktY2l0LTAwNDAiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlRzaWF0c2lhbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNS90cGMuMTEzLjExNTI4NzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgQXJhYmlkb3BzaXMgTUVUQUNBU1BBU0U5IGRlZ3JhZG9tZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDF8bnBoMTQ2MTktY2l0LTAwNDEiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZhcnNoYXZza3k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwMi9wcm8uNjY2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLWVuZCBydWxlIHBhdGh3YXkgYW5kIHJlZ3VsYXRpb24gYnkgcHJvdGVvbHlzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb3RlaW4gU2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjk4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDJ8bnBoMTQ2MTktY2l0LTAwNDIiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZlbm5lPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvcG1pYy4yMDE1MDAwMTQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaW1wcm92ZWQgd29ya2Zsb3cgZm9yIHF1YW50aXRhdGl2ZSBOLXRlcm1pbmFsIGNoYXJnZS1iYXNlZCBmcmFjdGlvbmFsIGRpYWdvbmFsIGNocm9tYXRvZ3JhcGh5IChDaGFGUkFESUMpIHRvIHN0dWR5IHByb3Rlb2x5dGljIGV2ZW50cyBpbiBBcmFiaWRvcHNpcyB0aGFsaWFuYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNDU4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDN8bnBoMTQ2MTktY2l0LTAwNDMiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZlbm5lPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMjEvcHI0MDA0MzVkPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vdmVsIGhpZ2hseSBzZW5zaXRpdmUsIHNwZWNpZmljLCBhbmQgc3RyYWlnaHRmb3J3YXJkIHN0cmF0ZWd5IGZvciBjb21wcmVoZW5zaXZlIE4tdGVybWluYWwgcHJvdGVvbWljcyByZXZlYWxzIHVua25vd24gc3Vic3RyYXRlcyBvZiB0aGUgbWl0b2Nob25kcmlhbCBwZXB0aWRhc2UgSWNwNTU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgUHJvdGVvbWUgUmVzZWFyY2g8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzgyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQ0fG5waDE0NjE5LWNpdC0wMDQ0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Wb2d0bGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmNlbGwuMjAwOS4wNy4wNDU8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2xvYmFsIGFuYWx5c2lzIG9mIHRoZSBtaXRvY2hvbmRyaWFsIE4tcHJvdGVvbWUgaWRlbnRpZmllcyBhIHByb2Nlc3NpbmcgcGVwdGlkYXNlIGNyaXRpY2FsIGZvciBwcm90ZWluIHN0YWJpbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDI4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDV8bnBoMTQ2MTktY2l0LTAwNDUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPldhZGFzPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk0xMTYuNzQ3OTU2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuYWx5emluZyBOLXRlcm1pbmFsIGFyZ2lueWxhdGlvbiB0aHJvdWdoIHRoZSB1c2Ugb2YgcGVwdGlkZSBhcnJheXMgYW5kIGRlZ3JhZGF0aW9uIGFzc2F5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBCaW9sb2dpY2FsIENoZW1pc3RyeTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjA5NzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDA0NnxucGgxNDYxOS1jaXQtMDA0NiI+DQogICAgICAgICAgICAgIDxhdXRob3I+V2VpdHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXM0NDI1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBsYW50IGN5c3RlaW5lIG94aWRhc2VzIGNvbnRyb2wgdGhlIG94eWdlbi1kZXBlbmRlbnQgYnJhbmNoIG9mIHRoZSBOLWVuZC1ydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDb21tdW5pY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0MjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDA0N3xucGgxNDYxOS1jaXQtMDA0NyI+DQogICAgICAgICAgICAgIDxhdXRob3I+V2hpdGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXMxNDY5MDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudCBjeXN0ZWluZSBveGlkYXNlcyBhcmUgZGlveHlnZW5hc2VzIHRoYXQgZGlyZWN0bHkgZW5hYmxlIGFyZ2lueWwgdHJhbnNmZXJhc2UtY2F0YWx5emVkIGFyZ2lueWxhdGlvbiBvZiBOLWVuZCBydWxlIHRhcmdldHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDb21tdW5pY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE0NjkwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDh8bnBoMTQ2MTktY2l0LTAwNDgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlh1PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDUvdHBjLjE1LjAwMTczPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlR3byBOLXRlcm1pbmFsIGFjZXR5bHRyYW5zZmVyYXNlcyBhbnRhZ29uaXN0aWNhbGx5IHJlZ3VsYXRlIHRoZSBzdGFiaWxpdHkgb2YgYSBub2QtbGlrZSByZWNlcHRvciBpbiBBcmFiaWRvcHNpczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTQ3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDl8bnBoMTQ2MTktY2l0LTAwNDkiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlpoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvcG1pYy4yMDE0MDA1MzA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UXVhbnRpdGF0aXZlIHByb3Rlb21pY3MgYW5hbHlzaXMgb2YgdGhlIEFyZy9OLWVuZCBydWxlIHBhdGh3YXkgb2YgdGFyZ2V0ZWQgZGVncmFkYXRpb24gaW4gQXJhYmlkb3BzaXMgcm9vdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb3Rlb21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
79
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTExMSIgdGltZXN0YW1wPSIyMDE4LTA4LTA3IDAxOjUyOjE0Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2Z1bGxfdGl0bGU+DQogICAgICAgICAgPGFiYnJldl90aXRsZT5OZXcgUGh5dG9sPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24+MDAyODY0Nlg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0icHJpbnQiPg0KICAgICAgICAgICAgPG1vbnRoPjA1PC9tb250aD4NCiAgICAgICAgICAgIDx5ZWFyPjIwMTg8L3llYXI+DQogICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgIDxqb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgIDx2b2x1bWU+MjE4PC92b2x1bWU+DQogICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMTExL25waC4yMDE4LjIxOC5pc3N1ZS0zPC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2RvaS53aWxleS5jb20vMTAuMTExMS9ucGguMjAxOC4yMTguaXNzdWUtMzwvcmVzb3VyY2U+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgPC9qb3VybmFsX2lzc3VlPg0KICAgICAgICA8am91cm5hbF9hcnRpY2xlIHB1YmxpY2F0aW9uX3R5cGU9ImZ1bGxfdGV4dCI+DQogICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgIDx0aXRsZT5MaWZlIGFuZCBkZWF0aCBvZiBwcm90ZWlucyBhZnRlciBwcm90ZWFzZSBjbGVhdmFnZTogcHJvdGVpbiBkZWdyYWRhdGlvbiBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5PC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TmljbzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+RGlzc21leWVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+SW5kZXBlbmRlbnQgSnVuaW9yIFJlc2VhcmNoIEdyb3VwIG9uIFByb3RlaW4gUmVjb2duaXRpb24gYW5kIERlZ3JhZGF0aW9uOyBMZWlibml6IEluc3RpdHV0ZSBvZiBQbGFudCBCaW9jaGVtaXN0cnkgKElQQik7IFdlaW5iZXJnIDMgSGFsbGUgKFNhYWxlKSBELTA2MTIwIEdlcm1hbnk8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+U2NpZW5jZUNhbXB1cyBIYWxsZSAtIFBsYW50LWJhc2VkIEJpb2Vjb25vbXk7IEJldHR5LUhlaW1hbm4tU3RyYXNzZSAzIEhhbGxlIChTYWFsZSkgRC0wNjEyMCBHZXJtYW55PC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTQxNTYtMzc2MTwvT1JDSUQ+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TdXNhbmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJpdmFzPC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+TElQTTsgVW5pdmVyc2l0w6kgZGUgVG91bG91c2U7IElOUkE7IENOUlM7IENhc3RhbmV0LVRvbG9zYW4gMzEgMzI2IEZyYW5jZTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5FbW1hbnVlbGxlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5HcmFjaWV0PC9zdXJuYW1lPg0KICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+RGVwYXJ0bWVudCBvZiBCaW9sb2d5OyBNYXlub290aCBVbml2ZXJzaXR5OyBNYXlub290aCBDby4gS2lsZGFyZSBJcmVsYW5kPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTM1NDgtODIxMzwvT1JDSUQ+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9InByaW50Ij4NCiAgICAgICAgICAgIDxtb250aD4wNTwvbW9udGg+DQogICAgICAgICAgICA8eWVhcj4yMDE4PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgPG1vbnRoPjA2PC9tb250aD4NCiAgICAgICAgICAgIDxkYXk+MDU8L2RheT4NCiAgICAgICAgICAgIDx5ZWFyPjIwMTc8L3llYXI+DQogICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgIDxwYWdlcz4NCiAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDxsYXN0X3BhZ2U+OTM1PC9sYXN0X3BhZ2U+DQogICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTAwMi9jcm9zc21hcmtfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPndpbGV5LmNvbTwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPnRydWU8L2Nyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPg0KICAgICAgICAgICAgPGN1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEFnZW5jZSBOYXRpb25hbGUgZGUgbGEgUmVjaGVyY2hlDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTY2NTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+QU5SLTEwLUxBQlgtNDE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5BTlItMTEtSURFWC0wMDAyLTAyPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIERlcGFydG1lbnQgb2YgQWdyaWN1bHR1cmUsIEZvb2QgYW5kIHRoZSBNYXJpbmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAxNTg0PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj4xNC9TLzgxOTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBTY2llbmNlIEZvdW5kYXRpb24gSXJlbGFuZA0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDE2MDI8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPjEzL0lBLzE4NzA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj5WaXJ0dWFsIElyaXNoIENlbnRyZSBmb3IgQ3JvcCBJbXByb3ZlbWVudDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPjE0L1MvODE5PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEV1cm9wZWFuIFJlZ2lvbmFsIERldmVsb3BtZW50IEZ1bmQNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDA4NTMwPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5MU1AtVFAyLTE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRGV1dHNjaGUgRm9yc2NodW5nc2dlbWVpbnNjaGFmdA0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDE2NTk8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkRJIDE3OTQvMy0xPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2RvaS53aWxleS5jb20vMTAuMTAwMi90ZG1fbGljZW5zZV8xLjE8L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiIHN0YXJ0X2RhdGU9IjIwMTctMDYtMDUiPmh0dHA6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS90ZXJtc0FuZENvbmRpdGlvbnMjdm9yPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGFyY2hpdmVfbG9jYXRpb25zPg0KICAgICAgICAgICAgPGFyY2hpdmUgbmFtZT0iUG9ydGljbyIgLz4NCiAgICAgICAgICA8L2FyY2hpdmVfbG9jYXRpb25zPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuMTExMS9ucGguMTQ2MTk8L2RvaT4NCiAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZG9pLndpbGV5LmNvbS8xMC4xMTExL25waC4xNDYxOTwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0iY3Jhd2xlci1iYXNlZCI+DQogICAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vd29sMS9kb2kvMTAuMTExMS9ucGguMTQ2MTkvZnVsbHBkZjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvaXRlbT4NCiAgICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJ0ZXh0LW1pbmluZyI+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBjb250ZW50X3ZlcnNpb249InZvciIgbWltZV90eXBlPSJhcHBsaWNhdGlvbi9wZGYiPmh0dHBzOi8vYXBpLndpbGV5LmNvbS9vbmxpbmVsaWJyYXJ5L3RkbS92MS9hcnRpY2xlcy8xMC4xMTExJTJGbnBoLjE0NjE5PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDAxfG5waDE0NjE5LWNpdC0wMDAxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5CaWVudmVudXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwMi9wbWljLjIwMTUwMDAyNzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Qcm90ZW9tZS13aWRlIGFuYWx5c2lzIG9mIHRoZSBhbWlubyB0ZXJtaW5hbCBzdGF0dXMgb2YgRXNjaGVyaWNoaWEgY29saSBwcm90ZWlucyBhdCB0aGUgc3RlYWR5LXN0YXRlIGFuZCB1cG9uIGRlZm9ybXlsYXRpb24gaW5oaWJpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNTAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDJ8bnBoMTQ2MTktY2l0LTAwMDIiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJyb3dlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubW9sY2VsLjIwMTMuMDIuMDA5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldXJvZGVnZW5lcmF0aW9uLWFzc29jaWF0ZWQgcHJvdGVpbiBmcmFnbWVudHMgYXMgc2hvcnQtbGl2ZWQgc3Vic3RyYXRlcyBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT41MDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwM3xucGgxNDYxOS1jaXQtMDAwMyI+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2Fsdm88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9tY3AuTTExNi4wNjM4MTg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tcGFyYXRpdmUgYW5hbHlzaXMgb2YgbWl0b2Nob25kcmlhbCBOLXRlcm1pbmkgZnJvbSBtb3VzZSwgaHVtYW4sIGFuZCB5ZWFzdDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyICZhbXA7IENlbGx1bGFyIFByb3Rlb21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTEyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDR8bnBoMTQ2MTktY2l0LTAwMDQiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEyNi9zY2llbmNlLmFhbDM2NTU8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gTi1lbmQgcnVsZSBwYXRod2F5IHRoYXQgcmVjb2duaXplcyBwcm9saW5lIGFuZCBkZXN0cm95cyBnbHVjb25lb2dlbmljIGVuenltZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNjaWVuY2U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzU1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPmVhYUkzNjU1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDV8bnBoMTQ2MTktY2l0LTAwMDUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoaXNob2xtPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy4wNDA5NDY4MTAyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1vbGVjdWxhciBjaGFyYWN0ZXJpemF0aW9uIG9mIHByb3Rlb2x5dGljIGNsZWF2YWdlIHNpdGVzIG9mIHRoZSBQc2V1ZG9tb25hcyBzeXJpbmdhZSBlZmZlY3RvciBBdnJScHQyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMDg3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDZ8bnBoMTQ2MTktY2l0LTAwMDYiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkRpdHplbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25jYjk4NDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EZWdyYWRhdGlvbiBvZiBESUFQMSBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IGlzIGVzc2VudGlhbCBmb3IgcmVndWxhdGluZyBhcG9wdG9zaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDZWxsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Njc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwN3xucGgxNDYxOS1jaXQtMDAwNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9uZzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTAxL2dhZC4yOTIyMzUuMTE2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlViaXF1aXR5bGF0aW9uIGFjdGl2YXRlcyBhIHBlcHRpZGFzZSB0aGF0IHByb21vdGVzIGNsZWF2YWdlIGFuZCBkZXN0YWJpbGl6YXRpb24gb2YgaXRzIGFjdGl2YXRpbmcgRTMgbGlnYXNlcyBhbmQgZGl2ZXJzZSBncm93dGggcmVndWxhdG9yeSBwcm90ZWlucyB0byBsaW1pdCBjZWxsIHByb2xpZmVyYXRpb24gaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmVzICZhbXA7IERldmVsb3BtZW50PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDA4fG5waDE0NjE5LWNpdC0wMDA4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Fc2NoZW4tTGlwcG9sZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA0L3BwLjE2LjAwMzM2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkJhY3RlcmlhbCBBdnJScHQyLWxpa2UgY3lzdGVpbmUgcHJvdGVhc2VzIGJsb2NrIGFjdGl2YXRpb24gb2YgdGhlIEFyYWJpZG9wc2lzIG1pdG9nZW4tYWN0aXZhdGVkIHByb3RlaW4ga2luYXNlcywgTVBLNCBhbmQgTVBLMTE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTcxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyMjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwOXxucGgxNDYxOS1jaXQtMDAwOSI+DQogICAgICAgICAgICAgIDxhdXRob3I+RmFkZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXMxMjIwMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QaGVub3R5cGVzIG9uIGRlbWFuZCB2aWEgc3dpdGNoYWJsZSB0YXJnZXQgcHJvdGVpbiBkZWdyYWRhdGlvbiBpbiBtdWx0aWNlbGx1bGFyIG9yZ2FuaXNtczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENvbW11bmljYXRpb25zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTIyMDI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxMHxucGgxNDYxOS1jaXQtMDAxMCI+DQogICAgICAgICAgICAgIDxhdXRob3I+R2Fyem9uPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5mZWJzbGV0LjIwMDcuMDYuMDA1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBSVDYvQXQ1ZzAyMzEwIGVuY29kZXMgYW4gQXJhYmlkb3BzaXMgdWJpcXVpdGluIGxpZ2FzZSBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IHdpdGggYXJnaW5pbmUgc3BlY2lmaWNpdHkgYW5kIGlzIG5vdCB0aGUgQ0VSMyBsb2N1czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RkVCUyBMZXR0ZXJzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU4MTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMTg5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTF8bnBoMTQ2MTktY2l0LTAwMTEiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdldmFlcnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYnQ4MTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXhwbG9yaW5nIHByb3Rlb21lcyBhbmQgYW5hbHl6aW5nIHByb3RlaW4gcHJvY2Vzc2luZyBieSBtYXNzIHNwZWN0cm9tZXRyaWMgaWRlbnRpZmljYXRpb24gb2Ygc29ydGVkIE4tdGVybWluYWwgcGVwdGlkZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBCaW90ZWNobm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU2NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDEyfG5waDE0NjE5LWNpdC0wMDEyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oudGNiLjIwMTQuMDUuMDAxPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBldWthcnlvdGljIE4tZW5kIHJ1bGUgcGF0aHdheTogY29uc2VydmVkIG1lY2hhbmlzbXMgYW5kIGRpdmVyc2UgZnVuY3Rpb25zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcmVuZHMgaW4gQ2VsbCBCaW9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYwMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDEzfG5waDE0NjE5LWNpdC0wMDEzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL25waC4xNDEwNTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Gcm9tIHN0YXJ0IHRvIGZpbmlzaDogYW1pbm8tdGVybWluYWwgcHJvdGVpbiBtb2RpZmljYXRpb25zIGFzIGRlZ3JhZGF0aW9uIHNpZ25hbHMgaW4gcGxhbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjExPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExODg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNHxucGgxNDYxOS1jaXQtMDAxNCI+DQogICAgICAgICAgICAgIDxhdXRob3I+R2liYnM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYXR1cmUxMDUzNDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ib21lb3N0YXRpYyByZXNwb25zZSB0byBoeXBveGlhIGlzIHJlZ3VsYXRlZCBieSB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IGluIHBsYW50czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ3OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNXxucGgxNDYxOS1jaXQtMDAxNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+R3Jhdm90PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExODYvczEyODcwLTAxNi0wOTQxLXk8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlwb3hpYSByZXNwb25zZSBpbiBBcmFiaWRvcHNpcyByb290cyBpbmZlY3RlZCBieSBQbGFzbW9kaW9waG9yYSBicmFzc2ljYWUgc3VwcG9ydHMgdGhlIGRldmVsb3BtZW50IG9mIGNsdWJyb290PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CTUMgUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxNnxucGgxNDYxOS1jaXQtMDAxNiI+DQogICAgICAgICAgICAgIDxhdXRob3I+SGFtbWVybGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9qYmMuMjczLjM5LjI1MDAwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByb3RlaW5zIG9mIG5ld2x5IGlzb2xhdGVkIG11dGFudHMgYW5kIHRoZSBhbWluby10ZXJtaW5hbCBwcm9saW5lIGFyZSBlc3NlbnRpYWwgZm9yIHViaXF1aXRpbi1wcm90ZWFzb21lLWNhdGFseXplZCBjYXRhYm9saXRlIGRlZ3JhZGF0aW9uIG9mIGZydWN0b3NlLTEsNi1iaXNwaG9zcGhhdGFzZSBvZiBTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmlvbG9naWNhbCBDaGVtaXN0cnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjczPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1MDAwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTd8bnBoMTQ2MTktY2l0LTAwMTciPg0KICAgICAgICAgICAgICA8YXV0aG9yPkhvZXJuc3RlaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3NC9tY3AuTTExNS4wNTcxOTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SWRlbnRpZmljYXRpb24gb2YgdGFyZ2V0cyBhbmQgaW50ZXJhY3Rpb24gcGFydG5lcnMgb2YgYXJnaW55bC10Uk5BIHByb3RlaW4gdHJhbnNmZXJhc2UgaW4gdGhlIG1vc3MgUGh5c2NvbWl0cmVsbGEgcGF0ZW5zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgJmFtcDsgQ2VsbHVsYXIgUHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xODA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTh8bnBoMTQ2MTktY2l0LTAwMTgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkh1ZXNnZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjEzOTktMzA1NC4yMDExLjAxNTM2Lng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Ti0gYW5kIEMtdGVybWluYWwgZGVncmFkb21pY3M6IG5ldyBhcHByb2FjaGVzIHRvIHJldmVhbCBiaW9sb2dpY2FsIHJvbGVzIGZvciBwbGFudCBwcm90ZWFzZXMgZnJvbSBzdWJzdHJhdGUgaWRlbnRpZmljYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBoeXNpb2xvZ2lhIFBsYW50YXJ1bTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDE5fG5waDE0NjE5LWNpdC0wMDE5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Id2FuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTE4MzE0NzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OLXRlcm1pbmFsIGFjZXR5bGF0aW9uIG9mIGNlbGx1bGFyIHByb3RlaW5zIGNyZWF0ZXMgc3BlY2lmaWMgZGVncmFkYXRpb24gc2lnbmFsczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTczPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjB8bnBoMTQ2MTktY2l0LTAwMjAiPg0KICAgICAgICAgICAgICA8YXV0aG9yPktpbTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouY2VsbC4yMDEzLjExLjAzMTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgTi10ZXJtaW5hbCBtZXRoaW9uaW5lIG9mIGNlbGx1bGFyIHByb3RlaW5zIGFzIGEgZGVncmFkYXRpb24gc2lnbmFsPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyMXxucGgxNDYxOS1jaXQtMDAyMSI+DQogICAgICAgICAgICAgIDxhdXRob3I+S2xlaWZlbGQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uYnQuMTYxMTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Jc290b3BpYyBsYWJlbGluZyBvZiB0ZXJtaW5hbCBhbWluZXMgaW4gY29tcGxleCBzYW1wbGVzIGlkZW50aWZpZXMgcHJvdGVpbiBOLXRlcm1pbmkgYW5kIHByb3RlYXNlIGNsZWF2YWdlIHByb2R1Y3RzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQmlvdGVjaG5vbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyMnxucGgxNDYxOS1jaXQtMDAyMiI+DQogICAgICAgICAgICAgIDxhdXRob3I+TGVlPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE0MzQ4L21vbGNlbGxzLjIwMTYuMjMyOTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OLXRlcm1pbmFsIGFjZXR5bGF0aW9uLXRhcmdldGVkIE4tZW5kIHJ1bGUgcHJvdGVvbHl0aWMgc3lzdGVtOiB0aGUgQWMvTi1lbmQgcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsZXMgYW5kIENlbGxzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjM5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDIzfG5waDE0NjE5LWNpdC0wMDIzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5MaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA1L3RwYy4xNi4wMDc2ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Qcm90ZWluIGRlZ3JhZGF0aW9uIHJhdGUgaW4gQXJhYmlkb3BzaXMgdGhhbGlhbmEgbGVhZiBncm93dGggYW5kIGRldmVsb3BtZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIwNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI0fG5waDE0NjE5LWNpdC0wMDI0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NYWpvdnNreTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDIxL3ByNTAwMTY0ajwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UYXJnZXRlZCBwcm90ZW9taWNzIGFuYWx5c2lzIG9mIHByb3RlaW4gZGVncmFkYXRpb24gaW4gcGxhbnQgc2lnbmFsaW5nIG9uIGFuIExUUS1PcmJpdHJhcCBtYXNzIHNwZWN0cm9tZXRlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBQcm90ZW9tZSBSZXNlYXJjaDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MjQ2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjV8bnBoMTQ2MTktY2l0LTAwMjUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1hcmNoaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L3NyZXAyNjAyMDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgTi1lbmQgcnVsZSBwYXRod2F5IHJlZ3VsYXRlcyBwYXRob2dlbiByZXNwb25zZXMgaW4gcGxhbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbnRpZmljIFJlcG9ydHM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjAyMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI2fG5waDE0NjE5LWNpdC0wMDI2Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NZW5kaW9uZG88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9wYmkuMTIzMzQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RW5oYW5jZWQgd2F0ZXJsb2dnaW5nIHRvbGVyYW5jZSBpbiBiYXJsZXkgYnkgbWFuaXB1bGF0aW9uIG9mIGV4cHJlc3Npb24gb2YgdGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBFMyBsaWdhc2UgUFJPVEVPTFlTSVM2PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBCaW90ZWNobm9sb2d5IEpvdXJuYWw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyN3xucGgxNDYxOS1jaXQtMDAyNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+TW90PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvbnBoLjE0NDk3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJlYWwtdGltZSBkZXRlY3Rpb24gb2YgTi1lbmQgcnVsZS1tZWRpYXRlZCB1YmlxdWl0aW5hdGlvbiB2aWEgZmx1b3Jlc2NlbnRseSBsYWJlbGVkIHN1YnN0cmF0ZSBwcm9iZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5ldyBQaHl0b2xvZ2lzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMTc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjEzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjh8bnBoMTQ2MTktY2l0LTAwMjgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pc2hpbXVyYTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA1L3RwYy4xMTMuMTEyNTU3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNscFMxIGlzIGEgY29uc2VydmVkIHN1YnN0cmF0ZSBzZWxlY3RvciBmb3IgdGhlIGNobG9yb3BsYXN0IENscCBwcm90ZWFzZSBzeXN0ZW0gaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI3NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI5fG5waDE0NjE5LWNpdC0wMDI5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5OaXNoaW11cmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJiYWJpby4yMDE0LjExLjAxMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Pcmdhbml6YXRpb24sIGZ1bmN0aW9uIGFuZCBzdWJzdHJhdGVzIG9mIHRoZSBlc3NlbnRpYWwgQ2xwIHByb3RlYXNlIHN5c3RlbSBpbiBwbGFzdGlkczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvY2hpbWljYSBldCBCaW9waHlzaWNhIEFjdGE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTg0Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzMHxucGgxNDYxOS1jaXQtMDAzMCI+DQogICAgICAgICAgICAgIDxhdXRob3I+UGlhdGtvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMmE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjEyMDc3ODYxMDk8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBjb3VudGVyYWN0cyBjZWxsIGRlYXRoIGJ5IGRlc3Ryb3lpbmcgcHJvYXBvcHRvdGljIHByb3RlaW4gZnJhZ21lbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5FMTgzOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDMxfG5waDE0NjE5LWNpdC0wMDMxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5QaWF0a292PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyYjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubW9sY2VsLjIwMTIuMTAuMDEyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBhdXRvLWdlbmVyYXRlZCBmcmFnbWVudCBvZiB0aGUgVXNwMSBkZXViaXF1aXR5bGFzZSBpcyBhIHBoeXNpb2xvZ2ljYWwgc3Vic3RyYXRlIG9mIHRoZSBOLWVuZCBydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDMyfG5waDE0NjE5LWNpdC0wMDMyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Qb3R1c2NoYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjk1LjE0Ljc5MDQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UFJUMSBvZiBBcmFiaWRvcHNpcyB0aGFsaWFuYSBlbmNvZGVzIGEgY29tcG9uZW50IG9mIHRoZSBwbGFudCBOLWVuZCBydWxlwqBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcywgVVNBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc5MDQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzM3xucGgxNDYxOS1jaXQtMDAzMyI+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFvPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvMzUwNzM2Mjc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGVncmFkYXRpb24gb2YgYSBjb2hlc2luIHN1YnVuaXQgYnkgdGhlIE4tZW5kIHJ1bGUgcGF0aHdheSBpcyBlc3NlbnRpYWwgZm9yIGNocm9tb3NvbWUgc3RhYmlsaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDEwPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk1NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM0fG5waDE0NjE5LWNpdC0wMDM0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SaWJlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA0L3BwLjExNC4yNTMwODg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGdyZWVuaW5nIGFmdGVyIGV4dGVuZGVkIGRhcmtuZXNzMSBpcyBhbiBOLWVuZCBydWxlIHBhdGh3YXkgbXV0YW50IHdpdGggaGlnaCB0b2xlcmFuY2UgdG8gc3VibWVyZ2VuY2UgYW5kIHN0YXJ2YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2MTY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzNXxucGgxNDYxOS1jaXQtMDAzNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+Um93bGFuZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBBcmFiaWRvcHNpcyBjaGxvcm9wbGFzdCBzdHJvbWFsIE4tdGVybWlub21lOiBjb21wbGV4aXRpZXMgb2YgYW1pbm8tdGVybWluYWwgcHJvdGVpbiBtYXR1cmF0aW9uIGFuZCBzdGFiaWxpdHk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IFBoeXNpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4ODE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzNnxucGgxNDYxOS1jaXQtMDAzNiI+DQogICAgICAgICAgICAgIDxhdXRob3I+U2FudHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA5MS9tYmMuZTA4LTAzLTAzMjg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHllYXN0IEdJRCBjb21wbGV4LCBhIG5vdmVsIHViaXF1aXRpbiBsaWdhc2UgKEUzKSBpbnZvbHZlZCBpbiB0aGUgcmVndWxhdGlvbiBvZiBjYXJib2h5ZHJhdGUgbWV0YWJvbGlzbTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIEJpb2xvZ3kgb2YgdGhlIENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzMyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM3fG5waDE0NjE5LWNpdC0wMDM3Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TY2hpbGxpbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9ucHJvdC4yMDEwLjE3ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DaGFyYWN0ZXJpemF0aW9uIG9mIHRoZSBwcmltZSBhbmQgbm9uLXByaW1lIGFjdGl2ZSBzaXRlIHNwZWNpZmljaXRpZXMgb2YgcHJvdGVhc2VzIGJ5IHByb3Rlb21lLWRlcml2ZWQgcGVwdGlkZSBsaWJyYXJpZXMgYW5kIHRhbmRlbSBtYXNzIHNwZWN0cm9tZXRyeTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIFByb3RvY29sczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDM4fG5waDE0NjE5LWNpdC0wMDM4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UYWtlbW90bzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDk0L01QTUktMTgtMTI1ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NZW1icmFuZSByZWxlYXNlIGFuZCBkZXN0YWJpbGl6YXRpb24gb2YgQXJhYmlkb3BzaXMgUklONCBmb2xsb3dpbmcgY2xlYXZhZ2UgYnkgUHNldWRvbW9uYXMgc3lyaW5nYWUgQXZyUnB0MjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sZWN1bGFyIFBsYW50LU1pY3JvYmUgSW50ZXJhY3Rpb25zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzOXxucGgxNDYxOS1jaXQtMDAzOSI+DQogICAgICAgICAgICAgIDxhdXRob3I+VGFzYWtpPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExNDYvYW5udXJldi1iaW9jaGVtLTA1MTcxMC0wOTMzMDg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIE4tZW5kIHJ1bGUgcGF0aHdheTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5udWFsIFJldmlldyBvZiBCaW9jaGVtaXN0cnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjYxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDB8bnBoMTQ2MTktY2l0LTAwNDAiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlRzaWF0c2lhbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNS90cGMuMTEzLjExNTI4NzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgQXJhYmlkb3BzaXMgTUVUQUNBU1BBU0U5IGRlZ3JhZG9tZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDF8bnBoMTQ2MTktY2l0LTAwNDEiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZhcnNoYXZza3k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwMi9wcm8uNjY2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLWVuZCBydWxlIHBhdGh3YXkgYW5kIHJlZ3VsYXRpb24gYnkgcHJvdGVvbHlzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb3RlaW4gU2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjk4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDJ8bnBoMTQ2MTktY2l0LTAwNDIiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZlbm5lPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvcG1pYy4yMDE1MDAwMTQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaW1wcm92ZWQgd29ya2Zsb3cgZm9yIHF1YW50aXRhdGl2ZSBOLXRlcm1pbmFsIGNoYXJnZS1iYXNlZCBmcmFjdGlvbmFsIGRpYWdvbmFsIGNocm9tYXRvZ3JhcGh5IChDaGFGUkFESUMpIHRvIHN0dWR5IHByb3Rlb2x5dGljIGV2ZW50cyBpbiBBcmFiaWRvcHNpcyB0aGFsaWFuYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNDU4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDN8bnBoMTQ2MTktY2l0LTAwNDMiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlZlbm5lPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMjEvcHI0MDA0MzVkPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vdmVsIGhpZ2hseSBzZW5zaXRpdmUsIHNwZWNpZmljLCBhbmQgc3RyYWlnaHRmb3J3YXJkIHN0cmF0ZWd5IGZvciBjb21wcmVoZW5zaXZlIE4tdGVybWluYWwgcHJvdGVvbWljcyByZXZlYWxzIHVua25vd24gc3Vic3RyYXRlcyBvZiB0aGUgbWl0b2Nob25kcmlhbCBwZXB0aWRhc2UgSWNwNTU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgUHJvdGVvbWUgUmVzZWFyY2g8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzgyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQ0fG5waDE0NjE5LWNpdC0wMDQ0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Wb2d0bGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmNlbGwuMjAwOS4wNy4wNDU8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2xvYmFsIGFuYWx5c2lzIG9mIHRoZSBtaXRvY2hvbmRyaWFsIE4tcHJvdGVvbWUgaWRlbnRpZmllcyBhIHByb2Nlc3NpbmcgcGVwdGlkYXNlIGNyaXRpY2FsIGZvciBwcm90ZWluIHN0YWJpbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDI4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDV8bnBoMTQ2MTktY2l0LTAwNDUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPldhZGFzPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk0xMTYuNzQ3OTU2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuYWx5emluZyBOLXRlcm1pbmFsIGFyZ2lueWxhdGlvbiB0aHJvdWdoIHRoZSB1c2Ugb2YgcGVwdGlkZSBhcnJheXMgYW5kIGRlZ3JhZGF0aW9uIGFzc2F5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBCaW9sb2dpY2FsIENoZW1pc3RyeTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjA5NzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDA0NnxucGgxNDYxOS1jaXQtMDA0NiI+DQogICAgICAgICAgICAgIDxhdXRob3I+V2VpdHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXM0NDI1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBsYW50IGN5c3RlaW5lIG94aWRhc2VzIGNvbnRyb2wgdGhlIG94eWdlbi1kZXBlbmRlbnQgYnJhbmNoIG9mIHRoZSBOLWVuZC1ydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDb21tdW5pY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0MjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDA0N3xucGgxNDYxOS1jaXQtMDA0NyI+DQogICAgICAgICAgICAgIDxhdXRob3I+V2hpdGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9uY29tbXMxNDY5MDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudCBjeXN0ZWluZSBveGlkYXNlcyBhcmUgZGlveHlnZW5hc2VzIHRoYXQgZGlyZWN0bHkgZW5hYmxlIGFyZ2lueWwgdHJhbnNmZXJhc2UtY2F0YWx5emVkIGFyZ2lueWxhdGlvbiBvZiBOLWVuZCBydWxlIHRhcmdldHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBDb21tdW5pY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE0NjkwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDh8bnBoMTQ2MTktY2l0LTAwNDgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlh1PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDUvdHBjLjE1LjAwMTczPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlR3byBOLXRlcm1pbmFsIGFjZXR5bHRyYW5zZmVyYXNlcyBhbnRhZ29uaXN0aWNhbGx5IHJlZ3VsYXRlIHRoZSBzdGFiaWxpdHkgb2YgYSBub2QtbGlrZSByZWNlcHRvciBpbiBBcmFiaWRvcHNpczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTQ3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDl8bnBoMTQ2MTktY2l0LTAwNDkiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlpoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvcG1pYy4yMDE0MDA1MzA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UXVhbnRpdGF0aXZlIHByb3Rlb21pY3MgYW5hbHlzaXMgb2YgdGhlIEFyZy9OLWVuZCBydWxlIHBhdGh3YXkgb2YgdGFyZ2V0ZWQgZGVncmFkYXRpb24gaW4gQXJhYmlkb3BzaXMgcm9vdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb3Rlb21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
80
80
  http_version:
81
- recorded_at: Mon, 21 May 2018 15:00:33 GMT
81
+ recorded_at: Thu, 06 Sep 2018 07:23:52 GMT
82
82
  recorded_with: VCR 3.0.3