bolognese 1.2.9 → 1.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/metadata_utils.rb +7 -2
- data/lib/bolognese/readers/citeproc_reader.rb +5 -1
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/citeproc-no-author.json +26 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +45 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +45 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +46 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +46 -0
- data/spec/readers/citeproc_reader_spec.rb +16 -0
- data/spec/writers/citation_writer_spec.rb +6 -0
- data/spec/writers/citeproc_writer_spec.rb +32 -0
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0afb951465162d78ddac8cc31b135bf8eab60cb18b630440beecc7f92dac5cf7
|
4
|
+
data.tar.gz: 1c0a01d33dde163b469aa05a80e1eca859442d07862e9299b6253fb217dbdb52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eeebee3f3e9e9098b2ed43d1889d131b6efbd6d5aecd0ea0f2dfb5fbd8142248ed33c987de5070a2cea369555af07f25c08a53028fc2fa400fa3edfd483efa9f
|
7
|
+
data.tar.gz: 93506404b246f5ba3c418255b735c5a2971dc7af8cf0887a1bf508541c6d6a7cabc6249e6d9141dfa6b6357e97a233055ecd562ab7fdc0b2de28fe2344ac48d3
|
data/Gemfile.lock
CHANGED
@@ -123,14 +123,19 @@ module Bolognese
|
|
123
123
|
end
|
124
124
|
|
125
125
|
def citeproc_hsh
|
126
|
-
page = container.to_h["firstPage"].present? ? [container["firstPage"], container["lastPage"]].join("-") : nil
|
126
|
+
page = container.to_h["firstPage"].present? ? [container["firstPage"], container["lastPage"]].compact.join("-") : nil
|
127
|
+
if Array.wrap(creators).size == 1 && Array.wrap(creators).first.fetch("name", nil) == ":(unav)"
|
128
|
+
author = nil
|
129
|
+
else
|
130
|
+
author = to_citeproc(creators)
|
131
|
+
end
|
127
132
|
|
128
133
|
{
|
129
134
|
"type" => types["citeproc"],
|
130
135
|
"id" => normalize_doi(doi),
|
131
136
|
"categories" => Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) }.presence,
|
132
137
|
"language" => language,
|
133
|
-
"author" =>
|
138
|
+
"author" => author,
|
134
139
|
"contributor" => to_citeproc(contributors),
|
135
140
|
"issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : nil,
|
136
141
|
"submitted" => Array.wrap(dates).find { |d| d["dateType"] == "Submitted" }.to_h.fetch("__content__", nil),
|
@@ -46,7 +46,11 @@ module Bolognese
|
|
46
46
|
"ris" => CP_TO_RIS_TRANSLATIONS[schema_org] || "GEN"
|
47
47
|
}.compact
|
48
48
|
|
49
|
-
creators =
|
49
|
+
creators = if meta.fetch("author", nil).present?
|
50
|
+
get_authors(from_citeproc(Array.wrap(meta.fetch("author", nil))))
|
51
|
+
else
|
52
|
+
[{ "nameType" => "Organizational", "name" => ":(unav)" }]
|
53
|
+
end
|
50
54
|
contributors = get_authors(from_citeproc(Array.wrap(meta.fetch("editor", nil))))
|
51
55
|
dates = if meta.fetch("issued", nil).present?
|
52
56
|
[{ "date" => get_date_from_date_parts(meta.fetch("issued", nil)),
|
data/lib/bolognese/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"type": "post-weblog",
|
3
|
+
"id": "https://doi.org/10.5438/4k3m-nyvg",
|
4
|
+
"DOI": "10.5438/4k3m-nyvg",
|
5
|
+
"URL": "https://blog.datacite.org/eating-your-own-dog-food",
|
6
|
+
"title": "Eating your own Dog Food",
|
7
|
+
"container-title": "DataCite Blog",
|
8
|
+
"publisher": "DataCite",
|
9
|
+
"abstract": "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...",
|
10
|
+
"categories": [
|
11
|
+
"Phylogeny",
|
12
|
+
"Malaria",
|
13
|
+
"Parasites",
|
14
|
+
"Taxonomy",
|
15
|
+
"Mitochondrial genome",
|
16
|
+
"Africa",
|
17
|
+
"Plasmodium"
|
18
|
+
],
|
19
|
+
"issued": {
|
20
|
+
"date-parts": [
|
21
|
+
[
|
22
|
+
2016, 12, 20
|
23
|
+
]
|
24
|
+
]
|
25
|
+
}
|
26
|
+
}
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.3390/publications6020015/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Link:
|
20
|
+
- <http://dx.doi.org/10.3390/publications6020015>; rel="canonical", <http://www.mdpi.com/2304-6775/6/2/15/pdf>;
|
21
|
+
version="vor"; rel="item", <https://creativecommons.org/licenses/by/4.0/>;
|
22
|
+
rel="license"
|
23
|
+
Access-Control-Allow-Origin:
|
24
|
+
- "*"
|
25
|
+
Access-Control-Allow-Headers:
|
26
|
+
- X-Requested-With
|
27
|
+
Content-Length:
|
28
|
+
- '10550'
|
29
|
+
Server:
|
30
|
+
- http-kit
|
31
|
+
Date:
|
32
|
+
- Sat, 06 Jul 2019 14:49:38 GMT
|
33
|
+
X-Rate-Limit-Limit:
|
34
|
+
- '50'
|
35
|
+
X-Rate-Limit-Interval:
|
36
|
+
- 1s
|
37
|
+
Connection:
|
38
|
+
- close
|
39
|
+
body:
|
40
|
+
encoding: ASCII-8BIT
|
41
|
+
string: !binary |-
|
42
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4zMzkwL3B1YmxpY2F0aW9uczYwMjAwMTU8L2RvaT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InB1Ymxpc2hlci1uYW1lIiB0eXBlPSJzdHJpbmciPk1EUEkgQUc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHJlZml4LW5hbWUiIHR5cGU9InN0cmluZyI+TURQSSBBRzwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MTk2ODwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRhdGlvbi1pZCIgdHlwZT0ibnVtYmVyIj45NzczMzY5NjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJqb3VybmFsLWlkIiB0eXBlPSJudW1iZXIiPjE5NDY2NTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE4MDQxMDE4NTgzODwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJvd25lci1wcmVmaXgiIHR5cGU9InN0cmluZyI+MTAuMzM5MDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJsYXN0LXVwZGF0ZSIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0xMFQxNzo1ODowNVo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY3JlYXRlZCIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0xMFQxNzowNjowOFo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0ZWRieS1jb3VudCIgdHlwZT0ibnVtYmVyIj4wPC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxqb3VybmFsPg0KICAgICAgICAgICAgICA8am91cm5hbF9tZXRhZGF0YSBsYW5ndWFnZT0iZW4iPg0KICAgICAgICAgICAgICAgIDxmdWxsX3RpdGxlPlB1YmxpY2F0aW9uczwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlB1YmxpY2F0aW9uczwvYWJicmV2X3RpdGxlPg0KICAgICAgICAgICAgICAgIDxpc3NuIG1lZGlhX3R5cGU9ImVsZWN0cm9uaWMiPjIzMDQtNjc3NTwvaXNzbj4NCiAgICAgICAgICAgICAgPC9qb3VybmFsX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8am91cm5hbF9pc3N1ZT4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgICAgICAgPG1vbnRoPjY8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxODwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPGpvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgIDwvam91cm5hbF9pc3N1ZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+Q29udmVydGluZyB0aGUgTGl0ZXJhdHVyZSBvZiBhIFNjaWVudGlmaWMgRmllbGQgdG8gT3BlbiBBY2Nlc3MgdGhyb3VnaCBHbG9iYWwgQ29sbGFib3JhdGlvbjogVGhlIEV4cGVyaWVuY2Ugb2YgU0NPQVAzIGluIFBhcnRpY2xlIFBoeXNpY3M8L3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8b3JnYW5pemF0aW9uIHNlcXVlbmNlPSJmaXJzdCIgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIj5BbGV4YW5kZXIgS29obHM8L29yZ2FuaXphdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxvcmdhbml6YXRpb24gc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+U2FsdmF0b3JlIE1lbGU8L29yZ2FuaXphdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgICAgICAgPG1vbnRoPjA0PC9tb250aD4NCiAgICAgICAgICAgICAgICAgIDxkYXk+MDk8L2RheT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjIwMTg8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxwYWdlcz4NCiAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgIDwvcGFnZXM+DQogICAgICAgICAgICAgICAgPHB1Ymxpc2hlcl9pdGVtPg0KICAgICAgICAgICAgICAgICAgPGlkZW50aWZpZXIgaWRfdHlwZT0icGlpIj5wdWJsaWNhdGlvbnM2MDIwMDE1PC9pZGVudGlmaWVyPg0KICAgICAgICAgICAgICAgIDwvcHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICAgIDxhaTpmcmVlX3RvX3JlYWQgLz4NCiAgICAgICAgICAgICAgICAgIDxhaTpsaWNlbnNlX3JlZj5odHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLzwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPC9haTpwcm9ncmFtPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMzM5MC9wdWJsaWNhdGlvbnM2MDIwMDE1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL3d3dy5tZHBpLmNvbS8yMzA0LTY3NzUvNi8yLzE1PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly93d3cubWRwaS5jb20vMjMwNC02Nzc1LzYvMi8xNS9wZGY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PkNFUk4gQ29udmVudGlvbiBmb3IgdGhlIEVzdGFibGlzaG1lbnQgb2YgYSBFdXJvcGVhbiBPcmdhbml6YXRpb24gZm9yIE51Y2xlYXIgUmVzZWFyY2g8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9jb3VuY2lsLndlYi5jZXJuLmNoL2VuL2NvbnRlbnQvY29udmVudGlvbi1lc3RhYmxpc2htZW50LWV1cm9wZWFuLW9yZ2FuaXphdGlvbi1udWNsZWFyLXJlc2VhcmNoPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5DRVJOIE1lbWJlciBTdGF0ZXM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhOR0RIMm9VPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5DRVJOIERpc3RyaWJ1dGlvbiBvZiBhbGwgQ0VSTiBVc2VycyBieSBMb2NhdGlvbiBvZiBJbnN0aXR1dGVzIG9uIDUgSnVseSAyMDE3PC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzIyOTA0MDc8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjMyMzMvSVNVLTIwMDgtMDU3MDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PkNvbW11bmljYXRpb24gUGF0dGVybnMgaW4gSGlnaC1FbmVyZ3kgUGh5c2ljczwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vd2ViemluZS53ZWIuY2Vybi5jaC93ZWJ6aW5lLzYvcGFwZXJzLzEvaW5kZXguaHRtbDwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9ucGh5czM4NjI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5JbmZvcm1hdGlvbiBNYW5hZ2VtZW50OiBBIFByb3Bvc2FsPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzM2OTI0NTwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmOCI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U3ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+V2hhdCBpcyBPcGVuIEFjY2VzczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHNlcmllc190aXRsZT5PcGVuIEFjY2Vzczwvc2VyaWVzX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmOSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy9zMTExOTItMDA5LTAxMTEtMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEwIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5Ub3dhcmRzIE9wZW4gQWNjZXNzIFB1Ymxpc2hpbmcgaW4gSGlnaCBFbmVyZ3kgUGh5c2ljczogUmVwb3J0IG9mIHRoZSBTQ09BUDMgV29ya2luZyBQYXJ0eTwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwczovL3Njb2FwMy5vcmcvZmlsZXMvV29ya2luZ19QYXJ0eV9SZXBvcnQucGRmPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+U0NPQVAzIEludml0YXRpb24gdG8gVGVuZGVy4oCUVGVjaG5pY2FsIFNwZWNpZmljYXRpb248L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9zY29hcDMub3JnL2ZpbGVzL1RlY2huaWNhbF9TcGVjaWZpY2F0aW9uLnBkZjwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTIiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PlJDVUsgUG9saWN5IG9uIE9wZW4gQWNjZXNzPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHA6Ly93d3cucmN1ay5hYy51ay9kb2N1bWVudHMvZG9jdW1lbnRzL3JjdWtvcGVuYWNjZXNzcG9saWN5LXBkZi88L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEzIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5GV0YgT3BlbiBBY2Nlc3MgUG9saWN5PC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHA6Ly93d3cud2ViY2l0YXRpb24ub3JnLzZ4TkZ3dEFTZjwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PlF1YW50aXRhdGl2ZSBTdHVkeSBvZiB0aGUgR2VvZ3JhcGhpY2FsIERpc3RyaWJ1dGlvbiBvZiB0aGUgQXV0aG9yc2hpcCBvZiBIaWdoLUVuZXJneSBQaHlzaWNzIEpvdXJuYWxzPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzEwMzMwOTk8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgUGFydGljaXBhdGluZyBDb3VudHJpZXM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORmxCejlSPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+V2hhdCBpcyBTQ09BUDM6IEdvdmVybmFuY2U8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORnBBUktFPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMxNC9DRVJOL0MyNlAuVzlEVDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgUGhhc2UgMSBKb3VybmFsczwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vd3d3LndlYmNpdGF0aW9uLm9yZy82eE5HMkNVdDE8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MTE5L1VOSUJJL1VCLjIwMTQuMTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMCI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+QXJ0aWNsZSBQcm9jZXNzaW5nIENoYXJnZXMgKEFQQ3MpIGFuZCBTdWJzY3JpcHRpb25z4oCUTW9uaXRvcmluZyBPcGVuIEFjY2VzcyBDb3N0czwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwczovL3d3dy5qaXNjLmFjLnVrL3NpdGVzL2RlZmF1bHQvZmlsZXMvYXBjLWFuZC1zdWJzY3JpcHRpb25zLXJlcG9ydC5wZGY8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIxIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgRm9ydW0gMjAxNyBQcmVzZW50YXRpb248L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9zY29hcDMub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEyL1dlYmluYXItRGVjLTIwMTcucGRmPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+SW5zcGlyZUhFUDwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vaW5zcGlyZWhlcC5uZXQvP2xuPWVuPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMyI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+U0NPQVAzIE5ld3M6IEFQUyBKb2lucyBTQ09BUDM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORlFiNWlEPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgICAgICAgIDwvam91cm5hbD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
|
43
|
+
http_version:
|
44
|
+
recorded_at: Sat, 06 Jul 2019 14:49:39 GMT
|
45
|
+
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.3390/publications6020015/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Link:
|
20
|
+
- <http://dx.doi.org/10.3390/publications6020015>; rel="canonical", <http://www.mdpi.com/2304-6775/6/2/15/pdf>;
|
21
|
+
version="vor"; rel="item", <https://creativecommons.org/licenses/by/4.0/>;
|
22
|
+
rel="license"
|
23
|
+
Access-Control-Allow-Origin:
|
24
|
+
- "*"
|
25
|
+
Access-Control-Allow-Headers:
|
26
|
+
- X-Requested-With
|
27
|
+
Content-Length:
|
28
|
+
- '10550'
|
29
|
+
Server:
|
30
|
+
- http-kit
|
31
|
+
Date:
|
32
|
+
- Sat, 06 Jul 2019 14:40:37 GMT
|
33
|
+
X-Rate-Limit-Limit:
|
34
|
+
- '50'
|
35
|
+
X-Rate-Limit-Interval:
|
36
|
+
- 1s
|
37
|
+
Connection:
|
38
|
+
- close
|
39
|
+
body:
|
40
|
+
encoding: ASCII-8BIT
|
41
|
+
string: !binary |-
|
42
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4zMzkwL3B1YmxpY2F0aW9uczYwMjAwMTU8L2RvaT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InB1Ymxpc2hlci1uYW1lIiB0eXBlPSJzdHJpbmciPk1EUEkgQUc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHJlZml4LW5hbWUiIHR5cGU9InN0cmluZyI+TURQSSBBRzwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MTk2ODwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRhdGlvbi1pZCIgdHlwZT0ibnVtYmVyIj45NzczMzY5NjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJqb3VybmFsLWlkIiB0eXBlPSJudW1iZXIiPjE5NDY2NTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE4MDQxMDE4NTgzODwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJvd25lci1wcmVmaXgiIHR5cGU9InN0cmluZyI+MTAuMzM5MDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJsYXN0LXVwZGF0ZSIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0xMFQxNzo1ODowNVo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY3JlYXRlZCIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0xMFQxNzowNjowOFo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0ZWRieS1jb3VudCIgdHlwZT0ibnVtYmVyIj4wPC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxqb3VybmFsPg0KICAgICAgICAgICAgICA8am91cm5hbF9tZXRhZGF0YSBsYW5ndWFnZT0iZW4iPg0KICAgICAgICAgICAgICAgIDxmdWxsX3RpdGxlPlB1YmxpY2F0aW9uczwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlB1YmxpY2F0aW9uczwvYWJicmV2X3RpdGxlPg0KICAgICAgICAgICAgICAgIDxpc3NuIG1lZGlhX3R5cGU9ImVsZWN0cm9uaWMiPjIzMDQtNjc3NTwvaXNzbj4NCiAgICAgICAgICAgICAgPC9qb3VybmFsX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8am91cm5hbF9pc3N1ZT4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgICAgICAgPG1vbnRoPjY8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxODwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPGpvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgIDwvam91cm5hbF9pc3N1ZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+Q29udmVydGluZyB0aGUgTGl0ZXJhdHVyZSBvZiBhIFNjaWVudGlmaWMgRmllbGQgdG8gT3BlbiBBY2Nlc3MgdGhyb3VnaCBHbG9iYWwgQ29sbGFib3JhdGlvbjogVGhlIEV4cGVyaWVuY2Ugb2YgU0NPQVAzIGluIFBhcnRpY2xlIFBoeXNpY3M8L3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8b3JnYW5pemF0aW9uIHNlcXVlbmNlPSJmaXJzdCIgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIj5BbGV4YW5kZXIgS29obHM8L29yZ2FuaXphdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxvcmdhbml6YXRpb24gc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+U2FsdmF0b3JlIE1lbGU8L29yZ2FuaXphdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgICAgICAgPG1vbnRoPjA0PC9tb250aD4NCiAgICAgICAgICAgICAgICAgIDxkYXk+MDk8L2RheT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjIwMTg8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxwYWdlcz4NCiAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgIDwvcGFnZXM+DQogICAgICAgICAgICAgICAgPHB1Ymxpc2hlcl9pdGVtPg0KICAgICAgICAgICAgICAgICAgPGlkZW50aWZpZXIgaWRfdHlwZT0icGlpIj5wdWJsaWNhdGlvbnM2MDIwMDE1PC9pZGVudGlmaWVyPg0KICAgICAgICAgICAgICAgIDwvcHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICAgIDxhaTpmcmVlX3RvX3JlYWQgLz4NCiAgICAgICAgICAgICAgICAgIDxhaTpsaWNlbnNlX3JlZj5odHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLzwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPC9haTpwcm9ncmFtPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMzM5MC9wdWJsaWNhdGlvbnM2MDIwMDE1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL3d3dy5tZHBpLmNvbS8yMzA0LTY3NzUvNi8yLzE1PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly93d3cubWRwaS5jb20vMjMwNC02Nzc1LzYvMi8xNS9wZGY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PkNFUk4gQ29udmVudGlvbiBmb3IgdGhlIEVzdGFibGlzaG1lbnQgb2YgYSBFdXJvcGVhbiBPcmdhbml6YXRpb24gZm9yIE51Y2xlYXIgUmVzZWFyY2g8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9jb3VuY2lsLndlYi5jZXJuLmNoL2VuL2NvbnRlbnQvY29udmVudGlvbi1lc3RhYmxpc2htZW50LWV1cm9wZWFuLW9yZ2FuaXphdGlvbi1udWNsZWFyLXJlc2VhcmNoPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5DRVJOIE1lbWJlciBTdGF0ZXM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhOR0RIMm9VPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5DRVJOIERpc3RyaWJ1dGlvbiBvZiBhbGwgQ0VSTiBVc2VycyBieSBMb2NhdGlvbiBvZiBJbnN0aXR1dGVzIG9uIDUgSnVseSAyMDE3PC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzIyOTA0MDc8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjMyMzMvSVNVLTIwMDgtMDU3MDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PkNvbW11bmljYXRpb24gUGF0dGVybnMgaW4gSGlnaC1FbmVyZ3kgUGh5c2ljczwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vd2ViemluZS53ZWIuY2Vybi5jaC93ZWJ6aW5lLzYvcGFwZXJzLzEvaW5kZXguaHRtbDwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9ucGh5czM4NjI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5JbmZvcm1hdGlvbiBNYW5hZ2VtZW50OiBBIFByb3Bvc2FsPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzM2OTI0NTwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmOCI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U3ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+V2hhdCBpcyBPcGVuIEFjY2VzczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHNlcmllc190aXRsZT5PcGVuIEFjY2Vzczwvc2VyaWVzX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmOSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNy9zMTExOTItMDA5LTAxMTEtMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEwIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5Ub3dhcmRzIE9wZW4gQWNjZXNzIFB1Ymxpc2hpbmcgaW4gSGlnaCBFbmVyZ3kgUGh5c2ljczogUmVwb3J0IG9mIHRoZSBTQ09BUDMgV29ya2luZyBQYXJ0eTwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwczovL3Njb2FwMy5vcmcvZmlsZXMvV29ya2luZ19QYXJ0eV9SZXBvcnQucGRmPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+U0NPQVAzIEludml0YXRpb24gdG8gVGVuZGVy4oCUVGVjaG5pY2FsIFNwZWNpZmljYXRpb248L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9zY29hcDMub3JnL2ZpbGVzL1RlY2huaWNhbF9TcGVjaWZpY2F0aW9uLnBkZjwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTIiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PlJDVUsgUG9saWN5IG9uIE9wZW4gQWNjZXNzPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHA6Ly93d3cucmN1ay5hYy51ay9kb2N1bWVudHMvZG9jdW1lbnRzL3JjdWtvcGVuYWNjZXNzcG9saWN5LXBkZi88L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEzIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5GV0YgT3BlbiBBY2Nlc3MgUG9saWN5PC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHA6Ly93d3cud2ViY2l0YXRpb24ub3JnLzZ4TkZ3dEFTZjwvdT4NCiAgICAgICAgICAgICAgICAgICAgPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgIDxmb250PlF1YW50aXRhdGl2ZSBTdHVkeSBvZiB0aGUgR2VvZ3JhcGhpY2FsIERpc3RyaWJ1dGlvbiBvZiB0aGUgQXV0aG9yc2hpcCBvZiBIaWdoLUVuZXJneSBQaHlzaWNzIEpvdXJuYWxzPC9mb250Pg0KICAgICAgICAgICAgICAgICAgICAgIDx1Pmh0dHBzOi8vY2RzLmNlcm4uY2gvcmVjb3JkLzEwMzMwOTk8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgUGFydGljaXBhdGluZyBDb3VudHJpZXM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORmxCejlSPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+V2hhdCBpcyBTQ09BUDM6IEdvdmVybmFuY2U8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORnBBUktFPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMjMxNC9DRVJOL0MyNlAuVzlEVDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgUGhhc2UgMSBKb3VybmFsczwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vd3d3LndlYmNpdGF0aW9uLm9yZy82eE5HMkNVdDE8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MTE5L1VOSUJJL1VCLjIwMTQuMTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMCI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+QXJ0aWNsZSBQcm9jZXNzaW5nIENoYXJnZXMgKEFQQ3MpIGFuZCBTdWJzY3JpcHRpb25z4oCUTW9uaXRvcmluZyBPcGVuIEFjY2VzcyBDb3N0czwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwczovL3d3dy5qaXNjLmFjLnVrL3NpdGVzL2RlZmF1bHQvZmlsZXMvYXBjLWFuZC1zdWJzY3JpcHRpb25zLXJlcG9ydC5wZGY8L3U+DQogICAgICAgICAgICAgICAgICAgIDwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIxIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8Zm9udD5TQ09BUDMgRm9ydW0gMjAxNyBQcmVzZW50YXRpb248L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cHM6Ly9zY29hcDMub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEyL1dlYmluYXItRGVjLTIwMTcucGRmPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+SW5zcGlyZUhFUDwvZm9udD4NCiAgICAgICAgICAgICAgICAgICAgICA8dT5odHRwOi8vaW5zcGlyZWhlcC5uZXQvP2xuPWVuPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMyI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgPGZvbnQ+U0NPQVAzIE5ld3M6IEFQUyBKb2lucyBTQ09BUDM8L2ZvbnQ+DQogICAgICAgICAgICAgICAgICAgICAgPHU+aHR0cDovL3d3dy53ZWJjaXRhdGlvbi5vcmcvNnhORlFiNWlEPC91Pg0KICAgICAgICAgICAgICAgICAgICA8L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgICAgICAgIDwvam91cm5hbD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
|
43
|
+
http_version:
|
44
|
+
recorded_at: Sat, 06 Jul 2019 14:40:37 GMT
|
45
|
+
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1371/journal.pone.0214986/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Link:
|
20
|
+
- <http://dx.doi.org/10.1371/journal.pone.0214986>; rel="canonical", <http://dx.plos.org/10.1371/journal.pone.0214986>;
|
21
|
+
version="vor"; rel="item", <https://creativecommons.org/publicdomain/zero/1.0/>;
|
22
|
+
version="vor"; rel="license", <http://orcid.org/0000-0002-1856-0546>; title="Matthew
|
23
|
+
A. Weber"; rel="author"
|
24
|
+
Access-Control-Allow-Origin:
|
25
|
+
- "*"
|
26
|
+
Access-Control-Allow-Headers:
|
27
|
+
- X-Requested-With
|
28
|
+
Content-Length:
|
29
|
+
- '41843'
|
30
|
+
Server:
|
31
|
+
- http-kit
|
32
|
+
Date:
|
33
|
+
- Sat, 06 Jul 2019 14:28:59 GMT
|
34
|
+
X-Rate-Limit-Limit:
|
35
|
+
- '50'
|
36
|
+
X-Rate-Limit-Interval:
|
37
|
+
- 1s
|
38
|
+
Connection:
|
39
|
+
- close
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: !binary |-
|
43
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlIChQTG9TKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im1lbWJlci1pZCIgdHlwZT0ibnVtYmVyIj4zNDA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MTA2NzI4NDI3PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImpvdXJuYWwtaWQiIHR5cGU9Im51bWJlciI+NjA0MDc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iZGVwb3NpdC10aW1lc3RhbXAiIHR5cGU9Im51bWJlciI+MjAxOTA1MDgxMDI1Mjg8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ib3duZXItcHJlZml4IiB0eXBlPSJzdHJpbmciPjEwLjEzNzE8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ibGFzdC11cGRhdGUiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjg6MTNaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNyZWF0ZWQiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjc6MjdaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGVkYnktY291bnQiIHR5cGU9Im51bWJlciI+MDwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8am91cm5hbD4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICAgICAgICA8ZnVsbF90aXRsZT5QTE9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICAgICAgICA8bW9udGg+NTwvbW9udGg+DQogICAgICAgICAgICAgICAgICA8ZGF5Pjg8L2RheT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjIwMTk8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxqb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgIDxpc3N1ZT41PC9pc3N1ZT4NCiAgICAgICAgICAgICAgPC9qb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICA8am91cm5hbF9hcnRpY2xlIHB1YmxpY2F0aW9uX3R5cGU9ImZ1bGxfdGV4dCI+DQogICAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZT5SaXZlciBtZXRyaWNzIGJ5IHRoZSBwdWJsaWMsIGZvciB0aGUgcHVibGljPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWF0dGhldyBBLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+V2ViZXI8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICAgIDxPUkNJRCBhdXRoZW50aWNhdGVkPSJ0cnVlIj5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xODU2LTA1NDY8L09SQ0lEPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+UGF1bCBMLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+UmluZ29sZDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NaWd1ZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkNhw7FlZG8tQXJnw7xlbGxlcyBJZ2xlc2lhczwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgICAgICAgIDxtb250aD41PC9tb250aD4NCiAgICAgICAgICAgICAgICAgIDxkYXk+ODwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxOTwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPHBhZ2VzPg0KICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ZTAyMTQ5ODY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvaXRlbV9udW1iZXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgICAgICAgIDxmcjpwcm9ncmFtIHhtbG5zOmZyPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy9mdW5kcmVmLnhzZCIgbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+VW5pdGVzIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5PC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICAgIDwvZnI6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICAgICAgICA8YWk6bGljZW5zZV9yZWYgYXBwbGllc190bz0idm9yIj5odHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLzwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgICAgIDwvYWk6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPHRpbWVzdGFtcD4yMDE5MDUwODEwMjUyODwvdGltZXN0YW1wPg0KICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5IdWdoZXMsIFIuTS4sIDE5OTMuIFN0cmVhbSBJbmRpY2F0b3IgYW5kIERlc2lnbiBXb3Jrc2hvcC4gRW52aXJvbm1lbnRhbCBQcm90ZWN0aW9uIEFnZW5jeS4gUmVwb3J0IG5vLiBFUEEvNjAwL1ItOTMvMTM4LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIiPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVjb2xvZ2ljYWwgSW5kaWNhdG9ycyBmb3IgdGhlIE5hdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MRSBKYWNrc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZhbHVhdGlvbiBndWlkZWxpbmVzIGZvciBlY29sb2dpY2FsIGluZGljYXRvcnMuIEVQQS82MjAvUi05OS8wMDU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgZWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkogQm95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjYzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4y4oCTMzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMDcuMDEuMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgYXJlIGVjb3N5c3RlbSBzZXJ2aWNlcz8gVGhlIG5lZWQgZm9yIHN0YW5kYXJkaXplZCBlbnZpcm9ubWVudGFsIGFjY291bnRpbmcgdW5pdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJKIEpvaG5zdG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NzA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI0MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMTEuMDcuMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuIG9wZXJhdGlvbmFsIHN0cnVjdHVyZSBmb3IgY2xhcml0eSBpbiBlY29zeXN0ZW0gc2VydmljZSB2YWx1ZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UEwgUmluZ29sZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjExPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTEwMTU2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgZGF0YSBzaG91bGQgd2UgY29sbGVjdD8gQSBmcmFtZXdvcmsgZm9yIGlkZW50aWZ5aW5nIGluZGljYXRvcnMgb2YgZWNvc3lzdGVtIGNvbnRyaWJ1dGlvbnMgdG8gaHVtYW4gd2VsbOKAkGJlaW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BZ3JpY3VsdHVyYWwgYW5kIFJlc291cmNlIEVjb25vbWljcyBSZXZpZXc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBCb3lkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE3L1MxMDY4MjgwNTAwMDA3NTkwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVzaW5nIGVjb2xvZ2ljYWwgcHJvZHVjdGlvbiB0aGVvcnkgdG8gZGVmaW5lIGFuZCBzZWxlY3QgZW52aXJvbm1lbnRhbCBjb21tb2RpdGllcyBmb3Igbm9ubWFya2V0IHZhbHVhdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SW50ZXJuYXRpb25hbCBSZXZpZXcgb2YgRW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIEJveWQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4z4oCTNDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM1OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBFY29zeXN0ZW0gU2VydmljZXMgSW5kaWNhdG9yczogSW1wcm92aW5nIHRoZSBMaW5rYWdlIGJldHdlZW4gQmlvcGh5c2ljYWwgYW5kIEVjb25vbWljIEFuYWx5c2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC41NzUxL0VTLTA5NDk2LTIyMDMxNTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SaXZlcnMgYW5kIHN0cmVhbXMgaW4gdGhlIG1lZGlhOiBhIGNvbnRlbnQgYW5hbHlzaXMgb2YgZWNvc3lzdGVtIHNlcnZpY2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldLIFZpc2N1c2k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA2NDAtMDA3LTkxODYtNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZWNvbm9taWMgdmFsdWUgb2Ygd2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpDIEJlcmdzdHJvbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNi4xMi4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RWNvbm9taWMgdmFsdWF0aW9uIG9mIHJpdmVyIHJlc3RvcmF0aW9uOiBBbiBhbmFseXNpcyBvZiB0aGUgdmFsdWF0aW9uIGxpdGVyYXR1cmUgYW5kIGl0cyB1c2VzIGluIGRlY2lzaW9uLW1ha2luZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5LiBOYXRpb25hbCB3YXRlciBxdWFsaXR5IGludmVudG9yeSwgcmVwb3J0IHRvIGNvbmdyZXNzLjE5OTQtMjAwMi4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3LmVwYS5nb3Yvd2F0ZXJkYXRhL25hdGlvbmFsLXdhdGVyLXF1YWxpdHktaW52ZW50b3J5LXJlcG9ydC1jb25ncmVzcyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwczovL3d3dy5lcGEuZ292L3dhdGVyZGF0YS9uYXRpb25hbC13YXRlci1xdWFsaXR5LWludmVudG9yeS1yZXBvcnQtY29uZ3Jlc3MmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmVuZWZpdC1Db3N0IEFuYWx5c2lzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkMgTW9vcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9iY2EuMjAxNy45PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlZhbHVpbmcgRWNvbG9naWNhbCBJbXByb3ZlbWVudHMgaW4gdGhlIENoZXNhcGVha2UgQmF5IGFuZCB0aGUgSW1wb3J0YW5jZSBvZiBBbmNpbGxhcnkgQmVuZWZpdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29zeXN0ZW0gU2VydmljZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjA3LjAxNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIGluc3RyZWFtLXJlbGF0ZWQgc2VydmljZXMgb2Ygd2FzdGV3YXRlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkogTG91dmllcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9DQk85NzgwNTExNzUzODMxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXRlZCBjaG9pY2UgbWV0aG9kczogYW5hbHlzaXMgYW5kIGFwcGxpY2F0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb3N5c3RlbSBzZXJ2aWNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIEplYW5sb3o8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjAxLjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ub3dhcmRzIGEgbW9yZSBzdHJ1Y3R1cmVkIHNlbGVjdGlvbiBwcm9jZXNzIGZvciBhdHRyaWJ1dGVzIGFuZCBsZXZlbHMgaW4gY2hvaWNlIGV4cGVyaW1lbnRzOiBBIHN0dWR5IGluIGEgQmVsZ2lhbiBwcm90ZWN0ZWQgYXJlYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvbnNlcnZhdGlvbiBFY29sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NoaWxsZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMDI0Ny0wNTAxMTk8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tbXVuaWNhdGluZyBlY29sb2dpY2FsIGluZGljYXRvcnMgdG8gZGVjaXNpb24gbWFrZXJzIGFuZCB0aGUgcHVibGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5SaW5nb2xkIFBMLCBCb3lkIEosIExhbmRlcnMgRCwgV2ViZXIgTUEsIE1lZXRpbmcgRGF0ZTogSnVseSAxMyB0byAxNiwgMjAwOS4gUmVwb3J0IGZyb20gdGhlIFdvcmtzaG9wIG9uIEluZGljYXRvcnMgb2YgRmluYWwgRWNvc3lzdGVtIFNlcnZpY2VzIGZvciBTdHJlYW1zLiBFUEEvNjAwL1ItMDkvMTM3LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxOSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REggTGFuZGVyczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbmF0aW9uYWwgZWNvc3lzdGVtIHNlcnZpY2UgY2xhc3NpZmljYXRpb24gc3lzdGVtIGZvciBmaW5hbCBlY29zeXN0ZW0gZ29vZHMgYW5kIHNlcnZpY2VzIChORVNDUyk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5MYW5kc2NhcGUgYW5kIFVyYmFuIFBsYW5uaW5nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTMzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubGFuZHVyYnBsYW4uMjAxNC4wOS4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJpb3JpdHkgcml2ZXIgbWV0cmljcyBmb3IgcmVzaWRlbnRzIG9mIGFuIHVyYmFuaXplZCBhcmlkIHdhdGVyc2hlZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+S2FtbWVyZXIgSkMuIExhcmdlc3QgUml2ZXJzIGluIHRoZSBVbml0ZWQgU3RhdGVzLiBVUyBHZW9sb2dpY2FsIFN1cnZleS4gTWF5IDE5OTAuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vcHVicy51c2dzLmdvdi9vZi8xOTg3L29mcjg3LTI0Mi8iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3B1YnMudXNncy5nb3Yvb2YvMTk4Ny9vZnI4Ny0yNDIvJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjIiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPlVuaXRlZCBTdGF0ZXMgRGVwYXJ0bWVudCBvZiBBZ3JpY3VsdHVyZS4gTmF0aW9uYWwgU2Nob29sIEx1bmNoIFByb2dyYW0uIDIwMTMuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi9zaXRlcy9kZWZhdWx0L2ZpbGVzL05TTFBGYWN0U2hlZXQucGRmIiB4bGluazp0eXBlPSJzaW1wbGUiJmd0O2h0dHA6Ly93d3cuZm5zLnVzZGEuZ292L3NpdGVzL2RlZmF1bHQvZmlsZXMvTlNMUEZhY3RTaGVldC5wZGYmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMyI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBEZXBhcnRtZW50IG9mIEFncmljdWx0dXJlLiBXb21lbiBJbmZhbnRzIGFuZCBDaGlsZHJlbiBFbGlnaWJpbGl0eSBSZXF1aXJlbWVudHMuIDIwMTUuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ETCBNb3JnYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42IHZvbHVtZXM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgRm9jdXMgR3JvdXAgS2l0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EIEh1bHNlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJhamVjdG9yaWVzIG9mIGVudmlyb25tZW50YWwgYW5kIGVjb2xvZ2ljYWwgY2hhbmdlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KVyBDcmVzd2VsbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlF1YWxpdGF0aXZlIGlucXVpcnkgYW5kIHJlc2VhcmNoIGRlc2lnbjogQ2hvb3NpbmcgYW1vbmcgZml2ZSBhcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXZpZGVuY2UtYmFzZWQgbnVyc2luZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIFRob3JuZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEzNi9lYm4uMy4zLjY4PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRhdGEgYW5hbHlzaXMgaW4gcXVhbGl0YXRpdmUgcmVzZWFyY2g8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FZHVjYXRpb25hbCByZXNlYXJjaGVyPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJCIEpvaG5zb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMTAyLzAwMTMxODlYMDMzMDA3MDE0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1peGVkIG1ldGhvZHMgcmVzZWFyY2g6IEEgcmVzZWFyY2ggcGFyYWRpZ20gd2hvc2UgdGltZSBoYXMgY29tZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyOSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQnVzaW5lc3MgRXRoaWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlAgQXVnZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA1NTEtMDA2LTkxMTItNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBiZXN04oCTd29yc3Qgc2NhbGluZyBtZXRob2RvbG9neSB0byBpbnZlc3RpZ2F0ZSBjb25zdW1lciBldGhpY2FsIGJlbGllZnMgYWNyb3NzIGNvdW50cmllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaGVhbHRoIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UTiBGbHlubjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouamhlYWxlY28uMjAwNi4wNC4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QmVzdOKAk3dvcnN0IHNjYWxpbmc6IHdoYXQgaXQgY2FuIGRvIGZvciBoZWFsdGggY2FyZSByZXNlYXJjaCBhbmQgaG93IHRvIGRvIGl0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMxIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LLiBLcmlwcGVuZG9yZmY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Db250ZW50IEFuYWx5c2lzOiBBbiBJbnRyb2R1Y3Rpb24gdG8gaXRzIE1ldGhvZG9sb2d5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5RdWFsaXMgUmVzZWFyY2guIFRoZSBFdGhub2dyYXBoIHY2IChzb2Z0d2FyZSkuIDYxMCBQb3BlcyBWYWxsZXkgRHJpdmUsIENvbG9yYWRvIFNwcmluZ3MsIENPIDgwOTE5LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20mbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRoZW9yeSBpbnRvIHByYWN0aWNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEyMDcvczE1NDMwNDIxdGlwMzkwM18yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRldGVybWluaW5nIHZhbGlkaXR5IGluIHF1YWxpdGF0aXZlIGlucXVpcnk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzQiPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVzZWFyY2ggRGVzaWduOiBRdWFsaXRhdGl2ZSwgUXVhbnRpdGF0aXZlLCBhbmQgTWl4ZWQgTWV0aG9kcyBBcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5NaXRjaGVsbCBSQywgQ2Fyc29uIFJULiBUaGUgVXNlIG9mIENvbnRpbmdlbnQgVmFsdWF0aW9uIERhdGEgZm9yIEJlbmVmaXQvQ29zdCBBbmFseXNpcyBpbiBXYXRlciBQb2xsdXRpb24gQ29udHJvbC4gQ1ItODEwMjI0LTAyLiBQcmVwYXJlZCBmb3IgVVMgRVBBLCBPZmZpY2Ugb2YgUG9saWN5IFBsYW5uaW5nIGFuZCBFdmFsdWF0aW9uLiBXYXNoaW5ndG9uLCBEQy4gMTk4Ni4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHA6Ly95b3NlbWl0ZTEuZXBhLmdvdi9lZS9lcGEvZWVybS5uc2YvdndSZXBOdW1Mb29rdXAvRUUtMDE1MD9PcGVuRG9jdW1lbnQiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3lvc2VtaXRlMS5lcGEuZ292L2VlL2VwYS9lZXJtLm5zZi92d1JlcE51bUxvb2t1cC9FRS0wMTUwP09wZW5Eb2N1bWVudCZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUmVzb3VyY2VzIFJlc2VhcmNoPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJUIENhcnNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBWYWx1ZSBvZiBDbGVhbiBXYXRlcjogV2lsbGluZ25lc3MgdG8gUGF5IGZvciBCb2F0YWJsZSwgRmlzaGFibGUsIGFuZCBTd2ltbWFibGUgV2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFncmljdWx0dXJhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzIFJldmlldzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KUCBHaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTcvUzEwNjgyODA1MDAwMDM0NjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaGVkb25pYyBhbmFseXNpcyBvZiB0aGUgZWZmZWN0cyBvZiBsYWtlIHdhdGVyIGNsYXJpdHkgb24gTmV3IEhhbXBzaGlyZSBsYWtlZnJvbnQgcHJvcGVydGllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QkwgS2VlbGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTg5MC8xNDAxMjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVjcmVhdGlvbmFsIGRlbWFuZCBmb3IgY2xlYW4gd2F0ZXI6IGV2aWRlbmNlIGZyb20gZ2VvdGFnZ2VkIHBob3RvZ3JhcGhzIGJ5IHZpc2l0b3JzIHRvIGxha2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Vbml0ZWQgU3RhdGVzIEVudmlyb25tZW50YWwgUHJvdGVjdGlvbiBBZ2VuY3kuIE5hdGlvbmFsIFN1bW1hcnkgb2YgSW1wYWlyZWQgV2F0ZXJzIGFuZCBUTURMIEluZm9ybWF0aW9uLiAyMDE1LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL2lhc3B1Yi5lcGEuZ292L3dhdGVyczEwL2F0dGFpbnNfbmF0aW9uX2N5LmNvbnRyb2w/cF9yZXBvcnRfdHlwZT1UI2ltcF93YXRlcl9ieV9zdGF0ZSIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vaWFzcHViLmVwYS5nb3Yvd2F0ZXJzMTAvYXR0YWluc19uYXRpb25fY3kuY29udHJvbD9wX3JlcG9ydF90eXBlPVQjaW1wX3dhdGVyX2J5X3N0YXRlJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkUgV29obDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMTMzOS0xMDAyMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tcHJvbWlzZWQgcml2ZXJzOiB1bmRlcnN0YW5kaW5nIGhpc3RvcmljYWwgaHVtYW4gaW1wYWN0cyBvbiByaXZlcnMgaW4gdGhlIGNvbnRleHQgb2YgcmVzdG9yYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FbnZpcm9ubWVudGFsIE1hbmFnZW1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SCBQacOpZ2F5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwMjY3LTAwNC0wMDkyLXo8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHBlcmNlcHRpb24gYXMgYSBiYXJyaWVyIHRvIGludHJvZHVjaW5nIHdvb2QgaW4gcml2ZXJzIGZvciByZXN0b3JhdGlvbiBwdXJwb3NlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVudmlyb25tZW50YWwgTWFuYWdlbWVudDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg5MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMDAyNjctMDA4LTkwNzUtOTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QZXJjZXB0aW9ucyBvZiB3b29kIGluIHJpdmVycyBhbmQgY2hhbGxlbmdlcyBmb3Igc3RyZWFtIHJlc3RvcmF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Uml2ZXIgUmVzZWFyY2ggYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3JyYS4yNjE3PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBzaWduaWZpY2FuY2Ugb2YgcGVyY2VwdGlvbnMgYW5kIGZlZWRiYWNrcyBmb3IgZWZmZWN0aXZlbHkgbWFuYWdpbmcgd29vZCBpbiByaXZlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5RdWFsaXR5IGFuZCBRdWFudGl0eTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NRCBLYXBsb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQxOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAyMy9BOjEwMDQ4NDQ0MjU0NDg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3RhdGlzdGljYWwgYW5hbHlzaXMgb2Ygc2Vuc2l0aXZlIHRvcGljcyBpbiBncm91cCBhbmQgaW5kaXZpZHVhbCBpbnRlcnZpZXdzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TCBSaWNoYXJkc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTM1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwOTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouZWNvbGVjb24uMjAwOC4xMC4wMTY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHRvdGFsIGVjb25vbWljIHZhbHVlIG9mIHRocmVhdGVuZWQsIGVuZGFuZ2VyZWQgYW5kIHJhcmUgc3BlY2llczogYW4gdXBkYXRlZCBtZXRhLWFuYWx5c2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29uc2VydmF0aW9uIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SyBXYWxsbW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjgzMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjMtMTczOS4yMDEyLjAxODk5Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHdpbGxpbmduZXNzIHRvIHBheSBmb3IgcmVjb3ZlcmluZyBhbmQgZG93bmxpc3RpbmcgdGhyZWF0ZW5lZCBhbmQgZW5kYW5nZXJlZCBtYXJpbmUgc3BlY2llczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlc3RvcmF0aW9uIEVjb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjYtMTAwWC4yMDA4LjAwNDA3Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHZhbHVlcyBmb3Igcml2ZXIgcmVzdG9yYXRpb24gb3B0aW9ucyBvbiB0aGUgTWlkZGxlIFJpbyBHcmFuZGU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0cmFsaWFuIEpvdXJuYWwgb2YgQWdyaWN1bHR1cmFsIGFuZCBSZXNvdXJjZSBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TSBNb3JyaXNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTkxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2Ny04NDg5LjIwMDQuMDAyNjMueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIE5ldyBTb3V0aCBXYWxlcyByaXZlcnMgZm9yIHVzZSBpbiBiZW5lZml0IHRyYW5zZmVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UkwgU2hhcnA8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjg8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMDk3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMTEuMDQuMDMyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZhY3RvcnMgaW5mbHVlbmNpbmcgcHVibGljIHByZWZlcmVuY2VzIGZvciBpbnZhc2l2ZSBhbGllbiBzcGVjaWVzIG1hbmFnZW1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9sb2dpY2FsIENvbnNlcnZhdGlvbjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIEdhcmPDrWEtTGxvcmVudGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjk2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDA4LjA5LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Tb2NpYWwgcGVyY2VwdGlvbnMgb2YgdGhlIGltcGFjdHMgYW5kIGJlbmVmaXRzIG9mIGludmFzaXZlIGFsaWVuIHNwZWNpZXM6IGltcGxpY2F0aW9ucyBmb3IgbWFuYWdlbWVudDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2xvZ2ljYWwgQ29uc2VydmF0aW9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlMgU2VsZ2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDExLjA5LjAxNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QdWJsaWMgYW5kIHByb2Zlc3Npb25hbCB2aWV3cyBvbiBpbnZhc2l2ZSBub24tbmF0aXZlIHNwZWNpZXPigJNBIHF1YWxpdGF0aXZlIHNvY2lhbCBzY2llbnRpZmljIGludmVzdGlnYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIENocmlzdGllPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5lY29sZWNvbi4yMDA1LjA3LjAzNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHRoZSBkaXZlcnNpdHkgb2YgYmlvZGl2ZXJzaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QSBGaXNjaGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMDYuMTEuMDI0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVuZGVyc3RhbmRpbmcgbWVudGFsIGNvbnN0cnVjdHMgb2YgYmlvZGl2ZXJzaXR5OiBpbXBsaWNhdGlvbnMgZm9yIGJpb2RpdmVyc2l0eSBtYW5hZ2VtZW50IGFuZCBjb25zZXJ2YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldKIFJpcHBsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjE2NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMjYvc2NpZW5jZS4xMjQxNDg0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXR1cyBhbmQgZWNvbG9naWNhbCBlZmZlY3RzIG9mIHRoZSB3b3JsZOKAmXMgbGFyZ2VzdCBjYXJuaXZvcmVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TGFuZCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TlIgTmV0dXNpbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMzY4L2xlLjg2LjIuMjgxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVzdGltYXRpbmcgdGhlIGRlbWFuZCBmb3IgdHJlZSBjYW5vcHk6IGEgc2Vjb25kLXN0YWdlIGhlZG9uaWMgcHJpY2UgYW5hbHlzaXMgaW4gUG9ydGxhbmQsIE9yZWdvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxhbmRzY2FwZSBhbmQgVXJiYW4gUGxhbm5pbmc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBLYWRpc2g8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHZlZ2V0YXRpb24gaW4gYW4gdXJiYW4gd2F0ZXJzaGVkPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U29jaWV0eSAmYW1wOyBuYXR1cmFsIHJlc291cmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CUyBTdGVlbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDg5NDE5Mjk0MDkzODA4NTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29uZmxpY3RpbmcgdmFsdWVzIGFib3V0IGZlZGVyYWwgZm9yZXN0czogQSBjb21wYXJpc29uIG9mIG5hdGlvbmFsIGFuZCBPcmVnb24gcHVibGljczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxlaXN1cmUgU2NpZW5jZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgVGFycmFudDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDE0OTA0MDk3MDk1MTIyNDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVhc3VyaW5nIHBlcmNlaXZlZCBjcm93ZGluZyBmb3IgaGlnaOKAkGRlbnNpdHkgcml2ZXIgcmVjcmVhdGlvbjogdGhlIGVmZmVjdHMgb2Ygc2l0dWF0aW9uYWwgY29uZGl0aW9ucyBhbmQgcGVyc29uYWwgZmFjdG9yczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlIgQnJvdXdlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNy4wMi4wMDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGVjb25vbWljIHZhbHVlIG9mIHJpdmVyIHJlc3RvcmF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUy4gQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ESSBTbWl0aDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZsb29kIGRhbWFnZSBlc3RpbWF0aW9uLSBBIHJldmlldyBvZiB1cmJhbiBzdGFnZS1kYW1hZ2UgY3VydmVzIGFuZCBsb3NzIGZ1bmN0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaHlkcm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkQgRHV0dGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjHigJMyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAwMjItMTY5NCgwMykwMDA4NC0yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbWF0aGVtYXRpY2FsIG1vZGVsIGZvciBmbG9vZCBsb3NzIGVzdGltYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmFsIEhhemFyZHMgYW5kIEVhcnRoIFN5c3RlbSBTY2llbmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CIE1lcno8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+ODwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjUxOTQvbmhlc3MtMTAtMTY5Ny0yMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJldmlldyBhcnRpY2xlJmFtcDtxdW90OyBBc3Nlc3NtZW50IG9mIGVjb25vbWljIGZsb29kIGRhbWFnZSZhbXA7cXVvdDs8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGluZGljYXRvcnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QiBGdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjcyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xpbmQuMjAxNi4wOC4wMTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBub3RlIG9uIGNvbW11bmljYXRpbmcgZW52aXJvbm1lbnRhbCBjaGFuZ2UgZm9yIG5vbi1tYXJrZXQgdmFsdWF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBBcHBsaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkwgU3RvZGRhcmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNjc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTA1MS0wNzYxKDIwMDYpMDE2WzEyNjc6U0VGVEVDXTIuMC5DTzsyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNldHRpbmcgZXhwZWN0YXRpb25zIGZvciB0aGUgZWNvbG9naWNhbCBjb25kaXRpb24gb2Ygc3RyZWFtczogdGhlIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvbmRpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REEgRGlsbG1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPlZvbCAzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJuZXQsIE1haWwgYW5kIE1peGVkLU1vZGUgU3VydmV5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZHgucGxvcy5vcmcvMTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgICAgICAgIDwvam91cm5hbD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
|
44
|
+
http_version:
|
45
|
+
recorded_at: Sat, 06 Jul 2019 14:28:59 GMT
|
46
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1371/journal.pone.0214986/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Link:
|
20
|
+
- <http://dx.doi.org/10.1371/journal.pone.0214986>; rel="canonical", <http://dx.plos.org/10.1371/journal.pone.0214986>;
|
21
|
+
version="vor"; rel="item", <https://creativecommons.org/publicdomain/zero/1.0/>;
|
22
|
+
version="vor"; rel="license", <http://orcid.org/0000-0002-1856-0546>; title="Matthew
|
23
|
+
A. Weber"; rel="author"
|
24
|
+
Access-Control-Allow-Origin:
|
25
|
+
- "*"
|
26
|
+
Access-Control-Allow-Headers:
|
27
|
+
- X-Requested-With
|
28
|
+
Content-Length:
|
29
|
+
- '41843'
|
30
|
+
Server:
|
31
|
+
- http-kit
|
32
|
+
Date:
|
33
|
+
- Sat, 06 Jul 2019 14:32:23 GMT
|
34
|
+
X-Rate-Limit-Limit:
|
35
|
+
- '50'
|
36
|
+
X-Rate-Limit-Interval:
|
37
|
+
- 1s
|
38
|
+
Connection:
|
39
|
+
- close
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: !binary |-
|
43
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlIChQTG9TKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im1lbWJlci1pZCIgdHlwZT0ibnVtYmVyIj4zNDA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MTA2NzI4NDI3PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImpvdXJuYWwtaWQiIHR5cGU9Im51bWJlciI+NjA0MDc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iZGVwb3NpdC10aW1lc3RhbXAiIHR5cGU9Im51bWJlciI+MjAxOTA1MDgxMDI1Mjg8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ib3duZXItcHJlZml4IiB0eXBlPSJzdHJpbmciPjEwLjEzNzE8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ibGFzdC11cGRhdGUiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjg6MTNaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNyZWF0ZWQiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjc6MjdaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGVkYnktY291bnQiIHR5cGU9Im51bWJlciI+MDwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8am91cm5hbD4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICAgICAgICA8ZnVsbF90aXRsZT5QTE9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICAgICAgICA8bW9udGg+NTwvbW9udGg+DQogICAgICAgICAgICAgICAgICA8ZGF5Pjg8L2RheT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjIwMTk8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxqb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgIDxpc3N1ZT41PC9pc3N1ZT4NCiAgICAgICAgICAgICAgPC9qb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICA8am91cm5hbF9hcnRpY2xlIHB1YmxpY2F0aW9uX3R5cGU9ImZ1bGxfdGV4dCI+DQogICAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZT5SaXZlciBtZXRyaWNzIGJ5IHRoZSBwdWJsaWMsIGZvciB0aGUgcHVibGljPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWF0dGhldyBBLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+V2ViZXI8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICAgIDxPUkNJRCBhdXRoZW50aWNhdGVkPSJ0cnVlIj5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xODU2LTA1NDY8L09SQ0lEPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+UGF1bCBMLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+UmluZ29sZDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NaWd1ZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkNhw7FlZG8tQXJnw7xlbGxlcyBJZ2xlc2lhczwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgICAgICAgIDxtb250aD41PC9tb250aD4NCiAgICAgICAgICAgICAgICAgIDxkYXk+ODwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxOTwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPHBhZ2VzPg0KICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ZTAyMTQ5ODY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvaXRlbV9udW1iZXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgICAgICAgIDxmcjpwcm9ncmFtIHhtbG5zOmZyPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy9mdW5kcmVmLnhzZCIgbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+VW5pdGVzIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5PC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICAgIDwvZnI6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICAgICAgICA8YWk6bGljZW5zZV9yZWYgYXBwbGllc190bz0idm9yIj5odHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLzwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgICAgIDwvYWk6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPHRpbWVzdGFtcD4yMDE5MDUwODEwMjUyODwvdGltZXN0YW1wPg0KICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5IdWdoZXMsIFIuTS4sIDE5OTMuIFN0cmVhbSBJbmRpY2F0b3IgYW5kIERlc2lnbiBXb3Jrc2hvcC4gRW52aXJvbm1lbnRhbCBQcm90ZWN0aW9uIEFnZW5jeS4gUmVwb3J0IG5vLiBFUEEvNjAwL1ItOTMvMTM4LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIiPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVjb2xvZ2ljYWwgSW5kaWNhdG9ycyBmb3IgdGhlIE5hdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MRSBKYWNrc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZhbHVhdGlvbiBndWlkZWxpbmVzIGZvciBlY29sb2dpY2FsIGluZGljYXRvcnMuIEVQQS82MjAvUi05OS8wMDU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgZWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkogQm95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjYzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4y4oCTMzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMDcuMDEuMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgYXJlIGVjb3N5c3RlbSBzZXJ2aWNlcz8gVGhlIG5lZWQgZm9yIHN0YW5kYXJkaXplZCBlbnZpcm9ubWVudGFsIGFjY291bnRpbmcgdW5pdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJKIEpvaG5zdG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NzA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI0MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMTEuMDcuMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuIG9wZXJhdGlvbmFsIHN0cnVjdHVyZSBmb3IgY2xhcml0eSBpbiBlY29zeXN0ZW0gc2VydmljZSB2YWx1ZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UEwgUmluZ29sZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjExPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTEwMTU2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgZGF0YSBzaG91bGQgd2UgY29sbGVjdD8gQSBmcmFtZXdvcmsgZm9yIGlkZW50aWZ5aW5nIGluZGljYXRvcnMgb2YgZWNvc3lzdGVtIGNvbnRyaWJ1dGlvbnMgdG8gaHVtYW4gd2VsbOKAkGJlaW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BZ3JpY3VsdHVyYWwgYW5kIFJlc291cmNlIEVjb25vbWljcyBSZXZpZXc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBCb3lkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE3L1MxMDY4MjgwNTAwMDA3NTkwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVzaW5nIGVjb2xvZ2ljYWwgcHJvZHVjdGlvbiB0aGVvcnkgdG8gZGVmaW5lIGFuZCBzZWxlY3QgZW52aXJvbm1lbnRhbCBjb21tb2RpdGllcyBmb3Igbm9ubWFya2V0IHZhbHVhdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SW50ZXJuYXRpb25hbCBSZXZpZXcgb2YgRW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIEJveWQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4z4oCTNDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM1OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBFY29zeXN0ZW0gU2VydmljZXMgSW5kaWNhdG9yczogSW1wcm92aW5nIHRoZSBMaW5rYWdlIGJldHdlZW4gQmlvcGh5c2ljYWwgYW5kIEVjb25vbWljIEFuYWx5c2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC41NzUxL0VTLTA5NDk2LTIyMDMxNTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SaXZlcnMgYW5kIHN0cmVhbXMgaW4gdGhlIG1lZGlhOiBhIGNvbnRlbnQgYW5hbHlzaXMgb2YgZWNvc3lzdGVtIHNlcnZpY2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldLIFZpc2N1c2k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA2NDAtMDA3LTkxODYtNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZWNvbm9taWMgdmFsdWUgb2Ygd2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpDIEJlcmdzdHJvbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNi4xMi4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RWNvbm9taWMgdmFsdWF0aW9uIG9mIHJpdmVyIHJlc3RvcmF0aW9uOiBBbiBhbmFseXNpcyBvZiB0aGUgdmFsdWF0aW9uIGxpdGVyYXR1cmUgYW5kIGl0cyB1c2VzIGluIGRlY2lzaW9uLW1ha2luZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5LiBOYXRpb25hbCB3YXRlciBxdWFsaXR5IGludmVudG9yeSwgcmVwb3J0IHRvIGNvbmdyZXNzLjE5OTQtMjAwMi4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3LmVwYS5nb3Yvd2F0ZXJkYXRhL25hdGlvbmFsLXdhdGVyLXF1YWxpdHktaW52ZW50b3J5LXJlcG9ydC1jb25ncmVzcyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwczovL3d3dy5lcGEuZ292L3dhdGVyZGF0YS9uYXRpb25hbC13YXRlci1xdWFsaXR5LWludmVudG9yeS1yZXBvcnQtY29uZ3Jlc3MmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmVuZWZpdC1Db3N0IEFuYWx5c2lzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkMgTW9vcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9iY2EuMjAxNy45PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlZhbHVpbmcgRWNvbG9naWNhbCBJbXByb3ZlbWVudHMgaW4gdGhlIENoZXNhcGVha2UgQmF5IGFuZCB0aGUgSW1wb3J0YW5jZSBvZiBBbmNpbGxhcnkgQmVuZWZpdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29zeXN0ZW0gU2VydmljZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjA3LjAxNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIGluc3RyZWFtLXJlbGF0ZWQgc2VydmljZXMgb2Ygd2FzdGV3YXRlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkogTG91dmllcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9DQk85NzgwNTExNzUzODMxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXRlZCBjaG9pY2UgbWV0aG9kczogYW5hbHlzaXMgYW5kIGFwcGxpY2F0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb3N5c3RlbSBzZXJ2aWNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIEplYW5sb3o8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjAxLjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ub3dhcmRzIGEgbW9yZSBzdHJ1Y3R1cmVkIHNlbGVjdGlvbiBwcm9jZXNzIGZvciBhdHRyaWJ1dGVzIGFuZCBsZXZlbHMgaW4gY2hvaWNlIGV4cGVyaW1lbnRzOiBBIHN0dWR5IGluIGEgQmVsZ2lhbiBwcm90ZWN0ZWQgYXJlYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvbnNlcnZhdGlvbiBFY29sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NoaWxsZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMDI0Ny0wNTAxMTk8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tbXVuaWNhdGluZyBlY29sb2dpY2FsIGluZGljYXRvcnMgdG8gZGVjaXNpb24gbWFrZXJzIGFuZCB0aGUgcHVibGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5SaW5nb2xkIFBMLCBCb3lkIEosIExhbmRlcnMgRCwgV2ViZXIgTUEsIE1lZXRpbmcgRGF0ZTogSnVseSAxMyB0byAxNiwgMjAwOS4gUmVwb3J0IGZyb20gdGhlIFdvcmtzaG9wIG9uIEluZGljYXRvcnMgb2YgRmluYWwgRWNvc3lzdGVtIFNlcnZpY2VzIGZvciBTdHJlYW1zLiBFUEEvNjAwL1ItMDkvMTM3LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxOSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REggTGFuZGVyczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbmF0aW9uYWwgZWNvc3lzdGVtIHNlcnZpY2UgY2xhc3NpZmljYXRpb24gc3lzdGVtIGZvciBmaW5hbCBlY29zeXN0ZW0gZ29vZHMgYW5kIHNlcnZpY2VzIChORVNDUyk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5MYW5kc2NhcGUgYW5kIFVyYmFuIFBsYW5uaW5nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTMzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubGFuZHVyYnBsYW4uMjAxNC4wOS4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJpb3JpdHkgcml2ZXIgbWV0cmljcyBmb3IgcmVzaWRlbnRzIG9mIGFuIHVyYmFuaXplZCBhcmlkIHdhdGVyc2hlZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+S2FtbWVyZXIgSkMuIExhcmdlc3QgUml2ZXJzIGluIHRoZSBVbml0ZWQgU3RhdGVzLiBVUyBHZW9sb2dpY2FsIFN1cnZleS4gTWF5IDE5OTAuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vcHVicy51c2dzLmdvdi9vZi8xOTg3L29mcjg3LTI0Mi8iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3B1YnMudXNncy5nb3Yvb2YvMTk4Ny9vZnI4Ny0yNDIvJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjIiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPlVuaXRlZCBTdGF0ZXMgRGVwYXJ0bWVudCBvZiBBZ3JpY3VsdHVyZS4gTmF0aW9uYWwgU2Nob29sIEx1bmNoIFByb2dyYW0uIDIwMTMuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi9zaXRlcy9kZWZhdWx0L2ZpbGVzL05TTFBGYWN0U2hlZXQucGRmIiB4bGluazp0eXBlPSJzaW1wbGUiJmd0O2h0dHA6Ly93d3cuZm5zLnVzZGEuZ292L3NpdGVzL2RlZmF1bHQvZmlsZXMvTlNMUEZhY3RTaGVldC5wZGYmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMyI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBEZXBhcnRtZW50IG9mIEFncmljdWx0dXJlLiBXb21lbiBJbmZhbnRzIGFuZCBDaGlsZHJlbiBFbGlnaWJpbGl0eSBSZXF1aXJlbWVudHMuIDIwMTUuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ETCBNb3JnYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42IHZvbHVtZXM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgRm9jdXMgR3JvdXAgS2l0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EIEh1bHNlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJhamVjdG9yaWVzIG9mIGVudmlyb25tZW50YWwgYW5kIGVjb2xvZ2ljYWwgY2hhbmdlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KVyBDcmVzd2VsbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlF1YWxpdGF0aXZlIGlucXVpcnkgYW5kIHJlc2VhcmNoIGRlc2lnbjogQ2hvb3NpbmcgYW1vbmcgZml2ZSBhcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXZpZGVuY2UtYmFzZWQgbnVyc2luZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIFRob3JuZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEzNi9lYm4uMy4zLjY4PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRhdGEgYW5hbHlzaXMgaW4gcXVhbGl0YXRpdmUgcmVzZWFyY2g8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FZHVjYXRpb25hbCByZXNlYXJjaGVyPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJCIEpvaG5zb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMTAyLzAwMTMxODlYMDMzMDA3MDE0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1peGVkIG1ldGhvZHMgcmVzZWFyY2g6IEEgcmVzZWFyY2ggcGFyYWRpZ20gd2hvc2UgdGltZSBoYXMgY29tZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyOSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQnVzaW5lc3MgRXRoaWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlAgQXVnZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA1NTEtMDA2LTkxMTItNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBiZXN04oCTd29yc3Qgc2NhbGluZyBtZXRob2RvbG9neSB0byBpbnZlc3RpZ2F0ZSBjb25zdW1lciBldGhpY2FsIGJlbGllZnMgYWNyb3NzIGNvdW50cmllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaGVhbHRoIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UTiBGbHlubjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouamhlYWxlY28uMjAwNi4wNC4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QmVzdOKAk3dvcnN0IHNjYWxpbmc6IHdoYXQgaXQgY2FuIGRvIGZvciBoZWFsdGggY2FyZSByZXNlYXJjaCBhbmQgaG93IHRvIGRvIGl0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMxIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LLiBLcmlwcGVuZG9yZmY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Db250ZW50IEFuYWx5c2lzOiBBbiBJbnRyb2R1Y3Rpb24gdG8gaXRzIE1ldGhvZG9sb2d5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5RdWFsaXMgUmVzZWFyY2guIFRoZSBFdGhub2dyYXBoIHY2IChzb2Z0d2FyZSkuIDYxMCBQb3BlcyBWYWxsZXkgRHJpdmUsIENvbG9yYWRvIFNwcmluZ3MsIENPIDgwOTE5LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20mbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRoZW9yeSBpbnRvIHByYWN0aWNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEyMDcvczE1NDMwNDIxdGlwMzkwM18yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRldGVybWluaW5nIHZhbGlkaXR5IGluIHF1YWxpdGF0aXZlIGlucXVpcnk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzQiPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVzZWFyY2ggRGVzaWduOiBRdWFsaXRhdGl2ZSwgUXVhbnRpdGF0aXZlLCBhbmQgTWl4ZWQgTWV0aG9kcyBBcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5NaXRjaGVsbCBSQywgQ2Fyc29uIFJULiBUaGUgVXNlIG9mIENvbnRpbmdlbnQgVmFsdWF0aW9uIERhdGEgZm9yIEJlbmVmaXQvQ29zdCBBbmFseXNpcyBpbiBXYXRlciBQb2xsdXRpb24gQ29udHJvbC4gQ1ItODEwMjI0LTAyLiBQcmVwYXJlZCBmb3IgVVMgRVBBLCBPZmZpY2Ugb2YgUG9saWN5IFBsYW5uaW5nIGFuZCBFdmFsdWF0aW9uLiBXYXNoaW5ndG9uLCBEQy4gMTk4Ni4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHA6Ly95b3NlbWl0ZTEuZXBhLmdvdi9lZS9lcGEvZWVybS5uc2YvdndSZXBOdW1Mb29rdXAvRUUtMDE1MD9PcGVuRG9jdW1lbnQiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3lvc2VtaXRlMS5lcGEuZ292L2VlL2VwYS9lZXJtLm5zZi92d1JlcE51bUxvb2t1cC9FRS0wMTUwP09wZW5Eb2N1bWVudCZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUmVzb3VyY2VzIFJlc2VhcmNoPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJUIENhcnNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBWYWx1ZSBvZiBDbGVhbiBXYXRlcjogV2lsbGluZ25lc3MgdG8gUGF5IGZvciBCb2F0YWJsZSwgRmlzaGFibGUsIGFuZCBTd2ltbWFibGUgV2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFncmljdWx0dXJhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzIFJldmlldzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KUCBHaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTcvUzEwNjgyODA1MDAwMDM0NjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaGVkb25pYyBhbmFseXNpcyBvZiB0aGUgZWZmZWN0cyBvZiBsYWtlIHdhdGVyIGNsYXJpdHkgb24gTmV3IEhhbXBzaGlyZSBsYWtlZnJvbnQgcHJvcGVydGllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QkwgS2VlbGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTg5MC8xNDAxMjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVjcmVhdGlvbmFsIGRlbWFuZCBmb3IgY2xlYW4gd2F0ZXI6IGV2aWRlbmNlIGZyb20gZ2VvdGFnZ2VkIHBob3RvZ3JhcGhzIGJ5IHZpc2l0b3JzIHRvIGxha2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Vbml0ZWQgU3RhdGVzIEVudmlyb25tZW50YWwgUHJvdGVjdGlvbiBBZ2VuY3kuIE5hdGlvbmFsIFN1bW1hcnkgb2YgSW1wYWlyZWQgV2F0ZXJzIGFuZCBUTURMIEluZm9ybWF0aW9uLiAyMDE1LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL2lhc3B1Yi5lcGEuZ292L3dhdGVyczEwL2F0dGFpbnNfbmF0aW9uX2N5LmNvbnRyb2w/cF9yZXBvcnRfdHlwZT1UI2ltcF93YXRlcl9ieV9zdGF0ZSIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vaWFzcHViLmVwYS5nb3Yvd2F0ZXJzMTAvYXR0YWluc19uYXRpb25fY3kuY29udHJvbD9wX3JlcG9ydF90eXBlPVQjaW1wX3dhdGVyX2J5X3N0YXRlJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkUgV29obDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMTMzOS0xMDAyMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tcHJvbWlzZWQgcml2ZXJzOiB1bmRlcnN0YW5kaW5nIGhpc3RvcmljYWwgaHVtYW4gaW1wYWN0cyBvbiByaXZlcnMgaW4gdGhlIGNvbnRleHQgb2YgcmVzdG9yYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FbnZpcm9ubWVudGFsIE1hbmFnZW1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SCBQacOpZ2F5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwMjY3LTAwNC0wMDkyLXo8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHBlcmNlcHRpb24gYXMgYSBiYXJyaWVyIHRvIGludHJvZHVjaW5nIHdvb2QgaW4gcml2ZXJzIGZvciByZXN0b3JhdGlvbiBwdXJwb3NlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVudmlyb25tZW50YWwgTWFuYWdlbWVudDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg5MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMDAyNjctMDA4LTkwNzUtOTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QZXJjZXB0aW9ucyBvZiB3b29kIGluIHJpdmVycyBhbmQgY2hhbGxlbmdlcyBmb3Igc3RyZWFtIHJlc3RvcmF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Uml2ZXIgUmVzZWFyY2ggYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3JyYS4yNjE3PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBzaWduaWZpY2FuY2Ugb2YgcGVyY2VwdGlvbnMgYW5kIGZlZWRiYWNrcyBmb3IgZWZmZWN0aXZlbHkgbWFuYWdpbmcgd29vZCBpbiByaXZlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5RdWFsaXR5IGFuZCBRdWFudGl0eTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NRCBLYXBsb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQxOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAyMy9BOjEwMDQ4NDQ0MjU0NDg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3RhdGlzdGljYWwgYW5hbHlzaXMgb2Ygc2Vuc2l0aXZlIHRvcGljcyBpbiBncm91cCBhbmQgaW5kaXZpZHVhbCBpbnRlcnZpZXdzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TCBSaWNoYXJkc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTM1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwOTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouZWNvbGVjb24uMjAwOC4xMC4wMTY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHRvdGFsIGVjb25vbWljIHZhbHVlIG9mIHRocmVhdGVuZWQsIGVuZGFuZ2VyZWQgYW5kIHJhcmUgc3BlY2llczogYW4gdXBkYXRlZCBtZXRhLWFuYWx5c2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29uc2VydmF0aW9uIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SyBXYWxsbW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjgzMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjMtMTczOS4yMDEyLjAxODk5Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHdpbGxpbmduZXNzIHRvIHBheSBmb3IgcmVjb3ZlcmluZyBhbmQgZG93bmxpc3RpbmcgdGhyZWF0ZW5lZCBhbmQgZW5kYW5nZXJlZCBtYXJpbmUgc3BlY2llczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlc3RvcmF0aW9uIEVjb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjYtMTAwWC4yMDA4LjAwNDA3Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHZhbHVlcyBmb3Igcml2ZXIgcmVzdG9yYXRpb24gb3B0aW9ucyBvbiB0aGUgTWlkZGxlIFJpbyBHcmFuZGU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0cmFsaWFuIEpvdXJuYWwgb2YgQWdyaWN1bHR1cmFsIGFuZCBSZXNvdXJjZSBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TSBNb3JyaXNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTkxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2Ny04NDg5LjIwMDQuMDAyNjMueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIE5ldyBTb3V0aCBXYWxlcyByaXZlcnMgZm9yIHVzZSBpbiBiZW5lZml0IHRyYW5zZmVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UkwgU2hhcnA8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjg8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMDk3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMTEuMDQuMDMyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZhY3RvcnMgaW5mbHVlbmNpbmcgcHVibGljIHByZWZlcmVuY2VzIGZvciBpbnZhc2l2ZSBhbGllbiBzcGVjaWVzIG1hbmFnZW1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9sb2dpY2FsIENvbnNlcnZhdGlvbjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIEdhcmPDrWEtTGxvcmVudGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjk2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDA4LjA5LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Tb2NpYWwgcGVyY2VwdGlvbnMgb2YgdGhlIGltcGFjdHMgYW5kIGJlbmVmaXRzIG9mIGludmFzaXZlIGFsaWVuIHNwZWNpZXM6IGltcGxpY2F0aW9ucyBmb3IgbWFuYWdlbWVudDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2xvZ2ljYWwgQ29uc2VydmF0aW9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlMgU2VsZ2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDExLjA5LjAxNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QdWJsaWMgYW5kIHByb2Zlc3Npb25hbCB2aWV3cyBvbiBpbnZhc2l2ZSBub24tbmF0aXZlIHNwZWNpZXPigJNBIHF1YWxpdGF0aXZlIHNvY2lhbCBzY2llbnRpZmljIGludmVzdGlnYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIENocmlzdGllPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5lY29sZWNvbi4yMDA1LjA3LjAzNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHRoZSBkaXZlcnNpdHkgb2YgYmlvZGl2ZXJzaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QSBGaXNjaGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMDYuMTEuMDI0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVuZGVyc3RhbmRpbmcgbWVudGFsIGNvbnN0cnVjdHMgb2YgYmlvZGl2ZXJzaXR5OiBpbXBsaWNhdGlvbnMgZm9yIGJpb2RpdmVyc2l0eSBtYW5hZ2VtZW50IGFuZCBjb25zZXJ2YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldKIFJpcHBsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjE2NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMjYvc2NpZW5jZS4xMjQxNDg0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXR1cyBhbmQgZWNvbG9naWNhbCBlZmZlY3RzIG9mIHRoZSB3b3JsZOKAmXMgbGFyZ2VzdCBjYXJuaXZvcmVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TGFuZCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TlIgTmV0dXNpbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMzY4L2xlLjg2LjIuMjgxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVzdGltYXRpbmcgdGhlIGRlbWFuZCBmb3IgdHJlZSBjYW5vcHk6IGEgc2Vjb25kLXN0YWdlIGhlZG9uaWMgcHJpY2UgYW5hbHlzaXMgaW4gUG9ydGxhbmQsIE9yZWdvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxhbmRzY2FwZSBhbmQgVXJiYW4gUGxhbm5pbmc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBLYWRpc2g8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHZlZ2V0YXRpb24gaW4gYW4gdXJiYW4gd2F0ZXJzaGVkPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U29jaWV0eSAmYW1wOyBuYXR1cmFsIHJlc291cmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CUyBTdGVlbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDg5NDE5Mjk0MDkzODA4NTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29uZmxpY3RpbmcgdmFsdWVzIGFib3V0IGZlZGVyYWwgZm9yZXN0czogQSBjb21wYXJpc29uIG9mIG5hdGlvbmFsIGFuZCBPcmVnb24gcHVibGljczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxlaXN1cmUgU2NpZW5jZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgVGFycmFudDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDE0OTA0MDk3MDk1MTIyNDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVhc3VyaW5nIHBlcmNlaXZlZCBjcm93ZGluZyBmb3IgaGlnaOKAkGRlbnNpdHkgcml2ZXIgcmVjcmVhdGlvbjogdGhlIGVmZmVjdHMgb2Ygc2l0dWF0aW9uYWwgY29uZGl0aW9ucyBhbmQgcGVyc29uYWwgZmFjdG9yczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlIgQnJvdXdlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNy4wMi4wMDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGVjb25vbWljIHZhbHVlIG9mIHJpdmVyIHJlc3RvcmF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUy4gQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ESSBTbWl0aDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZsb29kIGRhbWFnZSBlc3RpbWF0aW9uLSBBIHJldmlldyBvZiB1cmJhbiBzdGFnZS1kYW1hZ2UgY3VydmVzIGFuZCBsb3NzIGZ1bmN0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaHlkcm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkQgRHV0dGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjHigJMyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAwMjItMTY5NCgwMykwMDA4NC0yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbWF0aGVtYXRpY2FsIG1vZGVsIGZvciBmbG9vZCBsb3NzIGVzdGltYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmFsIEhhemFyZHMgYW5kIEVhcnRoIFN5c3RlbSBTY2llbmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CIE1lcno8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+ODwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjUxOTQvbmhlc3MtMTAtMTY5Ny0yMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJldmlldyBhcnRpY2xlJmFtcDtxdW90OyBBc3Nlc3NtZW50IG9mIGVjb25vbWljIGZsb29kIGRhbWFnZSZhbXA7cXVvdDs8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGluZGljYXRvcnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QiBGdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjcyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xpbmQuMjAxNi4wOC4wMTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBub3RlIG9uIGNvbW11bmljYXRpbmcgZW52aXJvbm1lbnRhbCBjaGFuZ2UgZm9yIG5vbi1tYXJrZXQgdmFsdWF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBBcHBsaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkwgU3RvZGRhcmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNjc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTA1MS0wNzYxKDIwMDYpMDE2WzEyNjc6U0VGVEVDXTIuMC5DTzsyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNldHRpbmcgZXhwZWN0YXRpb25zIGZvciB0aGUgZWNvbG9naWNhbCBjb25kaXRpb24gb2Ygc3RyZWFtczogdGhlIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvbmRpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REEgRGlsbG1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPlZvbCAzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJuZXQsIE1haWwgYW5kIE1peGVkLU1vZGUgU3VydmV5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZHgucGxvcy5vcmcvMTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgICAgICAgIDwvam91cm5hbD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
|
44
|
+
http_version:
|
45
|
+
recorded_at: Sat, 06 Jul 2019 14:32:23 GMT
|
46
|
+
recorded_with: VCR 3.0.3
|
@@ -42,4 +42,20 @@ describe Bolognese::Metadata, vcr: true do
|
|
42
42
|
expect(subject.publication_year).to eq("2016")
|
43
43
|
end
|
44
44
|
end
|
45
|
+
|
46
|
+
context "get citeproc no author" do
|
47
|
+
it "Journal article" do
|
48
|
+
input = fixture_path + "citeproc-no-author.json"
|
49
|
+
subject = Bolognese::Metadata.new(input: input)
|
50
|
+
#expect(subject.valid?).to be true
|
51
|
+
expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5438/4k3m-nyvg", "identifierType"=>"DOI"}])
|
52
|
+
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
53
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resourceTypeGeneral"=>"Text", "ris"=>"GEN", "schemaOrg"=>"BlogPosting")
|
54
|
+
expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
|
55
|
+
expect(subject.titles).to eq([{"title"=>"Eating your own Dog Food"}])
|
56
|
+
expect(subject.descriptions.first["description"]).to start_with("Eating your own dog food")
|
57
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "dateType"=>"Issued"}])
|
58
|
+
expect(subject.publication_year).to eq("2016")
|
59
|
+
end
|
60
|
+
end
|
45
61
|
end
|
@@ -25,5 +25,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
25
25
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
26
26
|
expect(subject.citation).to eq("Ollomo, B., Durand, P., Prugnolle, F., Douzery, E. J. P., Arnathau, C., Nkoghe, D., … Renaud, F. (2011). <i>Data from: A new malaria agent in African hominids.</i> (Version 1) [Data set]. Dryad Digital Repository. https://doi.org/10.5061/dryad.8515")
|
27
27
|
end
|
28
|
+
|
29
|
+
it "Missing author" do
|
30
|
+
input = "https://doi.org/10.3390/publications6020015"
|
31
|
+
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
32
|
+
expect(subject.citation).to eq("Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics. (2018). <i>Publications</i>, <i>6</i>(2), 15. https://doi.org/10.3390/publications6020015")
|
33
|
+
end
|
28
34
|
end
|
29
35
|
end
|
@@ -125,6 +125,38 @@ describe Bolognese::Metadata, vcr: true do
|
|
125
125
|
expect(json["issued"]).to eq("date-parts"=>[[2012]])
|
126
126
|
end
|
127
127
|
|
128
|
+
it "with only first page" do
|
129
|
+
input = "https://doi.org/10.1371/journal.pone.0214986"
|
130
|
+
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
131
|
+
expect(subject.valid?).to be true
|
132
|
+
json = JSON.parse(subject.citeproc)
|
133
|
+
expect(json["type"]).to eq("article-journal")
|
134
|
+
expect(json["id"]).to eq("https://doi.org/10.1371/journal.pone.0214986")
|
135
|
+
expect(json["DOI"]).to eq("10.1371/journal.pone.0214986")
|
136
|
+
expect(json["title"]).to eq("River metrics by the public, for the public")
|
137
|
+
expect(json["author"]).to eq([{"family"=>"Weber", "given"=>"Matthew A."}, {"family"=>"Ringold", "given"=>"Paul L."}])
|
138
|
+
expect(json["container-title"]).to eq("PLOS ONE")
|
139
|
+
expect(json["volume"]).to eq("14")
|
140
|
+
expect(json["page"]).to eq("e0214986")
|
141
|
+
expect(json["issued"]).to eq("date-parts"=>[[2019, 5, 8]])
|
142
|
+
end
|
143
|
+
|
144
|
+
it "missing creator" do
|
145
|
+
input = "https://doi.org/10.3390/publications6020015"
|
146
|
+
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
147
|
+
expect(subject.valid?).to be true
|
148
|
+
json = JSON.parse(subject.citeproc)
|
149
|
+
expect(json["type"]).to eq("article-journal")
|
150
|
+
expect(json["id"]).to eq("https://doi.org/10.3390/publications6020015")
|
151
|
+
expect(json["DOI"]).to eq("10.3390/publications6020015")
|
152
|
+
expect(json["title"]).to eq("Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics")
|
153
|
+
expect(json["author"]).to be_nil
|
154
|
+
expect(json["container-title"]).to eq("Publications")
|
155
|
+
expect(json["publisher"]).to eq("MDPI AG")
|
156
|
+
expect(json["page"]).to eq("15")
|
157
|
+
expect(json["issued"]).to eq("date-parts"=>[[2018, 4, 9]])
|
158
|
+
end
|
159
|
+
|
128
160
|
it "container title" do
|
129
161
|
input = "https://doi.org/10.6102/ZIS146"
|
130
162
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
@@ -693,6 +693,7 @@ files:
|
|
693
693
|
- spec/doi_utils_spec.rb
|
694
694
|
- spec/find_from_format_spec.rb
|
695
695
|
- spec/fixtures/aida.json
|
696
|
+
- spec/fixtures/citeproc-no-author.json
|
696
697
|
- spec/fixtures/citeproc-no-categories.json
|
697
698
|
- spec/fixtures/citeproc.json
|
698
699
|
- spec/fixtures/codemeta.json
|
@@ -1002,6 +1003,7 @@ files:
|
|
1002
1003
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml
|
1003
1004
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml
|
1004
1005
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml
|
1006
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml
|
1005
1007
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml
|
1006
1008
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml
|
1007
1009
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml
|
@@ -1009,8 +1011,11 @@ files:
|
|
1009
1011
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml
|
1010
1012
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml
|
1011
1013
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml
|
1014
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml
|
1012
1015
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml
|
1013
1016
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml
|
1017
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml
|
1018
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml
|
1014
1019
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml
|
1015
1020
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml
|
1016
1021
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml
|