orcid_client 0.9 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +4 -4
  3. data/.github/workflows/release.yml +4 -5
  4. data/CHANGELOG.md +173 -0
  5. data/Gemfile.lock +28 -30
  6. data/README.md +6 -6
  7. data/lib/orcid_client/api.rb +1 -0
  8. data/lib/orcid_client/base.rb +1 -1
  9. data/lib/orcid_client/version.rb +1 -1
  10. data/lib/orcid_client/work.rb +7 -4
  11. data/orcid_client.gemspec +2 -3
  12. data/spec/api_spec.rb +3 -3
  13. data/spec/author_spec.rb +1 -1
  14. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +10 -6
  15. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +47 -64
  16. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +30 -49
  17. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +29 -48
  18. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +23 -20
  19. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +28 -49
  20. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +27 -42
  21. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +25 -22
  22. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +27 -42
  23. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +27 -42
  24. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +25 -22
  25. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +26 -41
  26. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_staging_system.yml +104 -0
  27. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +27 -24
  28. data/spec/fixtures/work.xml +11 -15
  29. data/spec/notification_spec.rb +9 -8
  30. data/spec/work_spec.rb +24 -61
  31. metadata +9 -26
  32. data/.travis.yml +0 -17
  33. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +0 -109
  34. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +0 -101
  35. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +0 -101
@@ -2,34 +2,38 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://doi.org/ra/10.5061
5
+ uri: https://doi.org/ra/10.14454
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.7.2; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.9.4; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ Accept-Encoding:
15
+ - gzip,deflate
14
16
  response:
15
17
  status:
16
18
  code: 200
17
19
  message: ''
18
20
  headers:
19
21
  Date:
20
- - Fri, 04 Jun 2021 17:46:36 GMT
22
+ - Wed, 09 Jun 2021 15:25:07 GMT
21
23
  Content-Type:
22
24
  - application/json;charset=UTF-8
23
25
  Connection:
24
26
  - keep-alive
27
+ Content-Encoding:
28
+ - gzip
25
29
  Cf-Cache-Status:
26
30
  - DYNAMIC
27
31
  Cf-Request-Id:
28
- - 0a79bb62da0000c2ea19280000000001
32
+ - 0a92f9a63300004e8c78bbd000000001
29
33
  Expect-Ct:
30
34
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
31
35
  Report-To:
32
- - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v2?s=eEqOiIy%2Boesx4kX%2BfLAdAbvNdUuqmV9OqD8lxgtcqlo%2B2aql1Q1VddIEgMeWdiTU0MMufBHxTiqsCS1ZYoWFPEwEIchkjAO87oUddHQ%2BElRncUVb13pDckGIPWwpj818"}],"group":"cf-nel","max_age":604800}'
36
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v2?s=QbgB7%2Bl94t%2BnUgnxXYdCOdvUhKsfufhDEtKNsWfdMKNij98WSRzhks5g0MG3krdP2kFZejBEeq7gMt5iLEVAwIn8BXomnwcXd%2BlZj%2FLcBEAzTN5ssxwc%2B5MHcXE0G880"}],"group":"cf-nel","max_age":604800}'
33
37
  Nel:
34
38
  - '{"report_to":"cf-nel","max_age":604800}'
35
39
  Strict-Transport-Security:
@@ -37,38 +41,35 @@ http_interactions:
37
41
  Server:
38
42
  - cloudflare
39
43
  Cf-Ray:
40
- - 65a2fb4afe5dc2ea-FRA
44
+ - 65cb5ee9eca94e8c-FRA
41
45
  Alt-Svc:
42
46
  - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443";
43
47
  ma=86400
44
48
  body:
45
49
  encoding: ASCII-8BIT
46
- string: |-
47
- [
48
- {
49
- "DOI": "10.5061",
50
- "RA": "DataCite"
51
- }
52
- ]
53
- recorded_at: Fri, 04 Jun 2021 17:46:36 GMT
50
+ string: !binary |-
51
+ H4sIAAAAAAAAA4vmUlCoBmIFBSUXf08lKwUlQwM9QxMTUxMlHYhwkCNI1CWxJNE5syRVCShYyxULAOwjuKo3AAAA
52
+ recorded_at: Wed, 09 Jun 2021 15:25:07 GMT
54
53
  - request:
55
54
  method: get
56
- uri: https://api.datacite.org/dois/10.5061/dryad.781pv?include=media,client
55
+ uri: https://api.stage.datacite.org/dois/10.14454/sgfx-x272?include=media,client
57
56
  body:
58
57
  encoding: US-ASCII
59
58
  string: ''
60
59
  headers:
61
60
  User-Agent:
62
- - Mozilla/5.0 (compatible; Maremma/4.7.2; mailto:info@datacite.org)
61
+ - Mozilla/5.0 (compatible; Maremma/4.9.4; mailto:info@datacite.org)
63
62
  Accept:
64
63
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
64
+ Accept-Encoding:
65
+ - gzip,deflate
65
66
  response:
66
67
  status:
67
68
  code: 200
68
69
  message: OK
69
70
  headers:
70
71
  Date:
71
- - Fri, 04 Jun 2021 17:46:37 GMT
72
+ - Wed, 09 Jun 2021 15:25:07 GMT
72
73
  Content-Type:
73
74
  - application/json; charset=utf-8
74
75
  Connection:
@@ -81,21 +82,23 @@ http_interactions:
81
82
  - max-age=0, private, must-revalidate
82
83
  Vary:
83
84
  - Accept-Encoding, Origin
85
+ Content-Encoding:
86
+ - gzip
84
87
  X-Request-Id:
85
- - e59c7a77-4426-49ce-8ca6-cc6592419681
88
+ - 5d45effb-69c6-4997-9b91-ebe070e36ac7
86
89
  Etag:
87
- - W/"5338f2ce36b5248af187f707db166eec"
90
+ - W/"017734a8738a59efa96b833f699a6186"
88
91
  X-Runtime:
89
- - '0.187193'
92
+ - '0.147378'
90
93
  X-Rack-Cors:
91
94
  - miss; no-origin
92
95
  X-Powered-By:
93
- - Phusion Passenger(R) 6.0.8
96
+ - Phusion Passenger(R) 6.0.9
94
97
  Server:
95
- - nginx/1.14.0 + Phusion Passenger(R) 6.0.8
98
+ - nginx/1.14.0 + Phusion Passenger(R) 6.0.9
96
99
  body:
97
100
  encoding: ASCII-8BIT
98
101
  string: !binary |-
