bolognese 1.8 → 1.8.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +10 -7
- data/lib/bolognese/datacite_utils.rb +7 -1
- data/lib/bolognese/metadata_utils.rb +1 -1
- data/lib/bolognese/readers/crossref_reader.rb +30 -13
- data/lib/bolognese/readers/datacite_reader.rb +1 -1
- data/lib/bolognese/utils.rb +10 -4
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/crosscite.json +1 -1
- data/spec/fixtures/datacite.json +1 -1
- data/spec/fixtures/datacite_software.json +1 -1
- data/spec/fixtures/datacite_software_version.json +1 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_oup.yml +91 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content_copernicus.yml +94 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml +138 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Another_dataset.yml +73 -0
- data/spec/readers/crossref_reader_spec.rb +113 -53
- data/spec/readers/datacite_json_reader_spec.rb +2 -2
- data/spec/readers/datacite_reader_spec.rb +34 -34
- data/spec/writers/bibtex_writer_spec.rb +12 -0
- data/spec/writers/citeproc_writer_spec.rb +13 -0
- data/spec/writers/datacite_writer_spec.rb +9 -9
- data/spec/writers/jats_writer_spec.rb +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2844940808f11b8faa885e34806bea245ab3c8d772bec2877de19a1122e49895
|
4
|
+
data.tar.gz: cc6167a8111867f03168c121a11db290671f2bbaf8a3ea2e295faa339b81ed12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb45a458092cde73a13a28a8208c4c115f0a6386afdb53cf9b25c89ff85de8767c7c0d6a368c056a3f736961e2e5ea9589ec38f212c038b105ceb32e6d435d9c
|
7
|
+
data.tar.gz: 43edabbc11bf430fd372c209bade25085e84ba73f4d64a52221cc143756ba374c703b485e1770afdede0939c5a33f40dda0017b0ead213d98704bd00f9cc0316
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.8)
|
4
|
+
bolognese (1.8.5)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -58,8 +58,10 @@ GEM
|
|
58
58
|
csl (~> 1.0)
|
59
59
|
diff-lcs (1.4.4)
|
60
60
|
docile (1.3.2)
|
61
|
-
ebnf (1.
|
61
|
+
ebnf (2.1.1)
|
62
|
+
htmlentities (~> 4.3)
|
62
63
|
rdf (~> 3.1)
|
64
|
+
scanf (~> 1.0)
|
63
65
|
sxp (~> 1.1)
|
64
66
|
edtf (3.0.5)
|
65
67
|
activesupport (>= 3.0, < 7.0)
|
@@ -79,7 +81,7 @@ GEM
|
|
79
81
|
concurrent-ruby (~> 1.0)
|
80
82
|
hashdiff (1.0.1)
|
81
83
|
htmlentities (4.3.4)
|
82
|
-
i18n (1.8.
|
84
|
+
i18n (1.8.5)
|
83
85
|
concurrent-ruby (~> 1.0)
|
84
86
|
iso8601 (0.9.1)
|
85
87
|
json-canonicalization (0.2.0)
|
@@ -119,7 +121,7 @@ GEM
|
|
119
121
|
namae (1.0.1)
|
120
122
|
nokogiri (1.10.10)
|
121
123
|
mini_portile2 (~> 2.4.0)
|
122
|
-
oj (3.10.
|
124
|
+
oj (3.10.8)
|
123
125
|
oj_mimic_json (1.0.1)
|
124
126
|
optimist (3.0.1)
|
125
127
|
postrank-uri (1.0.24)
|
@@ -148,8 +150,8 @@ GEM
|
|
148
150
|
rdf (~> 3.1)
|
149
151
|
rdf-rdfa (~> 3.1)
|
150
152
|
rdf-xsd (~> 3.1)
|
151
|
-
rdf-turtle (3.1.
|
152
|
-
ebnf (~>
|
153
|
+
rdf-turtle (3.1.2)
|
154
|
+
ebnf (~> 2.0)
|
153
155
|
rdf (~> 3.1, >= 3.1.2)
|
154
156
|
rdf-vocab (3.1.7)
|
155
157
|
rdf (~> 3.1, >= 3.1.2)
|
@@ -172,6 +174,7 @@ GEM
|
|
172
174
|
nokogiri (~> 1.6)
|
173
175
|
rspec (~> 3)
|
174
176
|
safe_yaml (1.0.5)
|
177
|
+
scanf (1.0.0)
|
175
178
|
simplecov (0.18.5)
|
176
179
|
docile (~> 1.1)
|
177
180
|
simplecov-html (~> 0.11)
|
@@ -190,7 +193,7 @@ GEM
|
|
190
193
|
addressable (>= 2.3.6)
|
191
194
|
crack (>= 0.3.2)
|
192
195
|
hashdiff (>= 0.4.0, < 2.0.0)
|
193
|
-
zeitwerk (2.
|
196
|
+
zeitwerk (2.4.0)
|
194
197
|
|
195
198
|
PLATFORMS
|
196
199
|
ruby
|
@@ -11,7 +11,13 @@ module Bolognese
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def datacite_errors(xml: nil, schema_version: nil)
|
14
|
-
|
14
|
+
if xml.present?
|
15
|
+
namespaces = Nokogiri::XML(xml, nil, 'UTF-8').root.namespaces
|
16
|
+
schema_version = namespaces.fetch('xmlns',nil).presence || namespaces.fetch('xmlns:ns0',nil).presence
|
17
|
+
else
|
18
|
+
schema_version = schema_version.to_s.start_with?("http://datacite.org/schema/kernel") ? schema_version : "http://datacite.org/schema/kernel-4"
|
19
|
+
end
|
20
|
+
|
15
21
|
kernel = schema_version.to_s.split("/").last
|
16
22
|
filepath = File.expand_path("../../../resources/#{kernel}/metadata.xsd", __FILE__)
|
17
23
|
schema = Nokogiri::XML::Schema(open(filepath))
|
@@ -153,7 +153,7 @@ module Bolognese
|
|
153
153
|
"language" => language,
|
154
154
|
"author" => author,
|
155
155
|
"contributor" => to_citeproc(contributors),
|
156
|
-
"issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : get_date_parts(publication_year),
|
156
|
+
"issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : get_date_parts(publication_year.to_s),
|
157
157
|
"submitted" => Array.wrap(dates).find { |d| d["dateType"] == "Submitted" }.to_h.fetch("__content__", nil),
|
158
158
|
"abstract" => parse_attributes(descriptions, content: "description", first: true),
|
159
159
|
"container-title" => container_title,
|
@@ -31,7 +31,7 @@ module Bolognese
|
|
31
31
|
end
|
32
32
|
|
33
33
|
# model should be one of book, conference, database, dissertation, journal, peer_review, posted_content,
|
34
|
-
#
|
34
|
+
# report_paper, sa_component, standard
|
35
35
|
model = meta.dig("crossref").to_h.keys.last
|
36
36
|
|
37
37
|
resource_type = nil
|
@@ -41,15 +41,20 @@ module Bolognese
|
|
41
41
|
journal_issue = {}
|
42
42
|
journal_metadata = nil
|
43
43
|
publisher = query.dig("crm_item", 0)
|
44
|
+
publisher = nil unless publisher.is_a?(String)
|
44
45
|
|
45
46
|
case model
|
46
47
|
when "book"
|
47
48
|
book_metadata = meta.dig("crossref", "book", "book_metadata")
|
48
49
|
book_series_metadata = meta.dig("crossref", "book", "book_series_metadata")
|
49
50
|
book_set_metadata = meta.dig("crossref", "book", "book_set_metadata")
|
50
|
-
bibliographic_metadata = meta.dig("crossref", "book", "content_item") || book_metadata || book_series_metadata
|
51
|
+
bibliographic_metadata = meta.dig("crossref", "book", "content_item") || book_metadata || book_series_metadata || book_set_metadata
|
51
52
|
resource_type = bibliographic_metadata.fetch("component_type", nil) ? "book-" + bibliographic_metadata.fetch("component_type") : "book"
|
52
|
-
publisher = book_metadata.present?
|
53
|
+
# publisher = if book_metadata.present?
|
54
|
+
# book_metadata.dig("publisher", "publisher_name")
|
55
|
+
# elsif book_series_metadata.present?
|
56
|
+
# book_series_metadata.dig("publisher", "publisher_name")
|
57
|
+
# end
|
53
58
|
when "conference"
|
54
59
|
event_metadata = meta.dig("crossref", "conference", "event_metadata") || {}
|
55
60
|
bibliographic_metadata = meta.dig("crossref", "conference", "conference_paper").to_h
|
@@ -69,7 +74,7 @@ module Bolognese
|
|
69
74
|
end
|
70
75
|
when "posted_content"
|
71
76
|
bibliographic_metadata = meta.dig("crossref", "posted_content").to_h
|
72
|
-
publisher
|
77
|
+
publisher ||= bibliographic_metadata.dig("institution", "institution_name")
|
73
78
|
when "sa_component"
|
74
79
|
bibliographic_metadata = meta.dig("crossref", "sa_component", "component_list", "component").to_h
|
75
80
|
related_identifier = Array.wrap(query.to_h["crm_item"]).find { |cr| cr["name"] == "relation" }
|
@@ -77,6 +82,9 @@ module Bolognese
|
|
77
82
|
when "database"
|
78
83
|
bibliographic_metadata = meta.dig("crossref", "database", "dataset").to_h
|
79
84
|
resource_type = "dataset"
|
85
|
+
when "report_paper"
|
86
|
+
bibliographic_metadata = meta.dig("crossref", "report_paper", "report_paper_metadata").to_h
|
87
|
+
resource_type = "report"
|
80
88
|
end
|
81
89
|
|
82
90
|
resource_type = (resource_type || model).to_s.underscore.camelcase.presence
|
@@ -151,7 +159,7 @@ module Bolognese
|
|
151
159
|
end
|
152
160
|
|
153
161
|
id = normalize_doi(options[:doi] || options[:id] || bibliographic_metadata.dig("doi_data", "doi"))
|
154
|
-
identifiers =
|
162
|
+
identifiers = crossref_alternate_identifiers(bibliographic_metadata)
|
155
163
|
|
156
164
|
{ "id" => id,
|
157
165
|
"types" => types,
|
@@ -164,7 +172,7 @@ module Bolognese
|
|
164
172
|
"funding_references" => crossref_funding_reference(program_metadata),
|
165
173
|
"publisher" => publisher,
|
166
174
|
"container" => container,
|
167
|
-
"agency" => agency = options[:ra] || "
|
175
|
+
"agency" => agency = options[:ra] || "crossref",
|
168
176
|
"related_identifiers" => related_identifiers,
|
169
177
|
"dates" => dates,
|
170
178
|
"publication_year" => publication_year,
|
@@ -182,14 +190,23 @@ module Bolognese
|
|
182
190
|
|
183
191
|
def crossref_alternate_identifiers(bibliographic_metadata)
|
184
192
|
if bibliographic_metadata.dig("publisher_item", "item_number").present?
|
185
|
-
|
186
|
-
|
193
|
+
Array.wrap(bibliographic_metadata.dig("publisher_item", "item_number")).map do |item|
|
194
|
+
if item.is_a?(String)
|
195
|
+
{ "identifier" => item,
|
196
|
+
"identifierType" => "Publisher ID" }
|
197
|
+
else
|
198
|
+
{ "identifier" => item.fetch("__content__", nil),
|
199
|
+
"identifierType" => item.fetch("item_number_type", nil) || "Publisher ID" }
|
200
|
+
end
|
201
|
+
end
|
187
202
|
elsif parse_attributes(bibliographic_metadata.fetch("item_number", nil)).present?
|
188
|
-
{ "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
|
189
|
-
"identifierType" => "Publisher ID" }
|
203
|
+
[{ "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
|
204
|
+
"identifierType" => "Publisher ID" }]
|
190
205
|
elsif parse_attributes(bibliographic_metadata.fetch("isbn", nil)).present?
|
191
|
-
{ "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
|
192
|
-
|
206
|
+
[{ "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
|
207
|
+
"identifierType" => "ISBN" }]
|
208
|
+
else
|
209
|
+
[]
|
193
210
|
end
|
194
211
|
end
|
195
212
|
|
@@ -238,7 +255,7 @@ module Bolognese
|
|
238
255
|
{ "nameType" => "Organizational",
|
239
256
|
"name" => a["name"] || a["__content__"] }
|
240
257
|
end
|
241
|
-
end
|
258
|
+
end
|
242
259
|
end
|
243
260
|
|
244
261
|
def crossref_funding_reference(program_metadata)
|
@@ -227,7 +227,7 @@ module Bolognese
|
|
227
227
|
"contributors" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
|
228
228
|
"container" => set_container(meta),
|
229
229
|
"publisher" => parse_attributes(meta.fetch("publisher", nil), first: true).to_s.strip.presence,
|
230
|
-
"agency" => "
|
230
|
+
"agency" => "datacite",
|
231
231
|
"funding_references" => funding_references,
|
232
232
|
"dates" => dates,
|
233
233
|
"publication_year" => parse_attributes(meta.fetch("publicationYear", nil), first: true).to_s.strip.presence,
|
data/lib/bolognese/utils.rb
CHANGED
@@ -117,7 +117,7 @@ module Bolognese
|
|
117
117
|
"EditedBook" => "Book",
|
118
118
|
"JournalArticle" => "ScholarlyArticle",
|
119
119
|
"Journal" => nil,
|
120
|
-
"Report" =>
|
120
|
+
"Report" => "Report",
|
121
121
|
"BookSeries" => nil,
|
122
122
|
"ReportSeries" => nil,
|
123
123
|
"BookTrack" => nil,
|
@@ -146,7 +146,7 @@ module Bolognese
|
|
146
146
|
"EditedBook" => "book",
|
147
147
|
"JournalArticle" => "article",
|
148
148
|
"Journal" => nil,
|
149
|
-
"Report" =>
|
149
|
+
"Report" => "techreport",
|
150
150
|
"BookSeries" => nil,
|
151
151
|
"ReportSeries" => nil,
|
152
152
|
"BookTrack" => nil,
|
@@ -205,6 +205,7 @@ module Bolognese
|
|
205
205
|
"AudioObject" => "Sound",
|
206
206
|
"Blog" => "Text",
|
207
207
|
"BlogPosting" => "Text",
|
208
|
+
"Book" => "Text",
|
208
209
|
"Chapter" => "Text",
|
209
210
|
"Collection" => "Collection",
|
210
211
|
"DataCatalog" => "Dataset",
|
@@ -213,6 +214,7 @@ module Bolognese
|
|
213
214
|
"ImageObject" => "Image",
|
214
215
|
"Movie" => "Audiovisual",
|
215
216
|
"PublicationIssue" => "Text",
|
217
|
+
"Report" => "Text",
|
216
218
|
"ScholarlyArticle" => "Text",
|
217
219
|
"Thesis" => "Text",
|
218
220
|
"Service" => "Service",
|
@@ -257,6 +259,7 @@ module Bolognese
|
|
257
259
|
"ImageObject" => "graphic",
|
258
260
|
"Movie" => "motion_picture",
|
259
261
|
"PublicationIssue" => nil,
|
262
|
+
"Report" => "report",
|
260
263
|
"ScholarlyArticle" => "article-journal",
|
261
264
|
"Service" => nil,
|
262
265
|
"Thesis" => "thesis",
|
@@ -277,6 +280,7 @@ module Bolognese
|
|
277
280
|
"Event" => nil,
|
278
281
|
"ImageObject" => "FIGURE",
|
279
282
|
"Movie" => "MPCT",
|
283
|
+
"Report" => "RPRT",
|
280
284
|
"PublicationIssue" => nil,
|
281
285
|
"ScholarlyArticle" => "JOUR",
|
282
286
|
"Service" => nil,
|
@@ -297,11 +301,11 @@ module Bolognese
|
|
297
301
|
"EditedBook" => "BOOK",
|
298
302
|
"JournalArticle" => "JOUR",
|
299
303
|
"Journal" => nil,
|
300
|
-
"Report" =>
|
304
|
+
"Report" => "RPRT",
|
301
305
|
"BookSeries" => nil,
|
302
306
|
"ReportSeries" => nil,
|
303
307
|
"BookTrack" => nil,
|
304
|
-
"Standard" =>
|
308
|
+
"Standard" => "STAND",
|
305
309
|
"BookSection" => "CHAP",
|
306
310
|
"BookPart" => "CHAP",
|
307
311
|
"Book" => "BOOK",
|
@@ -965,6 +969,8 @@ module Bolognese
|
|
965
969
|
month = iso8601_time[5..6].to_i
|
966
970
|
day = iso8601_time[8..9].to_i
|
967
971
|
{ 'date-parts' => [[year, month, day].reject { |part| part == 0 }] }
|
972
|
+
rescue TypeError
|
973
|
+
nil
|
968
974
|
end
|
969
975
|
|
970
976
|
def get_date_from_date_parts(date_as_parts)
|
data/lib/bolognese/version.rb
CHANGED
@@ -58,6 +58,6 @@
|
|
58
58
|
"description": "This tools are used to analyse the data produced by the Crosssover Experiment I designed to test Choice Architecture techniques as UI interventions in a SEEk4Science data catalogue. It contains:\n\n- Data structures for the experimental data.<br>\n- Visualisation functions<br>\n- Analysis functions\n\n## Installation\n\n- R<br>\n- python<br>\n- ipython 4\n\nClone and use.\n\n## Usage\n\n<br>\n```python<br>\nsource('parallel_plot.r')<br>\nwith(z, parallelset(trt,response, freq=count, alpha=0.2))<br>\n```\n\n<br>\n## Contributing\n\n1. Fork it!<br>\n2. Create your feature branch: `git checkout -b my-new-feature`<br>\n3. Commit your changes: `git commit -am 'Add some feature'`<br>\n4. Push to the branch: `git push origin my-new-feature`<br>\n5. Submit a pull request :D\n\n<br>\n## License\n\nThis work supports my PhD Thesis at University of Manchester."
|
59
59
|
}],
|
60
60
|
"schema_version": "http://datacite.org/schema/kernel-4",
|
61
|
-
"agency": "
|
61
|
+
"agency": "datacite",
|
62
62
|
"state": "findable"
|
63
63
|
}
|
data/spec/fixtures/datacite.json
CHANGED
@@ -79,5 +79,5 @@
|
|
79
79
|
"description": "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..."
|
80
80
|
}],
|
81
81
|
"schemaVersion": "http://datacite.org/schema/kernel-4",
|
82
|
-
"agency": "
|
82
|
+
"agency": "datacite"
|
83
83
|
}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.1093
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Wed, 29 Jul 2020 18:49:31 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=d6614b5a2ad0605965c4795ee34c9c8951596048571; expires=Fri, 28-Aug-20
|
27
|
+
18:49:31 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 043d8195850000c29fe4ae0200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5ba90535aee4c29f-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.1093",
|
46
|
+
"RA": "Crossref"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Wed, 29 Jul 2020 18:49:31 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.crossref.org/works/10.1093/oxfordhb/9780198746140.013.5/transform/application/vnd.crossref.unixsd+xml
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/xml
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Link:
|
68
|
+
- <http://dx.doi.org/10.1093/oxfordhb/9780198746140.013.5>; rel="canonical"
|
69
|
+
Access-Control-Allow-Origin:
|
70
|
+
- "*"
|
71
|
+
Access-Control-Allow-Headers:
|
72
|
+
- X-Requested-With
|
73
|
+
Content-Length:
|
74
|
+
- '5031'
|
75
|
+
Server:
|
76
|
+
- http-kit
|
77
|
+
Date:
|
78
|
+
- Wed, 29 Jul 2020 18:49:32 GMT
|
79
|
+
X-Rate-Limit-Limit:
|
80
|
+
- '50'
|
81
|
+
X-Rate-Limit-Interval:
|
82
|
+
- 1s
|
83
|
+
Connection:
|
84
|
+
- close
|
85
|
+
body:
|
86
|
+
encoding: ASCII-8BIT
|
87
|
+
string: !binary |-
|
88
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iYm9va190aXRsZSI+MTAuMTA5My9veGZvcmRoYi85NzgwMTk4NzQ2MTQwLjAxMy41PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzcyAoT1VQKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzczwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+Mjg2PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGF0aW9uLWlkIiB0eXBlPSJudW1iZXIiPjk3NjQ3MzU0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImJvb2staWQiIHR5cGU9Im51bWJlciI+MzAyMzQ1NDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJzZXJpZXMtaWQiIHR5cGU9Im51bWJlciI+MTQzNjE1MjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE4MDQwNTE1MjM1NDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJvd25lci1wcmVmaXgiIHR5cGU9InN0cmluZyI+MTAuMTA5MzwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJsYXN0LXVwZGF0ZSIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0wNlQwMzo0MDo1OFo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY3JlYXRlZCIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0wNVQxNDozMDowN1o8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0ZWRieS1jb3VudCIgdHlwZT0ibnVtYmVyIj4xPC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxib29rIGJvb2tfdHlwZT0iZWRpdGVkX2Jvb2siPg0KICAgICAgICAgICAgICA8Ym9va19zZXRfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIiBtZXRhZGF0YV9kaXN0cmlidXRpb25fb3B0cz0icXVlcnkiIHJlZmVyZW5jZV9kaXN0cmlidXRpb25fb3B0cz0ibm9uZSI+DQogICAgICAgICAgICAgICAgPHNldF9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICAgIDx0aXRsZT5PeGZvcmQgSGFuZGJvb2tzIE9ubGluZTwvdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxvcmlnaW5hbF9sYW5ndWFnZV90aXRsZT5PeGZvcmQgSGFuZGJvb2tzIE9ubGluZTwvb3JpZ2luYWxfbGFuZ3VhZ2VfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDxub2lzYm4gcmVhc29uPSJzaW1wbGVfc2VyaWVzIiAvPg0KICAgICAgICAgICAgICAgIDwvc2V0X21ldGFkYXRhPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIiBsYW5ndWFnZT0iZW4iIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkRhbmllbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+Q296b3J0PC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiIGxhbmd1YWdlPSJlbiIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KYW1lcyBNYXJrPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgICA8c3VybmFtZT5TaGllbGRzPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIGxhbmd1YWdlPSJlbiIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5CYXJicmEgUi48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkNsYXl0b248L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+VGhlIENoYW5naW5nIFdheSBvZiB0aGUgQm9kaGlzYXR0dmE8L3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPG9yaWdpbmFsX2xhbmd1YWdlX3RpdGxlPlRoZSBDaGFuZ2luZyBXYXkgb2YgdGhlIEJvZGhpc2F0dHZhPC9vcmlnaW5hbF9sYW5ndWFnZV90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8YWJzdHJhY3QgeG1sbnM9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9KQVRTMSI+DQogICAgICAgICAgICAgICAgICA8cD5UaGlzIGNoYXB0ZXIgZXhwbG9yZXMgdGhlIG5hdHVyZSBvZiB0aGUgY29ubmVjdGlvbnMgYmV0d2VlbiBjb250ZW1wb3JhcnkgdW5kZXJzdGFuZGluZ3Mgb2YgdGhlIGJvZGhpc2F0dHZhIHBhdGggYXMgc29jaWFsbHkgZW5nYWdlZCwgYW5kIHRoZSBjYW5vbmljYWwgTWFoxIF5xIFuYSB0cmFkaXRpb24gaW4gSW5kaWHigJR0aGUgVWdyYXBhcmlw4bmbY2NoxIEtc8WrdHJhIGFuZCB0aGUgd29ya3Mgb2YgxZrEgW50aWRldmEuIFRoZXNlIGNhbm9uaWNhbCB0cmVhdG1lbnRzIG9mIHRoZSBib2RoaXNhdHR2YeKAmXMgY2FyZWVyIGFyZSBjb21wYXJlZCB3aXRoIGEgY29udGVtcG9yYXJ5IHVuZGVyc3RhbmRpbmcgYXMgcmVmbGVjdGVkIGluIHRoZSBjb21tZW50YXJ5IG9uIMWaxIFudGlkZXZh4oCZcyBCb2RoaWNhcnnEgXZhdMSBcmEgYnkgUGVtYSBDaMO2ZHLDtm4uIFRoaXMgYW5hbHlzaXMgcmV2ZWFscyBkaXN0aW5jdCB2aXNpb25zIG9mIHRoZSBib2RoaXNhdHR2YSwgZnJvbSB0aGUgVWdyYeKAmXMgZWxpdGUgc3VwZXJoZXJvLCB0byDFmsSBbnRpZGV2YeKAmXMgc2FpbnRseSBib2RoaXNhdHR2YSwgdG8gdGhlIG1vZGVybiB2aWV3IG9mIHRoZSBib2RoaXNhdHR2YSBhcyBzb2NpYWwgYWN0aXZpc3QuIFRoZSBjYXJlZXIgb2YgdGhlIGJvZGhpc2F0dHZhIGlzIGZ1cnRoZXJtb3JlIHNob3duIHRvIGludm9sdmUgYSByYW5nZSBvZiB0eXBlcyBvZiBzb2NpYWwgZW5nYWdlbWVudC4gV2hpbGUgdGhlIGNhbm9uaWNhbCB0ZXh0cyBzdXBwb3J0IHRoZSBpZGVhbCBvZiBpbWJ1aW5nIGFsbCBkYWlseSBhY3Rpdml0aWVzIHdpdGggYW4gYWx0cnVpc3RpYyBtb3RpdmUsIGFzIHdlbGwgYXMgZW5kb3JzaW5nIHNlbGZsZXNzIHNlcnZpY2UgdG8gbWVldCB0aGUgbmVlZHMgYW5kIHdhbnRzIG9mIHNlbnRpZW50IGJlaW5ncywgb25seSB0aGUgY29udGVtcG9yYXJ5IHJlYWRpbmcgb2YgdGhlIGJvZGhpc2F0dHZhIHBhdGggYWR2b2NhdGVzIHNvY2lhbCBhY3Rpb24gdG8gYWRkcmVzcyBzeXN0ZW1pYyBjYXVzZXMgb2YgY29sbGVjdGl2ZSBzdWZmZXJpbmcuPC9wPg0KICAgICAgICAgICAgICAgIDwvYWJzdHJhY3Q+DQogICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgICA8bW9udGg+MDQ8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPGRheT4wNTwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxODwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPG5vaXNibiByZWFzb249InNpbXBsZV9zZXJpZXMiIC8+DQogICAgICAgICAgICAgICAgPHB1Ymxpc2hlcj4NCiAgICAgICAgICAgICAgICAgIDxwdWJsaXNoZXJfbmFtZT5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzczwvcHVibGlzaGVyX25hbWU+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXI+DQogICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL294Zm9yZGhiLzk3ODAxOTg3NDYxNDAuMDEzLjU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQvaHRtbCI+aHR0cDovL294Zm9yZGhhbmRib29rcy5jb20vdmlldy8xMC4xMDkzL294Zm9yZGhiLzk3ODAxOTg3NDYxNDAuMDAxLjAwMDEvb3hmb3JkaGItOTc4MDE5ODc0NjE0MC1lLTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgIDwvYm9va19zZXRfbWV0YWRhdGE+DQogICAgICAgICAgICA8L2Jvb2s+DQogICAgICAgICAgPC9jcm9zc3JlZj4NCiAgICAgICAgPC9kb2lfcmVjb3JkPg0KICAgICAgPC9xdWVyeT4NCiAgICA8L2JvZHk+DQogIDwvcXVlcnlfcmVzdWx0Pg0KPC9jcm9zc3JlZl9yZXN1bHQ+
|
89
|
+
http_version:
|
90
|
+
recorded_at: Wed, 29 Jul 2020 18:49:32 GMT
|
91
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,94 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.5194
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Wed, 29 Jul 2020 06:09:32 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=d405b79b8c70ba4b495e3fcba1355b80c1596002972; expires=Fri, 28-Aug-20
|
27
|
+
06:09:32 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 043ac9cad6000005bbc5b4f200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5ba4abf15d0705bb-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.5194",
|
46
|
+
"RA": "Crossref"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Wed, 29 Jul 2020 06:09:32 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.crossref.org/works/10.5194/cp-2020-95/transform/application/vnd.crossref.unixsd+xml
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/xml
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Link:
|
68
|
+
- <http://dx.doi.org/10.5194/cp-2020-95>; rel="canonical", <https://creativecommons.org/licenses/by/4.0/>;
|
69
|
+
rel="license", <http://orcid.org/0000-0001-6130-6474>; title="Jun Shao"; rel="author",
|
70
|
+
<http://orcid.org/0000-0002-5068-1591>; title="Laurie Menviel"; rel="author",
|
71
|
+
<http://orcid.org/0000-0003-3306-0969>; title="Mayhar Mohtadi"; rel="author"
|
72
|
+
Access-Control-Allow-Origin:
|
73
|
+
- "*"
|
74
|
+
Access-Control-Allow-Headers:
|
75
|
+
- X-Requested-With
|
76
|
+
Content-Length:
|
77
|
+
- '7366'
|
78
|
+
Server:
|
79
|
+
- http-kit
|
80
|
+
Date:
|
81
|
+
- Wed, 29 Jul 2020 06:09:33 GMT
|
82
|
+
X-Rate-Limit-Limit:
|
83
|
+
- '50'
|
84
|
+
X-Rate-Limit-Interval:
|
85
|
+
- 1s
|
86
|
+
Connection:
|
87
|
+
- close
|
88
|
+
body:
|
89
|
+
encoding: ASCII-8BIT
|
90
|
+
string: !binary |-
|
91
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0icG9zdGVkX2NvbnRlbnQiPjEwLjUxOTQvY3AtMjAyMC05NTwvZG9pPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHVibGlzaGVyLW5hbWUiIHR5cGU9InN0cmluZyI+Q29wZXJuaWN1cyBHbWJIPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InByZWZpeC1uYW1lIiB0eXBlPSJzdHJpbmciPkNvcGVybmljdXMgR21iSDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MzE0NTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRhdGlvbi1pZCIgdHlwZT0ibnVtYmVyIj4xMTgzMTgxNTE8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iYm9vay1pZCIgdHlwZT0ibnVtYmVyIj4zNDMwMzQyPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImRlcG9zaXQtdGltZXN0YW1wIiB0eXBlPSJudW1iZXIiPjIwMjAwNzI4MDczNjMxPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC41MTk0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDIwLTA3LTI4VDA5OjE2OjExWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDIwLTA3LTI4VDA5OjE2OjEwWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icmVsYXRpb24iIHR5cGU9ImRvaSIgY2xhaW09ImlzU3VwcGxlbWVudFRvIj4xMC41MTk0L2NwLTIwMjAtOTUtc3VwcGxlbWVudDwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiPg0KICAgICAgICAgICAgICA8Z3JvdXBfdGl0bGU+Q2FyYm9uIEN5Y2xlL01vZGVsbGluZyBvbmx5L01pbGxlbmlhbC9ELU88L2dyb3VwX3RpdGxlPg0KICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iZmlyc3QiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KdW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5TaGFvPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MTMwLTY0NzQ8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIHNlcXVlbmNlPSJhZGRpdGlvbmFsIiBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TG93ZWxsIEQ8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5TdG90dDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iYWRkaXRpb25hbCIgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkxhdXJpZTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPk1lbnZpZWw8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTUwNjgtMTU5MTwvT1JDSUQ+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5BbmR5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+UmlkZ3dlbGw8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYWxpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPsOWZGFsZW48L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXloYXI8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5Nb2h0YWRpPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0zMzA2LTA5Njk8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5UaGUgQXRtb3NwaGVyaWMgQnJpZGdlIENvbW11bmljYXRlZCB0aGUgzrQmYW1wO2x0O3N1cCZhbXA7Z3Q7MTMmYW1wO2x0Oy9zdXAmYW1wO2d0O0MgRGVjbGluZWR1cmluZyB0aGUgTGFzdCBEZWdsYWNpYXRpb24gdG8gdGhlIEdsb2JhbCBVcHBlciBPY2VhbjwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8cG9zdGVkX2RhdGU+DQogICAgICAgICAgICAgICAgPG1vbnRoPjc8L21vbnRoPg0KICAgICAgICAgICAgICAgIDxkYXk+Mjg8L2RheT4NCiAgICAgICAgICAgICAgICA8eWVhcj4yMDIwPC95ZWFyPg0KICAgICAgICAgICAgICA8L3Bvc3RlZF9kYXRlPg0KICAgICAgICAgICAgICA8amF0czphYnN0cmFjdCB4bWxuczpqYXRzPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvSkFUUzEiPg0KICAgICAgICAgICAgICAgIDxqYXRzOnA+PCFbQ0RBVEFbQWJzdHJhY3QuIER1cmluZyB0aGUgZWFybHkgbGFzdCBnbGFjaWFsIHRlcm1pbmF0aW9uICgxNy4y4oCTMTXigIlrYSkgYXRtb3NwaGVyaWMgzrQxM0MgZGVjbGluZWQgc2hhcnBseSBieSAwLjPigJMwLjTigInigLAgYXMgYXRtb3NwaGVyaWMgcENPMiByb3NlLiBUaGlzIHdhcyB0aGUgaW5pdGlhbCBwYXJ0IG9mIHRoZSBhdG1vc3BoZXJpYyDOtDEzQyBleGN1cnNpb24gdGhhdCBsYXN0ZWQgZm9yIG11bHRpcGxlIHRob3VzYW5kIHllYXJzLiBBIHNpbWlsYXIgzrQxM0MgZGVjbGluZSBoYXMgYmVlbiBkb2N1bWVudGVkIGluIG1hcmluZSBwcm94eSByZWNvcmRzIGZyb20gYm90aCBzdXJmYWNlIGFuZCB0aGVybW9jbGluZS1kd2VsbGluZyBwbGFua3RpYyBmb3JhbWluaWZlcmEuIFRoZSBmb3JhbWluaWZlcmFsIM60MTNDIGRlY2xpbmUgaGFzIHByZXZpb3VzbHkgYmVlbiBhdHRyaWJ1dGVkIHRvIGEgZmx1eCBvZiByZXNwaXJlZCBjYXJib24gZnJvbSB0aGUgZGVlcCBvY2VhbiB0aGF0IHdhcyBzdWJzZXF1ZW50bHkgdHJhbnNwb3J0ZWQgd2l0aGluIHRoZSB1cHBlciBvY2VhbiAoaS5lLiBib3R0b20gdXAgdHJhbnNwb3J0KSB0byBzaXRlcyB3aGVyZSB0aGUgc2lnbmFsIGlzIHJlY29yZGVkLiBIZXJlLCB3ZSBwcm92aWRlIG1vZGVsaW5nIGV2aWRlbmNlIHRoYXQgd2hlbiByZXNwaXJlZCBjYXJib24gdXB3ZWxscyBpbiB0aGUgU291dGhlcm4gT2NlYW4sIG5lZ2F0aXZlIM60MTNDIGFub21hbGllcyBpbiB0aGUgZ2xvYmFsIHVwcGVyIG9jZWFuIHdlcmUgaW5zdGVhZCB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBhdG1vc3BoZXJlIChpLmUuIHRvcCBkb3duIHRyYW5zcG9ydCkuIER1ZSB0byB0aGlzIGVmZmljaWVudCBhdG1vc3BoZXJpYyBicmlkZ2UsIHRoZSBwYXRod2F5IG9mIM60MTNDIHRyYW5zcG9ydCB3YXMgbGlrZWx5IHRvIGJlIGRpZmZlcmVudCBmcm9tIG51dHJpZW50IHRyYW5zcG9ydCBkdXJpbmcgdGhlIGVhcmx5IGRlZ2xhY2lhdGlvbi4gVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHVzYWdlIG9mIHBsYW5rdGljIM60MTNDIHJlY29yZHMgZm9yIGlkZW50aWZ5aW5nIHRoZSBjYXJib24gc291cmNlKHMpIHJlc3BvbnNpYmxlIGZvciB0aGUgYXRtb3NwaGVyaWMgcENPMiByaXNlIGR1cmluZyB0aGUgZWFybHkgZGVnbGFjaWF0aW9uIGlzIGxpbWl0ZWQuIFRoZSBtb2RlbCByZXN1bHRzIGFsc28gc3VnZ2VzdCB0aGF0IHRoZXJtb2NsaW5lIHdhdGVycyBpbiB1cHdlbGxpbmcgc3lzdGVtcyBsaWtlIHRoZSBlYXN0ZXJuIGVxdWF0b3JpYWwgUGFjaWZpYywgYW5kIGV2ZW4gdXBwZXIgZGVlcCB3YXRlcnMgYWJvdmUgMjAwMOKAiW0sIGNhbiBiZSBhZmZlY3RlZCBieSB0aGlzIGF0bW9zcGhlcmljIGJyaWRnZSBkdXJpbmcgdGhlIGVhcmx5IGRlZ2xhY2lhdGlvbi4gT3VyIHJlc3VsdHMgaW1wbHkgdGhhdCBjYXV0aW9uIG11c3QgYmUgYXBwbGllZCB3aGVuIGludGVycHJldGluZyBlYXJseSBkZWdsYWNpYWwgbWFyaW5lIM60MTNDIHJlY29yZHMgZnJvbSBkZXB0aHMgdGhhdCBhcmUgcG90ZW50aWFsbHkgYWZmZWN0ZWQgYnkgdGhlIGF0bW9zcGhlcmUuXV0+PC9qYXRzOnA+DQogICAgICAgICAgICAgIDwvamF0czphYnN0cmFjdD4NCiAgICAgICAgICAgICAgPGZyOnByb2dyYW0geG1sbnM6ZnI9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL2Z1bmRyZWYueHNkIiBuYW1lPSJmdW5kcmVmIj4NCiAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRGl2aXNpb24gb2YgT2NlYW4gU2NpZW5jZXMNCiAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvMTAwMDAwMTQxPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2ZyOmFzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj4xNTU4OTkwPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+MTczNjc3MTwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBBdXN0cmFsaWFuIFJlc2VhcmNoIENvdW5jaWwNCiAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAwOTIzPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2ZyOmFzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5GVDE4MDEwMDYwNjwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkRQMTgwMTAwMDQ4PC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvZnI6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICA8YWk6bGljZW5zZV9yZWY+aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC88L2FpOmxpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICA8L2FpOnByb2dyYW0+DQogICAgICAgICAgICAgIDxyZWw6cHJvZ3JhbSB4bWxuczpyZWw9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3JlbGF0aW9ucy54c2QiIG5hbWU9InJlbGF0aW9ucyI+DQogICAgICAgICAgICAgICAgPHJlbDpyZWxhdGVkX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8cmVsOmRlc2NyaXB0aW9uPlN1cHBsZW1lbnRhcnkgbWF0ZXJpYWw8L3JlbDpkZXNjcmlwdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxyZWw6aW50ZXJfd29ya19yZWxhdGlvbiBpZGVudGlmaWVyLXR5cGU9ImRvaSIgcmVsYXRpb25zaGlwLXR5cGU9ImlzU3VwcGxlbWVudGVkQnkiPjEwLjUxOTQvY3AtMjAyMC05NS1zdXBwbGVtZW50PC9yZWw6aW50ZXJfd29ya19yZWxhdGlvbj4NCiAgICAgICAgICAgICAgICA8L3JlbDpyZWxhdGVkX2l0ZW0+DQogICAgICAgICAgICAgIDwvcmVsOnByb2dyYW0+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjUxOTQvY3AtMjAyMC05NTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2NwLmNvcGVybmljdXMub3JnL3ByZXByaW50cy9jcC0yMDIwLTk1LzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L3Bvc3RlZF9jb250ZW50Pg0KICAgICAgICAgIDwvY3Jvc3NyZWY+DQogICAgICAgIDwvZG9pX3JlY29yZD4NCiAgICAgIDwvcXVlcnk+DQogICAgPC9ib2R5Pg0KICA8L3F1ZXJ5X3Jlc3VsdD4NCjwvY3Jvc3NyZWZfcmVzdWx0Pg==
|
92
|
+
http_version:
|
93
|
+
recorded_at: Wed, 29 Jul 2020 06:09:33 GMT
|
94
|
+
recorded_with: VCR 3.0.3
|