cirneco 0.9.20 → 0.9.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +42 -42
  3. data/cirneco.gemspec +1 -1
  4. data/lib/cirneco/api.rb +9 -0
  5. data/lib/cirneco/media.rb +0 -2
  6. data/lib/cirneco/metadata.rb +24 -0
  7. data/lib/cirneco/version.rb +1 -1
  8. data/resources/kernel-4.0/samples/datacite-example-complicated-v4.1.xml +1 -1
  9. data/spec/api_spec.rb +5 -5
  10. data/spec/doi_spec.rb +4 -4
  11. data/spec/fixtures/vcr_cassettes/Cirneco_DataCenter/get/should_get_all_dois_by_prefix.yml +488 -0
  12. data/spec/fixtures/vcr_cassettes/Cirneco_Doi/MDS_DOI_API/get/should_get_all_dois.yml +488 -0
  13. data/spec/fixtures/vcr_cassettes/Cirneco_Doi/MDS_DOI_API/get/should_get_doi.yml +50 -0
  14. data/spec/fixtures/vcr_cassettes/Cirneco_Doi/MDS_DOI_API/put/should_put_doi.yml +54 -0
  15. data/spec/fixtures/vcr_cassettes/Cirneco_Work/DOI_API/get/should_get_all_dois.yml +488 -0
  16. data/spec/fixtures/vcr_cassettes/Cirneco_Work/DOI_API/get/should_get_doi.yml +50 -0
  17. data/spec/fixtures/vcr_cassettes/Cirneco_Work/DOI_API/get/should_get_doi_not_found.yml +48 -0
  18. data/spec/fixtures/vcr_cassettes/Cirneco_Work/DOI_API/put/should_put_doi.yml +54 -0
  19. data/spec/fixtures/vcr_cassettes/Cirneco_Work/Media_API/get/should_get_media.yml +50 -0
  20. data/spec/fixtures/vcr_cassettes/Cirneco_Work/Media_API/post/should_post_media.yml +52 -0
  21. data/spec/fixtures/vcr_cassettes/Cirneco_Work/Metadata_API/delete/should_delete_metadata.yml +50 -0
  22. data/spec/fixtures/vcr_cassettes/Cirneco_Work/Metadata_API/get/should_get_metadata.yml +51 -0
  23. data/spec/fixtures/vcr_cassettes/Cirneco_Work/Metadata_API/post/should_post_metadata.yml +112 -0
  24. data/spec/fixtures/vcr_cassettes/Cirneco_Work/media/includes_media.yml +20 -18
  25. data/spec/fixtures/vcr_cassettes/Cirneco_Work/schema/BlogPosting.yml +21 -19
  26. data/spec/spec_helper.rb +2 -2
  27. data/spec/utils_spec.rb +7 -7
  28. data/spec/work_spec.rb +2 -3
  29. metadata +24 -11
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://mds.test.datacite.org/media/10.5438/6brg-2m37
6
+ body:
7
+ encoding: UTF-8
8
+ string: application/pdf=http://www.datacite.org/cirneco-test.pdf
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
+ Content-Type:
13
+ - text/plain;charset=UTF-8
14
+ Accept:
15
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
16
+ Authorization:
17
+ - Basic <MDS_TOKEN>
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Thu, 30 Aug 2018 23:18:09 GMT
25
+ Content-Type:
26
+ - text/plain; charset=utf-8
27
+ Connection:
28
+ - keep-alive
29
+ Status:
30
+ - 200 OK
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ Vary:
34
+ - Accept-Encoding, Origin
35
+ Etag:
36
+ - W/"565339bc4d33d72817b583024112eb7f"
37
+ X-Runtime:
38
+ - '0.071847'
39
+ X-Credential-Username:
40
+ - DATACITE.DATACITE
41
+ X-Request-Id:
42
+ - ad176e3f-3049-4d6e-b542-72615e4e4c61
43
+ X-Powered-By:
44
+ - Phusion Passenger 5.3.4
45
+ Server:
46
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
47
+ body:
48
+ encoding: ASCII-8BIT
49
+ string: OK
50
+ http_version:
51
+ recorded_at: Thu, 30 Aug 2018 23:18:09 GMT
52
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://mds.test.datacite.org/metadata/10.5438/6brg-2m37
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ Authorization:
15
+ - Basic <MDS_TOKEN>
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 30 Aug 2018 23:17:03 GMT
23
+ Content-Type:
24
+ - text/plain; charset=utf-8
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ Etag:
34
+ - W/"565339bc4d33d72817b583024112eb7f"
35
+ X-Runtime:
36
+ - '0.156146'
37
+ X-Credential-Username:
38
+ - DATACITE.DATACITE
39
+ X-Request-Id:
40
+ - 176157f0-d03d-41c4-849c-16cd29888356
41
+ X-Powered-By:
42
+ - Phusion Passenger 5.3.4
43
+ Server:
44
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
45
+ body:
46
+ encoding: ASCII-8BIT
47
+ string: OK
48
+ http_version:
49
+ recorded_at: Thu, 30 Aug 2018 23:17:03 GMT
50
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,51 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://mds.test.datacite.org/metadata/10.5438/6brg-2m37
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
+ Accept:
13
+ - application/xml
14
+ Authorization:
15
+ - Basic <MDS_TOKEN>
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 30 Aug 2018 23:17:02 GMT
23
+ Content-Type:
24
+ - application/xml; charset=utf-8
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ Etag:
34
+ - W/"83ca7ed4b9406ada55a9ee93f5451c0c"
35
+ X-Runtime:
36
+ - '0.049508'
37
+ X-Credential-Username:
38
+ - DATACITE.DATACITE
39
+ X-Request-Id:
40
+ - 214e05ba-b8a6-4b2f-8420-3f44d1b5dcdc
41
+ X-Powered-By:
42
+ - Phusion Passenger 5.3.4
43
+ Server:
44
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
45
+ body:
46
+ encoding: ASCII-8BIT
47
+ string: !binary |-
48
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00LjEvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41NDM4LzZCUkctMk0zNzwvaWRlbnRpZmllcj4KICA8Y3JlYXRvcnM+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+U21pdGgsIEpvaG48L2NyZWF0b3JOYW1lPgogICAgICA8Z2l2ZW5OYW1lPkpvaG48L2dpdmVuTmFtZT4KICAgICAgPGZhbWlseU5hbWU+U21pdGg8L2ZhbWlseU5hbWU+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPuOBpOOBvuOCieOBquOBhOOCguOBruOBp+OBmeOBjDwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iSVNOSSIgc2NoZW1lVVJJPSJodHRwOi8vaXNuaS5vcmcvaXNuaS8iPjAwMDAwMDAxMzQ1OTY1MjA8L25hbWVJZGVudGlmaWVyPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgPHRpdGxlcz4KICAgIDx0aXRsZSB4bWw6bGFuZz0icGwiPlfFgmHFm2Npd2/Fm2NpIHJ6dXRvd2HFhCBwb2Rwcnplc3RyemVuaW93eWNoPC90aXRsZT4KICAgIDx0aXRsZSB4bWw6bGFuZz0iZW4iIHRpdGxlVHlwZT0iVHJhbnNsYXRlZFRpdGxlIj5UcmFuc2xhdGlvbiBvZiBQb2xpc2ggdGl0bGVzPC90aXRsZT4KICA8L3RpdGxlcz4KICA8cHVibGlzaGVyPlNwcmluZ2VyPC9wdWJsaXNoZXI+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDEwPC9wdWJsaWNhdGlvblllYXI+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3QgeG1sOmxhbmc9ImVuIiBzdWJqZWN0U2NoZW1lPSJEREMiPjgzMCBHZXJtYW4gJmFtcDsgcmVsYXRlZCBsaXRlcmF0dXJlczwvc3ViamVjdD4KICAgIDxzdWJqZWN0IHhtbDpsYW5nPSJlbiI+UG9saXNoIExpdGVyYXR1cmU8L3N1YmplY3Q+CiAgPC9zdWJqZWN0cz4KICA8Y29udHJpYnV0b3JzPgogICAgPGNvbnRyaWJ1dG9yIGNvbnRyaWJ1dG9yVHlwZT0iRGF0YUNvbGxlY3RvciI+CiAgICAgIDxjb250cmlidXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5Eb2UsIEpvaG48L2NvbnRyaWJ1dG9yTmFtZT4KICAgICAgPGdpdmVuTmFtZT5Kb2huPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkRvZTwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnLyI+MDAwMC0wMDAxLTUzOTMtMTQyMTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NvbnRyaWJ1dG9yPgogIDwvY29udHJpYnV0b3JzPgogIDxsYW5ndWFnZT5kZTwvbGFuZ3VhZ2U+CiAgPHJlc291cmNlVHlwZSByZXNvdXJjZVR5cGVHZW5lcmFsPSJUZXh0Ij5Nb25vZ3JhcGg8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iSVNCTiI+OTM3LTAtNDUyMy0xMjM1Ny02PC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTI3Mi9vbGRlcnRlc3RwdWI8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDxzaXplcz4KICAgIDxzaXplPjI1NiBwYWdlczwvc2l6ZT4KICA8L3NpemVzPgogIDxmb3JtYXRzPgogICAgPGZvcm1hdD5wZGY8L2Zvcm1hdD4KICA8L2Zvcm1hdHM+CiAgPHZlcnNpb24+MjwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8yLjAvIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vRGVyaXZzIDIuMCBHZW5lcmljPC9yaWdodHM+CiAgPC9yaWdodHNMaXN0PgogIDxkZXNjcmlwdGlvbnM+CiAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImxhIiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4KICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhCiAgICAgIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzCiAgICAgIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuCiAgICA8L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==
49
+ http_version:
50
+ recorded_at: Thu, 30 Aug 2018 23:17:02 GMT
51
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,112 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://mds.test.datacite.org/metadata
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
11
+ <identifier identifierType="DOI">10.5438/6BRG-2M37</identifier>
12
+ <creators>
13
+ <creator>
14
+ <creatorName nameType="Personal">Smith, John</creatorName>
15
+ <givenName>John</givenName>
16
+ <familyName>Smith</familyName>
17
+ </creator>
18
+ <creator>
19
+ <creatorName>つまらないものですが</creatorName>
20
+ <nameIdentifier nameIdentifierScheme="ISNI" schemeURI="http://isni.org/isni/">0000000134596520</nameIdentifier>
21
+ </creator>
22
+ </creators>
23
+ <titles>
24
+ <title xml:lang="pl">Właściwości rzutowań podprzestrzeniowych</title>
25
+ <title xml:lang="en" titleType="TranslatedTitle">Translation of Polish titles</title>
26
+ </titles>
27
+ <publisher>Springer</publisher>
28
+ <publicationYear>2010</publicationYear>
29
+ <subjects>
30
+ <subject xml:lang="en" subjectScheme="DDC">830 German &amp; related literatures</subject>
31
+ <subject xml:lang="en">Polish Literature</subject>
32
+ </subjects>
33
+ <contributors>
34
+ <contributor contributorType="DataCollector">
35
+ <contributorName nameType="Personal">Doe, John</contributorName>
36
+ <givenName>John</givenName>
37
+ <familyName>Doe</familyName>
38
+ <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-5393-1421</nameIdentifier>
39
+ </contributor>
40
+ </contributors>
41
+ <language>de</language>
42
+ <resourceType resourceTypeGeneral="Text">Monograph</resourceType>
43
+ <alternateIdentifiers>
44
+ <alternateIdentifier alternateIdentifierType="ISBN">937-0-4523-12357-6</alternateIdentifier>
45
+ </alternateIdentifiers>
46
+ <relatedIdentifiers>
47
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="IsPartOf">10.5272/oldertestpub</relatedIdentifier>
48
+ </relatedIdentifiers>
49
+ <sizes>
50
+ <size>256 pages</size>
51
+ </sizes>
52
+ <formats>
53
+ <format>pdf</format>
54
+ </formats>
55
+ <version>2</version>
56
+ <rightsList>
57
+ <rights rightsURI="http://creativecommons.org/licenses/by-nd/2.0/">Creative Commons Attribution-NoDerivs 2.0 Generic</rights>
58
+ </rightsList>
59
+ <descriptions>
60
+ <description xml:lang="la" descriptionType="Abstract">
61
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
62
+ takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores
63
+ et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
64
+ </description>
65
+ </descriptions>
66
+ </resource>
67
+ headers:
68
+ User-Agent:
69
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
70
+ Content-Type:
71
+ - application/xml;charset=UTF-8
72
+ Accept:
73
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
74
+ Authorization:
75
+ - Basic <MDS_TOKEN>
76
+ response:
77
+ status:
78
+ code: 201
79
+ message: Created
80
+ headers:
81
+ Date:
82
+ - Thu, 30 Aug 2018 23:17:02 GMT
83
+ Content-Type:
84
+ - text/plain; charset=utf-8
85
+ Connection:
86
+ - keep-alive
87
+ Status:
88
+ - 201 Created
89
+ Location:
90
+ - https://mds.test.datacite.org/metadata/10.5438/6brg-2m37
91
+ Cache-Control:
92
+ - max-age=0, private, must-revalidate
93
+ Vary:
94
+ - Accept-Encoding, Origin
95
+ Etag:
96
+ - W/"236e02689911f7c3829f5a696e7dd475"
97
+ X-Runtime:
98
+ - '0.296385'
99
+ X-Credential-Username:
100
+ - DATACITE.DATACITE
101
+ X-Request-Id:
102
+ - d258cf6b-ef78-4f4a-9203-ec583d8aad5a
103
+ X-Powered-By:
104
+ - Phusion Passenger 5.3.4
105
+ Server:
106
+ - nginx/1.14.0 + Phusion Passenger 5.3.4
107
+ body:
108
+ encoding: ASCII-8BIT
109
+ string: OK (10.5438/6BRG-2M37)
110
+ http_version:
111
+ recorded_at: Thu, 30 Aug 2018 23:17:02 GMT
112
+ recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Maremma - https://github.com/datacite/maremma
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -29,17 +29,19 @@ http_interactions:
29
29
  Location:
30
30
  - "/eating-your-own-dog-food/"
31
31
  Date:
32
- - Thu, 01 Feb 2018 10:08:40 GMT
32
+ - Thu, 30 Aug 2018 22:48:22 GMT
33
33
  Server:
34
34
  - AmazonS3
35
+ Age:
36
+ - '1719'
35
37
  X-Cache:
36
38
  - Hit from cloudfront
37
39
  Via:
38
- - 1.1 7e3ec4bce6d89d06369eae9bcbd1cb7e.cloudfront.net (CloudFront)
40
+ - 1.1 040b216e25d8dcd23289aa6ea5fa0ca5.cloudfront.net (CloudFront)
39
41
  X-Amz-Cf-Id:
40
- - IVyaSArb7jJHKxhWfU6vHn65IuK7kBsOiv6X8m9-K4t8Ihz8B1ffKA==
42
+ - gBtdlG24YqhnCzgKA0FAiDmDFk2YyOcFQnf24UVNH8xfsCutcuEAQQ==
41
43
  body:
42
- encoding: UTF-8
44
+ encoding: ASCII-8BIT
43
45
  string: |
44
46
  <html>
45
47
  <head><title>302 Moved Temporarily</title></head>
@@ -48,14 +50,14 @@ http_interactions:
48
50
  <ul>
49
51
  <li>Code: Found</li>
50
52
  <li>Message: Resource Found</li>
51
- <li>RequestId: 954101BD524D1D33</li>
52
- <li>HostId: UFzFKnk0WRHCthFD7XYEH891fwFwQwMWBEQaM4G+42waSLPsXAr9zRkYa7KgHfiNxHkQ+wqPvzw=</li>
53
+ <li>RequestId: 8CF25FBB4AB396B6</li>
54
+ <li>HostId: H5yKf809x72dCh+9/HUJdPxhMPpMSamqcxZpxNwQD8XS7N5jAeTbeoybpE3NN9qrEbyF7ddWKlE=</li>
53
55
  </ul>
54
56
  <hr/>
55
57
  </body>
56
58
  </html>
57
59
  http_version:
58
- recorded_at: Thu, 01 Feb 2018 10:08:41 GMT
60
+ recorded_at: Thu, 30 Aug 2018 23:17:02 GMT
59
61
  - request:
60
62
  method: get
61
63
  uri: https://blog.datacite.org/eating-your-own-dog-food/
@@ -64,7 +66,7 @@ http_interactions:
64
66
  string: ''
65
67
  headers:
66
68
  User-Agent:
67
- - Maremma - https://github.com/datacite/maremma
69
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
68
70
  Accept:
69
71
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
70
72
  response:
@@ -75,31 +77,31 @@ http_interactions:
75
77
  Content-Type:
76
78
  - text/html
77
79
  Content-Length:
78
- - '23853'
80
+ - '23819'
79
81
  Connection:
80
82
  - keep-alive
81
83
  Date:
82
- - Thu, 01 Feb 2018 02:06:02 GMT
84
+ - Thu, 30 Aug 2018 22:48:24 GMT
83
85
  Cache-Control:
84
86
  - max-age=31536000
85
87
  Last-Modified:
86
- - Thu, 18 Jan 2018 19:56:20 GMT
88
+ - Thu, 30 Aug 2018 18:28:57 GMT
87
89
  Etag:
88
- - '"1503fefbb078bce096ab37de682aaef9"'
90
+ - '"321133250372acae3f89220311b3eb2c"'
89
91
  Server:
90
92
  - AmazonS3
91
93
  Age:
92
- - '28959'
94
+ - '1719'
93
95
  X-Cache:
94
96
  - Hit from cloudfront
95
97
  Via:
96
- - 1.1 96918fe484b3cc9879c048ab5c4e033c.cloudfront.net (CloudFront)
98
+ - 1.1 fff10bd55076b11530aa8b26ee2c0b65.cloudfront.net (CloudFront)
97
99
  X-Amz-Cf-Id:
98
- - 2_Ar-Iezc9AJ7ebCmayQU46VmQa3RbCxf1L8JQPtEGnQNzCy0YwZwQ==
100
+ - SNg8VWCA7dPP9ilX41OG70FXDW3P3isgy7wccJEcG6mWpTfipARVEA==
99
101
  body:
100
102
  encoding: ASCII-8BIT
101
103
  string: !binary |-