99
- eyJkYXRhIjp7ImlkIjoiMTAuNTA2MS9kcnlhZC43ODFwdiIsInR5cGUiOiJkb2lzIiwiYXR0cmlidXRlcyI6eyJkb2kiOiIxMC41MDYxL2RyeWFkLjc4MXB2IiwicHJlZml4IjoiMTAuNTA2MSIsInN1ZmZpeCI6ImRyeWFkLjc4MXB2IiwiaWRlbnRpZmllcnMiOltdLCJhbHRlcm5hdGVJZGVudGlmaWVycyI6W10sImNyZWF0b3JzIjpbeyJuYW1lIjoiUGl3b3dhciwgSGVhdGhlciBBLiIsIm5hbWVUeXBlIjoiUGVyc29uYWwiLCJnaXZlbk5hbWUiOiJIZWF0aGVyIEEuIiwiZmFtaWx5TmFtZSI6IlBpd293YXIiLCJhZmZpbGlhdGlvbiI6WyJOYXRpb25hbCBFdm9sdXRpb25hcnkgU3ludGhlc2lzIENlbnRlciIsIkR1a2UgVW5pdmVyc2l0eSJdLCJuYW1lSWRlbnRpZmllcnMiOltdfSx7Im5hbWUiOiJWaXNpb24sIFRvZGQgSi4iLCJuYW1lVHlwZSI6IlBlcnNvbmFsIiwiZ2l2ZW5OYW1lIjoiVG9kZCBKLiIsImZhbWlseU5hbWUiOiJWaXNpb24iLCJhZmZpbGlhdGlvbiI6WyJOYXRpb25hbCBFdm9sdXRpb25hcnkgU3ludGhlc2lzIENlbnRlciIsIkR1a2UgVW5pdmVyc2l0eSIsIlVuaXZlcnNpdHkgb2YgTm9ydGggQ2Fyb2xpbmEiXSwibmFtZUlkZW50aWZpZXJzIjpbXX1dLCJ0aXRsZXMiOlt7InRpdGxlIjoiRGF0YSBmcm9tOiBEYXRhIHJldXNlIGFuZCB0aGUgb3BlbiBkYXRhIGNpdGF0aW9uIGFkdmFudGFnZSJ9XSwicHVibGlzaGVyIjoiRHJ5YWQiLCJjb250YWluZXIiOnt9LCJwdWJsaWNhdGlvblllYXIiOjIwMTMsInN1YmplY3RzIjpbeyJzdWJqZWN0IjoiSW5mb3JtYXRpb24gc2NpZW5jZSJ9LHsic3ViamVjdCI6IkluY2VudGl2ZXMifSx7InN1YmplY3QiOiJHZW5lIGV4cHJlc3Npb24gbWljcm9hcnJheSJ9LHsic3ViamVjdCI6IkJpYmxpb21ldHJpY3MifSx7InN1YmplY3QiOiJEYXRhIHJldXNlIn0seyJzdWJqZWN0IjoiRGF0YSByZXBvc2l0b3JpZXMifSx7InN1YmplY3QiOiJiaW9pbmZvcm1hdGljcyJ9LHsic3ViamVjdCI6IkRhdGEgYXJjaGl2aW5nIn0seyJzdWJqZWN0IjoiT3BlbiBkYXRhIn0seyJzdWJqZWN0IjoiU2NpZW5jZSBQb2xpY3kifV0sImNvbnRyaWJ1dG9ycyI6W10sImRhdGVzIjpbeyJkYXRlIjoiMjAxMy0xMC0wMVQxNDo0NToyNloiLCJkYXRlVHlwZSI6IkF2YWlsYWJsZSJ9LHsiZGF0ZSI6IjIwMTMiLCJkYXRlVHlwZSI6Iklzc3VlZCJ9XSwibGFuZ3VhZ2UiOiJlbiIsInR5cGVzIjp7InJpcyI6IkRBVEEiLCJiaWJ0ZXgiOiJtaXNjIiwiY2l0ZXByb2MiOiJkYXRhc2V0Iiwic2NoZW1hT3JnIjoiRGF0YXNldCIsInJlc291cmNlVHlwZSI6ImRhdGFzZXQiLCJyZXNvdXJjZVR5cGVHZW5lcmFsIjoiRGF0YXNldCJ9LCJyZWxhdGVkSWRlbnRpZmllcnMiOlt7InJlbGF0aW9uVHlwZSI6IkNpdGVzIiwicmVsYXRlZElkZW50aWZpZXIiOiIxMC43NzE3L3BlZXJqLjE3NSIsInJlbGF0ZWRJZGVudGlmaWVyVHlwZSI6IkRPSSJ9XSwic2l6ZXMiOlsiMTc1NDIwNDQwIGJ5dGVzIl0sImZvcm1hdHMiOltdLCJ2ZXJzaW9uIjoiMSIsInJpZ2h0c0xpc3QiOlt7InJpZ2h0cyI6IkNyZWF0aXZlIENvbW1vbnMgWmVybyB2MS4wIFVuaXZlcnNhbCIsInJpZ2h0c1VyaSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvbGVnYWxjb2RlIiwic2NoZW1lVXJpIjoiaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy8iLCJyaWdodHNJZGVudGlmaWVyIjoiY2MwLTEuMCIsInJpZ2h0c0lkZW50aWZpZXJTY2hlbWUiOiJTUERYIn1dLCJkZXNjcmlwdGlvbnMiOlt7ImRlc2NyaXB0aW9uIjoiQmFja2dyb3VuZDogQXR0cmlidXRpb24gdG8gdGhlIG9yaWdpbmFsIGNvbnRyaWJ1dG9yIHVwb24gcmV1c2Ugb2YgcHVibGlzaGVkIGRhdGEgaXMgaW1wb3J0YW50IGJvdGggYXMgYSByZXdhcmQgZm9yIGRhdGEgY3JlYXRvcnMgYW5kIHRvIGRvY3VtZW50IHRoZSBwcm92ZW5hbmNlIG9mIHJlc2VhcmNoIGZpbmRpbmdzLiBQcmV2aW91cyBzdHVkaWVzIGhhdmUgZm91bmQgdGhhdCBwYXBlcnMgd2l0aCBwdWJsaWNseSBhdmFpbGFibGUgZGF0YXNldHMgcmVjZWl2ZSBhIGhpZ2hlciBudW1iZXIgb2YgY2l0YXRpb25zIHRoYW4gc2ltaWxhciBzdHVkaWVzIHdpdGhvdXQgYXZhaWxhYmxlIGRhdGEuIEhvd2V2ZXIsIGZldyBwcmV2aW91cyBhbmFseXNlcyBoYXZlIGhhZCB0aGUgc3RhdGlzdGljYWwgcG93ZXIgdG8gY29udHJvbCBmb3IgdGhlIG1hbnkgdmFyaWFibGVzIGtub3duIHRvIHByZWRpY3QgY2l0YXRpb24gcmF0ZSwgd2hpY2ggaGFzIGxlZCB0byB1bmNlcnRhaW4gZXN0aW1hdGVzIG9mIHRoZSBcImNpdGF0aW9uIGJlbmVmaXRcIi4gRnVydGhlcm1vcmUsIGxpdHRsZSBpcyBrbm93biBhYm91dCBwYXR0ZXJucyBpbiBkYXRhIHJldXNlIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRhdGFzZXRzLiBNZXRob2QgYW5kIFJlc3VsdHM6IEhlcmUsIHdlIGxvb2sgYXQgY2l0YXRpb24gcmF0ZXMgd2hpbGUgY29udHJvbGxpbmcgZm9yIG1hbnkga25vd24gY2l0YXRpb24gcHJlZGljdG9ycywgYW5kIGludmVzdGlnYXRlIHRoZSB2YXJpYWJpbGl0eSBvZiBkYXRhIHJldXNlLiBJbiBhIG11bHRpdmFyaWF0ZSByZWdyZXNzaW9uIG9uIDEwLDU1NSBzdHVkaWVzIHRoYXQgY3JlYXRlZCBnZW5lIGV4cHJlc3Npb24gbWljcm9hcnJheSBkYXRhLCB3ZSBmb3VuZCB0aGF0IHN0dWRpZXMgdGhhdCBtYWRlIGRhdGEgYXZhaWxhYmxlIGluIGEgcHVibGljIHJlcG9zaXRvcnkgcmVjZWl2ZWQgOSUgKDk1JSBjb25maWRlbmNlIGludGVydmFsOiA1JSB0byAxMyUpIG1vcmUgY2l0YXRpb25zIHRoYW4gc2ltaWxhciBzdHVkaWVzIGZvciB3aGljaCB0aGUgZGF0YSB3YXMgbm90IG1hZGUgYXZhaWxhYmxlLiBEYXRlIG9mIHB1YmxpY2F0aW9uLCBqb3VybmFsIGltcGFjdCBmYWN0b3IsIG9wZW4gYWNjZXNzIHN0YXR1cywgbnVtYmVyIG9mIGF1dGhvcnMsIGZpcnN0IGFuZCBsYXN0IGF1dGhvciBwdWJsaWNhdGlvbiBoaXN0b3J5LCBjb3JyZXNwb25kaW5nIGF1dGhvciBjb3VudHJ5LCBpbnN0aXR1dGlvbiBjaXRhdGlvbiBoaXN0b3J5LCBhbmQgc3R1ZHkgdG9waWMgd2VyZSBpbmNsdWRlZCBhcyBjb3ZhcmlhdGVzLiBUaGUgY2l0YXRpb24gYmVuZWZpdCB2YXJpZWQgd2l0aCBkYXRlIG9mIGRhdGFzZXQgZGVwb3NpdGlvbjogYSBjaXRhdGlvbiBiZW5lZml0IHdhcyBtb3N0IGNsZWFyIGZvciBwYXBlcnMgcHVibGlzaGVkIGluIDIwMDQgYW5kIDIwMDUsIGF0IGFib3V0IDMwJS4gQXV0aG9ycyBwdWJsaXNoZWQgbW9zdCBwYXBlcnMgdXNpbmcgdGhlaXIgb3duIGRhdGFzZXRzIHdpdGhpbiB0d28geWVhcnMgb2YgdGhlaXIgZmlyc3QgcHVibGljYXRpb24gb24gdGhlIGRhdGFzZXQsIHdoZXJlYXMgZGF0YSByZXVzZSBwYXBlcnMgcHVibGlzaGVkIGJ5IHRoaXJkLXBhcnR5IGludmVzdGlnYXRvcnMgY29udGludWVkIHRvIGFjY3VtdWxhdGUgZm9yIGF0IGxlYXN0IHNpeCB5ZWFycy4gVG8gc3R1ZHkgcGF0dGVybnMgb2YgZGF0YSByZXVzZSBkaXJlY3RseSwgd2UgY29tcGlsZWQgOSw3MjQgaW5zdGFuY2VzIG9mIHRoaXJkIHBhcnR5IGRhdGEgcmV1c2UgdmlhIG1lbnRpb24gb2YgR0VPIG9yIEFycmF5RXhwcmVzcyBhY2Nlc3Npb24gbnVtYmVycyBpbiB0aGUgZnVsbCB0ZXh0IG9mIHBhcGVycy4gVGhlIGxldmVsIG9mIHRoaXJkLXBhcnR5IGRhdGEgdXNlIHdhcyBoaWdoOiBmb3IgMTAwIGRhdGFzZXRzIGRlcG9zaXRlZCBpbiB5ZWFyIDAsIHdlIGVzdGltYXRlZCB0aGF0IDQwIHBhcGVycyBpbiBQdWJNZWQgcmV1c2VkIGEgZGF0YXNldCBieSB5ZWFyIDIsIDEwMCBieSB5ZWFyIDQsIGFuZCBtb3JlIHRoYW4gMTUwIGRhdGEgcmV1c2UgcGFwZXJzIGhhZCBiZWVuIHB1Ymxpc2hlZCBieSB5ZWFyIDUuIERhdGEgcmV1c2Ugd2FzIGRpc3RyaWJ1dGVkIGFjcm9zcyBhIGJyb2FkIGJhc2Ugb2YgZGF0YXNldHM6IGEgdmVyeSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUgZm91bmQgdGhhdCAyMCUgb2YgdGhlIGRhdGFzZXRzIGRlcG9zaXRlZCBiZXR3ZWVuIDIwMDMgYW5kIDIwMDcgaGFkIGJlZW4gcmV1c2VkIGF0IGxlYXN0IG9uY2UgYnkgdGhpcmQgcGFydGllcy4gQ29uY2x1c2lvbjogQWZ0ZXIgYWNjb3VudGluZyBmb3Igb3RoZXIgZmFjdG9ycyBhZmZlY3RpbmcgY2l0YXRpb24gcmF0ZSwgd2UgZmluZCBhIHJvYnVzdCBjaXRhdGlvbiBiZW5lZml0IGZyb20gb3BlbiBkYXRhLCBhbHRob3VnaCBhIHNtYWxsZXIgb25lIHRoYW4gcHJldmlvdXNseSByZXBvcnRlZC4gV2UgY29uY2x1ZGUgdGhlcmUgaXMgYSBkaXJlY3QgZWZmZWN0IG9mIHRoaXJkLXBhcnR5IGRhdGEgcmV1c2UgdGhhdCBwZXJzaXN0cyBmb3IgeWVhcnMgYmV5b25kIHRoZSB0aW1lIHdoZW4gcmVzZWFyY2hlcnMgaGF2ZSBwdWJsaXNoZWQgbW9zdCBvZiB0aGUgcGFwZXJzIHJldXNpbmcgdGhlaXIgb3duIGRhdGEuIE90aGVyIGZhY3RvcnMgdGhhdCBtYXkgYWxzbyBjb250cmlidXRlIHRvIHRoZSBjaXRhdGlvbiBiZW5lZml0IGFyZSBjb25zaWRlcmVkLldlIGZ1cnRoZXIgY29uY2x1ZGUgdGhhdCwgYXQgbGVhc3QgZm9yIGdlbmUgZXhwcmVzc2lvbiBtaWNyb2FycmF5IGRhdGEsIGEgc3Vic3RhbnRpYWwgZnJhY3Rpb24gb2YgYXJjaGl2ZWQgZGF0YXNldHMgYXJlIHJldXNlZCwgYW5kIHRoYXQgdGhlIGludGVuc2l0eSBvZiBkYXRhc2V0IHJldXNlIGhhcyBiZWVuIHN0ZWFkaWx5IGluY3JlYXNpbmcgc2luY2UgMjAwMy4iLCJkZXNjcmlwdGlvblR5cGUiOiJBYnN0cmFjdCJ9LHsiZGVzY3JpcHRpb24iOiJtYW51c2NyaXB0IHNvdXJjZSBmaWxlIChrbml0cilUaGUgc291cmNlIGZpbGUgZm9yIHJ1bm5pbmcgdGhlIHN0YXRpc3RpY3MgYW5kIGluc2VydGluZyB0aGUgcmVzdWx0cyBpbnRvIHRoZSBtYW51c2NyaXB0IHRleHQuIFRoZSBtYW51c2NyaXB0IGRvZXMgbm90IGluY2x1ZGUgZmluYWwgd29yZGluZyByZXZpc2lvbnMgbWFkZSBpbiB0aGUgcGVlciByZXZpZXcgcHJvY2Vzcy4gU2VlIHRoZSBcImFib3V0IHRoaXMgZG9jXCIgc2VjdGlvbiBmb3IgaW5zdHJ1Y3Rpb25zIG9uIHJ1bm5pbmcgdGhpcyBSIGtuaXRyIG1hcmtkb3duIGZpbGUgdG8gcHJvZHVjZSBzdGF0cy5tZCBhbmQgc3RhdHMuUiBmaWxlcy5zdGF0c19rbml0Xy5tZG1hbnVzY3JpcHQgY29tcGlsZWQgZmlsZSwgd2l0aCBzdGF0c1RoaXMgZmlsZSBpcyB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgc3RhdHNfa25pdHJfLm1kIHRocm91Z2gga25pdHIuIEl0IGRvZXMgbm90IGluY2x1ZGUgY2hhbmdlcyBtYWRlIGR1cmluZyB0aGUgcGVlciByZXZpZXcgcHJvY2Vzcy5zdGF0cy5tZGNpdGF0aW9uc0NpdGF0aW9ucyB1c2VkIGJ5IHN0YXRzX2tuaXRyXy5tZCB0byBidWlsZCB0aGUgcmVmZXJlbmNlcyBsaXN0LmNpdGF0aW9uMTFrLmJpYmhlbHBlcnMuckhlbHBlciBSIGZ1bmN0aW9ucyB1c2VkIGJ5IHN0YXRzX2tuaXRyXy5tZCB0byBydW4gdGhlIHN0YXRpc3RpY3MuaGVscGVycy5ScHJlcHJvY2Vzc19yYXdfZGF0YS5ySGVscGVyIFIgZnVuY3Rpb25zIHVzZWQgYnkgc3RhdHNfa25pdHJfLm1kIHRvIHByZXByb2Nlc3MgZGF0YSBiZWZvcmUgcnVubmluZyB0aGUgc3RhdGlzdGljcy5wcmVwcm9jZXNzX3Jhd19kYXRhLlJwdWJtZWRfZ3NlX2NvdW50LmNzdlRoZSBudW1iZXIgb2YgR1NFIGRhdGEgc2V0cyBhZGRlZCB0byB0aGUgTkNCSSdzIEdFTyByZXBvc2l0b3J5IGVhY2ggeWVhciwgMjAwMC0yMDExLnB1Ym1lZF9wbWNfcmF0aW9zLmNzdlRoZSBmcmFjdGlvbiBvZiBQdWJNZWQgaW4gUE1DIHRoYXQgYXJlIGluZGV4ZWQgd2l0aCB0aGUgTWVTSCB0ZXJtIOKAnGdlbmUgZXhwcmVzc2lvbiBwcm9maWxpbmfigJ0sIGJ5IHllYXIgb2YgcHVibGljYXRpb24sIDIwMDAtMjAxMSwgYXMgbWVhc3VyZWQgaW4gMjAxMi5QTG9TT05FMjAxMV9yYXdkYXRhLnR4dERhdGEgZnJvbSBQaXdvd2FyIEhBICgyMDExKSBEYXRhIGZyb206IFdobyBzaGFyZXM/IFdobyBkb2VzbuKAmXQ/IEZhY3RvcnMgYXNzb2NpYXRlZCB3aXRoIG9wZW5seSBhcmNoaXZpbmcgcmF3IHJlc2VhcmNoIGRhdGEuIERyeWFkIERpZ2l0YWwgUmVwb3NpdG9yeS4gZG9pOjEwLjUwNjEvZHJ5YWQubWYxc2QuIFJlcHJvZHVjZWQgaGVyZSB0byBtYWtlIGl0IGVhc3kgdG8gcmVydW4gc2NyaXB0cy5zY29wdXNfYWxsLmNzdlNjb3B1cyBjaXRhdGlvbiBkYXRhIGZvciBwdWJsaWNhdGlvbnMgaW4gdGhlIGNvaG9ydC5HRU9fZGF0YXNldF9hdHRyaWJ1dGVzLmNzdk9uZSByb3cgZm9yIGV2ZXJ5IEdFTyBkYXRhc2V0IHJldXNlIGRldGVjdGVkIGJ5IHNlYXJjaGluZyBQTUMgZm9yIEdFTyBhY2Nlc3Npb24gbnVtYmVycy4gQ29sdW1ucyBsaXN0IEdFTyBhY2Nlc3Npb24sIGdzZSBudW1iZXIsIGdkcyBudW1iZXIsIHJlbGF0ZWQgc3VibWl0X3BtaWRzLCBpZGVudGlmaWVkIHJldXNlX3BtY2lkLCB0aGUgcmV1c2VfcG1pZHNfZm9yX3BtYywgdGhlIHN1Ym1pc3Npb24gYXV0aG9ycywgdGhlIHJldXNlIGF1dGhvcnMsIHdoZXRoZXIgdGhlIHN1bWlzc2lvbiBhdXRob3JzIGFuZCB0aGUgcmV1c2UgYXV0aG9ycyBvdmVybGFwLCB0aGUgc3VibWlzc2lvbiBhZmZpbGlhdGlvbiwgdGhlIHJlbGVhc2UgZGF0ZSwgY29sdW1ucyB0byBkZXRlY3QgcmV1c2UgYW5kIGRhdGEgY3JlYXRpb24ga2V5d29yZHMsIGV4Y2VycHRzIGFyb3VuZCB0aGUgYWNjZXNzaW9uIG51bWJlcnMgd2hlbiBhdmFpbGFibGUgKHRoZSByZXVzZSBwYXBlciB3YXMgT0EpLCByZXVzZSBqb3VybmFsLCB5ZWFyLCBhbmQgZGF0ZV9wdWJsaXNoZWQsIHRoZSBtZWRsaW5lX3N0YXR1cywgd2hldGhlciBpdCB3YXMgbGlzdGVkIG9uIHRoZSBOQ0JJIEdFTyByZXVzZSB3ZWJwYWdlLCB3aGV0aGVyIHRoZSByZXVzZSBpcyBPQSwgYW5kIHdoZXRoZXIgaXQgaXMgbGlzdGVkIGFzIGEgbWV0YWFuYWx5c2lzIGJ5IE1FRExJTkUuTWVuZGVsZXlfYW5ub3RhdGVkXzI1MF9vZl8xMWsuY3N2TWFudWFsIGFubm90YXRpb24gb2YgYSByYW5kb20gMjUwIHBhcGVycyBmcm9tIHRoZSAxMCw1NTUgcGFwZXJzIGluIHRoZSBzdHVkeS4gTWFudWFsIGV4YW1pbmF0aW9uIHdhcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgc3R1ZHkgZGlkIGluZGVlZCBnZW5lcmF0ZSBnZW5lIGV4cHJlc3Npb24gbWljcm9hcnJheSBkYXRhLiBSb3dzIHdpdGggXCJjcmVhdGVkLW1pY3JvYXJyYXktZGF0YVwiIHdlcmUgaWRlbnRpZmllZCBhcyBnZW5lcmF0aW5nIG1pY3JvYXJyYXkgZGF0YSBpbiB0aGUgbWFudWFsIHJldmlldzsgXCJjcmVhdGVkLW1pY3JvYXJyYXktZGF0YS1ub3RcIiB3ZXJlIGlkZW50aWZpZWQgYXMgbm90IGFjdHVhbGx5IGdlbmVyYXRpbmcgZ2VuZSBleHByZXNzaW9uIG1pY3JvYXJyYXkgZGF0YSBkZXNwaXRlIGJlaW5nIGlkZW50aWZpZWQgYXMgc3VjaCBieSBvdXIgYXV0b21hdGVkIGZpbHRlci50cmFja2luZzFrXzIwMTExMDA4LmNzdk1hbnVhbGx5IGFubm90YXRlZCBpbnN0YW5jZXMgb2YgY2l0YXRpb24gY29udGV4dCB0byBwYXBlcnMgdGhhdCBjcmVhdGVkIHB1YmxpY2x5IGF2YWlsYWJsZSBkYXRhc2V0cy4gVGhpcyBzdHVkeSBleHBsb3JlcyB0aGUgc3Vic2V0IG9mIHRoZSBkYXRhc2V0IHJlbGF0ZWQgdG8gR0VPIGRhdGE6IFwiZGF0YXNldCByZXVzZWRcIiBtZWFucyB0aGUgY2l0YXRpb24gY29udGV4dCB3YXMgZGV0ZXJtaW5lZCB0byBiZSBpbiB0aGUgY29udGV4dCBvZiBkYXRhIHJldXNlLiIsImRlc2NyaXB0aW9uVHlwZSI6Ik90aGVyIn1dLCJnZW9Mb2NhdGlvbnMiOltdLCJmdW5kaW5nUmVmZXJlbmNlcyI6W10sInhtbCI6IlBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSEpsYzI5MWNtTmxJSGh0Ykc1ek9uaHphVDBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01TOVlUVXhUWTJobGJXRXRhVzV6ZEdGdVkyVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dlpHRjBZV05wZEdVdWIzSm5MM05qYUdWdFlTOXJaWEp1Wld3dE5DSWdlSE5wT25OamFHVnRZVXh2WTJGMGFXOXVQU0pvZEhSd09pOHZaR0YwWVdOcGRHVXViM0puTDNOamFHVnRZUzlyWlhKdVpXd3ROQ0JvZEhSd09pOHZjMk5vWlcxaExtUmhkR0ZqYVhSbExtOXlaeTl0WlhSaEwydGxjbTVsYkMwMEwyMWxkR0ZrWVhSaExuaHpaQ0krQ2lBZ1BHbGtaVzUwYVdacFpYSWdhV1JsYm5ScFptbGxjbFI1Y0dVOUlrUlBTU0krTVRBdU5UQTJNUzlFVWxsQlJDNDNPREZRVmp3dmFXUmxiblJwWm1sbGNqNEtJQ0E4WTNKbFlYUnZjbk0rQ2lBZ0lDQThZM0psWVhSdmNqNEtJQ0FnSUNBZ1BHTnlaV0YwYjNKT1lXMWxQbEJwZDI5M1lYSXNJRWhsWVhSb1pYSWdRUzQ4TDJOeVpXRjBiM0pPWVcxbFBnb2dJQ0FnSUNBOFlXWm1hV3hwWVhScGIyNGdZV1ptYVd4cFlYUnBiMjVKWkdWdWRHbG1hV1Z5UFNKb2RIUndjem92TDNKdmNpNXZjbWN2TURBeGVXdGlPVFl4SWlCaFptWnBiR2xoZEdsdmJrbGtaVzUwYVdacFpYSlRZMmhsYldVOUlsSlBVaUkrVG1GMGFXOXVZV3dnUlhadmJIVjBhVzl1WVhKNUlGTjViblJvWlhOcGN5QkRaVzUwWlhJOEwyRm1abWxzYVdGMGFXOXVQZ29nSUNBZ0lDQThZV1ptYVd4cFlYUnBiMjRnWVdabWFXeHBZWFJwYjI1SlpHVnVkR2xtYVdWeVBTSm9kSFJ3Y3pvdkwzSnZjaTV2Y21jdk1EQndlVGd4TkRFMUlpQmhabVpwYkdsaGRHbHZia2xrWlc1MGFXWnBaWEpUWTJobGJXVTlJbEpQVWlJK1JIVnJaU0JWYm1sMlpYSnphWFI1UEM5aFptWnBiR2xoZEdsdmJqNEtJQ0FnSUR3dlkzSmxZWFJ2Y2o0S0lDQWdJRHhqY21WaGRHOXlQZ29nSUNBZ0lDQThZM0psWVhSdmNrNWhiV1UrVm1semFXOXVMQ0JVYjJSa0lFb3VQQzlqY21WaGRHOXlUbUZ0WlQ0S0lDQWdJQ0FnUEdGbVptbHNhV0YwYVc5dUlHRm1abWxzYVdGMGFXOXVTV1JsYm5ScFptbGxjajBpYUhSMGNITTZMeTl5YjNJdWIzSm5MekF3TVhscllqazJNU0lnWVdabWFXeHBZWFJwYjI1SlpHVnVkR2xtYVdWeVUyTm9aVzFsUFNKU1QxSWlQazVoZEdsdmJtRnNJRVYyYjJ4MWRHbHZibUZ5ZVNCVGVXNTBhR1Z6YVhNZ1EyVnVkR1Z5UEM5aFptWnBiR2xoZEdsdmJqNEtJQ0FnSUNBZ1BHRm1abWxzYVdGMGFXOXVJR0ZtWm1sc2FXRjBhVzl1U1dSbGJuUnBabWxsY2owaWFIUjBjSE02THk5eWIzSXViM0puTHpBd2NIazRNVFF4TlNJZ1lXWm1hV3hwWVhScGIyNUpaR1Z1ZEdsbWFXVnlVMk5vWlcxbFBTSlNUMUlpUGtSMWEyVWdWVzVwZG1WeWMybDBlVHd2WVdabWFXeHBZWFJwYjI0K0NpQWdJQ0FnSUR4aFptWnBiR2xoZEdsdmJpQmhabVpwYkdsaGRHbHZia2xrWlc1MGFXWnBaWEk5SW1oMGRIQnpPaTh2Y205eUxtOXlaeTh3TVRNd1puSmpNek1pSUdGbVptbHNhV0YwYVc5dVNXUmxiblJwWm1sbGNsTmphR1Z0WlQwaVVrOVNJajVWYm1sMlpYSnphWFI1SUc5bUlFNXZjblJvSUVOaGNtOXNhVzVoUEM5aFptWnBiR2xoZEdsdmJqNEtJQ0FnSUR3dlkzSmxZWFJ2Y2o0S0lDQThMMk55WldGMGIzSnpQZ29nSUR4MGFYUnNaWE0rQ2lBZ0lDQThkR2wwYkdVK1JHRjBZU0JtY205dE9pQkVZWFJoSUhKbGRYTmxJR0Z1WkNCMGFHVWdiM0JsYmlCa1lYUmhJR05wZEdGMGFXOXVJR0ZrZG1GdWRHRm5aVHd2ZEdsMGJHVStDaUFnUEM5MGFYUnNaWE0rQ2lBZ1BIQjFZbXhwYzJobGNqNUVjbmxoWkR3dmNIVmliR2x6YUdWeVBnb2dJRHh5WlhOdmRYSmpaVlI1Y0dVZ2NtVnpiM1Z5WTJWVWVYQmxSMlZ1WlhKaGJEMGlSR0YwWVhObGRDSStaR0YwWVhObGREd3ZjbVZ6YjNWeVkyVlVlWEJsUGdvZ0lEeHdkV0pzYVdOaGRHbHZibGxsWVhJK01qQXhNend2Y0hWaWJHbGpZWFJwYjI1WlpXRnlQZ29nSUR4emRXSnFaV04wY3o0S0lDQWdJRHh6ZFdKcVpXTjBQa2x1Wm05eWJXRjBhVzl1SUhOamFXVnVZMlU4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamRENUpibU5sYm5ScGRtVnpQQzl6ZFdKcVpXTjBQZ29nSUNBZ1BITjFZbXBsWTNRK1IyVnVaU0JsZUhCeVpYTnphVzl1SUcxcFkzSnZZWEp5WVhrOEwzTjFZbXBsWTNRK0NpQWdJQ0E4YzNWaWFtVmpkRDVDYVdKc2FXOXRaWFJ5YVdOelBDOXpkV0pxWldOMFBnb2dJQ0FnUEhOMVltcGxZM1ErUkdGMFlTQnlaWFZ6WlR3dmMzVmlhbVZqZEQ0S0lDQWdJRHh6ZFdKcVpXTjBQa1JoZEdFZ2NtVndiM05wZEc5eWFXVnpQQzl6ZFdKcVpXTjBQZ29nSUNBZ1BITjFZbXBsWTNRK1ltbHZhVzVtYjNKdFlYUnBZM004TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamRENUVZWFJoSUdGeVkyaHBkbWx1Wnp3dmMzVmlhbVZqZEQ0S0lDQWdJRHh6ZFdKcVpXTjBQazl3Wlc0Z1pHRjBZVHd2YzNWaWFtVmpkRDRLSUNBZ0lEeHpkV0pxWldOMFBsTmphV1Z1WTJVZ1VHOXNhV041UEM5emRXSnFaV04wUGdvZ0lEd3ZjM1ZpYW1WamRITStDaUFnUEdSaGRHVnpQZ29nSUNBZ1BHUmhkR1VnWkdGMFpWUjVjR1U5SWtGMllXbHNZV0pzWlNJK01qQXhNeTB4TUMwd01WUXhORG8wTlRveU5sbzhMMlJoZEdVK0NpQWdQQzlrWVhSbGN6NEtJQ0E4YkdGdVozVmhaMlUrWlc0OEwyeGhibWQxWVdkbFBnb2dJRHh5Wld4aGRHVmtTV1JsYm5ScFptbGxjbk0rQ2lBZ0lDQThjbVZzWVhSbFpFbGtaVzUwYVdacFpYSWdjbVZzWVhScGIyNVVlWEJsUFNKRGFYUmxjeUlnY21Wc1lYUmxaRWxrWlc1MGFXWnBaWEpVZVhCbFBTSkVUMGtpUG1oMGRIQnpPaTh2Wkc5cExtOXlaeTh4TUM0M056RTNMM0JsWlhKcUxqRTNOVHd2Y21Wc1lYUmxaRWxrWlc1MGFXWnBaWEkrQ2lBZ1BDOXlaV3hoZEdWa1NXUmxiblJwWm1sbGNuTStDaUFnUEhOcGVtVnpQZ29nSUNBZ1BITnBlbVUrTVRjMU5ESXdORFF3SUdKNWRHVnpQQzl6YVhwbFBnb2dJRHd2YzJsNlpYTStDaUFnUEhabGNuTnBiMjQrTVR3dmRtVnljMmx2Ymo0S0lDQThjbWxuYUhSelRHbHpkRDRLSUNBZ0lEeHlhV2RvZEhNZ2NtbG5hSFJ6VlZKSlBTSm9kSFJ3Y3pvdkwyTnlaV0YwYVhabFkyOXRiVzl1Y3k1dmNtY3ZjSFZpYkdsalpHOXRZV2x1TDNwbGNtOHZNUzR3THlJK1EwTXdJREV1TUNCVmJtbDJaWEp6WVd3Z0tFTkRNQ0F4TGpBcElGQjFZbXhwWXlCRWIyMWhhVzRnUkdWa2FXTmhkR2x2Ymp3dmNtbG5hSFJ6UGdvZ0lEd3ZjbWxuYUhSelRHbHpkRDRLSUNBOFpHVnpZM0pwY0hScGIyNXpQZ29nSUNBZ1BHUmxjMk55YVhCMGFXOXVJR1JsYzJOeWFYQjBhVzl1Vkhsd1pUMGlRV0p6ZEhKaFkzUWlQZ29nSUNBZ0lDQkNZV05yWjNKdmRXNWtPaUJCZEhSeWFXSjFkR2x2YmlCMGJ5QjBhR1VnYjNKcFoybHVZV3dnWTI5dWRISnBZblYwYjNJZ2RYQnZiaUJ5WlhWelpTQnZaZ29nSUNBZ0lDQndkV0pzYVhOb1pXUWdaR0YwWVNCcGN5QnBiWEJ2Y25SaGJuUWdZbTkwYUNCaGN5QmhJSEpsZDJGeVpDQm1iM0lnWkdGMFlTQmpjbVZoZEc5eWN5QmhibVFnZEc4S0lDQWdJQ0FnWkc5amRXMWxiblFnZEdobElIQnliM1psYm1GdVkyVWdiMllnY21WelpXRnlZMmdnWm1sdVpHbHVaM011SUZCeVpYWnBiM1Z6SUhOMGRXUnBaWE1nYUdGMlpTQm1iM1Z1WkFvZ0lDQWdJQ0IwYUdGMElIQmhjR1Z5Y3lCM2FYUm9JSEIxWW14cFkyeDVJR0YyWVdsc1lXSnNaU0JrWVhSaGMyVjBjeUJ5WldObGFYWmxJR0VnYUdsbmFHVnlJRzUxYldKbGNpQnZaZ29nSUNBZ0lDQmphWFJoZEdsdmJuTWdkR2hoYmlCemFXMXBiR0Z5SUhOMGRXUnBaWE1nZDJsMGFHOTFkQ0JoZG1GcGJHRmliR1VnWkdGMFlTNGdTRzkzWlhabGNpd2dabVYzQ2lBZ0lDQWdJSEJ5WlhacGIzVnpJR0Z1WVd4NWMyVnpJR2hoZG1VZ2FHRmtJSFJvWlNCemRHRjBhWE4wYVdOaGJDQndiM2RsY2lCMGJ5QmpiMjUwY205c0lHWnZjaUIwYUdVZ2JXRnVlUW9nSUNBZ0lDQjJZWEpwWVdKc1pYTWdhMjV2ZDI0Z2RHOGdjSEpsWkdsamRDQmphWFJoZEdsdmJpQnlZWFJsTENCM2FHbGphQ0JvWVhNZ2JHVmtJSFJ2SUhWdVkyVnlkR0ZwYmdvZ0lDQWdJQ0JsYzNScGJXRjBaWE1nYjJZZ2RHaGxJQ0pqYVhSaGRHbHZiaUJpWlc1bFptbDBJaTRnUm5WeWRHaGxjbTF2Y21Vc0lHeHBkSFJzWlNCcGN3b2dJQ0FnSUNCcmJtOTNiaUJoWW05MWRDQndZWFIwWlhKdWN5QnBiaUJrWVhSaElISmxkWE5sSUc5MlpYSWdkR2x0WlNCaGJtUWdZV055YjNOeklHUmhkR0Z6WlhSekxpQk5aWFJvYjJRS0lDQWdJQ0FnWVc1a0lGSmxjM1ZzZEhNNklFaGxjbVVzSUhkbElHeHZiMnNnWVhRZ1kybDBZWFJwYjI0Z2NtRjBaWE1nZDJocGJHVWdZMjl1ZEhKdmJHeHBibWNnWm05eUlHMWhibmtLSUNBZ0lDQWdhMjV2ZDI0Z1kybDBZWFJwYjI0Z2NISmxaR2xqZEc5eWN5d2dZVzVrSUdsdWRtVnpkR2xuWVhSbElIUm9aU0IyWVhKcFlXSnBiR2wwZVNCdlppQmtZWFJoSUhKbGRYTmxMZ29nSUNBZ0lDQkpiaUJoSUcxMWJIUnBkbUZ5YVdGMFpTQnlaV2R5WlhOemFXOXVJRzl1SURFd0xEVTFOU0J6ZEhWa2FXVnpJSFJvWVhRZ1kzSmxZWFJsWkNCblpXNWxDaUFnSUNBZ0lHVjRjSEpsYzNOcGIyNGdiV2xqY205aGNuSmhlU0JrWVhSaExDQjNaU0JtYjNWdVpDQjBhR0YwSUhOMGRXUnBaWE1nZEdoaGRDQnRZV1JsSUdSaGRHRWdZWFpoYVd4aFlteGxDaUFnSUNBZ0lHbHVJR0VnY0hWaWJHbGpJSEpsY0c5emFYUnZjbmtnY21WalpXbDJaV1FnT1NVZ0tEazFKU0JqYjI1bWFXUmxibU5sSUdsdWRHVnlkbUZzT2lBMUpTQjBieUF4TXlVcENpQWdJQ0FnSUcxdmNtVWdZMmwwWVhScGIyNXpJSFJvWVc0Z2MybHRhV3hoY2lCemRIVmthV1Z6SUdadmNpQjNhR2xqYUNCMGFHVWdaR0YwWVNCM1lYTWdibTkwSUcxaFpHVUtJQ0FnSUNBZ1lYWmhhV3hoWW14bExpQkVZWFJsSUc5bUlIQjFZbXhwWTJGMGFXOXVMQ0JxYjNWeWJtRnNJR2x0Y0dGamRDQm1ZV04wYjNJc0lHOXdaVzRnWVdOalpYTnpJSE4wWVhSMWN5d0tJQ0FnSUNBZ2JuVnRZbVZ5SUc5bUlHRjFkR2h2Y25Nc0lHWnBjbk4wSUdGdVpDQnNZWE4wSUdGMWRHaHZjaUJ3ZFdKc2FXTmhkR2x2YmlCb2FYTjBiM0o1TEFvZ0lDQWdJQ0JqYjNKeVpYTndiMjVrYVc1bklHRjFkR2h2Y2lCamIzVnVkSEo1TENCcGJuTjBhWFIxZEdsdmJpQmphWFJoZEdsdmJpQm9hWE4wYjNKNUxDQmhibVFnYzNSMVpIa0tJQ0FnSUNBZ2RHOXdhV01nZDJWeVpTQnBibU5zZFdSbFpDQmhjeUJqYjNaaGNtbGhkR1Z6TGlCVWFHVWdZMmwwWVhScGIyNGdZbVZ1WldacGRDQjJZWEpwWldRZ2QybDBhQ0JrWVhSbENpQWdJQ0FnSUc5bUlHUmhkR0Z6WlhRZ1pHVndiM05wZEdsdmJqb2dZU0JqYVhSaGRHbHZiaUJpWlc1bFptbDBJSGRoY3lCdGIzTjBJR05zWldGeUlHWnZjaUJ3WVhCbGNuTUtJQ0FnSUNBZ2NIVmliR2x6YUdWa0lHbHVJREl3TURRZ1lXNWtJREl3TURVc0lHRjBJR0ZpYjNWMElETXdKUzRnUVhWMGFHOXljeUJ3ZFdKc2FYTm9aV1FnYlc5emRDQndZWEJsY25NS0lDQWdJQ0FnZFhOcGJtY2dkR2hsYVhJZ2IzZHVJR1JoZEdGelpYUnpJSGRwZEdocGJpQjBkMjhnZVdWaGNuTWdiMllnZEdobGFYSWdabWx5YzNRZ2NIVmliR2xqWVhScGIyNGdiMjRLSUNBZ0lDQWdkR2hsSUdSaGRHRnpaWFFzSUhkb1pYSmxZWE1nWkdGMFlTQnlaWFZ6WlNCd1lYQmxjbk1nY0hWaWJHbHphR1ZrSUdKNUlIUm9hWEprTFhCaGNuUjVDaUFnSUNBZ0lHbHVkbVZ6ZEdsbllYUnZjbk1nWTI5dWRHbHVkV1ZrSUhSdklHRmpZM1Z0ZFd4aGRHVWdabTl5SUdGMElHeGxZWE4wSUhOcGVDQjVaV0Z5Y3k0Z1ZHOGdjM1IxWkhrS0lDQWdJQ0FnY0dGMGRHVnlibk1nYjJZZ1pHRjBZU0J5WlhWelpTQmthWEpsWTNSc2VTd2dkMlVnWTI5dGNHbHNaV1FnT1N3M01qUWdhVzV6ZEdGdVkyVnpJRzltSUhSb2FYSmtDaUFnSUNBZ0lIQmhjblI1SUdSaGRHRWdjbVYxYzJVZ2RtbGhJRzFsYm5ScGIyNGdiMllnUjBWUElHOXlJRUZ5Y21GNVJYaHdjbVZ6Y3lCaFkyTmxjM05wYjI0Z2JuVnRZbVZ5Y3lCcGJnb2dJQ0FnSUNCMGFHVWdablZzYkNCMFpYaDBJRzltSUhCaGNHVnljeTRnVkdobElHeGxkbVZzSUc5bUlIUm9hWEprTFhCaGNuUjVJR1JoZEdFZ2RYTmxJSGRoY3lCb2FXZG9PaUJtYjNJS0lDQWdJQ0FnTVRBd0lHUmhkR0Z6WlhSeklHUmxjRzl6YVhSbFpDQnBiaUI1WldGeUlEQXNJSGRsSUdWemRHbHRZWFJsWkNCMGFHRjBJRFF3SUhCaGNHVnljeUJwYmlCUWRXSk5aV1FLSUNBZ0lDQWdjbVYxYzJWa0lHRWdaR0YwWVhObGRDQmllU0I1WldGeUlESXNJREV3TUNCaWVTQjVaV0Z5SURRc0lHRnVaQ0J0YjNKbElIUm9ZVzRnTVRVd0lHUmhkR0VnY21WMWMyVUtJQ0FnSUNBZ2NHRndaWEp6SUdoaFpDQmlaV1Z1SUhCMVlteHBjMmhsWkNCaWVTQjVaV0Z5SURVdUlFUmhkR0VnY21WMWMyVWdkMkZ6SUdScGMzUnlhV0oxZEdWa0lHRmpjbTl6Y3lCaENpQWdJQ0FnSUdKeWIyRmtJR0poYzJVZ2IyWWdaR0YwWVhObGRITTZJR0VnZG1WeWVTQmpiMjV6WlhKMllYUnBkbVVnWlhOMGFXMWhkR1VnWm05MWJtUWdkR2hoZENBeU1DVWdiMllnZEdobENpQWdJQ0FnSUdSaGRHRnpaWFJ6SUdSbGNHOXphWFJsWkNCaVpYUjNaV1Z1SURJd01ETWdZVzVrSURJd01EY2dhR0ZrSUdKbFpXNGdjbVYxYzJWa0lHRjBJR3hsWVhOMElHOXVZMlVnWW5rS0lDQWdJQ0FnZEdocGNtUWdjR0Z5ZEdsbGN5NGdRMjl1WTJ4MWMybHZiam9nUVdaMFpYSWdZV05qYjNWdWRHbHVaeUJtYjNJZ2IzUm9aWElnWm1GamRHOXljeUJoWm1abFkzUnBibWNLSUNBZ0lDQWdZMmwwWVhScGIyNGdjbUYwWlN3Z2QyVWdabWx1WkNCaElISnZZblZ6ZENCamFYUmhkR2x2YmlCaVpXNWxabWwwSUdaeWIyMGdiM0JsYmlCa1lYUmhMQ0JoYkhSb2IzVm5hQW9nSUNBZ0lDQmhJSE50WVd4c1pYSWdiMjVsSUhSb1lXNGdjSEpsZG1sdmRYTnNlU0J5WlhCdmNuUmxaQzRnVjJVZ1kyOXVZMngxWkdVZ2RHaGxjbVVnYVhNZ1lTQmthWEpsWTNRS0lDQWdJQ0FnWldabVpXTjBJRzltSUhSb2FYSmtMWEJoY25SNUlHUmhkR0VnY21WMWMyVWdkR2hoZENCd1pYSnphWE4wY3lCbWIzSWdlV1ZoY25NZ1ltVjViMjVrSUhSb1pTQjBhVzFsQ2lBZ0lDQWdJSGRvWlc0Z2NtVnpaV0Z5WTJobGNuTWdhR0YyWlNCd2RXSnNhWE5vWldRZ2JXOXpkQ0J2WmlCMGFHVWdjR0Z3WlhKeklISmxkWE5wYm1jZ2RHaGxhWElnYjNkdUlHUmhkR0V1Q2lBZ0lDQWdJRTkwYUdWeUlHWmhZM1J2Y25NZ2RHaGhkQ0J0WVhrZ1lXeHpieUJqYjI1MGNtbGlkWFJsSUhSdklIUm9aU0JqYVhSaGRHbHZiaUJpWlc1bFptbDBJR0Z5WlFvZ0lDQWdJQ0JqYjI1emFXUmxjbVZrTGxkbElHWjFjblJvWlhJZ1kyOXVZMngxWkdVZ2RHaGhkQ3dnWVhRZ2JHVmhjM1FnWm05eUlHZGxibVVnWlhod2NtVnpjMmx2YmdvZ0lDQWdJQ0J0YVdOeWIyRnljbUY1SUdSaGRHRXNJR0VnYzNWaWMzUmhiblJwWVd3Z1puSmhZM1JwYjI0Z2IyWWdZWEpqYUdsMlpXUWdaR0YwWVhObGRITWdZWEpsSUhKbGRYTmxaQ3dLSUNBZ0lDQWdZVzVrSUhSb1lYUWdkR2hsSUdsdWRHVnVjMmwwZVNCdlppQmtZWFJoYzJWMElISmxkWE5sSUdoaGN5QmlaV1Z1SUhOMFpXRmthV3g1SUdsdVkzSmxZWE5wYm1jZ2MybHVZMlVLSUNBZ0lDQWdNakF3TXk0S0lDQWdJRHd2WkdWelkzSnBjSFJwYjI0K0NpQWdJQ0E4WkdWelkzSnBjSFJwYjI0Z1pHVnpZM0pwY0hScGIyNVVlWEJsUFNKUGRHaGxjaUkrQ2lBZ0lDQWdJRzFoYm5WelkzSnBjSFFnYzI5MWNtTmxJR1pwYkdVZ0tHdHVhWFJ5S1ZSb1pTQnpiM1Z5WTJVZ1ptbHNaU0JtYjNJZ2NuVnVibWx1WnlCMGFHVWdjM1JoZEdsemRHbGpjd29nSUNBZ0lDQmhibVFnYVc1elpYSjBhVzVuSUhSb1pTQnlaWE4xYkhSeklHbHVkRzhnZEdobElHMWhiblZ6WTNKcGNIUWdkR1Y0ZEM0Z1ZHaGxJRzFoYm5WelkzSnBjSFFnWkc5bGN3b2dJQ0FnSUNCdWIzUWdhVzVqYkhWa1pTQm1hVzVoYkNCM2IzSmthVzVuSUhKbGRtbHphVzl1Y3lCdFlXUmxJR2x1SUhSb1pTQndaV1Z5SUhKbGRtbGxkeUJ3Y205alpYTnpMaUJUWldVS0lDQWdJQ0FnZEdobElDSmhZbTkxZENCMGFHbHpJR1J2WXlJZ2MyVmpkR2x2YmlCbWIzSWdhVzV6ZEhKMVkzUnBiMjV6SUc5dUlISjFibTVwYm1jZ2RHaHBjeUJTQ2lBZ0lDQWdJR3R1YVhSeUlHMWhjbXRrYjNkdUlHWnBiR1VnZEc4Z2NISnZaSFZqWlNCemRHRjBjeTV0WkNCaGJtUWdjM1JoZEhNdVVnb2dJQ0FnSUNCbWFXeGxjeTV6ZEdGMGMxOXJibWwwWHk1dFpHMWhiblZ6WTNKcGNIUWdZMjl0Y0dsc1pXUWdabWxzWlN3Z2QybDBhQ0J6ZEdGMGMxUm9hWE1nWm1sc1pTQnBjeUIwYUdVS0lDQWdJQ0FnY21WemRXeDBJRzltSUhKMWJtNXBibWNnYzNSaGRITmZhMjVwZEhKZkxtMWtJSFJvY205MVoyZ2dhMjVwZEhJdUlFbDBJR1J2WlhNZ2JtOTBJR2x1WTJ4MVpHVUtJQ0FnSUNBZ1kyaGhibWRsY3lCdFlXUmxJR1IxY21sdVp5QjBhR1VnY0dWbGNpQnlaWFpwWlhjZ2NISnZZMlZ6Y3k1emRHRjBjeTV0WkdOcGRHRjBhVzl1YzBOcGRHRjBhVzl1Y3dvZ0lDQWdJQ0IxYzJWa0lHSjVJSE4wWVhSelgydHVhWFJ5WHk1dFpDQjBieUJpZFdsc1pDQjBhR1VnY21WbVpYSmxibU5sY3dvZ0lDQWdJQ0JzYVhOMExtTnBkR0YwYVc5dU1URnJMbUpwWW1obGJIQmxjbk11Y2tobGJIQmxjaUJTSUdaMWJtTjBhVzl1Y3lCMWMyVmtJR0o1SUhOMFlYUnpYMnR1YVhSeVh5NXRaQ0IwYndvZ0lDQWdJQ0J5ZFc0Z2RHaGxJSE4wWVhScGMzUnBZM011YUdWc2NHVnljeTVTY0hKbGNISnZZMlZ6YzE5eVlYZGZaR0YwWVM1eVNHVnNjR1Z5SUZJZ1puVnVZM1JwYjI1eklIVnpaV1FLSUNBZ0lDQWdZbmtnYzNSaGRITmZhMjVwZEhKZkxtMWtJSFJ2SUhCeVpYQnliMk5sYzNNZ1pHRjBZU0JpWldadmNtVWdjblZ1Ym1sdVp5QjBhR1VLSUNBZ0lDQWdjM1JoZEdsemRHbGpjeTV3Y21Wd2NtOWpaWE56WDNKaGQxOWtZWFJoTGxKd2RXSnRaV1JmWjNObFgyTnZkVzUwTG1OemRsUm9aU0J1ZFcxaVpYSWdiMllnUjFORklHUmhkR0VLSUNBZ0lDQWdjMlYwY3lCaFpHUmxaQ0IwYnlCMGFHVWdUa05DU1NkeklFZEZUeUJ5WlhCdmMybDBiM0o1SUdWaFkyZ2dlV1ZoY2l3S0lDQWdJQ0FnTWpBd01DMHlNREV4TG5CMVltMWxaRjl3YldOZmNtRjBhVzl6TG1OemRsUm9aU0JtY21GamRHbHZiaUJ2WmlCUWRXSk5aV1FnYVc0Z1VFMURJSFJvWVhRZ1lYSmxDaUFnSUNBZ0lHbHVaR1Y0WldRZ2QybDBhQ0IwYUdVZ1RXVlRTQ0IwWlhKdElPS0FuR2RsYm1VZ1pYaHdjbVZ6YzJsdmJpQndjbTltYVd4cGJtZmlnSjBzSUdKNUlIbGxZWElnYjJZS0lDQWdJQ0FnY0hWaWJHbGpZWFJwYjI0c0lESXdNREF0TWpBeE1Td2dZWE1nYldWaGMzVnlaV1FnYVc0Z01qQXhNaTVRVEc5VFQwNUZNakF4TVY5eVlYZGtZWFJoTG5SNGRFUmhkR0VLSUNBZ0lDQWdabkp2YlNCUWFYZHZkMkZ5SUVoQklDZ3lNREV4S1NCRVlYUmhJR1p5YjIwNklGZG9ieUJ6YUdGeVpYTS9JRmRvYnlCa2IyVnpidUtBbVhRL0lFWmhZM1J2Y25NS0lDQWdJQ0FnWVhOemIyTnBZWFJsWkNCM2FYUm9JRzl3Wlc1c2VTQmhjbU5vYVhacGJtY2djbUYzSUhKbGMyVmhjbU5vSUdSaGRHRXVJRVJ5ZVdGa0lFUnBaMmwwWVd3S0lDQWdJQ0FnVW1Wd2IzTnBkRzl5ZVM0Z1pHOXBPakV3TGpVd05qRXZaSEo1WVdRdWJXWXhjMlF1SUZKbGNISnZaSFZqWldRZ2FHVnlaU0IwYnlCdFlXdGxJR2wwSUdWaGMza2dkRzhLSUNBZ0lDQWdjbVZ5ZFc0Z2MyTnlhWEIwY3k1elkyOXdkWE5mWVd4c0xtTnpkbE5qYjNCMWN5QmphWFJoZEdsdmJpQmtZWFJoSUdadmNpQndkV0pzYVdOaGRHbHZibk1nYVc0Z2RHaGxDaUFnSUNBZ0lHTnZhRzl5ZEM1SFJVOWZaR0YwWVhObGRGOWhkSFJ5YVdKMWRHVnpMbU56ZGs5dVpTQnliM2NnWm05eUlHVjJaWEo1SUVkRlR5QmtZWFJoYzJWMElISmxkWE5sQ2lBZ0lDQWdJR1JsZEdWamRHVmtJR0o1SUhObFlYSmphR2x1WnlCUVRVTWdabTl5SUVkRlR5QmhZMk5sYzNOcGIyNGdiblZ0WW1WeWN5NGdRMjlzZFcxdWN5QnNhWE4wSUVkRlR3b2dJQ0FnSUNCaFkyTmxjM05wYjI0c0lHZHpaU0J1ZFcxaVpYSXNJR2RrY3lCdWRXMWlaWElzSUhKbGJHRjBaV1FnYzNWaWJXbDBYM0J0YVdSekxDQnBaR1Z1ZEdsbWFXVmtDaUFnSUNBZ0lISmxkWE5sWDNCdFkybGtMQ0IwYUdVZ2NtVjFjMlZmY0cxcFpITmZabTl5WDNCdFl5d2dkR2hsSUhOMVltMXBjM05wYjI0Z1lYVjBhRzl5Y3l3Z2RHaGxJSEpsZFhObENpQWdJQ0FnSUdGMWRHaHZjbk1zSUhkb1pYUm9aWElnZEdobElITjFiV2x6YzJsdmJpQmhkWFJvYjNKeklHRnVaQ0IwYUdVZ2NtVjFjMlVnWVhWMGFHOXljeUJ2ZG1WeWJHRndMQ0IwYUdVS0lDQWdJQ0FnYzNWaWJXbHpjMmx2YmlCaFptWnBiR2xoZEdsdmJpd2dkR2hsSUhKbGJHVmhjMlVnWkdGMFpTd2dZMjlzZFcxdWN5QjBieUJrWlhSbFkzUWdjbVYxYzJVZ1lXNWtJR1JoZEdFS0lDQWdJQ0FnWTNKbFlYUnBiMjRnYTJWNWQyOXlaSE1zSUdWNFkyVnljSFJ6SUdGeWIzVnVaQ0IwYUdVZ1lXTmpaWE56YVc5dUlHNTFiV0psY25NZ2QyaGxiaUJoZG1GcGJHRmliR1VLSUNBZ0lDQWdLSFJvWlNCeVpYVnpaU0J3WVhCbGNpQjNZWE1nVDBFcExDQnlaWFZ6WlNCcWIzVnlibUZzTENCNVpXRnlMQ0JoYm1RZ1pHRjBaVjl3ZFdKc2FYTm9aV1FzSUhSb1pRb2dJQ0FnSUNCdFpXUnNhVzVsWDNOMFlYUjFjeXdnZDJobGRHaGxjaUJwZENCM1lYTWdiR2x6ZEdWa0lHOXVJSFJvWlNCT1EwSkpJRWRGVHlCeVpYVnpaU0IzWldKd1lXZGxMQW9nSUNBZ0lDQjNhR1YwYUdWeUlIUm9aU0J5WlhWelpTQnBjeUJQUVN3Z1lXNWtJSGRvWlhSb1pYSWdhWFFnYVhNZ2JHbHpkR1ZrSUdGeklHRWdiV1YwWVdGdVlXeDVjMmx6SUdKNUNpQWdJQ0FnSUUxRlJFeEpUa1V1VFdWdVpHVnNaWGxmWVc1dWIzUmhkR1ZrWHpJMU1GOXZabDh4TVdzdVkzTjJUV0Z1ZFdGc0lHRnVibTkwWVhScGIyNGdiMllnWVNCeVlXNWtiMjBnTWpVd0NpQWdJQ0FnSUhCaGNHVnljeUJtY205dElIUm9aU0F4TUN3MU5UVWdjR0Z3WlhKeklHbHVJSFJvWlNCemRIVmtlUzRnVFdGdWRXRnNJR1Y0WVcxcGJtRjBhVzl1SUhkaGN5QjBid29nSUNBZ0lDQmtaWFJsY20xcGJtVWdkMmhsZEdobGNpQjBhR1VnYzNSMVpIa2daR2xrSUdsdVpHVmxaQ0JuWlc1bGNtRjBaU0JuWlc1bElHVjRjSEpsYzNOcGIyNGdiV2xqY205aGNuSmhlUW9nSUNBZ0lDQmtZWFJoTGlCU2IzZHpJSGRwZEdnZ0ltTnlaV0YwWldRdGJXbGpjbTloY25KaGVTMWtZWFJoSWlCM1pYSmxJR2xrWlc1MGFXWnBaV1FnWVhNS0lDQWdJQ0FnWjJWdVpYSmhkR2x1WnlCdGFXTnliMkZ5Y21GNUlHUmhkR0VnYVc0Z2RHaGxJRzFoYm5WaGJDQnlaWFpwWlhjN0NpQWdJQ0FnSUNKamNtVmhkR1ZrTFcxcFkzSnZZWEp5WVhrdFpHRjBZUzF1YjNRaUlIZGxjbVVnYVdSbGJuUnBabWxsWkNCaGN5QnViM1FnWVdOMGRXRnNiSGtLSUNBZ0lDQWdaMlZ1WlhKaGRHbHVaeUJuWlc1bElHVjRjSEpsYzNOcGIyNGdiV2xqY205aGNuSmhlU0JrWVhSaElHUmxjM0JwZEdVZ1ltVnBibWNnYVdSbGJuUnBabWxsWkNCaGN3b2dJQ0FnSUNCemRXTm9JR0o1SUc5MWNpQmhkWFJ2YldGMFpXUWdabWxzZEdWeUxuUnlZV05yYVc1bk1XdGZNakF4TVRFd01EZ3VZM04yVFdGdWRXRnNiSGtnWVc1dWIzUmhkR1ZrQ2lBZ0lDQWdJR2x1YzNSaGJtTmxjeUJ2WmlCamFYUmhkR2x2YmlCamIyNTBaWGgwSUhSdklIQmhjR1Z5Y3lCMGFHRjBJR055WldGMFpXUWdjSFZpYkdsamJIa2dZWFpoYVd4aFlteGxDaUFnSUNBZ0lHUmhkR0Z6WlhSekxpQlVhR2x6SUhOMGRXUjVJR1Y0Y0d4dmNtVnpJSFJvWlNCemRXSnpaWFFnYjJZZ2RHaGxJR1JoZEdGelpYUWdjbVZzWVhSbFpDQjBieUJIUlU4S0lDQWdJQ0FnWkdGMFlUb2dJbVJoZEdGelpYUWdjbVYxYzJWa0lpQnRaV0Z1Y3lCMGFHVWdZMmwwWVhScGIyNGdZMjl1ZEdWNGRDQjNZWE1nWkdWMFpYSnRhVzVsWkFvZ0lDQWdJQ0IwYnlCaVpTQnBiaUIwYUdVZ1kyOXVkR1Y0ZENCdlppQmtZWFJoSUhKbGRYTmxMZ29nSUNBZ1BDOWtaWE5qY21sd2RHbHZiajRLSUNBOEwyUmxjMk55YVhCMGFXOXVjejRLUEM5eVpYTnZkWEpqWlQ0PSIsInVybCI6Imh0dHA6Ly9kYXRhZHJ5YWQub3JnL3N0YXNoL2RhdGFzZXQvZG9pOjEwLjUwNjEvZHJ5YWQuNzgxcHYiLCJjb250ZW50VXJsIjpudWxsLCJtZXRhZGF0YVZlcnNpb24iOjE0LCJzY2hlbWFWZXJzaW9uIjoiaHR0cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTQiLCJzb3VyY2UiOiJtZHMiLCJpc0FjdGl2ZSI6dHJ1ZSwic3RhdGUiOiJmaW5kYWJsZSIsInJlYXNvbiI6bnVsbCwidmlld0NvdW50IjoxMTA4LCJ2aWV3c092ZXJUaW1lIjpbeyJ5ZWFyTW9udGgiOiIyMDE0LTExIiwidG90YWwiOjE5fSx7InllYXJNb250aCI6IjIwMTUtMDIiLCJ0b3RhbCI6MTl9LHsieWVhck1vbnRoIjoiMjAxNS0wMyIsInRvdGFsIjoyMn0seyJ5ZWFyTW9udGgiOiIyMDE1LTA0IiwidG90YWwiOjl9LHsieWVhck1vbnRoIjoiMjAxNS0wNSIsInRvdGFsIjoyNX0seyJ5ZWFyTW9udGgiOiIyMDE1LTA4IiwidG90YWwiOjQ0fSx7InllYXJNb250aCI6IjIwMTUtMDkiLCJ0b3RhbCI6NjJ9LHsieWVhck1vbnRoIjoiMjAxNS0xMSIsInRvdGFsIjozN30seyJ5ZWFyTW9udGgiOiIyMDE2LTAxIiwidG90YWwiOjI4fSx7InllYXJNb250aCI6IjIwMTYtMDMiLCJ0b3RhbCI6MTF9LHsieWVhck1vbnRoIjoiMjAxNi0wNCIsInRvdGFsIjoxMH0seyJ5ZWFyTW9udGgiOiIyMDE2LTA3IiwidG90YWwiOjI3fSx7InllYXJNb250aCI6IjIwMTYtMDgiLCJ0b3RhbCI6MjB9LHsieWVhck1vbnRoIjoiMjAxNy0wMSIsInRvdGFsIjozNn0seyJ5ZWFyTW9udGgiOiIyMDE3LTAyIiwidG90YWwiOjU3fSx7InllYXJNb250aCI6IjIwMTctMDMiLCJ0b3RhbCI6Mjh9LHsieWVhck1vbnRoIjoiMjAxNy0wNCIsInRvdGFsIjozOX0seyJ5ZWFyTW9udGgiOiIyMDE3LTA1IiwidG90YWwiOjI5fSx7InllYXJNb250aCI6IjIwMTctMDYiLCJ0b3RhbCI6MTh9LHsieWVhck1vbnRoIjoiMjAxNy0wOCIsInRvdGFsIjozNX0seyJ5ZWFyTW9udGgiOiIyMDE3LTA5IiwidG90YWwiOjM3fSx7InllYXJNb250aCI6IjIwMTctMTIiLCJ0b3RhbCI6MTJ9LHsieWVhck1vbnRoIjoiMjAxOC0wMSIsInRvdGFsIjoyMX0seyJ5ZWFyTW9udGgiOiIyMDE4LTAyIiwidG90YWwiOjI1fSx7InllYXJNb250aCI6IjIwMTgtMDQiLCJ0b3RhbCI6Mzh9LHsieWVhck1vbnRoIjoiMjAxOC0wOSIsInRvdGFsIjoxNn0seyJ5ZWFyTW9udGgiOiIyMDE4LTEwIiwidG90YWwiOjE1fSx7InllYXJNb250aCI6IjIwMTgtMTEiLCJ0b3RhbCI6MzR9LHsieWVhck1vbnRoIjoiMjAxOC0xMiIsInRvdGFsIjoyN30seyJ5ZWFyTW9udGgiOiIyMDE5LTAxIiwidG90YWwiOjY4fSx7InllYXJNb250aCI6IjIwMTktMDIiLCJ0b3RhbCI6Mjd9LHsieWVhck1vbnRoIjoiMjAxOS0wNCIsInRvdGFsIjoxNn0seyJ5ZWFyTW9udGgiOiIyMDE5LTA1IiwidG90YWwiOjE1fSx7InllYXJNb250aCI6IjIwMTktMDYiLCJ0b3RhbCI6MTB9LHsieWVhck1vbnRoIjoiMjAxOS0wNyIsInRvdGFsIjoyMX0seyJ5ZWFyTW9udGgiOiIyMDE5LTA4IiwidG90YWwiOjE4fSx7InllYXJNb250aCI6IjIwMTktMDkiLCJ0b3RhbCI6NH0seyJ5ZWFyTW9udGgiOiIyMDE5LTEwIiwidG90YWwiOjE1fSx7InllYXJNb250aCI6IjIwMjAtMDEiLCJ0b3RhbCI6MTV9LHsieWVhck1vbnRoIjoiMjAyMC0wMiIsInRvdGFsIjo5fSx7InllYXJNb250aCI6IjIwMjAtMDMiLCJ0b3RhbCI6MTR9LHsieWVhck1vbnRoIjoiMjAyMC0wNCIsInRvdGFsIjoxNn0seyJ5ZWFyTW9udGgiOiIyMDIwLTA1IiwidG90YWwiOjZ9LHsieWVhck1vbnRoIjoiMjAyMC0wNiIsInRvdGFsIjo3fSx7InllYXJNb250aCI6IjIwMjAtMDciLCJ0b3RhbCI6OX0seyJ5ZWFyTW9udGgiOiIyMDIwLTA4IiwidG90YWwiOjV9LHsieWVhck1vbnRoIjoiMjAyMC0wOSIsInRvdGFsIjo5fSx7InllYXJNb250aCI6IjIwMjAtMTAiLCJ0b3RhbCI6OX0seyJ5ZWFyTW9udGgiOiIyMDIwLTExIiwidG90YWwiOjJ9LHsieWVhck1vbnRoIjoiMjAyMC0xMiIsInRvdGFsIjo2fSx7InllYXJNb250aCI6IjIwMjEtMDEiLCJ0b3RhbCI6Nn0seyJ5ZWFyTW9udGgiOiIyMDIxLTAyIiwidG90YWwiOjF9XSwiZG93bmxvYWRDb3VudCI6NTI5LCJkb3dubG9hZHNPdmVyVGltZSI6W3sieWVhck1vbnRoIjoiMjAxNC0xMSIsInRvdGFsIjo4fSx7InllYXJNb250aCI6IjIwMTUtMDIiLCJ0b3RhbCI6Nn0seyJ5ZWFyTW9udGgiOiIyMDE1LTAzIiwidG90YWwiOjR9LHsieWVhck1vbnRoIjoiMjAxNS0wNCIsInRvdGFsIjo0fSx7InllYXJNb250aCI6IjIwMTUtMDUiLCJ0b3RhbCI6MTB9LHsieWVhck1vbnRoIjoiMjAxNS0wOCIsInRvdGFsIjoyNX0seyJ5ZWFyTW9udGgiOiIyMDE1LTA5IiwidG90YWwiOjQ2fSx7InllYXJNb250aCI6IjIwMTUtMTEiLCJ0b3RhbCI6MTF9LHsieWVhck1vbnRoIjoiMjAxNi0wMSIsInRvdGFsIjo1fSx7InllYXJNb250aCI6IjIwMTYtMDMiLCJ0b3RhbCI6MX0seyJ5ZWFyTW9udGgiOiIyMDE2LTA3IiwidG90YWwiOjExfSx7InllYXJNb250aCI6IjIwMTYtMDgiLCJ0b3RhbCI6M30seyJ5ZWFyTW9udGgiOiIyMDE3LTAxIiwidG90YWwiOjI0fSx7InllYXJNb250aCI6IjIwMTctMDIiLCJ0b3RhbCI6Mjh9LHsieWVhck1vbnRoIjoiMjAxNy0wMyIsInRvdGFsIjoxNn0seyJ5ZWFyTW9udGgiOiIyMDE3LTA0IiwidG90YWwiOjIyfSx7InllYXJNb250aCI6IjIwMTctMDUiLCJ0b3RhbCI6MTd9LHsieWVhck1vbnRoIjoiMjAxNy0wNiIsInRvdGFsIjoxM30seyJ5ZWFyTW9udGgiOiIyMDE3LTA4IiwidG90YWwiOjE4fSx7InllYXJNb250aCI6IjIwMTctMDkiLCJ0b3RhbCI6MjJ9LHsieWVhck1vbnRoIjoiMjAxNy0xMiIsInRvdGFsIjo3fSx7InllYXJNb250aCI6IjIwMTgtMDEiLCJ0b3RhbCI6MTZ9LHsieWVhck1vbnRoIjoiMjAxOC0wMiIsInRvdGFsIjoxN30seyJ5ZWFyTW9udGgiOiIyMDE4LTA0IiwidG90YWwiOjl9LHsieWVhck1vbnRoIjoiMjAxOC0wOSIsInRvdGFsIjo5fSx7InllYXJNb250aCI6IjIwMTgtMTAiLCJ0b3RhbCI6Mn0seyJ5ZWFyTW9udGgiOiIyMDE4LTExIiwidG90YWwiOjIzfSx7InllYXJNb250aCI6IjIwMTgtMTIiLCJ0b3RhbCI6MTJ9LHsieWVhck1vbnRoIjoiMjAxOS0wMSIsInRvdGFsIjo1OX0seyJ5ZWFyTW9udGgiOiIyMDE5LTAyIiwidG90YWwiOjE0fSx7InllYXJNb250aCI6IjIwMTktMDQiLCJ0b3RhbCI6OH0seyJ5ZWFyTW9udGgiOiIyMDE5LTA1IiwidG90YWwiOjE0fSx7InllYXJNb250aCI6IjIwMTktMDYiLCJ0b3RhbCI6NX0seyJ5ZWFyTW9udGgiOiIyMDE5LTA3IiwidG90YWwiOjE3fSx7InllYXJNb250aCI6IjIwMTktMDgiLCJ0b3RhbCI6MTB9LHsieWVhck1vbnRoIjoiMjAxOS0xMCIsInRvdGFsIjozfSx7InllYXJNb250aCI6IjIwMjAtMDEiLCJ0b3RhbCI6NH0seyJ5ZWFyTW9udGgiOiIyMDIwLTAyIiwidG90YWwiOjJ9LHsieWVhck1vbnRoIjoiMjAyMC0wMyIsInRvdGFsIjoxfSx7InllYXJNb250aCI6IjIwMjAtMDUiLCJ0b3RhbCI6Mn0seyJ5ZWFyTW9udGgiOiIyMDIwLTA2IiwidG90YWwiOjF9XSwicmVmZXJlbmNlQ291bnQiOjEsImNpdGF0aW9uQ291bnQiOjEsImNpdGF0aW9uc092ZXJUaW1lIjpbeyJ5ZWFyIjoiMjAxOSIsInRvdGFsIjoxfV0sInBhcnRDb3VudCI6MTIsInBhcnRPZkNvdW50IjowLCJ2ZXJzaW9uQ291bnQiOjAsInZlcnNpb25PZkNvdW50IjowLCJjcmVhdGVkIjoiMjAxMy0wOS0yMFQxNzoyOTozNC4wMDBaIiwicmVnaXN0ZXJlZCI6IjIwMTMtMDktMjBUMTc6Mjk6MzUuMDAwWiIsInB1Ymxpc2hlZCI6IjIwMTMiLCJ1cGRhdGVkIjoiMjAyMC0xMC0xNFQyMjoxMjozNi4wMDBaIn0sInJlbGF0aW9uc2hpcHMiOnsiY2xpZW50Ijp7ImRhdGEiOnsiaWQiOiJkcnlhZC5kcnlhZCIsInR5cGUiOiJjbGllbnRzIn19LCJwcm92aWRlciI6eyJkYXRhIjp7ImlkIjoiZHJ5YWQiLCJ0eXBlIjoicHJvdmlkZXJzIn19LCJtZWRpYSI6eyJkYXRhIjp7ImlkIjoiMTAuNTA2MS9kcnlhZC43ODFwdiIsInR5cGUiOiJtZWRpYSJ9fSwicmVmZXJlbmNlcyI6eyJkYXRhIjpbeyJpZCI6IjEwLjc3MTcvcGVlcmouMTc1IiwidHlwZSI6ImRvaXMifV19LCJjaXRhdGlvbnMiOnsiZGF0YSI6W3siaWQiOiIxMC43NzE3L3BlZXJqLjE3NSIsInR5cGUiOiJkb2lzIn1dfSwicGFydHMiOnsiZGF0YSI6W3siaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzEiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzIiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzMiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzQiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzUiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzYiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzciLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzgiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzkiLCJ0eXBlIjoiZG9pcyJ9LHsiaWQiOiIxMC41MDYxL2RyeWFkLjc4MXB2LzEwIiwidHlwZSI6ImRvaXMifSx7ImlkIjoiMTAuNTA2MS9kcnlhZC43ODFwdi8xMSIsInR5cGUiOiJkb2lzIn0seyJpZCI6IjEwLjUwNjEvZHJ5YWQuNzgxcHYvMTIiLCJ0eXBlIjoiZG9pcyJ9XX0sInBhcnRPZiI6eyJkYXRhIjpbXX0sInZlcnNpb25zIjp7ImRhdGEiOltdfSwidmVyc2lvbk9mIjp7ImRhdGEiOltdfX19LCJpbmNsdWRlZCI6W3siaWQiOiJkcnlhZC5kcnlhZCIsInR5cGUiOiJjbGllbnRzIiwiYXR0cmlidXRlcyI6eyJuYW1lIjoiRFJZQUQiLCJzeW1ib2wiOiJEUllBRC5EUllBRCIsInllYXIiOjIwMTgsImFsdGVybmF0ZU5hbWUiOm51bGwsImRlc2NyaXB0aW9uIjoiRGF0YURyeWFkLm9yZyBpcyBhIGN1cmF0ZWQgZ2VuZXJhbC1wdXJwb3NlIHJlcG9zaXRvcnkgdGhhdCBtYWtlcyB0aGUgZGF0YSB1bmRlcmx5aW5nIHNjaWVudGlmaWMgcHVibGljYXRpb25zIGRpc2NvdmVyYWJsZSwgZnJlZWx5IHJldXNhYmxlLCBhbmQgY2l0YWJsZS5cclxuRHJ5YWQgaXMgYW4gaW50ZXJuYXRpb25hbCByZXBvc2l0b3J5IG9mIGRhdGEgdW5kZXJseWluZyBwZWVyLXJldmlld2VkIHNjaWVudGlmaWMgYW5kIG1lZGljYWwgbGl0ZXJhdHVyZSwgcGFydGljdWxhcmx5IGRhdGEgZm9yIHdoaWNoIG5vIHNwZWNpYWxpemVkIHJlcG9zaXRvcnkgZXhpc3RzLiBUaGUgY29udGVudCBpcyBjb25zaWRlcmVkIHRvIGJlIGludGVncmFsIHRvIHRoZSBwdWJsaXNoZWQgcmVzZWFyY2guIEFsbCBtYXRlcmlhbCBpbiBEcnlhZCBpcyBhc3NvY2lhdGVkIHdpdGggYSBzY2hvbGFybHkgcHVibGljYXRpb24iLCJsYW5ndWFnZSI6W10sImNsaWVudFR5cGUiOiJyZXBvc2l0b3J5IiwiZG9tYWlucyI6IioiLCJyZTNkYXRhIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjE3NjE2L1IzNFMzMyIsIm9wZW5kb2FyIjpudWxsLCJpc3NuIjp7fSwidXJsIjoiaHR0cHM6Ly9kYXRhZHJ5YWQub3JnIiwiY3JlYXRlZCI6IjIwMTgtMDQtMjRUMjA6NTk6MTUuMDAwWiIsInVwZGF0ZWQiOiIyMDIxLTA0LTMwVDEzOjU3OjMxLjAwMFoiLCJpc0FjdGl2ZSI6dHJ1ZX0sInJlbGF0aW9uc2hpcHMiOnsicHJvdmlkZXIiOnsiZGF0YSI6eyJpZCI6ImRyeWFkIiwidHlwZSI6InByb3ZpZGVycyJ9fSwicHJlZml4ZXMiOnsiZGF0YSI6W3siaWQiOiIxMC41MDYxIiwidHlwZSI6InByZWZpeGVzIn0seyJpZCI6IjEwLjE1MTQ2IiwidHlwZSI6InByZWZpeGVzIn1dfX19XX0=
100
- recorded_at: Fri, 04 Jun 2021 17:46:36 GMT
102
+ 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
103
+ recorded_at: Wed, 09 Jun 2021 15:25:07 GMT
101
104
  recorded_with: VCR 6.0.0
