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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 076626c5e9df7e3e16d1ca3154bc6231f2a1b3c28ab78b8c53834e31fe0ce6e9
4
- data.tar.gz: a6f1df9d28b6cefda4afbd5a2874f27ac4118c9c1002b4309bebdc8627e085d1
3
+ metadata.gz: 0afb951465162d78ddac8cc31b135bf8eab60cb18b630440beecc7f92dac5cf7
4
+ data.tar.gz: 1c0a01d33dde163b469aa05a80e1eca859442d07862e9299b6253fb217dbdb52
5
5
  SHA512:
6
- metadata.gz: 4027516433c153f0660fbe7b86cc495964ac0566e630d6c28a0d7d6e4c0ab7dbd69cfe78d350d351bfee97872a09445791015334da5c13844ae00cafbcde8367
7
- data.tar.gz: 455d0d7e65036e994a5ec825577bcc967a00c65ec80c0bdca9b3e82e8a61830254417fa06d478a5f1a72f17e691cf5f06dc1c5ed5586aa662419b181d8407b2a
6
+ metadata.gz: eeebee3f3e9e9098b2ed43d1889d131b6efbd6d5aecd0ea0f2dfb5fbd8142248ed33c987de5070a2cea369555af07f25c08a53028fc2fa400fa3edfd483efa9f
7
+ data.tar.gz: 93506404b246f5ba3c418255b735c5a2971dc7af8cf0887a1bf508541c6d6a7cabc6249e6d9141dfa6b6357e97a233055ecd562ab7fdc0b2de28fe2344ac48d3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.2.9)
4
+ bolognese (1.2.10)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -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" => to_citeproc(creators),
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 = get_authors(from_citeproc(Array.wrap(meta.fetch("author", nil))))
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)),
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.2.9"
2
+ VERSION = "1.2.10"
3
3
  end
@@ -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
+ }
@@ -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
@@ -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
@@ -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.9
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