102
- PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9pbWFnZXMvMjAxNi8xMi8yMzA3ODUuanBnIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImJsb2ciIC8+CgogICAgPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0Jhc2tlcnZpbGxlOjQwMCw0MDBpLDcwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Jy8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCw2MDAsNDAwaXRhbGljLDYwMGl0YWxpYycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSIvL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjYuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0ndGV4dC9jc3MnPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9hc3NldHMuZGF0YWNpdGUub3JnL3N0eWxlc2hlZXRzL2RhdGFjaXRlLmNzcyIgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9Imljb24iIHR5cGU9ImltYWdlL2ljbyIgLz4KCiAgICA8c2NyaXB0IHNyYz0iLy9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZml0dmlkcy8xLjEuMC9qcXVlcnkuZml0dmlkcy5taW4uanMiPjwvc2NyaXB0PgoKICAgICAgPHNjcmlwdAogICAgICAgIHNyYz0iLy9kMnd5OGY3YTl1cnNubS5jbG91ZGZyb250Lm5ldC9idWdzbmFnLTIubWluLmpzIgogICAgICAgIGRhdGEtYXBpa2V5PSJjMzdhNTg2MTk2NzA5MWE5YjQyYTFhNzdlMjM1MTE0YSI+CiAgICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwiYWx0ZXJuYXRlTmFtZSI6Ik1TLTQ5LTM2MzItNTA4MyIsInVybCI6Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIsImF1dGhvciI6W3siQHR5cGUiOiJQZXJzb24iLCJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1IiwiZ2l2ZW5OYW1lIjoiTWFydGluIiwiZmFtaWx5TmFtZSI6IkZlbm5lciIsIm5hbWUiOiJNYXJ0aW4gRmVubmVyIn1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvIiwiaW1hZ2UiOiJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciLCJpc1BhcnRPZiI6eyJAdHlwZSI6IkJsb2ciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDAwLTAwU1MiLCJuYW1lIjoiRGF0YUNpdGUgQmxvZyJ9LCJjaXRhdGlvbiI6W3siQHR5cGUiOiJDcmVhdGl2ZVdvcmsiLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIn0seyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMCJ9XX0KICAgIDwvc2NyaXB0PgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlciIgaWQ9Im5hdnRvcCI+CiAgICAgIDxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItd2hpdGUiIHJvbGU9Im5hdmlnYXRpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9Ii8iPkRhdGFDaXRlIEJsb2c8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UiPgogICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2IG5hdmJhci1yaWdodCI+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5kYXRhY2l0ZS5vcmciPlN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgaWQ9InNpdGVzIj48aSBjbGFzcz0nZmEgZmEtdGgnPjwvaT4gPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWdsb2JlIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgSG9tZXBhZ2U8L2E+CiAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtcnNzIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgQmxvZzwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9tZHMuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZGF0YWJhc2UgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBNRFM8L2E+CiAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1maWxlLWNvZGUtbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFNjaGVtYTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9jaXRhdGlvbi5jcm9zc2NpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZmlsZS10ZXh0LW8gZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBDaXRhdGlvbiBGb3JtYXR0ZXI8L2E+CiAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZGl2aWRlciI+PC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2VhcmNoLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXNlYXJjaCBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFNlYXJjaDwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vb2FpLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXRhYmxlIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgT0FJLVBNSDwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHMuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtYmFyLWNoYXJ0IGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU3RhdGlzdGljczwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYXBpLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWNvZ3MgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBSRVNUIEFQSTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cucmUzZGF0YS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1jdWJlcyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIHJlM2RhdGE8L2E+CiAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZGl2aWRlciI+PC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9zdGF0dXMuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtY2FsZW5kYXItY2hlY2stbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFN0YXR1czwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvaGVhZGVyPgogICAgICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc2VjdGlvbi13aGl0ZSI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93IHJvdy1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICA8YSBuYW1lPSJ0b3BvZnBhZ2UiPjwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdC1tZXRhIj4KICAgICAgICAgICAgICA8aDE+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC9oMT4KICAgICAgICAgICAgICBEZWNlbWJlciAyMCwgMjAxNiBieSBNYXJ0aW4gRmVubmVyCiAgICAgICAgICAgICAg4oCiIDxzcGFuIGNsYXNzPSJwb3N0LXJlYWRpbmctdGltZSI+PC9zcGFuPiByZWFkCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZG9pIj48YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZzwvYT48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9uZXdyZXB1YmxpYy5jb20vYXJ0aWNsZS8xMTUzNDkvZG9nZm9vZGluZy10ZWNoLXNsYW5nLXdvcmtpbmctb3V0LWdsaXRjaGVzIj5FYXRpbmcgeW91ciBvd24gZG9nIGZvb2Q8L2E+IGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvciB0aGUgc2Nob2xhcmx5IG91dHB1dHMgd2UgcHJvZHVjZS4gRm9yIHRoZSBtb3N0IHBhcnQgdGhpcyBpcyBub3QgcmVzZWFyY2ggZGF0YSwgYnV0IHJhdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIHN1Y2ggYXMgdGhlIERhdGFDaXRlIFNjaGVtYSBhbmQgaXRzIGRvY3VtZW50YXRpb24gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4yMDE2PC9hPik8L3NwYW4+LjwvcD4KPHA+VGhlc2Ugb3V0cHV0cyBhbHNvIGluY2x1ZGUgdGhlIHBvc3RzIG9uIHRoaXMgYmxvZywgd2hlcmUgd2UgZGlzY3VzcyB0b3BpY3MgcmVsZXZhbnQgZm9yIHRoZSBEYXRhQ2l0ZSBjb21tdW5pdHksIGJ1dCBhbHNvIG9mIGJyb2FkZXIgaW50ZXJlc3QgdG8gYW55b25lIHdobyBjYXJlcyBhYm91dCByZXNlYXJjaCBkYXRhLCBwZXJzaXN0ZW50IGlkZW50aWZpZXJzLCBhbmQgc2Nob2xhcmx5IGluZnJhc3RydWN0dXJlLiBBbmQgc3RhcnRpbmcgdG9kYXkgYWxsIGJsb2cgcG9zdHMgb24gdGhpcyBibG9nIHdpbGwgaGF2ZSBhIERPSSwgbWV0YWRhdGEgYW5kIHVzZSBhIHBlcnNpc3RlbnQgc3RvcmFnZSBtZWNoYW5pc20uPC9wPgo8ZGl2IGNsYXNzPSJmaWd1cmUiPgo8aW1nIHNyYz0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIGFsdD0iUGhvdG8gYnkgQmlsbCBFbXJpY2guIENDIFplcm8uIiAvPgo8cCBjbGFzcz0iY2FwdGlvbiI+UGhvdG8gYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGV4ZWxzLmNvbS9waG90by9ibGFjay1hbmQtdGFuLXlvcmtzaGlyZS10ZXJyaWVyLXB1cHB5LTIzMDc4NS8iPkJpbGwgRW1yaWNoPC9hPi4gPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8iPkNDIFplcm88L2E+LjwvcD4KPC9kaXY+CjxoMyBpZD0idGVjaG5pY2FsLWltcGxlbWVudGF0aW9uIj5UZWNobmljYWwgSW1wbGVtZW50YXRpb248L2gzPgo8cD5UaGlzIGJsb2cgaXMgcG93ZXJlZCBieSB0aGUgc3RhdGljIHNpdGUgZ2VuZXJhdG9yIDxhIGhyZWY9Imh0dHBzOi8vbWlkZGxlbWFuYXBwLmNvbS8iPk1pZGRsZW1hbjwvYT4sIHdpdGggYmxvZyBwb3N0cyB3cml0dGVuIGluIDxhIGhyZWY9Imh0dHA6Ly9jb21tb25tYXJrLm9yZy8iPk1hcmtkb3duPC9hPiBhbmQgY29udmVydGVkIHRvIEhUTUwgdXNpbmcgPGEgaHJlZj0iaHR0cDovL3BhbmRvYy5vcmcvIj5QYW5kb2M8L2E+IGFuZCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly90cmF2aXMtY2kub3JnIj5UcmF2aXMgQ0k8L2E+IGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gc2VydmljZS4gU3RhdGljIHNpdGUgZ2VuZXJhdG9yIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gZGF0YWJhc2Ugb3IgYXBwbGljYXRpb24gc2VydmVyIHBvd2VyaW5nIHRoZSBzaXRlLCBtYWtpbmcgd2Vic2l0ZSBhZG1pbnN0cmF0aW9uIHNpbXBsZXIsIGNoZWFwZXIgYW5kIHNhZmVyLiBJbiBhZGRpdGlvbiB0byB0aGUgYmxvZywgdGhlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZyI+RGF0YUNpdGUgaG9tZXBhZ2U8L2E+IGFuZCA8YSBocmVmPSJodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmciPk1ldGFkYXRhIFNjaGVtYSBzdWJzaXRlPC9hPiBhcmUgYWxzbyBnZW5lcmF0ZWQgdXNpbmcgTWlkZGxlbWFuLjwvcD4KPHA+VGhlIHNpbXBsaWNpdHkgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBoZXJlLCBhcyByZWdpc3RlcmluZyB0aGUgRE9JcyBhbmQgbWV0YWRhdGEgY2FuIGJlIGFjY29tcGxpc2hlZCB1c2luZyBhIGNvbW1hbmQgbGluZSB1dGlsaXR5IHdyaXR0ZW4gYnkgRGF0YUNpdGUgc3RhZmYgdGhhdCBkb2VzbuKAmXQgbmVlZCB0byBrbm93IG11Y2ggYWJvdXQgdGhlIGludGVybmFscyBvZiBNaWRkbGVtYW4sIGFuZCB0aHVzIGNhbiBiZSBlYXNpbHkgYWRhcHRlZCB0byBvdGhlciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzIHN1Y2ggYXMgPGEgaHJlZj0iaHR0cDovL2pla3lsbHJiLmNvbS8iPkpla3lsbDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9nb2h1Z28uaW8vIj5IdWdvPC9hPiBvciA8YSBocmVmPSJodHRwczovL2hleG8uaW8vIj5IZXhvPC9hPi4gVGhlIGNvbW1hbmQgbGluZSB1dGlsaXR5IGlzIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9jaXJuZWNvIj5DaXJuZWNvPC9hPiwgZ2VuZXJhdGluZyB0aGUgbWV0YWRhdGEgWE1MIGFjY29yZGluZyB0byB0aGUgRGF0YUNpdGUgTWV0YWRhdGEgU2NoZW1hLCBhbmQgcmVnaXN0ZXJpbmcgRE9JIGFuZCBtZXRhZGF0YSB3aXRoIHRoZSBEYXRhQ2l0ZSBNRFMuIExpa2UgYWxsIHRvb2xzIG1lbnRpb25lZCBpbiB0aGlzIHBvc3QgQ2lybmVjbyBpcyBvcGVuIHNvdXJjZSBzb2Z0d2FyZSwgcGxlYXNlIHJlYWNoIG91dCB0byB1cyBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gaW1wbGVtZW50aW5nIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSBmb3IgeW91ciBibG9nLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLWRvaXMiPkdlbmVyYXRpbmcgRE9JczwvaDM+CjxwPlRoZSBET0lzIGZvciB0aGlzIGJsb2cgYXJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LCB1c2luZyBhIG1vZGlmaWVkIGJhc2UzMiBlbmNvZGluZyBhbGdvcml0aG0gdGhhdCBpcyBwcm92aWRlZCBieSBDaXJuZWNvLCBhcyBkaXNjdXNzZWQgbGFzdCB3ZWVrIDxzcGFuIGNsYXNzPSJjaXRhdGlvbiI+KEZlbm5lciwgPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPjIwMTY8L2E+KTwvc3Bhbj4uIFRoZSBET0kgaXMgZ2VuZXJhdGVkIGFuZCBtaW50ZWQgd2hlbiBhIG5ldyBwb3N0IGlzIHB1c2hlZCB0byA8YSBocmVmPSJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnIiBjbGFzcz0idXJpIj5odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnPC9hPi4gVGhpcyBhdm9pZHMgdHdvIHByb2JsZW1zOiBhKSBET0ktbGlrZSBzdHJpbmdzIGluIHRoZSB3aWxkIGJlZm9yZSBwdWJsaWNhdGlvbiBhbmQgYikgdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCBET0kgZXhpc3RzIGFscmVhZHkgKHdlIGNhbiBzaW1wbHkgZ2VuZXJhdGUgYSBuZXcgb25lKS4gQWxsIERPSXMgYXJlIHNob3J0LCB3aXRob3V0IHNlbWFudGljIGluZm9tYXRpb24gdGhhdCBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLCBhbmQgd2l0aCBhIGNoZWNrc3VtIHRvIG1pbmltaXplIHRyYW5zY3JpcHRpb24gZXJyb3JzLCBmb3IgZXhhbXBsZSA8c3Ryb25nPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4L1hDQkotRzdaWTwvc3Ryb25nPi4gR29pbmcgZm9yd2FyZCB3ZSBlbmNvdXJhZ2UgdXNlcnMgdG8gbGluayB0byB0aGUgRGF0YUNpdGUgQmxvZyB1c2luZyB0aGUgRE9JLCBhcyB0aGVzZSBsaW5rcyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgZXZlbiBpZiB3ZSBldmVyIG1vdmUgdGhlIGJsb2cgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24uPC9wPgo8aDMgaWQ9ImdlbmVyYXRpbmctbWV0YWRhdGEiPkdlbmVyYXRpbmcgTWV0YWRhdGE8L2gzPgo8cD5Gb3IgdGhlIGdlbmVyYXRpb24gb2YgbWV0YWRhdGEsIHdlIG5lZWQgdG8gc3RyaWtlIGEgYmFsYW5jZSBiZXR3ZWVuIHNpbXBsZSBhdXRob3IgcHJvdmlkZWQgbWV0YWRhdGEsIGJ1dCByaWNoIGVub3VnaCB0byBhaWQgZGlzY292ZXJ5LiBXZSBhcmUgZG9pbmcgdGhpcyB2aWEgdGhyZWUgbWVjaGFuaXNtczo8L3A+Cjx1bD4KPGxpPm1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3I8L2xpPgo8bGk+ZGVmYXVsdCBtZXRhZGF0YSBmb3IgdGhlIGJsb2c8L2xpPgo8bGk+bWV0YWRhdGEgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgZnJvbSBjb250ZW50PC9saT4KPC91bD4KPHA+VGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3IgYXJlIHRoZSB0eXBpY2FsIG1ldGFkYXRhIGZvciBibG9nIHBvc3RzLCBwcm92aWRlZCB2aWEgPGEgaHJlZj0iaHR0cHM6Ly9nb2h1Z28uaW8vY29udGVudC9mcm9udC1tYXR0ZXIvIj5ZQU1MIGZyb250IG1hdHRlcjwvYT4gYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHBvc3Q6PC9wPgo8ZGl2IGNsYXNzPSJzb3VyY2VDb2RlIj48cHJlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxjb2RlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPmxheW91dDo8L3NwYW4+IHBvc3QKPHNwYW4gY2xhc3M9ImZ1Ij50aXRsZTo8L3NwYW4+IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZAo8c3BhbiBjbGFzcz0iZnUiPmF1dGhvcjo8L3NwYW4+IG1mZW5uZXIKPHNwYW4gY2xhc3M9ImZ1Ij5kYXRlOjwvc3Bhbj4gMjAxNi0xMi0xOQo8c3BhbiBjbGFzcz0iZnUiPnRhZ3M6PC9zcGFuPgo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRhdGFjaXRlCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gZG9pCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gbWV0YWRhdGEKPHNwYW4gY2xhc3M9Im90Ij4tLS08L3NwYW4+PC9jb2RlPjwvcHJlPjwvZGl2Pgo8cD5XZSBjYW4gcmV1c2UgYWxsIHRoZXNlIG1ldGFkYXRhIHdoZW4gZ2VuZXJhdGluZyBEYXRhQ2l0ZSBtZXRhZGF0YSwgdXNpbmcgdGhlIHRhZ3MgYXMgPGNvZGU+c3ViamVjdHM8L2NvZGU+LjwvcD4KPHA+VGhlIGRlZmF1bHQgbWV0YWRhdGEgYXJlIG1ldGFkYXRhIHRoYXQgYWx3YXlzIHN0YXkgdGhlIHNhbWUgZm9yIHRoZSBibG9nLCBzdWNoIGFzIDxjb2RlPnB1Ymxpc2hlcjwvY29kZT4sIDxjb2RlPkhvc3RpbmdJbnN0aXR1dGlvbjwvY29kZT4gYW5kIDxjb2RlPnJpZ2h0czwvY29kZT4uIFdlIGNhbiBzdG9yZSB0aGVtIGluIGEgc2l0ZS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZS4gV2UgY2FuIGFsc28gYXNzdW1lIHJlYXNvbmFibGUgZGVmYXVsdHMgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBpbiB0aGUgWUFNTCBmcm9udCBtYXR0ZXIsIGUuZy4gPGNvZGU+cmVzb3VyY2VUeXBlPC9jb2RlPiAod2UgdXNlIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZyI+QmxvZ1Bvc3Rpbmc8L2E+IHdpdGggPGNvZGU+cmVzb3VyY2VUeXBlR2VuZXJhbDwvY29kZT4gVGV4dCkgYW5kIDxjb2RlPnZlcnNpb248L2NvZGU+LiBXZSBzdG9yZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGF1dGhvcnMgb3V0c2lkZSB0aGUgYmxvZyBwb3N0LCBpbmNsdWRpbmcgPGNvZGU+Z2l2ZW5OYW1lPC9jb2RlPiwgPGNvZGU+ZmFtaWx5TmFtZTwvY29kZT4gYW5kIDxjb2RlPm5hbWVJZGVudGlmaWVyPC9jb2RlPiAod2Ugbm93IHNob3cgdGhlIE9SQ0lEIElEIG9mIGV2ZXJ5IGJsb2cgYXV0aG9yIGF0IHRoZSBib3R0b20gb2YgdGhlIHBvc3QpLjwvcD4KPHA+RmluYWxseSwgdGhlcmUgYXJlIG1ldGFkYXRhIHRoYXQgd2UgY2FuIGF1dG9tYXRpY2FsbHkgZXh0cmFjdCBmcm9tIHRoZSBibG9nIHBvc3QsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGRvaW5nIHRoaXMgZm9yIHRoZSA8Y29kZT5kZXNjcmlwdGlvbjwvY29kZT4gYW5kIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi4gVGhpcyBibG9nIHVzZXMgUGFuZG9jIGFuZCBCaWJUZXggdG8gZ2VuZXJhdGUgdGhlIHJlZmVyZW5jZXMgc2VjdGlvbiBhdCB0aGUgZW5kLCBhbmQgd2UgY2FuIGZldGNoIHRoaXMgaW5mb3JtYXRpb24gYW5kIGNvbnZlcnQgaXQgaW50byB0aGUgZm9ybWF0IG5lZWRlZCBmb3IgPGNvZGU+cmVsYXRlZElkZW50aWZpZXI8L2NvZGU+LjwvcD4KPHA+VGFrZW4gdG9nZXRoZXIgd2UgY2FuIHByb3ZpZGUgYWxsIG1ldGFkYXRhIHRoYXQgYXJlIDxlbT5yZXF1aXJlZDwvZW0+IG9yIDxlbT5yZWNvbW1lbmRlZDwvZW0+IGluIHRoZSBNZXRhZGF0YSBTY2hlbWEgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4sIGFuZCB3ZSBjYW4gZG8gdGhpcyB3aXRob3V0IGFueSBleHRyYSBlZmZvcnQgZm9yIHRoZSBhdXRob3IuIFRoZSBmdWxsIFhNTCBpcyBhdmFsYWlsYWJsZSA8YSBocmVmPSJodHRwczovL2RhdGEuZGF0YWNpdGUub3JnL2FwcGxpY2F0aW9uL3gtZGF0YWNpdGUreG1sLzEwLjU0MzgvNEszTS1OWVZHIj5oZXJlPC9hPi48L3A+CjxwPk5vdCBhbGwgYmxvZyBwb3N0cyBuZWVkIHRvIGJlIGNpdGVkIGZvcm1hbGx5IHdpdGggbWV0YWRhdGEgaW4gYSA8ZW0+cmVmZXJlbmNlczwvZW0+IGxpc3QgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhIHNwZWNpZmljIGNpdGF0aW9uIHN0eWxlLiBCdXQgdGhlc2UgbWV0YWRhdGEgZ3JlYXRseSBoZWxwIHdpdGggZGlzY292ZXJ5LCBhIHNlYXJjaCBpbiBEYXRhQ2l0ZSBTZWFyY2ggZm9yIDxhIGhyZWY9Imh0dHA6Ly9zZWFyY2guZGF0YWNpdGUub3JnL3dvcmtzP3F1ZXJ5PWVhdGluZytkb2crZm9vZCI+ZWF0aW5nIGRvZyBmb29kPC9hPiB3aWxsIGZvciBleGFtcGxlIGJyaW5nIHVwIHRoaXMgYmxvZyBwb3N0IGFzIHRoZSBmaXJzdCBoaXQuPC9wPgo8aDMgaWQ9InBlcnNpc3RlbnQtc3RvcmFnZSI+UGVyc2lzdGVudCBzdG9yYWdlPC9oMz4KPHA+VXNpbmcgRE9JcyBtZWFucyB0aGF0IHJlYWRlcnMgbm90IG9ubHkgZXhwZWN0IHJpY2ggbWV0YWRhdGEgdGhhdCBoZWxwIHdpdGggY2l0YXRpb24gYW5kIGRpc2NvdmVyeSwgYnV0IGFsc28gdGhhdCBEYXRhQ2l0ZSB0YWtlcyBleHRyYSBjYXJlIHRvIHByZXNlcnZlIHRoZSBibG9nIHBvc3RzLCB0aGlua2luZyBiZXlvbmQgdGhlIHBhcnRpY3VsYXIgdGVjaG5pY2FsIGltcGxlbWVudGF0aW9uIG9yIGV2ZW4gdGhlIGNvbnRpdWluZyBleGlzdGVuY2Ugb2YgdGhpcyBibG9nLiBUaGlzIGlzIGFuIGFyZWEgd2hlcmUgd2UgZG8gbmVlZCB0byBkbyBtb3JlIHdvcmssIHN0YXJ0aW5nIHdpdGggYSBkZWNpc2lvbiBhYm91dCB0aGUgYmVzdCBhcmNoaXZhbCBmb3JtYXQgZm9yIGEgYmxvZyBwb3N0IChIVE1MLCBQREYsIDxhIGhyZWY9Imh0dHBzOi8vamF0cy5ubG0ubmloLmdvdi8iPkpBVFM8L2E+PykuIEZvciBub3cgYmxvZyBwb3N0cyBhcmUgaG9zdGVkIGluIG11bHRpcGxlIEdpdCByZXBvc2l0b3JpZXMgKDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9ibG9nIj5vbmUgb2YgdGhlbSBvbiBHaXRodWI8L2E+KSwgYW5kIGluIHR3byBpbmRlcGVuZGVudCBBbWF6b24gUzMgYnVja2V0cyB0aGF0IGVhY2ggdXNlIDxhIGhyZWY9Imh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVmVyc2lvbmluZy5odG1sIj52ZXJzaW9uaW5nPC9hPi4gTXVsdGlwbGUgbG9jYXRpb25zIHdpdGggdmVyc2lvbmluZyBhcmUgYSBnb29kIHN0YXJ0LCBidXQgbW9yZSB3b3JrIGlzIGNsZWFybHkgbmVlZGVkLjwvcD4KPGgzIGlkPSJyZWZlcmVuY2VzIiBjbGFzcz0idW5udW1iZXJlZCI+UmVmZXJlbmNlczwvaDM+CjxkaXYgaWQ9InJlZnMiIGNsYXNzPSJyZWZlcmVuY2VzIj4KPGRpdiBpZD0icmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPgo8cD5EYXRhQ2l0ZSBNZXRhZGF0YSBXb3JraW5nIEdyb3VwLiAoMjAxNikuIERhdGFDaXRlIE1ldGFkYXRhIFNjaGVtYSBmb3IgdGhlIFB1YmxpY2F0aW9uIGFuZCBDaXRhdGlvbiBvZiBSZXNlYXJjaCBEYXRhIHY0LjAuIDxlbT5EYXRhQ2l0ZTwvZW0+LiA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyPC9hPjwvcD4KPC9kaXY+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPgo8cD5GZW5uZXIsIE0uICgyMDE2KS4gQ29vbCBET0nigJlzLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzA8L2E+PC9wPgo8L2Rpdj4KPC9kaXY+CgogICAgICAgICAgICA8aHIgd2lkdGg9IjgwJSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUgY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYXV0aG9yIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci1pbWFnZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQzNDU5MmEwOTdlOTEyNjE3OTJlYmQ2YjQ5MjA0MmJjP3M9MjUwJmQ9bW0mcj14KSI+QmxvZyBMb2dvPC9kaXY+CiAgICAgICAgPGg0Pk1hcnRpbiBGZW5uZXI8L2g0PgogICAgICAgIDxwIGNsYXNzPSJiaW8iPkRhdGFDaXRlIFRlY2huaWNhbCBEaXJlY3RvcjwvcD4KICAgICAgICA8cCBjbGFzcz0ib3JjaWQiPjxhIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L2E+PC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KICAgICAgPGg0PkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvaDQ+CiAgICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmc8L2E+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxpIGNsYXNzPSJmYSBmYS1jYWxlbmRhciI+PC9pPiA8dGltZSBkYXRldGltZT0iMjAxNi0xMi0yMCAwMDowMCI+RGVjZW1iZXIgMjAsIDIwMTY8L3RpbWU+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtaGlzdG9yeSI+PC9pPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZy9jb21taXRzL21hc3Rlci9zb3VyY2UvcG9zdHMvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLmh0bWwubWQiPkhpc3Rvcnk8L2E+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj7CqSAyMDE2IE1hcnRpbiBGZW5uZXIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gbGljZW5zZTwvYT4uPC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdGFncyI+PC9pPgogICAgICAgIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1kYXRhY2l0ZSI+ZGF0YWNpdGU8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZG9pIj5kb2k8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9bWV0YWRhdGEiPm1ldGFkYXRhPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWZlYXR1cmVkIj5mZWF0dXJlZDwvYT4KICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC1tZC1vZmZzZXQtMSI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPGg1IGNsYXNzPSJpbmRleC1oZWFkbGluZSBmZWF0dXJlZCI+PHNwYW4+U2hhcmUgb248L3NwYW4+PC9oNT4KICAgICAgPGEgY2xhc3M9Imljb24tdHdpdHRlciIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlP3RleHQ9T24gdGhlIEBkYXRhY2l0ZSBibG9nOiBFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QmYW1wO3VybD1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAndHdpdHRlci1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIGZhLTJ4Ij48L2k+PHNwYW4gY2xhc3M9ImhpZGRlbiI+dHdpdHRlcjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iaWNvbi1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dT1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAnZmFjZWJvb2stc2hhcmUnLCAnd2lkdGg9NTUwLGhlaWdodD0yNTUnKTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2sgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj5mYWNlYm9vazwvc3Bhbj4KICAgICAgPC9hPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImRpc3F1c190aHJlYWQiPjwvZGl2Pgo8c2NyaXB0PgogICAgdmFyIGRpc3F1c19jb25maWcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5wYWdlLnVybCA9ICdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8nOwogICAgICAgIHRoaXMucGFnZS5pZGVudGlmaWVyID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICB9OwogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkID0gZG9jdW1lbnQsIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwoKICAgICAgICBzLnNyYyA9ICcvL2RhdGFjaXRlLmRpc3F1cy5jb20vZW1iZWQuanMnOyAgLy8KCiAgICAgICAgcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXN0YW1wJywgK25ldyBEYXRlKCkpOwogICAgICAgIChkLmhlYWQgfHwgZC5ib2R5KS5hcHBlbmRDaGlsZChzKTsKICAgIH0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHZpZXcgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZGlzcXVzLmNvbS8/cmVmX25vc2NyaXB0IiByZWw9Im5vZm9sbG93Ij5jb21tZW50cyBwb3dlcmVkIGJ5IERpc3F1cy48L2E+PC9ub3NjcmlwdD4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgICA8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL21pc3Npb24uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2JvYXJkLmh0bWwiPkJvYXJkPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RlZXJpbmcuaHRtbCI+U3RlZXJpbmcgZ3JvdXBzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RhZmYuaHRtbCI+U3RhZmY8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9qb2JvcHBvcnR1bml0aWVzLmh0bWwiPkpvYiBvcHBvcnR1bml0aWVzPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zIGNvbC1zbS00Jz4KICAgICAgICAgIDxoND5TZXJ2aWNlczwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZG9pcy5odG1sIj5Bc3NpZ24gRE9JczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3NlYXJjaC5odG1sIj5NZXRhZGF0YSBzZWFyY2g8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudGRhdGEuaHRtbCI+RXZlbnQgZGF0YTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3Byb2ZpbGVzLmh0bWwiPlByb2ZpbGVzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcmUzZGF0YS5odG1sIj5yZTNkYXRhPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvY2l0YXRpb24uaHRtbCI+Q2l0YXRpb24gZm9ybWF0dGVyPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RhdHMuaHRtbCI+U3RhdGlzdGljczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NvbnRlbnQuaHRtbCI+Q29udGVudCBuZWdvdGlhdGlvbjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL29haXBtaC5odG1sIj5PQUktUE1IPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zIGNvbC1zbS00Jz4KICAgICAgICAgIDxoND5SZXNvdXJjZXM8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zY2hlbWEuZGF0YWNpdGUub3JnIj5NZXRhZGF0YSBzY2hlbWE8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5kYXRhY2l0ZS5vcmciPlN1cHBvcnQ8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8aDQ+Q29tbXVuaXR5PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9tZW1iZXJzLmh0bWwiPk1lbWJlcnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wYXJ0bmVycy5odG1sIj5QYXJ0bmVyczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0ZWVyaW5nLmh0bWwiPlN0ZWVyaW5nIGdyb3VwczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2V2ZW50cy5odG1sIj5FdmVudHM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9yb2FkbWFwLmh0bWwiPlJvYWRtYXA8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy91c2VyLXN0b3JpZXMuaHRtbCI+VXNlciBTdG9yaWVzPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zJz4KICAgICAgICAgIDxoNCBjbGFzcz0ic2hhcmUiPkNvbnRhY3QgdXM8L2g0PgogICAgICAgICAgPGEgaHJlZj0nbWFpbHRvOnN1cHBvcnRAZGF0YWNpdGUub3JnJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtYXQnPjwvaT4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZmVlZC54bWwnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1yc3MnPjwvaT4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vdHdpdHRlci5jb20vZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS10d2l0dGVyJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1naXRodWInPjwvaT4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtbGlua2VkaW4nPjwvaT4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy90ZXJtcy5odG1sIj5UZXJtcyBhbmQgY29uZGl0aW9uczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3ByaXZhY3kuaHRtbCI+UHJpdmFjeSBwb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9hY2tub3dsZWRnbWVudHMuaHRtbCI+QWNrbm93bGVkZ2VtZW50czwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9zdGF0dXMuZGF0YWNpdGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWRlc2NyaXB0aW9uIj48L3NwYW4+CiAgICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9mb290ZXI+CiAgICA8c2NyaXB0IHNyYz0iLy9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTIuMS40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4zLjYvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLy9jZG4uc3RhdHVzcGFnZS5pby9zZS12Mi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hc3NldHMuZGF0YWNpdGUub3JnL2phdmFzY3JpcHRzL2RlZmF1bHQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9yZWFkaW5nVGltZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9pbmRleC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL3NlYXJjaC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGlkPSJkc3EtY291bnQtc2NyIiBzcmM9Ii8vZGF0YWNpdGUuZGlzcXVzLmNvbS9jb3VudC5qcyIgYXN5bmM+PC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7CiAgICAgIChpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLAogICAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgICAgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsKCiAgICAgIGdhKCdjcmVhdGUnLCAnVUEtMjI4MDYxOTYtNicsICdhdXRvJyk7CiAgICAgIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4K
104
+ PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9pbWFnZXMvMjAxNi8xMi8yMzA3ODUuanBnIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImJsb2ciIC8+CgogICAgPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0Jhc2tlcnZpbGxlOjQwMCw0MDBpLDcwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Jy8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCw2MDAsNDAwaXRhbGljLDYwMGl0YWxpYycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSIvL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjYuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0ndGV4dC9jc3MnPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9hc3NldHMuZGF0YWNpdGUub3JnL3N0eWxlc2hlZXRzL2RhdGFjaXRlLmNzcyIgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9Imljb24iIHR5cGU9ImltYWdlL2ljbyIgLz4KCiAgICA8c2NyaXB0IHNyYz0iLy9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZml0dmlkcy8xLjEuMC9qcXVlcnkuZml0dmlkcy5taW4uanMiPjwvc2NyaXB0PgoKICAgICAgPHNjcmlwdAogICAgICAgIHNyYz0iLy9kMnd5OGY3YTl1cnNubS5jbG91ZGZyb250Lm5ldC9idWdzbmFnLTIubWluLmpzIgogICAgICAgIGRhdGEtYXBpa2V5PSJjMzdhNTg2MTk2NzA5MWE5YjQyYTFhNzdlMjM1MTE0YSI+CiAgICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIifV0sInB1Ymxpc2hlciI6eyJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsIm5hbWUiOiJEYXRhQ2l0ZSJ9LCJkYXRlQ3JlYXRlZCI6IjIwMTYtMTItMjAiLCJkYXRlUHVibGlzaGVkIjoiMjAxNi0xMi0yMCIsImRhdGVNb2RpZmllZCI6IjIwMTYtMTItMjAiLCJrZXl3b3JkcyI6ImRhdGFjaXRlLCBkb2ksIG1ldGFkYXRhLCBmZWF0dXJlZCIsInZlcnNpb24iOiIxLjAiLCJkZXNjcmlwdGlvbiI6IkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi4iLCJsaWNlbnNlIjoiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iLCJpbWFnZSI6Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIiBpZD0ibmF2dG9wIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci13aGl0ZSIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiCiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+RGF0YUNpdGUgQmxvZzwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGFjaXRlLm9yZyI+U3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBpZD0ic2l0ZXMiPjxpIGNsYXNzPSdmYSBmYS10aCc+PC9pPiA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2xvYmUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBIb21lcGFnZTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1yc3MgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBCbG9nPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL21kcy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1kYXRhYmFzZSBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIE1EUzwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWZpbGUtY29kZS1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2NoZW1hPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2NpdGF0aW9uLmNyb3NzY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1maWxlLXRleHQtbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIEZvcm1hdHRlcjwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zZWFyY2guZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtc2VhcmNoIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2VhcmNoPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9vYWkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdGFibGUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBPQUktUE1IPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGF0cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1iYXItY2hhcnQgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtY29ncyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFJFU1QgQVBJPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5yZTNkYXRhLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWN1YmVzIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgcmUzZGF0YTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3N0YXR1cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1jYWxlbmRhci1jaGVjay1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU3RhdHVzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN0aW9uLXdoaXRlIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxhIG5hbWU9InRvcG9mcGFnZSI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0LW1ldGEiPgogICAgICAgICAgICAgIDxoMT5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2gxPgogICAgICAgICAgICAgIERlY2VtYmVyIDIwLCAyMDE2IGJ5IE1hcnRpbiBGZW5uZXIKICAgICAgICAgICAgICDigKIgPHNwYW4gY2xhc3M9InBvc3QtcmVhZGluZy10aW1lIj48L3NwYW4+IHJlYWQKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkb2kiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwczovL25ld3JlcHVibGljLmNvbS9hcnRpY2xlLzExNTM0OS9kb2dmb29kaW5nLXRlY2gtc2xhbmctd29ya2luZy1vdXQtZ2xpdGNoZXMiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZDwvYT4gaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yIHRoZSBzY2hvbGFybHkgb3V0cHV0cyB3ZSBwcm9kdWNlLiBGb3IgdGhlIG1vc3QgcGFydCB0aGlzIGlzIG5vdCByZXNlYXJjaCBkYXRhLCBidXQgcmF0aGVyIHRlY2huaWNhbCBkb2N1bWVudHMgc3VjaCBhcyB0aGUgRGF0YUNpdGUgU2NoZW1hIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4uPC9wPgo8cD5UaGVzZSBvdXRwdXRzIGFsc28gaW5jbHVkZSB0aGUgcG9zdHMgb24gdGhpcyBibG9nLCB3aGVyZSB3ZSBkaXNjdXNzIHRvcGljcyByZWxldmFudCBmb3IgdGhlIERhdGFDaXRlIGNvbW11bml0eSwgYnV0IGFsc28gb2YgYnJvYWRlciBpbnRlcmVzdCB0byBhbnlvbmUgd2hvIGNhcmVzIGFib3V0IHJlc2VhcmNoIGRhdGEsIHBlcnNpc3RlbnQgaWRlbnRpZmllcnMsIGFuZCBzY2hvbGFybHkgaW5mcmFzdHJ1Y3R1cmUuIEFuZCBzdGFydGluZyB0b2RheSBhbGwgYmxvZyBwb3N0cyBvbiB0aGlzIGJsb2cgd2lsbCBoYXZlIGEgRE9JLCBtZXRhZGF0YSBhbmQgdXNlIGEgcGVyc2lzdGVudCBzdG9yYWdlIG1lY2hhbmlzbS48L3A+CjxkaXYgY2xhc3M9ImZpZ3VyZSI+CjxpbWcgc3JjPSIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIgYWx0PSJQaG90byBieSBCaWxsIEVtcmljaC4gQ0MgWmVyby4iIC8+CjxwIGNsYXNzPSJjYXB0aW9uIj5QaG90byBieSA8YSBocmVmPSJodHRwczovL3d3dy5wZXhlbHMuY29tL3Bob3RvL2JsYWNrLWFuZC10YW4teW9ya3NoaXJlLXRlcnJpZXItcHVwcHktMjMwNzg1LyI+QmlsbCBFbXJpY2g8L2E+LiA8YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyI+Q0MgWmVybzwvYT4uPC9wPgo8L2Rpdj4KPGgzIGlkPSJ0ZWNobmljYWwtaW1wbGVtZW50YXRpb24iPlRlY2huaWNhbCBJbXBsZW1lbnRhdGlvbjwvaDM+CjxwPlRoaXMgYmxvZyBpcyBwb3dlcmVkIGJ5IHRoZSBzdGF0aWMgc2l0ZSBnZW5lcmF0b3IgPGEgaHJlZj0iaHR0cHM6Ly9taWRkbGVtYW5hcHAuY29tLyI+TWlkZGxlbWFuPC9hPiwgd2l0aCBibG9nIHBvc3RzIHdyaXR0ZW4gaW4gPGEgaHJlZj0iaHR0cDovL2NvbW1vbm1hcmsub3JnLyI+TWFya2Rvd248L2E+IGFuZCBjb252ZXJ0ZWQgdG8gSFRNTCB1c2luZyA8YSBocmVmPSJodHRwOi8vcGFuZG9jLm9yZy8iPlBhbmRvYzwvYT4gYW5kIHRoZSA8YSBocmVmPSJodHRwczovL3RyYXZpcy1jaS5vcmciPlRyYXZpcyBDSTwvYT4gY29udGludW91cyBpbnRlZ3JhdGlvbiBzZXJ2aWNlLiBTdGF0aWMgc2l0ZSBnZW5lcmF0b3IgbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBkYXRhYmFzZSBvciBhcHBsaWNhdGlvbiBzZXJ2ZXIgcG93ZXJpbmcgdGhlIHNpdGUsIG1ha2luZyB3ZWJzaXRlIGFkbWluc3RyYXRpb24gc2ltcGxlciwgY2hlYXBlciBhbmQgc2FmZXIuIEluIGFkZGl0aW9uIHRvIHRoZSBibG9nLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj5EYXRhQ2l0ZSBob21lcGFnZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgU2NoZW1hIHN1YnNpdGU8L2E+IGFyZSBhbHNvIGdlbmVyYXRlZCB1c2luZyBNaWRkbGVtYW4uPC9wPgo8cD5UaGUgc2ltcGxpY2l0eSBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGhlcmUsIGFzIHJlZ2lzdGVyaW5nIHRoZSBET0lzIGFuZCBtZXRhZGF0YSBjYW4gYmUgYWNjb21wbGlzaGVkIHVzaW5nIGEgY29tbWFuZCBsaW5lIHV0aWxpdHkgd3JpdHRlbiBieSBEYXRhQ2l0ZSBzdGFmZiB0aGF0IGRvZXNu4oCZdCBuZWVkIHRvIGtub3cgbXVjaCBhYm91dCB0aGUgaW50ZXJuYWxzIG9mIE1pZGRsZW1hbiwgYW5kIHRodXMgY2FuIGJlIGVhc2lseSBhZGFwdGVkIHRvIG90aGVyIHN0YXRpYyBzaXRlIGdlbmVyYXRvcnMgc3VjaCBhcyA8YSBocmVmPSJodHRwOi8vamVreWxscmIuY29tLyI+SmVreWxsPC9hPiwgPGEgaHJlZj0iaHR0cDovL2dvaHVnby5pby8iPkh1Z288L2E+IG9yIDxhIGhyZWY9Imh0dHBzOi8vaGV4by5pby8iPkhleG88L2E+LiBUaGUgY29tbWFuZCBsaW5lIHV0aWxpdHkgaXMgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2Npcm5lY28iPkNpcm5lY288L2E+LCBnZW5lcmF0aW5nIHRoZSBtZXRhZGF0YSBYTUwgYWNjb3JkaW5nIHRvIHRoZSBEYXRhQ2l0ZSBNZXRhZGF0YSBTY2hlbWEsIGFuZCByZWdpc3RlcmluZyBET0kgYW5kIG1ldGFkYXRhIHdpdGggdGhlIERhdGFDaXRlIE1EUy4gTGlrZSBhbGwgdG9vbHMgbWVudGlvbmVkIGluIHRoaXMgcG9zdCBDaXJuZWNvIGlzIG9wZW4gc291cmNlIHNvZnR3YXJlLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHVzIGlmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBpbXBsZW1lbnRpbmcgc2ltaWxhciBmdW5jdGlvbmFsaXR5IGZvciB5b3VyIGJsb2cuPC9wPgo8aDMgaWQ9ImdlbmVyYXRpbmctZG9pcyI+R2VuZXJhdGluZyBET0lzPC9oMz4KPHA+VGhlIERPSXMgZm9yIHRoaXMgYmxvZyBhcmUgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHksIHVzaW5nIGEgbW9kaWZpZWQgYmFzZTMyIGVuY29kaW5nIGFsZ29yaXRobSB0aGF0IGlzIHByb3ZpZGVkIGJ5IENpcm5lY28sIGFzIGRpc2N1c3NlZCBsYXN0IHdlZWsgPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oRmVubmVyLCA8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMCI+MjAxNjwvYT4pPC9zcGFuPi4gVGhlIERPSSBpcyBnZW5lcmF0ZWQgYW5kIG1pbnRlZCB3aGVuIGEgbmV3IHBvc3QgaXMgcHVzaGVkIHRvIDxhIGhyZWY9Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmciIGNsYXNzPSJ1cmkiPmh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmc8L2E+LiBUaGlzIGF2b2lkcyB0d28gcHJvYmxlbXM6IGEpIERPSS1saWtlIHN0cmluZ3MgaW4gdGhlIHdpbGQgYmVmb3JlIHB1YmxpY2F0aW9uIGFuZCBiKSB0aGUgcmFuZG9tbHkgZ2VuZXJhdGVkIERPSSBleGlzdHMgYWxyZWFkeSAod2UgY2FuIHNpbXBseSBnZW5lcmF0ZSBhIG5ldyBvbmUpLiBBbGwgRE9JcyBhcmUgc2hvcnQsIHdpdGhvdXQgc2VtYW50aWMgaW5mb21hdGlvbiB0aGF0IG1pZ2h0IGNoYW5nZSBvdmVyIHRpbWUsIGFuZCB3aXRoIGEgY2hlY2tzdW0gdG8gbWluaW1pemUgdHJhbnNjcmlwdGlvbiBlcnJvcnMsIGZvciBleGFtcGxlIDxzdHJvbmc+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvWENCSi1HN1pZPC9zdHJvbmc+LiBHb2luZyBmb3J3YXJkIHdlIGVuY291cmFnZSB1c2VycyB0byBsaW5rIHRvIHRoZSBEYXRhQ2l0ZSBCbG9nIHVzaW5nIHRoZSBET0ksIGFzIHRoZXNlIGxpbmtzIHdpbGwgY29udGludWUgdG8gd29yayBldmVuIGlmIHdlIGV2ZXIgbW92ZSB0aGUgYmxvZyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbi48L3A+CjxoMyBpZD0iZ2VuZXJhdGluZy1tZXRhZGF0YSI+R2VuZXJhdGluZyBNZXRhZGF0YTwvaDM+CjxwPkZvciB0aGUgZ2VuZXJhdGlvbiBvZiBtZXRhZGF0YSwgd2UgbmVlZCB0byBzdHJpa2UgYSBiYWxhbmNlIGJldHdlZW4gc2ltcGxlIGF1dGhvciBwcm92aWRlZCBtZXRhZGF0YSwgYnV0IHJpY2ggZW5vdWdoIHRvIGFpZCBkaXNjb3ZlcnkuIFdlIGFyZSBkb2luZyB0aGlzIHZpYSB0aHJlZSBtZWNoYW5pc21zOjwvcD4KPHVsPgo8bGk+bWV0YWRhdGEgcHJvdmlkZWQgYnkgdGhlIGF1dGhvcjwvbGk+CjxsaT5kZWZhdWx0IG1ldGFkYXRhIGZvciB0aGUgYmxvZzwvbGk+CjxsaT5tZXRhZGF0YSBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBmcm9tIGNvbnRlbnQ8L2xpPgo8L3VsPgo8cD5UaGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgdGhlIGF1dGhvciBhcmUgdGhlIHR5cGljYWwgbWV0YWRhdGEgZm9yIGJsb2cgcG9zdHMsIHByb3ZpZGVkIHZpYSA8YSBocmVmPSJodHRwczovL2dvaHVnby5pby9jb250ZW50L2Zyb250LW1hdHRlci8iPllBTUwgZnJvbnQgbWF0dGVyPC9hPiBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcG9zdDo8L3A+CjxkaXYgY2xhc3M9InNvdXJjZUNvZGUiPjxwcmUgY2xhc3M9InNvdXJjZUNvZGUgeWFtbCI+PGNvZGUgY2xhc3M9InNvdXJjZUNvZGUgeWFtbCI+PHNwYW4gY2xhc3M9Im90Ij4tLS08L3NwYW4+CjxzcGFuIGNsYXNzPSJmdSI+bGF5b3V0Ojwvc3Bhbj4gcG9zdAo8c3BhbiBjbGFzcz0iZnUiPnRpdGxlOjwvc3Bhbj4gRWF0aW5nIHlvdXIgb3duIERvZyBGb29kCjxzcGFuIGNsYXNzPSJmdSI+YXV0aG9yOjwvc3Bhbj4gbWZlbm5lcgo8c3BhbiBjbGFzcz0iZnUiPmRhdGU6PC9zcGFuPiAyMDE2LTEyLTE5CjxzcGFuIGNsYXNzPSJmdSI+dGFnczo8L3NwYW4+CjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gZGF0YWNpdGUKPHNwYW4gY2xhc3M9Imt3Ij4tPC9zcGFuPiBkb2kKPHNwYW4gY2xhc3M9Imt3Ij4tPC9zcGFuPiBtZXRhZGF0YQo8c3BhbiBjbGFzcz0ib3QiPi0tLTwvc3Bhbj48L2NvZGU+PC9wcmU+PC9kaXY+CjxwPldlIGNhbiByZXVzZSBhbGwgdGhlc2UgbWV0YWRhdGEgd2hlbiBnZW5lcmF0aW5nIERhdGFDaXRlIG1ldGFkYXRhLCB1c2luZyB0aGUgdGFncyBhcyA8Y29kZT5zdWJqZWN0czwvY29kZT4uPC9wPgo8cD5UaGUgZGVmYXVsdCBtZXRhZGF0YSBhcmUgbWV0YWRhdGEgdGhhdCBhbHdheXMgc3RheSB0aGUgc2FtZSBmb3IgdGhlIGJsb2csIHN1Y2ggYXMgPGNvZGU+cHVibGlzaGVyPC9jb2RlPiwgPGNvZGU+SG9zdGluZ0luc3RpdHV0aW9uPC9jb2RlPiBhbmQgPGNvZGU+cmlnaHRzPC9jb2RlPi4gV2UgY2FuIHN0b3JlIHRoZW0gaW4gYSBzaXRlLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlLiBXZSBjYW4gYWxzbyBhc3N1bWUgcmVhc29uYWJsZSBkZWZhdWx0cyB0aGF0IGNhbiBiZSBvdmVycmlkZGVuIGluIHRoZSBZQU1MIGZyb250IG1hdHRlciwgZS5nLiA8Y29kZT5yZXNvdXJjZVR5cGU8L2NvZGU+ICh3ZSB1c2UgPGEgaHJlZj0iaHR0cHM6Ly9zY2hlbWEub3JnL0Jsb2dQb3N0aW5nIj5CbG9nUG9zdGluZzwvYT4gd2l0aCA8Y29kZT5yZXNvdXJjZVR5cGVHZW5lcmFsPC9jb2RlPiBUZXh0KSBhbmQgPGNvZGU+dmVyc2lvbjwvY29kZT4uIFdlIHN0b3JlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgYXV0aG9ycyBvdXRzaWRlIHRoZSBibG9nIHBvc3QsIGluY2x1ZGluZyA8Y29kZT5naXZlbk5hbWU8L2NvZGU+LCA8Y29kZT5mYW1pbHlOYW1lPC9jb2RlPiBhbmQgPGNvZGU+bmFtZUlkZW50aWZpZXI8L2NvZGU+ICh3ZSBub3cgc2hvdyB0aGUgT1JDSUQgSUQgb2YgZXZlcnkgYmxvZyBhdXRob3IgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcG9zdCkuPC9wPgo8cD5GaW5hbGx5LCB0aGVyZSBhcmUgbWV0YWRhdGEgdGhhdCB3ZSBjYW4gYXV0b21hdGljYWxseSBleHRyYWN0IGZyb20gdGhlIGJsb2cgcG9zdCwgYW5kIHdlIGFyZSBjdXJyZW50bHkgZG9pbmcgdGhpcyBmb3IgdGhlIDxjb2RlPmRlc2NyaXB0aW9uPC9jb2RlPiBhbmQgPGNvZGU+cmVsYXRlZElkZW50aWZpZXI8L2NvZGU+LiBUaGlzIGJsb2cgdXNlcyBQYW5kb2MgYW5kIEJpYlRleCB0byBnZW5lcmF0ZSB0aGUgcmVmZXJlbmNlcyBzZWN0aW9uIGF0IHRoZSBlbmQsIGFuZCB3ZSBjYW4gZmV0Y2ggdGhpcyBpbmZvcm1hdGlvbiBhbmQgY29udmVydCBpdCBpbnRvIHRoZSBmb3JtYXQgbmVlZGVkIGZvciA8Y29kZT5yZWxhdGVkSWRlbnRpZmllcjwvY29kZT4uPC9wPgo8cD5UYWtlbiB0b2dldGhlciB3ZSBjYW4gcHJvdmlkZSBhbGwgbWV0YWRhdGEgdGhhdCBhcmUgPGVtPnJlcXVpcmVkPC9lbT4gb3IgPGVtPnJlY29tbWVuZGVkPC9lbT4gaW4gdGhlIE1ldGFkYXRhIFNjaGVtYSBkb2N1bWVudGF0aW9uIDxzcGFuIGNsYXNzPSJjaXRhdGlvbiI+KDxhIGhyZWY9IiNyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMiI+MjAxNjwvYT4pPC9zcGFuPiwgYW5kIHdlIGNhbiBkbyB0aGlzIHdpdGhvdXQgYW55IGV4dHJhIGVmZm9ydCBmb3IgdGhlIGF1dGhvci4gVGhlIGZ1bGwgWE1MIGlzIGF2YWxhaWxhYmxlIDxhIGhyZWY9Imh0dHBzOi8vZGF0YS5kYXRhY2l0ZS5vcmcvYXBwbGljYXRpb24veC1kYXRhY2l0ZSt4bWwvMTAuNTQzOC80SzNNLU5ZVkciPmhlcmU8L2E+LjwvcD4KPHA+Tm90IGFsbCBibG9nIHBvc3RzIG5lZWQgdG8gYmUgY2l0ZWQgZm9ybWFsbHkgd2l0aCBtZXRhZGF0YSBpbiBhIDxlbT5yZWZlcmVuY2VzPC9lbT4gbGlzdCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIGEgc3BlY2lmaWMgY2l0YXRpb24gc3R5bGUuIEJ1dCB0aGVzZSBtZXRhZGF0YSBncmVhdGx5IGhlbHAgd2l0aCBkaXNjb3ZlcnksIGEgc2VhcmNoIGluIERhdGFDaXRlIFNlYXJjaCBmb3IgPGEgaHJlZj0iaHR0cDovL3NlYXJjaC5kYXRhY2l0ZS5vcmcvd29ya3M/cXVlcnk9ZWF0aW5nK2RvZytmb29kIj5lYXRpbmcgZG9nIGZvb2Q8L2E+IHdpbGwgZm9yIGV4YW1wbGUgYnJpbmcgdXAgdGhpcyBibG9nIHBvc3QgYXMgdGhlIGZpcnN0IGhpdC48L3A+CjxoMyBpZD0icGVyc2lzdGVudC1zdG9yYWdlIj5QZXJzaXN0ZW50IHN0b3JhZ2U8L2gzPgo8cD5Vc2luZyBET0lzIG1lYW5zIHRoYXQgcmVhZGVycyBub3Qgb25seSBleHBlY3QgcmljaCBtZXRhZGF0YSB0aGF0IGhlbHAgd2l0aCBjaXRhdGlvbiBhbmQgZGlzY292ZXJ5LCBidXQgYWxzbyB0aGF0IERhdGFDaXRlIHRha2VzIGV4dHJhIGNhcmUgdG8gcHJlc2VydmUgdGhlIGJsb2cgcG9zdHMsIHRoaW5raW5nIGJleW9uZCB0aGUgcGFydGljdWxhciB0ZWNobmljYWwgaW1wbGVtZW50YXRpb24gb3IgZXZlbiB0aGUgY29udGl1aW5nIGV4aXN0ZW5jZSBvZiB0aGlzIGJsb2cuIFRoaXMgaXMgYW4gYXJlYSB3aGVyZSB3ZSBkbyBuZWVkIHRvIGRvIG1vcmUgd29yaywgc3RhcnRpbmcgd2l0aCBhIGRlY2lzaW9uIGFib3V0IHRoZSBiZXN0IGFyY2hpdmFsIGZvcm1hdCBmb3IgYSBibG9nIHBvc3QgKEhUTUwsIFBERiwgPGEgaHJlZj0iaHR0cHM6Ly9qYXRzLm5sbS5uaWguZ292LyI+SkFUUzwvYT4/KS4gRm9yIG5vdyBibG9nIHBvc3RzIGFyZSBob3N0ZWQgaW4gbXVsdGlwbGUgR2l0IHJlcG9zaXRvcmllcyAoPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2Jsb2ciPm9uZSBvZiB0aGVtIG9uIEdpdGh1YjwvYT4pLCBhbmQgaW4gdHdvIGluZGVwZW5kZW50IEFtYXpvbiBTMyBidWNrZXRzIHRoYXQgZWFjaCB1c2UgPGEgaHJlZj0iaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9WZXJzaW9uaW5nLmh0bWwiPnZlcnNpb25pbmc8L2E+LiBNdWx0aXBsZSBsb2NhdGlvbnMgd2l0aCB2ZXJzaW9uaW5nIGFyZSBhIGdvb2Qgc3RhcnQsIGJ1dCBtb3JlIHdvcmsgaXMgY2xlYXJseSBuZWVkZWQuPC9wPgo8aDMgaWQ9InJlZmVyZW5jZXMiIGNsYXNzPSJ1bm51bWJlcmVkIj5SZWZlcmVuY2VzPC9oMz4KPGRpdiBpZD0icmVmcyIgY2xhc3M9InJlZmVyZW5jZXMiPgo8ZGl2IGlkPSJyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMiI+CjxwPkRhdGFDaXRlIE1ldGFkYXRhIFdvcmtpbmcgR3JvdXAuICgyMDE2KS4gRGF0YUNpdGUgTWV0YWRhdGEgU2NoZW1hIGZvciB0aGUgUHVibGljYXRpb24gYW5kIENpdGF0aW9uIG9mIFJlc2VhcmNoIERhdGEgdjQuMC4gPGVtPkRhdGFDaXRlPC9lbT4uIDxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiIGNsYXNzPSJ1cmkiPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTI8L2E+PC9wPgo8L2Rpdj4KPGRpdiBpZD0icmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMCI+CjxwPkZlbm5lciwgTS4gKDIwMTYpLiBDb29sIERPSeKAmXMuIDxlbT5EYXRhQ2l0ZTwvZW0+LiA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiIGNsYXNzPSJ1cmkiPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMDwvYT48L3A+CjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDxociB3aWR0aD0iODAlIj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNSBjb2wtbWQtb2Zmc2V0LTIgcG9zdC1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLXRlYXNlciBjZiI+CiAgPGRpdiBjbGFzcz0iaXNMZWZ0Ij4KICAgIDxzZWN0aW9uIGNsYXNzPSJhdXRob3IiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yLWltYWdlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIvNDM0NTkyYTA5N2U5MTI2MTc5MmViZDZiNDkyMDQyYmM/cz0yNTAmZD1tbSZyPXgpIj5CbG9nIExvZ288L2Rpdj4KICAgICAgICA8aDQ+TWFydGluIEZlbm5lcjwvaDQ+CiAgICAgICAgPHAgY2xhc3M9ImJpbyI+RGF0YUNpdGUgVGVjaG5pY2FsIERpcmVjdG9yPC9wPgogICAgICAgIDxwIGNsYXNzPSJvcmNpZCI+PGEgaHJlZj0iaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTE0MTktMjQwNSI+aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTE0MTktMjQwNTwvYT48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2PgogICAgICA8aDQ+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC9oND4KICAgICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZzwvYT4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGkgY2xhc3M9ImZhIGZhLWNhbGVuZGFyIj48L2k+IDx0aW1lIGRhdGV0aW1lPSIyMDE2LTEyLTIwIDAwOjAwIj5EZWNlbWJlciAyMCwgMjAxNjwvdGltZT48L3A+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxpIGNsYXNzPSJmYSBmYS1oaXN0b3J5Ij48L2k+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9ibG9nL2NvbW1pdHMvbWFzdGVyL3NvdXJjZS9wb3N0cy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QuaHRtbC5tZCI+SGlzdG9yeTwvYT48L3A+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPsKpIDIwMTYgTWFydGluIEZlbm5lci4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiBsaWNlbnNlPC9hPi48L3A+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS10YWdzIj48L2k+CiAgICAgICAgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWRhdGFjaXRlIj5kYXRhY2l0ZTwvYT4sIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1kb2kiPmRvaTwvYT4sIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1tZXRhZGF0YSI+bWV0YWRhdGE8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZmVhdHVyZWQiPmZlYXR1cmVkPC9hPgogICAgICA8L3A+CiAgICA8L3NlY3Rpb24+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLW1kLW9mZnNldC0xIj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8aDUgY2xhc3M9ImluZGV4LWhlYWRsaW5lIGZlYXR1cmVkIj48c3Bhbj5TaGFyZSBvbjwvc3Bhbj48L2g1PgogICAgICA8YSBjbGFzcz0iaWNvbi10d2l0dGVyIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vc2hhcmU/dGV4dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dXJsPWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICd0d2l0dGVyLXNoYXJlJywgJ3dpZHRoPTU1MCxoZWlnaHQ9MjU1Jyk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj50d2l0dGVyPC9zcGFuPgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJpY29uLWZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD90PU9uIHRoZSBAZGF0YWNpdGUgYmxvZzogRWF0aW5nIHlvdXIgb3duIERvZyBGb29kJmFtcDt1PWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICdmYWNlYm9vay1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayBmYS0yeCI+PC9pPjxzcGFuIGNsYXNzPSJoaWRkZW4iPmZhY2Vib29rPC9zcGFuPgogICAgICA8L2E+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iZGlzcXVzX3RocmVhZCI+PC9kaXY+CjxzY3JpcHQ+CiAgICB2YXIgZGlzcXVzX2NvbmZpZyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB0aGlzLnBhZ2UudXJsID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICAgICAgdGhpcy5wYWdlLmlkZW50aWZpZXIgPSAnaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvJzsKICAgIH07CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGQgPSBkb2N1bWVudCwgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgogICAgICAgIHMuc3JjID0gJy8vZGF0YWNpdGUuZGlzcXVzLmNvbS9lbWJlZC5qcyc7ICAvLwoKICAgICAgICBzLnNldEF0dHJpYnV0ZSgnZGF0YS10aW1lc3RhbXAnLCArbmV3IERhdGUoKSk7CiAgICAgICAgKGQuaGVhZCB8fCBkLmJvZHkpLmFwcGVuZENoaWxkKHMpOwogICAgfSkoKTsKPC9zY3JpcHQ+Cjxub3NjcmlwdD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gdmlldyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9kaXNxdXMuY29tLz9yZWZfbm9zY3JpcHQiIHJlbD0ibm9mb2xsb3ciPmNvbW1lbnRzIHBvd2VyZWQgYnkgRGlzcXVzLjwvYT48L25vc2NyaXB0PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAgIDxmb290ZXIgY2xhc3M9J3JvdyBmb290ZXInPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zIGNvbC1zbS00Jz4KICAgICAgICAgIDxoND5BYm91dCBEYXRhQ2l0ZTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWlzc2lvbi5odG1sIj5XaGF0IHdlIGRvPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYm9hcmQuaHRtbCI+Qm9hcmQ8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGFmZi5odG1sIj5TdGFmZjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2pvYm9wcG9ydHVuaXRpZXMuaHRtbCI+Sm9iIG9wcG9ydHVuaXRpZXM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nY29sLW1kLTMgY29sLXNtLTQnPgogICAgICAgICAgPGg0PlNlcnZpY2VzPC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9kb2lzLmh0bWwiPkFzc2lnbiBET0lzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc2VhcmNoLmh0bWwiPk1ldGFkYXRhIHNlYXJjaDwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2V2ZW50ZGF0YS5odG1sIj5FdmVudCBkYXRhPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcHJvZmlsZXMuaHRtbCI+UHJvZmlsZXM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9yZTNkYXRhLmh0bWwiPnJlM2RhdGE8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9jaXRhdGlvbi5odG1sIj5DaXRhdGlvbiBmb3JtYXR0ZXI8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGF0cy5odG1sIj5TdGF0aXN0aWNzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvY29udGVudC5odG1sIj5Db250ZW50IG5lZ290aWF0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvb2FpcG1oLmh0bWwiPk9BSS1QTUg8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nY29sLW1kLTMgY29sLXNtLTQnPgogICAgICAgICAgPGg0PlJlc291cmNlczwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmciPk1ldGFkYXRhIHNjaGVtYTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGFjaXRlLm9yZyI+U3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICAgIDxoND5Db21tdW5pdHk8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL21lbWJlcnMuaHRtbCI+TWVtYmVyczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3BhcnRuZXJzLmh0bWwiPlBhcnRuZXJzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RlZXJpbmcuaHRtbCI+U3RlZXJpbmcgZ3JvdXBzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZXZlbnRzLmh0bWwiPkV2ZW50czwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3JvYWRtYXAuaHRtbCI+Um9hZG1hcDwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3VzZXItc3Rvcmllcy5odG1sIj5Vc2VyIFN0b3JpZXM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nY29sLW1kLTMnPgogICAgICAgICAgPGg0IGNsYXNzPSJzaGFyZSI+Q29udGFjdCB1czwvaDQ+CiAgICAgICAgICA8YSBocmVmPSdtYWlsdG86c3VwcG9ydEBkYXRhY2l0ZS5vcmcnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1hdCc+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9mZWVkLnhtbCcgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXJzcyc+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly90d2l0dGVyLmNvbS9kYXRhY2l0ZScgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXR3aXR0ZXInPjwvaT4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9kYXRhY2l0ZScgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWdpdGh1Yic+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1saW5rZWRpbic+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3Rlcm1zLmh0bWwiPlRlcm1zIGFuZCBjb25kaXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcHJpdmFjeS5odG1sIj5Qcml2YWN5IHBvbGljeTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2Fja25vd2xlZGdtZW50cy5odG1sIj5BY2tub3dsZWRnZW1lbnRzPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3N0YXR1cy5kYXRhY2l0ZS5vcmciIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWRvdCI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItZGVzY3JpcHRpb24iPjwvc3Bhbj4KICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Zvb3Rlcj4KICAgIDxzY3JpcHQgc3JjPSIvL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMi4xLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjMuNi9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvL2Nkbi5zdGF0dXNwYWdlLmlvL3NlLXYyLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvamF2YXNjcmlwdHMvZGVmYXVsdC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL3JlYWRpbmdUaW1lLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL2luZGV4LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvamF2YXNjcmlwdHMvc2VhcmNoLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgaWQ9ImRzcS1jb3VudC1zY3IiIHNyYz0iLy9kYXRhY2l0ZS5kaXNxdXMuY29tL2NvdW50LmpzIiBhc3luYz48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsKICAgICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOwoKICAgICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKICAgIDwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo=
103
105
  http_version:
104
- recorded_at: Thu, 01 Feb 2018 10:08:41 GMT
106
+ recorded_at: Thu, 30 Aug 2018 23:17:02 GMT
105
107
  recorded_with: VCR 3.0.3