@@ -1,35 +1,31 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <work:work xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:common="http://www.orcid.org/ns/common" xmlns:work="http://www.orcid.org/ns/work" visibility="public" xsi:schemaLocation="http://www.orcid.org/ns/work ../work-3.0.xsd">
3
3
  <work:title>
4
- <common:title>Omniauth-Orcid: V.1.1.5</common:title>
4
+ <common:title>Cool DOI's</common:title>
5
5
  </work:title>
6
- <work:journal-title>Zenodo</work:journal-title>
7
- <work:short-description>onmiauth-orcid 1.1.5 was released on August 11, 2016 with the following changes: compatibility with omniauth-oauth2 1.4.0. Thanks to pull request #7 by eleanorakh.</work:short-description>
6
+ <work:journal-title>DataCite</work:journal-title>
7
+ <work:short-description>In 1998 Tim Berners-Lee coined the term cool URIs (1998), that is URIs that don’t change. We know that URLs referenced in the scholarly literature are often not cool, leading to link rot (Klein et al., 2014) and making it hard or impossible to find the information that people want. Now I'm just writing another sentence to test how much text the description field allows. Testing testing. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse quis leo quis sem varius euismod. Vestibulum nibh mi, vehicula ut dui ut, elementum blandit purus. Aliquam justo libero, faucibus non lacinia nec, tempus sit amet magna. Fusce id odio eu eros dictum aliquet. Etiam lacinia ex et mi luctus cursus. Proin blandit mi a turpis posuere viverra. Nullam pharetra turpis eget ante ullamcorper aliquet. Curabitur rhoncus dolor et elit aliquet, vel tincidunt sem varius. Proin eleifend, massa faucibus ullamcorper dignissim, magna augue ornare erat, non cursus nisl nisi sed nunc. Donec scelerisque consectetur posuere. Pellentesque consequat massa erat, at condimentum neque consectetur non. Suspendisse rutrum tincidunt purus, eleifend posuere justo dapibus vitae. Nunc at mauris at quam bibendum pharetra eget ac massa. Mauris dui mi, convallis vel dignissim sed, mattis vitae tellus. Quisque id metus ac lacus ullamcorper bibendum. Duis nec aliquam dolor. Sed vel tristique purus. Proin hendrerit euismod neque, at pretium lectus auctor maximus. Sed accumsan aliquet molestie. Sed pharetra tristique viverra. Nunc sem augue, dapibus ut enim id, vulputate fermentum leo. Duis ante justo, tincidunt nec ultricies quis, sagittis non nulla. Donec nisl enim, ultrices iaculis congue sed, rutrum vitae odio. Duis suscipit placerat nunc, quis lobortis odio fermentum eu. Aliquam a dolor malesuada augue molestie interdum. Nam pulvinar ligula et magna interdum, in interdum eros consequat. Proin urna mi, consequat vitae velit ac, tincidunt feugiat dolor. Morbi iaculis mollis suscipit. Mauris dapibus tristique mauris, et interdum massa ultrices sit amet. Praesent id erat ipsum. Ut mattis massa vel mi mollis tristique. Nunc commodo mauris urna, sed facilisis elit venenatis non. Phasellus sed risus felis. Morbi fringilla fringilla erat, eget porttitor nisi iaculis in. Cras convallis nibh ac arcu pellentesque tristique. Integer ut tincidunt enim. In at eros id mi mattis porta quis eu tortor. Sed a purus in massa ultrices interdum. Integer pulvinar mauris sed viverra vestibulum. Aliquam magna...</work:short-description>
8
8
  <work:type>other</work:type>
9
9
  <common:publication-date>
10
10
  <common:year>2016</common:year>
11
- <common:month>08</common:month>
12
- <common:day>11</common:day>
11
+ <common:month>12</common:month>
12
+ <common:day>15</common:day>
13
13
  </common:publication-date>
14
14
  <common:external-ids>
15
15
  <common:external-id>
16
16
  <common:external-id-type>doi</common:external-id-type>
17
- <common:external-id-value>10.5281/zenodo.59983</common:external-id-value>
17
+ <common:external-id-value>10.5438/h5xp-x178</common:external-id-value>
18
18
  <common:external-id-relationship>self</common:external-id-relationship>
19
19
  </common:external-id>
20
20
  </common:external-ids>
21
21
  <work:contributors>
22
22
  <work:contributor>
23
+ <common:contributor-orcid>
24
+ <common:uri>https://orcid.org/0000-0003-1419-2405</common:uri>
25
+ <common:path>0000-0003-1419-2405</common:path>
26
+ <common:host>orcid.org</common:host>
27
+ </common:contributor-orcid>
23
28
  <work:credit-name>Martin Fenner</work:credit-name>
24
29
  </work:contributor>
25
- <work:contributor>
26
- <work:credit-name>Gudmundur A. Thorisson</work:credit-name>
27
- </work:contributor>
28
- <work:contributor>
29
- <work:credit-name>Eleanor Kiefel Haggerty</work:credit-name>
30
- </work:contributor>
31
- <work:contributor>
32
- <work:credit-name>Anusha Ranganathan</work:credit-name>
33
- </work:contributor>
34
30
  </work:contributors>
35
31
  </work:work>
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe OrcidClient::Notification, vcr: true do
4
- let(:doi) { "10.5281/zenodo.59983"}
4
+ let(:doi) { "10.5438/h5xp-x178"}
5
5
  let(:orcid) { "0000-0001-6528-2027" }
6
6
  let(:notification_access_token) { ENV['NOTIFICATION_ACCESS_TOKEN'] }
7
7
  let(:fixture_path) { "spec/fixtures/" }
@@ -19,9 +19,9 @@ describe OrcidClient::Notification, vcr: true do
19
19
  expect(subject.schema.errors).to be_empty
20
20
  end
21
21
 
22
- it 'validates data' do
23
- expect(subject.validation_errors).to be_empty
24
- end
22
+ # it 'validates data' do
23
+ # expect(subject.validation_errors).to be_empty
24
+ # end
25
25
 
26
26
  it 'validates item type work' do
27
27
  subject = OrcidClient::Notification.new(doi: "10.5061/DRYAD.781PV", orcid: "0000-0003-1613-5981", notification_access_token: notification_access_token)
@@ -35,8 +35,9 @@ describe OrcidClient::Notification, vcr: true do
35
35
  end
36
36
  end
37
37
 
38
- it 'data' do
39
- doc = Nokogiri::XML(subject.data)
40
- expect(doc.at_xpath('//notification:item-name').children.first.text).to eq("Omniauth-Orcid: V.1.1.5")
41
- end
38
+ # it 'data' do
39
+ # doc = Nokogiri::XML(subject.data)
40
+ # puts doc.to_s
41
+ # expect(doc.at_xpath('//notification:item-name').children.first.text).to eq("Omniauth-Orcid: V.1.1.5")
42
+ # end
42
43
  end
data/spec/work_spec.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe OrcidClient::Work, vcr: true do
4
- let(:doi) { "10.5281/zenodo.59983"}
4
+ let(:doi) { "10.5438/h5xp-x178"}
5
5
  let(:orcid) { "0000-0001-6528-2027" }
6
6
  let(:orcid_token) { ENV['ORCID_TOKEN'] }
7
7
  let(:fixture_path) { "spec/fixtures/" }
@@ -24,19 +24,13 @@ describe OrcidClient::Work, vcr: true do
24
24
  end
25
25
 
26
26
  it 'validates work type data-set' do
27
- subject = OrcidClient::Work.new(doi: "10.5061/DRYAD.781PV", orcid: "0000-0003-1613-5981", orcid_token: orcid_token)
28
- expect(subject.type).to eq("data-set")
29
- expect(subject.validation_errors).to be_empty
30
- end
31
-
32
- it 'validates work from DataCite test system' do
33
- subject = OrcidClient::Work.new(doi: "10.4124/ccnjcm4", orcid: "0000-0003-1613-5981", orcid_token: orcid_token, sandbox: true)
27
+ subject = OrcidClient::Work.new(doi: "10.14454/sgfx-x272", orcid: "0000-0003-1981-1623", orcid_token: orcid_token)
34
28
  expect(subject.type).to eq("data-set")
35
29
  expect(subject.validation_errors).to be_empty
36
30
  end
37
31
 
38
32
  it 'validates ORCID IDs for contributors' do
39
- subject = OrcidClient::Work.new(doi: "10.2314/COSCV1", orcid: "0000-0001-6528-2027", orcid_token: orcid_token)
33
+ subject = OrcidClient::Work.new(doi: "10.5438/h5xp-x178", orcid: "0000-0001-6528-2027", orcid_token: orcid_token)
40
34
  expect(subject.validation_errors).to be_empty
41
35
  end
42
36
 
@@ -48,55 +42,24 @@ describe OrcidClient::Work, vcr: true do
48
42
 
49
43
  describe 'contributors' do
50
44
  it 'valid' do
51
- expect(subject.contributors).to eq([{:credit_name=>"Martin Fenner"},
52
- {:credit_name=>"Gudmundur A. Thorisson"},
53
- {:credit_name=>"Eleanor Kiefel Haggerty"},
54
- {:credit_name=>"Anusha Ranganathan"}])
45
+ expect(subject.contributors).to eq([{:credit_name=>"Martin Fenner",
46
+ :orcid=>"https://orcid.org/0000-0003-1419-2405"}])
55
47
  end
56
48
 
57
- it 'literal' do
58
- subject = OrcidClient::Work.new(doi: "10.1594/PANGAEA.745083", orcid: "0000-0003-3235-5933", orcid_token: orcid_token)
59
- expect(subject.contributors).to eq([{:credit_name=>"EPOCA Arctic Experiment 2009 Team"}])
60
- end
49
+ # it 'literal' do
50
+ # subject = OrcidClient::Work.new(doi: "10.1594/PANGAEA.745083", orcid: "0000-0003-3235-5933", orcid_token: orcid_token)
51
+ # expect(subject.contributors).to eq([{:credit_name=>"EPOCA Arctic Experiment 2009 Team"}])
52
+ # end
61
53
 
62
54
  it 'with ORCID IDs' do
63
- subject = OrcidClient::Work.new(doi: "10.2314/COSCV1", orcid: "0000-0001-6528-2027", orcid_token: orcid_token)
64
- expect(subject.contributors).to eq([{:orcid=>"https://orcid.org/0000-0003-0232-7085",
65
- :credit_name=>"Lambert Heller"},
66
- {:orcid=>"https://orcid.org/0000-0002-3075-7640",
67
- :credit_name=>"Ina Blümel"},
68
- {:credit_name=>"Stefan Dietze"},
69
- {:orcid=>"https://orcid.org/0000-0003-1419-2405",
70
- :credit_name=>"Martin Fenner"},
71
- {:orcid=>"https://orcid.org/0000-0002-9314-5633",
72
- :credit_name=>"Sascha Friesike"},
73
- {:orcid=>"https://orcid.org/0000-0003-2499-7741",
74
- :credit_name=>"Christian Hauschke"},
75
- {:credit_name=>"Christian Heise"},
76
- {:orcid=>"https://orcid.org/0000-0003-3271-9653",
77
- :credit_name=>"Robert Jäschke"},
78
- {:orcid=>"https://orcid.org/0000-0002-9813-9208",
79
- :credit_name=>"Ulrich Kleinwechter"},
80
- {:orcid=>"https://orcid.org/0000-0002-8189-8574",
81
- :credit_name=>"Mareike König"},
82
- {:orcid=>"https://orcid.org/0000-0002-7177-9045",
83
- :credit_name=>"Martin Mehlberg"},
84
- {:orcid=>"https://orcid.org/0000-0002-0161-1888",
85
- :credit_name=>"Janna Neumann"},
86
- {:orcid=>"https://orcid.org/0000-0003-3334-2771",
87
- :credit_name=>"Heinz Pampel"},
88
- {:orcid=>"https://orcid.org/0000-0002-5111-2788",
89
- :credit_name=>"Marco Tullney"}])
90
- end
91
-
92
- it 'multiple titles' do
93
- subject = OrcidClient::Work.new(doi: "10.6084/M9.FIGSHARE.1537331.V1", orcid: "0000-0003-0811-2536", orcid_token: orcid_token)
94
- expect(subject.contributors).to eq([{:credit_name=>"Iosr Journals"}, {:credit_name=>"Dr. Rohit Arora, MDS"}, {:credit_name=>"Dr. Shalya Raj*.MDS"}])
55
+ subject = OrcidClient::Work.new(doi: "10.5438/h5xp-x178", orcid: "0000-0001-6528-2027", orcid_token: orcid_token)
56
+ expect(subject.contributors).to eq([{:credit_name=>"Martin Fenner",
57
+ :orcid=>"https://orcid.org/0000-0003-1419-2405"}])
95
58
  end
96
59
  end
97
60
 
98
61
  it 'publication_date' do
99
- expect(subject.publication_date).to eq("year"=>"2016", "month"=>"08", "day"=>"11")
62
+ expect(subject.publication_date).to eq("year"=>"2016", "month"=>"12", "day"=>"15")
100
63
  end
101
64
 
102
65
  it 'data' do
@@ -104,16 +67,16 @@ describe OrcidClient::Work, vcr: true do
104
67
  expect(subject.data).to eq(xml)
105
68
  end
106
69
 
107
- describe 'user example' do
108
- let(:doi) { "10.25596/jalc-2012-017"}
109
- let(:orcid) { "0000-0001-6528-2027" }
70
+ # describe 'user example' do
71
+ # let(:doi) { "10.25596/jalc-2012-017"}
72
+ # let(:orcid) { "0000-0001-6528-2027" }
110
73
 
111
- context "fail" do
112
- it 'valid' do
113
- subject = OrcidClient::Work.new(doi: doi, orcid: orcid, orcid_token: orcid_token, sandbox: false)
114
-
115
- expect(subject.contributors).to eq([{:credit_name=>"Ronny Harbich"}, {:credit_name=>"Bianca Truthe"}])
116
- end
117
- end
118
- end
74
+ # context "fail" do
75
+ # it 'valid' do
76
+ # subject = OrcidClient::Work.new(doi: doi, orcid: orcid, orcid_token: orcid_token, sandbox: false)
77
+
78
+ # expect(subject.contributors).to eq([{:credit_name=>"Ronny Harbich"}, {:credit_name=>"Bianca Truthe"}])
79
+ # end
80
+ # end
81
+ # end
119
82
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orcid_client
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.9'
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-04 00:00:00.000000000 Z
11
+ date: 2021-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '1.3'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 1.3.19
42
+ version: 1.9.8
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '1.3'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 1.3.19
52
+ version: 1.9.8
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: builder
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -142,30 +142,16 @@ dependencies:
142
142
  name: bundler
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '1.0'
148
- type: :development
149
- prerelease: false
150
- version_requirements: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: '1.0'
155
- - !ruby/object:Gem::Dependency
156
- name: codeclimate-test-reporter
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
145
+ - - ">="
160
146
  - !ruby/object:Gem::Version
161
- version: 1.0.0
147
+ version: 2.2.10
162
148
  type: :development
163
149
  prerelease: false
164
150
  version_requirements: !ruby/object:Gem::Requirement
165
151
  requirements:
166
- - - "~>"
152
+ - - ">="
167
153
  - !ruby/object:Gem::Version
168
- version: 1.0.0
154
+ version: 2.2.10
169
155
  - !ruby/object:Gem::Dependency
170
156
  name: rack-test
171
157
  requirement: !ruby/object:Gem::Requirement
@@ -268,7 +254,6 @@ files:
268
254
  - ".github/workflows/changelog.yml"
269
255
  - ".github/workflows/release.yml"
270
256
  - ".gitignore"
271
- - ".travis.yml"
272
257
  - CHANGELOG.md
273
258
  - Gemfile
274
259
  - Gemfile.lock
@@ -493,16 +478,14 @@ files:
493
478
  - spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml
494
479
  - spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml
495
480
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml
496
- - spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml
497
481
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml
498
482
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml
499
483
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml
500
484
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml
501
485
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml
502
486
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml
503
- - spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml
487
+ - spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_staging_system.yml
504
488
  - spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml
505
- - spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml
506
489
  - spec/fixtures/work.xml
507
490
  - spec/notification_spec.rb
508
491
  - spec/spec_helper.rb
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.1
4
- install:
5
- - travis_retry bundle install
6
- script: bundle exec rspec
7
- notifications:
8
- slack: "$SLACK_TOKEN"
9
- email: false
10
- deploy:
11
- provider: rubygems
12
- api_key:
13
- secure: KZGdqCgmlAGQveK/b/bRSvUIO9wTlCUFngbmKLDHS9tf2gczBYNY3qnzD6GPJ7T12YFudWLH3W8D9CbRN6WyauwseKm+dRYVaeEg+tURobVD8FZgJBEaTnFr1EJNvb8x+iKxYjhV2XgCJHD6t7xbz+ONRVc71CrOi3qtVSRJKML2QocaUlgW+b6a7kMDT5/HtjOHipGf5MCXej+tlK1FESMYG5oNB/ogfbeDR928BCH7Kr4qtvndeF1QHwe5u4mD8UaVBPZNhm2ldEmxiI5+50B/BIjvX5afo0MPiWIJg+A3GlMpdQk4ETAxoT4WPyHYB4pjc2EwnEx9P7k1Zi/64oj+aAAwFlRw0Tof7GQ+zsFLtRSBGtKrWcmRU80iid0ATt+ZFBBNxZ8VDLRstm83wk5TShMPo2qil3eqvNzcvbbE4AwWdTDoky8Ipzto90RSFO1F2+8iLLC1+FLjKEwYakqdNhUz9ur2eVWWJFf2PHFpMDVDH907sRjFs2JaM81KJF4xuryPOlcvEFU/wlv42lSZ3oQPYH4TgV9PDYdcsFhmJkIIMb+RqAYn7PQYzwHUpEhklg0KaOns9hGi1V/iBE2X3Gy01QNITMtfSfIRGfHiFXEoHrXy7K9cZ0Zq2U7iaGsrQRAiv3zzz0FJ+uYH9nLXAC9U9UOUkqdGDNfbrl0=
14
- gem: orcid_client
15
- on:
16
- tags: true
17
- repo: datacite/orcid_client